body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-header{background:linear-gradient(90deg,#2f247a,#2f247a 60%,#3a2b94);border-bottom:1px solid #ffffff14;border-radius:12px;margin:6px 6px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1030}.app-header-inner{align-items:center;display:grid;grid-template-columns:56px 1fr 56px;min-height:88px;padding:0 12px}.h-left{display:flex}.h-center,.h-left{align-items:center}.h-center{display:inline-flex;gap:12px;justify-self:center;line-height:1}.h-right{align-items:center;display:flex;justify-self:end}.avatar-circle{align-items:center;border-radius:50%;display:inline-flex;height:32px;justify-content:center;width:32px}.btn-logout{background-color:#e53935;border:1px solid #d32f2f;color:#fff}.btn-logout:hover{background-color:#d32f2f;border-color:#c62828}.btn-logout:active,.btn-logout:focus{background-color:#c62828;border-color:#b71c1c;outline:none}.field-head{margin-bottom:.25rem}.fk-inline{align-items:center;color:#6a8ca9;display:flex;font-size:.84rem;gap:.4rem;margin-right:10px;white-space:nowrap}.fk-inline .badge{background:#cfd9e2;border:1px solid #0000000f;color:#0574e3;font-weight:600;padding:.18rem .38rem}.fk-inline .fk-table{color:#212529;font-weight:600}.fk-inline .fk-col{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;margin-top:3px;opacity:.85}.rows-preview-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;margin:20px 0;overflow:hidden}.rows-preview-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.header-info h3{color:#202124;font-size:18px;font-weight:600;margin:0 0 4px}.page-info{color:#5f6368;font-size:13px}.total-count{color:#1a73e8;font-weight:500}.header-actions{display:flex;gap:10px}.btn-delete-selected,.btn-refresh{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .2s}.btn-delete-selected{border-color:#d93025;color:#d93025}.btn-delete-selected:hover{background:#fce8e6}.btn-refresh{color:#5f6368}.btn-refresh:hover{background:#f8f9fa;border-color:#1a73e8;color:#1a73e8}.error-alert{align-items:center;background:#fef7e0;border:1px solid #f9ab00;border-radius:6px;color:#b06000;display:flex;font-size:13px;gap:12px;margin:16px 20px;padding:12px 16px}.error-alert svg{color:#f9ab00;flex-shrink:0}.error-alert button{align-items:center;background:none;border:none;border-radius:50%;color:#b06000;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;margin-left:auto;padding:0;transition:background .2s;width:24px}.error-alert button:hover{background:#0000001a}.table-wrapper{max-height:500px;overflow-y:auto;position:relative}.rows-table{border-collapse:collapse;font-size:13px;table-layout:auto;width:100%}.rows-table thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.rows-table th{border-bottom:2px solid #e0e0e0;color:#5f6368;font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.th-content{align-items:center;display:flex;gap:6px}.pk-badge{background:#e8f0fe;border-radius:10px;color:#1a73e8;font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 6px}.checkbox-col{padding:8px!important;text-align:center;width:40px}.action-col{min-width:220px;padding-left:12px!important;padding-right:12px!important;white-space:nowrap;width:220px}.action-col .th-content{justify-content:flex-end}.checkbox-input{accent-color:#1a73e8;cursor:pointer;height:16px;width:16px}.rows-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.rows-table tbody tr:hover{background:#f8f9fa}.rows-table td{padding:8px 12px;vertical-align:middle}.rows-table tbody td.action-col{padding-left:12px!important;padding-right:12px!important}.data-cell{max-width:300px}.cell-content{color:#202124;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-buttons{align-items:center;gap:6px;justify-content:flex-end!important;white-space:nowrap}.btn-cancel,.btn-delete,.btn-edit,.btn-save{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:5px;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:500;gap:4px;padding:5px 10px;transition:all .2s;white-space:nowrap}.btn-edit{color:#1a73e8}.btn-edit:hover{background:#e8f0fe;border-color:#1a73e8}.btn-delete{color:#d93025}.btn-delete:hover{background:#fce8e6;border-color:#d93025}.btn-save{border-color:#1e8e3e;color:#1e8e3e}.btn-save:hover{background:#e6f4ea}.btn-cancel{color:#5f6368}.btn-cancel:hover{background:#f8f9fa}.empty-state{padding:50px 20px!important}.empty-state svg{color:#dadce0;margin-bottom:12px}.empty-state p{color:#5f6368;font-size:16px;font-weight:500;margin:0 0 6px}.empty-state span{color:#80868b;font-size:13px}.rows-preview-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 20px}.footer-info{color:#5f6368;font-size:13px}.pagination-controls{gap:10px}.pagination-btn{align-items:center;display:flex;font-weight:500;gap:5px;padding:7px 14px}.page-number{color:#202124;font-size:13px;font-weight:500;min-width:100px;text-align:center}.rows-preview-loading{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;justify-content:center;padding:50px 20px}.spinner{animation:spin 1s linear infinite;border:3px solid #e0e0e0;height:40px;margin-bottom:12px;width:40px}.rows-preview-loading p{color:#5f6368;font-size:14px;margin:0}.table-wrapper::-webkit-scrollbar{height:10px;width:10px}.table-wrapper::-webkit-scrollbar-track{background:#f8f9fa}.table-wrapper::-webkit-scrollbar-thumb{background:#dadce0;border-radius:5px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#bdc1c6}.modal-overlay{animation:fadeIn .2s;background:#00000080}.modal-container{animation:slideUp .3s;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:700px;width:90%}.modal-header{padding:20px 24px}.modal-header h2{color:#202124;font-size:20px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background .2s}.modal-close-btn:hover{background:#f8f9fa}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-field-group{margin-bottom:20px}.modal-label{align-items:center;color:#202124;display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:8px}.pk-badge-modal{background:#e8f0fe;color:#1a73e8}.fk-badge-modal,.pk-badge-modal{border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 6px}.fk-badge-modal{background:#fef7e0;color:#f9ab00}.self-fk-badge-modal{background:#fce8e6;color:#d93025;padding:2px 6px}.readonly-badge,.self-fk-badge-modal{border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.3px}.readonly-badge{background:#f5f5f5;color:#80868b;margin-left:auto;padding:2px 8px}.field-type{color:#80868b;font-size:11px;font-style:italic;font-weight:400}.modal-edit-field{background:#fff;border:1px solid #dadce0;border-radius:8px;color:#202124;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.modal-edit-field:focus{border-color:#1a73e8;box-shadow:0 0 0 4px #1a73e81a;outline:none}.modal-field-readonly{background:#f5f5f5!important;border-color:#e0e0e0!important;color:#80868b!important;cursor:not-allowed!important}.modal-field-readonly:focus{border-color:#e0e0e0!important;box-shadow:none!important}.modal-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%235f6368" d="M6 9L1 4h10z"/></svg>');background-position:right 16px center;background-repeat:no-repeat;cursor:pointer;padding-right:48px}.modal-textarea{font-family:Courier New,monospace;line-height:1.5;min-height:100px;resize:vertical}.modal-footer{background:#f8f9fa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;padding:16px 24px}.modal-btn-cancel,.modal-btn-save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.modal-btn-cancel{background:#fff;border:1px solid #dadce0;color:#5f6368}.modal-btn-cancel:hover{background:#f8f9fa}.modal-btn-save{background:#1a73e8;color:#fff}.modal-btn-save:hover{background:#1765cc;box-shadow:0 2px 8px #1a73e84d}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f8f9fa}.modal-body::-webkit-scrollbar-thumb{background:#dadce0;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#bdc1c6}@media (max-width:768px){.rows-preview-header{align-items:stretch}.header-actions,.rows-preview-header{flex-direction:column}.btn-delete-selected,.btn-refresh{justify-content:center}.table-wrapper{max-height:350px}.rows-preview-footer{flex-direction:column}.pagination-controls{justify-content:space-between;width:100%}.modal-container{max-height:90vh;width:95%}.modal-body,.modal-header{padding:16px}.modal-footer{flex-direction:column;padding:12px 16px}.modal-btn-cancel,.modal-btn-save{justify-content:center;width:100%}}.resizable-panel{background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;height:100%;max-width:600px;min-width:250px;overflow:hidden;position:relative}.resizable-panel-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.resizable-handle{align-items:center;background:#0000;cursor:col-resize;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background .2s;width:8px;z-index:10}.resizable-handle:hover{background:#e8f0fe}.resizable-handle.active{background:#d2e3fc}.resizable-handle-icon{display:flex;flex-direction:column;gap:3px;opacity:0;padding:8px 0;transition:opacity .2s}.resizable-handle.active .resizable-handle-icon,.resizable-handle:hover .resizable-handle-icon{opacity:1}.resizable-handle-icon span{background:#5f6368;border-radius:1px;height:16px;width:2px}.resizable-handle.active .resizable-handle-icon span{background:#1a73e8}.resizable-handle:before{background:#0000;content:"";height:100%;position:absolute;right:0;top:0;transition:background .2s;width:1px}.resizable-handle.active:before,.resizable-handle:hover:before{background:#1a73e8}.asset-selector{background:#fff;border-bottom:1px solid #e0e0e0;padding:16px 20px}.asset-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.asset-selector-label{align-items:center;color:#80868b;display:flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.8px;text-transform:uppercase}.asset-selector-label svg{display:none}.asset-refresh-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#1a73e8;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s;width:28px}.asset-refresh-btn svg{height:18px;width:18px}.asset-refresh-btn:hover:not(:disabled){background:#e8f0fe}.asset-refresh-btn:disabled{cursor:not-allowed;opacity:.4}.asset-selector-dropdown{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%235f6368' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #dadce0;border-radius:4px;color:#202124;cursor:pointer;font-size:14px;font-weight:400;outline:none;padding:10px 32px 10px 12px;transition:all .15s;width:100%}.asset-selector-dropdown:hover:not(:disabled){border-color:#1a73e8}.asset-selector-dropdown:focus{border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e8}.asset-selector-dropdown:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.asset-selector-dropdown option{font-size:14px;padding:8px}.asset-selector-loading{align-items:center;background:#f8f9fa;border-radius:4px;color:#5f6368;display:flex;font-size:13px;gap:8px;padding:10px 12px}.spinner-small{animation:spin .6s linear infinite;border:2px solid #e8eaed;border-radius:50%;border-top-color:#1a73e8;height:14px;width:14px}.asset-selector-error{align-items:center;background:#fce8e6;border:1px solid #f28b82;border-radius:4px;color:#c5221f;display:flex;font-size:12px;gap:8px;padding:10px 12px}.error-retry-btn{background:#d93025;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin-left:auto;padding:4px 10px;transition:background .2s}.error-retry-btn:hover{background:#c5221f}.asset-selector-info{color:#80868b;font-size:11px;margin-top:6px;text-align:right}.tree-node{color:#1967d2}.tree-node-content{align-items:center;border-radius:0;cursor:pointer;display:flex;margin:0;min-height:32px;padding:4px 8px 4px 4px;transition:background-color .1s;-webkit-user-select:none;user-select:none}.tree-node-content:hover{background-color:#f1f3f4}.tree-node-content.selected{background-color:#e8f0fe}.tree-node-toggle{align-items:center;background:#0000;border:none;border-radius:2px;color:#5f6368;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:2px;padding:0;transition:background .1s;width:20px}.tree-node-toggle.invisible{visibility:hidden}.tree-node-toggle:hover{background-color:#e8eaed}.tree-node-icon{align-items:center;color:#5f6368;display:flex;flex-shrink:0;margin-right:6px}.tree-node-icon svg{height:16px;width:16px}.tree-node-content.has-children .tree-node-icon{color:#1a73e8}.tree-node-code{background:#e8f0fe;border:1px solid #d2e3fc;border-radius:4px;color:#1967d2;flex-shrink:0;font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:11px;font-weight:600;letter-spacing:.3px;margin-right:8px;padding:3px 8px}.tree-node-content.selected .tree-node-code{background:#1a73e8;background:#d2e3fc;border-color:#1a73e8;color:#fff;color:#1967d2}.tree-node-name{color:#202124;flex:1 1;font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node-content.selected .tree-node-name{color:#1967d2;font-weight:500}.tree-node-content.has-children .tree-node-name{font-weight:500}.equipment-tree-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100%;margin:8px;overflow:hidden}.equipment-tree-header{align-items:center;background:#fff;border-bottom:none;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px 12px}.equipment-tree-title-section{align-items:center;display:flex;gap:12px}.equipment-tree-title{color:#202124;font-size:18px;font-weight:600;margin:0}.equipment-tree-subtitle{display:none}.equipment-tree-controls{align-items:center;display:flex;gap:12px}.btn-icon{align-items:center;background:#0000;border:none;border-radius:50%;color:#1a73e8;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-icon svg{height:20px;width:20px}.btn-icon:hover:not(:disabled){background:#e8f0fe}.btn-icon:disabled{cursor:not-allowed;opacity:.4}.toggle-switch{align-items:center;color:#202124;cursor:pointer;display:flex;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#dadce0;border-radius:10px;cursor:pointer;height:20px;outline:none;position:relative;transition:background .3s;width:40px}.toggle-switch input[type=checkbox]:checked{background:#1a73e8}.toggle-switch input[type=checkbox]:before{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .3s;width:16px}.toggle-switch input[type=checkbox]:checked:before{transform:translateX(20px)}.toggle-label{font-weight:500}.equipment-tree-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:8px;padding:0 20px 12px}.equipment-tree-search{align-items:center;display:flex;flex:1 1;position:relative}.equipment-tree-search svg{color:#5f6368;height:18px;pointer-events:none;position:absolute;right:12px;width:18px}.search-input{border:1px solid #dadce0;border-radius:4px;color:#202124;font-size:14px;padding:10px 40px 10px 12px;transition:all .15s}.search-input::placeholder{color:#80868b}.search-input:focus{border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e8}.btn-clear{display:none}.tree-actions{display:flex;gap:4px}.btn-tree-action{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:4px;color:#5f6368;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-tree-action svg{height:18px;width:18px}.btn-tree-action:hover{background:#f8f9fa;border-color:#1a73e8;color:#1a73e8}.vessel-display{background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:12px 20px}.vessel-name{color:#1a73e8;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.vessel-info{color:#5f6368;font-size:12px;margin-top:2px}.equipment-tree-content{background:#fff;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.tree-nodes{padding:4px 0}.tree-loading{align-items:center;color:#5f6368;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.tree-loading p{font-size:13px;margin-top:12px}.spinner{animation:spin .8s linear infinite;border:3px solid #e8eaed;border-radius:50%;border-top-color:#1a73e8;height:32px;width:32px}.tree-error{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.tree-error svg{color:#d93025;margin-bottom:12px}.error-title{color:#d93025;font-size:14px;font-weight:600;margin:0 0 6px}.error-message{color:#5f6368;font-size:13px;margin:0 0 12px}.btn-retry{gap:6px}.btn-retry,.tree-empty{align-items:center;display:flex}.tree-empty{flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.tree-empty svg{color:#dadce0;margin-bottom:12px}.empty-title{font-size:14px;font-weight:500;margin:0 0 4px}.empty-subtitle{font-size:12px}.equipment-tree-footer{display:none}.equipment-tree-content{scrollbar-color:#bdc1c6 #f1f3f4;scrollbar-width:thin}.equipment-tree-content::-webkit-scrollbar{width:14px}.equipment-tree-content::-webkit-scrollbar-track{background:#f8f9fa;border-left:1px solid #e0e0e0}.equipment-tree-content::-webkit-scrollbar-thumb{background:#bdc1c6;border:3px solid #f8f9fa;border-radius:7px}.equipment-tree-content::-webkit-scrollbar-thumb:hover{background:#9aa0a6}.equipment-tree-content::-webkit-scrollbar-thumb:active{background:#80868b}.equipment-tree-content::-webkit-scrollbar-thumb{min-height:40px}.equipment-details{display:flex;flex-direction:column;overflow:hidden;padding:0;width:100%}.equipment-header{margin-bottom:0}.equipment-title{font-size:18px;font-weight:600;line-height:1.2}.equipment-code-badge{margin-right:auto}.btn-update-hours{align-items:center;background:#1a73e8;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:7px 12px;transition:background .2s}.btn-update-hours:hover{background:#1765cc}.btn-update-hours svg{flex-shrink:0}.tabs-container{display:flex;flex:1 1;flex-direction:column;margin-top:0!important;overflow:hidden}.tabs-header{background:#f8f9fa;border-bottom:2px solid #dadce0;flex-shrink:0;margin:0!important}.tabs-header.main-tabs{margin-bottom:0}.tab{border-bottom:3px solid #0000;margin-bottom:-2px;white-space:nowrap}.tab:hover{background:#1a73e814}.tab.active{font-weight:600}.tabs-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.tabs-content::-webkit-scrollbar{width:6px}.tabs-content::-webkit-scrollbar-track{background:#f8f9fa}.tabs-content::-webkit-scrollbar-thumb{background:#dadce0;border-radius:3px}.tabs-content::-webkit-scrollbar-thumb:hover{background:#bdc1c6}.placeholder-content{flex-direction:column;padding:40px 20px}.placeholder-content svg{color:#dadce0;margin-bottom:12px}.placeholder-content p{font-size:14px;margin:0}.no-selection{padding:40px}.breadcrumb{display:none}@media (max-width:768px){.equipment-header{flex-wrap:wrap}.equipment-title{font-size:16px}.btn-update-hours{font-size:12px;padding:6px 10px}.tab{font-size:12px;padding:7px 12px}.tabs-content{padding:10px 12px}}@media (max-width:480px){.equipment-header{padding:6px 10px}.equipment-title{font-size:15px}.equipment-code-badge{font-size:11px;padding:3px 8px}.tab{font-size:11px;padding:6px 10px}.tabs-content{padding:8px 10px}}.job-plan-table thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:1}.job-plan-table th{border-bottom:2px solid #e0e0e0;color:#5f6368;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.job-plan-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background .1s}.job-plan-table tbody tr:hover{background:#f8f9fa;cursor:pointer}.job-plan-table tbody tr.selected{background:#e8f0fe}.job-plan-table td{color:#202124;font-size:13px;padding:12px 16px}.job-plan-table td.job-title{color:#1a73e8;font-weight:500}.status-badge.overdue{background:#fce8e6;color:#c5221f}.status-badge.due-shortly{background:#fef7e0;color:#e37400}.status-badge.ok{background:#e6f4ea;color:#137333}.job-plan-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.job-plan-empty svg{color:#dadce0;margin-bottom:16px}@media (max-width:768px){.job-plan-table{font-size:12px}.job-plan-table td,.job-plan-table th{padding:8px 12px}}.job-plan-list{overflow-x:auto}.job-plan-table{background:#fff;border:1px solid #e0e0e0;border-collapse:collapse;border-radius:4px;width:100%}.job-plan-row.maintenance-due{background-color:#fff5f5}.job-plan-row.maintenance-due:hover{background-color:#ffe8e8}.due-indicator{color:#dc3545;font-size:10px;margin-right:6px}.hours-value{font-family:Courier New,monospace;font-weight:500}.status-badge{align-items:center;display:inline-flex;font-weight:500;gap:4px}.status-badge.overdue{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-badge.due-shortly{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.status-badge.ok{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.unknown{background-color:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.status-icon{font-size:11px}.job-plan-details{background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-top:20px;padding:20px}.job-details-tabs{border-bottom:1px solid #dadce0;display:flex;gap:0;margin-bottom:20px;overflow-x:auto}.job-detail-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#5f6368;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:-1px;padding:12px 20px;transition:all .2s;white-space:nowrap}.job-detail-tab:hover{background:#f8f9fa;color:#1a73e8}.job-detail-tab.active{border-bottom-color:#1a73e8;color:#1a73e8}.job-details-content{min-height:200px;padding:0}.placeholder-content{align-items:center;color:#80868b;display:flex;font-size:14px;justify-content:center;padding:60px 20px;text-align:center}@media (max-width:768px){.job-details-tabs{overflow-x:auto}}.job-details-title{color:#333}.btn-complete-job{font-size:14px;transition:background-color .2s}.job-details-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-bottom:5px}.job-details-title{font-size:16px;margin:0}.btn-complete-job{background-color:#28a745;border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:8px 16px}.btn-complete-job:hover:not(:disabled){background-color:#218838}.btn-complete-job:disabled{cursor:not-allowed;opacity:.6}.job-plan-spares{padding:20px 0}.spares-header{margin-bottom:16px}.spares-title{color:#202124;font-size:16px;font-weight:600;margin:0}.spares-table{background:#fff;border:1px solid #e0e0e0;border-collapse:collapse;border-radius:4px;overflow:hidden;width:100%}.spares-table thead{background:#f8f9fa}.spares-table th{border-bottom:2px solid #e0e0e0;color:#5f6368;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.spares-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background .1s}.spares-table tbody tr:hover{background:#f8f9fa}.spares-table tbody tr:last-child{border-bottom:none}.spares-table td{color:#202124;font-size:13px;padding:12px 16px}.part-code{align-items:center;color:#1a73e8;display:flex;font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-weight:600;gap:6px}.critical-icon{color:#ea4335;cursor:help;font-size:16px}.part-name{font-weight:500}.part-description{color:#5f6368;font-size:12px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qty-required,.rob-cell{font-weight:600;text-align:center}.rob-cell.available{color:#137333}.rob-cell.low-stock{color:#e37400}.rob-cell.out-of-stock{color:#c5221f}.rob-cell.unknown{color:#80868b}.status-badge.available{background:#e6f4ea;color:#137333}.status-badge.low-stock{color:#e37400}.spares-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.spares-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e8eaed;border-radius:50%;border-top-color:#1a73e8;height:32px;margin-bottom:16px;width:32px}.spares-loading p{color:#5f6368;font-size:14px;margin:0}.spares-error{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.spares-error p{color:#d93025;font-size:14px;margin-bottom:16px}.spares-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.spares-empty svg{color:#dadce0;margin-bottom:16px}.empty-title{color:#5f6368;font-size:16px;font-weight:600;margin:0 0 8px}.empty-subtitle{color:#80868b;font-size:13px;margin:0}@media (max-width:1200px){.part-description{max-width:200px}}@media (max-width:768px){.spares-table{font-size:12px}.spares-table td,.spares-table th{padding:8px 12px}.part-description{max-width:150px}}.job-plan-basic-details{padding:20px 0}.basic-details-grid{display:flex;flex-direction:column;gap:24px}.detail-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-row.full-width{grid-template-columns:1fr}.detail-field label{color:#5f6368;font-size:11px;font-weight:600}.detail-field .detail-value{align-items:center;color:#202124;display:flex;font-size:14px;font-weight:500;min-height:32px;padding:8px 0}.detail-field .detail-value.description{align-items:flex-start;line-height:1.6;min-height:60px;white-space:pre-wrap;word-break:break-word}@media (max-width:768px){.detail-row{grid-template-columns:1fr}}.job-plan-procedures{padding:0}.procedures-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 0 20px}.procedures-header h3{color:#202124;font-size:16px;font-weight:600;margin:0}.procedure-count{background:#f1f3f4;border-radius:12px;color:#5f6368;font-size:13px;font-weight:500;padding:4px 12px}.procedures-list{display:flex;flex-direction:column;gap:20px}.procedure-step{align-items:flex-start;background:#f8f9fa;border-left:3px solid #1a73e8;border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.procedure-step:hover{background:#f1f3f4;border-left-color:#1557b0;box-shadow:0 2px 4px #0000000d}.step-number-circle{align-items:center;background:#1a73e8;border-radius:50%;box-shadow:0 2px 4px #1a73e833;color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:600;height:36px;justify-content:center;width:36px}.step-content{flex:1 1;padding-top:6px}.step-description{color:#202124;font-size:14px;font-weight:400;line-height:1.6}.procedures-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.procedures-loading p{color:#5f6368;font-size:14px;margin:0}.procedures-error{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px;text-align:center}.procedures-error svg{color:#d93025;margin-bottom:8px}.procedures-error p{color:#202124;font-size:15px;font-weight:500;margin:0}.procedures-error span{color:#5f6368;font-size:13px}.procedures-empty{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.procedures-empty svg{color:#5f6368;margin-bottom:16px;opacity:.5}.procedures-empty h3{color:#202124;font-size:16px;font-weight:500;margin:0}.procedures-empty p{color:#5f6368;font-size:14px;margin:0;max-width:400px}@media (max-width:768px){.procedures-header{align-items:flex-start;flex-direction:column;gap:8px}.procedure-step{gap:12px;padding:12px}.step-number-circle{font-size:14px;height:32px;width:32px}.step-description{font-size:13px}}@media print{.procedure-step{break-inside:avoid;page-break-inside:avoid}.procedures-header{border-bottom:1px solid #000}.step-number-circle{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.job-plan-history{padding:0}.history-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 0 20px}.history-header h3{color:#202124;font-size:16px;font-weight:600;margin:0}.history-count{background:#f1f3f4;border-radius:12px;color:#5f6368;font-size:13px;font-weight:500;padding:4px 12px}.history-timeline{display:flex;flex-direction:column;gap:0;padding-left:8px}.history-record{display:flex;gap:20px;padding-bottom:32px;position:relative}.history-record:last-child{padding-bottom:0}.timeline-line{min-height:40px}.record-content{background:#f8f9fa;border-left:3px solid #1a73e8;border-radius:8px;flex:1 1;padding:16px;transition:all .2s ease}.record-content:hover{background:#f1f3f4;box-shadow:0 2px 8px #00000014;transform:translateX(2px)}.record-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px}.record-date{display:flex;flex-direction:column;gap:4px}.date-primary{font-size:15px}.date-relative{font-weight:400}.record-performed-by{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:16px;color:#5f6368;display:flex;font-size:13px;gap:6px;padding:6px 12px}.record-performed-by svg{color:#5f6368}.record-work-note{align-items:flex-start;border-top:1px solid #e0e0e0;display:flex;gap:10px;margin-top:12px;padding-top:12px}.record-work-note svg{color:#5f6368;flex-shrink:0;margin-top:2px}.record-work-note p{color:#202124;font-size:14px;line-height:1.6;margin:0}.history-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.history-loading p{color:#5f6368;font-size:14px;margin:0}.history-error{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px;text-align:center}.history-error svg{color:#d93025;margin-bottom:8px}.history-error p{color:#202124;font-size:15px;font-weight:500;margin:0}.history-error span{color:#5f6368;font-size:13px}.history-empty{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.history-empty svg{color:#5f6368;margin-bottom:16px;opacity:.5}.history-empty h3{color:#202124;font-size:16px;font-weight:500;margin:0}.history-empty p{color:#5f6368;font-size:14px;margin:0;max-width:400px}@media (max-width:768px){.history-timeline{padding-left:4px}.history-record{gap:12px}.record-content{padding:12px}.record-header{flex-direction:column;gap:8px}.record-performed-by{align-self:flex-start}.timeline-dot{height:12px;width:12px}}@media print{.history-record{break-inside:avoid;page-break-inside:avoid}.record-content{border:1px solid #000}.timeline-dot,.timeline-line{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.action-type-badge{border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase;white-space:nowrap}.action-complete{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.action-cancel{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.action-activate{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.action-postpone{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.action-assign{background-color:#e7e3ff;border:1px solid #d0c9ff;color:#4c3d9e}.action-unknown{background-color:#e9ecef;border:1px solid #dee2e6;color:#495057}.coming-soon-material{background:#fafafa;flex-direction:column;min-height:500px;padding:40px 20px;text-align:center}.coming-soon-material,.material-icon-wrapper{align-items:center;display:flex;justify-content:center}.material-icon-wrapper{animation:scaleIn .6s cubic-bezier(.16,1,.3,1);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 24px #667eea66;height:140px;margin-bottom:32px;width:140px}.material-icon-wrapper svg{color:#fff}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.coming-soon-material h1{animation:fadeInUp .8s ease-out .2s both;color:#202124;font-size:32px;font-weight:500;margin:0 0 12px}.coming-soon-material p{animation:fadeInUp .8s ease-out .4s both;color:#5f6368;font-size:16px;margin:0 0 40px;max-width:400px}.loading-bar{animation:fadeInUp .8s ease-out .6s both;background:#e0e0e0;border-radius:2px;height:4px;overflow:hidden;width:240px}.loading-progress{animation:progress 1.5s ease-in-out infinite;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;height:100%}@keyframes progress{0%{margin-left:0;width:0}50%{margin-left:20%;width:60%}to{margin-left:100%;width:0}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.modal-header h3{margin:0}.modal-close{background:none;border:none;cursor:pointer;font-size:24px}.modal-body{padding:20px}.job-info{background-color:#f5f5f5;border-radius:6px;margin-bottom:20px;padding:12px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;padding:10px;width:100%}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.btn-cancel{background:#fff;border:1px solid #ddd;border-radius:6px}.btn-cancel,.btn-submit{cursor:pointer;padding:10px 20px}.btn-submit{background:#28a745;border:none;border-radius:6px;color:#fff}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.attachments-tab-pro{background:#f8f9fa;display:flex;flex-direction:column;min-height:100%;padding:0}.attachments-header-pro{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.header-right{align-items:center;gap:12px}.attachments-title-pro{color:#202124;font-size:20px;font-weight:600;margin:0}.attachment-count-pro{background:#e8f0fe;border-radius:16px;color:#1967d2;font-size:13px;font-weight:600;padding:4px 12px}.btn-toggle-dropzone{align-items:center;background:#f8f9fa;border:1px solid #dadce0;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.btn-toggle-dropzone:hover{background:#e8eaed;border-color:#bdc1c6}.btn-toggle-dropzone.active{background:#e8f0fe;border-color:#1a73e8;color:#1a73e8}.btn-toggle-dropzone svg{flex-shrink:0}.btn-upload-pro{align-items:center;background:#1a73e8;border:none;border-radius:6px;box-shadow:0 1px 2px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn-upload-pro:hover{background:#1765cc;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.btn-upload-pro svg{flex-shrink:0}.drag-drop-zone{background:#fff;border:2px dashed #dadce0;border-radius:8px;margin:20px 24px;padding:40px;text-align:center;transition:all .3s}.drag-drop-zone.dragging{background:#e8f0fe;border-color:#1a73e8}.drag-drop-zone svg{color:#5f6368;margin-bottom:12px}.drag-text{color:#202124;font-size:15px;font-weight:500;margin:0 0 4px}.drag-subtext{color:#5f6368;font-size:13px;margin:0}.error-message-pro{align-items:center;background:#fef7e0;border:1px solid #f9ab00;border-radius:6px;color:#b06000;display:flex;font-size:13px;gap:12px;margin:0 24px 16px;padding:12px 16px}.error-message-pro svg{color:#f9ab00;flex-shrink:0}.error-message-pro button{align-items:center;background:none;border:none;border-radius:50%;color:#b06000;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;margin-left:auto;padding:0;transition:background .2s;width:24px}.error-message-pro button:hover{background:#0000001a}.upload-progress-multi{background:#fff;border:1px solid #dadce0;border-radius:8px;box-shadow:0 1px 3px #00000014;margin:0 24px 16px;padding:16px}.progress-multi-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.progress-multi-title{color:#202124;font-size:14px;font-weight:600}.progress-multi-summary{color:#1a73e8;font-size:13px;font-weight:500}.progress-multi-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.progress-multi-item{background:#f8f9fa;border-radius:6px;padding:12px;transition:all .2s}.progress-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.progress-item-name{color:#202124;flex:1 1;font-size:13px;font-weight:500;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-item-status{border-radius:10px;font-size:12px;font-weight:600;padding:3px 8px;white-space:nowrap}.progress-item-status.status-pending{background:#e8eaed;color:#5f6368}.progress-item-status.status-uploading{background:#e8f0fe;color:#1a73e8}.progress-item-status.status-success{background:#e6f4ea;color:#1e8e3e}.progress-item-status.status-error{background:#fce8e6;color:#d93025}.progress-item-bar-container{background:#e0e0e0;border-radius:3px;height:6px;overflow:hidden;width:100%}.progress-item-bar{border-radius:3px;height:100%;transition:width .3s ease}.progress-item-bar.status-pending{background:#dadce0;width:0}.progress-item-bar.status-uploading{background:linear-gradient(90deg,#1a73e8,#4285f4)}.progress-item-bar.status-success{background:#1e8e3e;width:100%}.progress-item-bar.status-error{background:#d93025;width:100%}.progress-item-error{color:#d93025;font-size:12px;font-weight:500;margin-top:6px}.attachments-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 24px}.toolbar-left{flex:1 1;flex-wrap:wrap}.toolbar-left,.toolbar-right{align-items:center;display:flex;gap:12px}.search-box{align-items:center;display:flex;max-width:400px}.search-box input{background:#f8f9fa;border-radius:6px;padding:8px 36px 8px 40px}.search-box input:focus{background:#fff}.search-box .clear-search{align-items:center;background:none;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;padding:4px;position:absolute;right:8px;transition:all .2s;width:24px}.search-box .clear-search:hover{background:#e0e0e0;color:#202124}.filter-select,.sort-select{-webkit-appearance:none;appearance:none;background:#f8f9fa url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%235f6368" d="M6 9L1 4h10z"/></svg>') no-repeat right 10px center;border:1px solid #dadce0;border-radius:6px;color:#202124;cursor:pointer;font-size:13px;min-width:150px;padding:8px 32px 8px 12px;transition:all .2s}.filter-select:focus,.filter-select:hover,.sort-select:focus,.sort-select:hover{background-color:#fff;border-color:#1a73e8}.filter-select:focus,.sort-select:focus{box-shadow:0 0 0 3px #1a73e81a;outline:none}.view-toggle{background:#f8f9fa;border:1px solid #dadce0;border-radius:6px;display:flex;gap:4px;padding:4px}.view-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#5f6368;cursor:pointer;display:flex;justify-content:center;padding:6px 10px;transition:all .2s}.view-btn:hover{background:#e0e0e0;color:#202124}.view-btn.active{background:#fff;box-shadow:0 1px 2px #0000001a;color:#1a73e8}.loading-state-pro{align-items:center;background:#fff;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin:0 24px;padding:80px 20px}.spinner-pro{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#1a73e8;height:48px;margin-bottom:16px;width:48px}.loading-state-pro p{color:#5f6368;font-size:14px;margin:0}.empty-state-pro{align-items:center;background:#fff;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin:0 24px;padding:80px 20px;text-align:center}.empty-state-pro svg{color:#dadce0;margin-bottom:20px}.empty-title-pro{color:#5f6368;font-size:18px;font-weight:500;margin:0 0 8px}.empty-subtitle-pro{color:#80868b;font-size:14px;margin:0}.attachments-list-pro{background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex:1 1;margin:0 24px;overflow-x:auto;overflow-y:auto}.attachments-table-pro{border-collapse:collapse;font-size:13px;width:100%}.attachments-table-pro thead{background:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.attachments-table-pro th{border-bottom:2px solid #e0e0e0;color:#5f6368;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.attachments-table-pro tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.attachments-table-pro tbody tr:hover{background:#f8f9fa}.attachments-table-pro tbody tr:last-child{border-bottom:none}.attachments-table-pro td{color:#202124;padding:14px 16px;vertical-align:middle}.file-name-cell-pro{align-items:center;display:flex;gap:12px;max-width:400px}.file-icon-pro{flex-shrink:0;font-size:24px}.file-name-pro{color:#1a73e8;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-type-badge{border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.file-size-pro,.upload-date-pro,.uploaded-by-pro{color:#5f6368;font-size:13px}.actions-cell-pro{display:flex;gap:8px;justify-content:flex-end}.btn-action-pro{align-items:center;background:#0000;border:1px solid #dadce0;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.btn-action-pro:hover{background:#f8f9fa;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-download-pro{color:#1a73e8}.btn-download-pro:hover{background:#e8f0fe;border-color:#1a73e8}.btn-delete-pro{color:#d93025}.btn-delete-pro:hover{background:#fce8e6;border-color:#d93025}.attachments-grid-pro{grid-gap:16px;background:#f8f9fa;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:24px}.attachment-card-pro{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px;transition:all .2s}.attachment-card-pro:hover{border-color:#1a73e8;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.card-icon-pro{align-items:center;border-radius:8px;display:flex;font-size:32px;height:60px;justify-content:center;margin-bottom:4px;width:60px}.card-content-pro{flex:1 1}.card-filename-pro{color:#202124;font-size:14px;font-weight:500;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta-pro{align-items:center;display:flex;gap:8px;margin:0 0 6px}.file-type-badge-small{border-radius:10px;color:#fff;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.file-size-small{color:#5f6368;font-size:12px}.card-date-pro{color:#80868b;font-size:12px;margin:0}.card-actions-pro{border-top:1px solid #f0f0f0;display:flex;gap:8px;padding-top:12px}.btn-card-action{align-items:center;background:#f8f9fa;border:1px solid #dadce0;border-radius:6px;cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:8px;transition:all .2s}.btn-card-action.download{color:#1a73e8}.btn-card-action.download:hover{background:#e8f0fe;border-color:#1a73e8}.btn-card-action.delete{color:#d93025}.btn-card-action.delete:hover{background:#fce8e6;border-color:#d93025}.pagination-container-pro{align-items:center;background:#fff;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 24px}.pagination-info{color:#5f6368;font-size:13px}.pagination-controls{align-items:center;display:flex;gap:16px}.items-per-page-select{-webkit-appearance:none;appearance:none;background:#f8f9fa url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%235f6368" d="M6 9L1 4h10z"/></svg>') no-repeat right 8px center;border:1px solid #dadce0;border-radius:6px;color:#202124;cursor:pointer;font-size:13px;padding:6px 32px 6px 10px;transition:all .2s}.items-per-page-select:hover{background-color:#fff;border-color:#1a73e8}.pagination-buttons{display:flex;gap:4px}.pagination-btn{background:#fff;border:1px solid #dadce0;border-radius:6px;color:#5f6368;cursor:pointer;font-size:13px;min-width:36px;padding:6px 12px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#1a73e8;color:#1a73e8}.pagination-btn.active{background:#1a73e8;border-color:#1a73e8;color:#fff;font-weight:600}.pagination-btn:disabled{cursor:not-allowed;opacity:.4}.modal-overlay-pro{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-content-pro{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:440px;padding:32px;text-align:center;width:90%}.modal-icon-warning{align-items:center;background:#fef7e0;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.modal-icon-warning svg{color:#f9ab00}.modal-content-pro h3{color:#202124;font-size:20px;font-weight:600;margin:0 0 12px}.modal-content-pro p{color:#5f6368;font-size:14px;line-height:1.5;margin:0 0 8px}.warning-text-pro{color:#d93025;font-size:13px;font-weight:500;margin-bottom:24px}.modal-actions-pro{display:flex;gap:12px;justify-content:center}.btn-modal-cancel,.btn-modal-delete{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 24px;transition:all .2s}.btn-modal-cancel{background:#f8f9fa;border:1px solid #dadce0;color:#5f6368}.btn-modal-cancel:hover{background:#e8eaed;border-color:#bdc1c6}.btn-modal-delete{background:#d93025;color:#fff}.btn-modal-delete:hover{background:#c5221f;box-shadow:0 2px 4px #d930254d}.attachments-list-pro::-webkit-scrollbar,.progress-multi-list::-webkit-scrollbar{height:8px;width:8px}.attachments-list-pro::-webkit-scrollbar-track,.progress-multi-list::-webkit-scrollbar-track{background:#f8f9fa}.attachments-list-pro::-webkit-scrollbar-thumb,.progress-multi-list::-webkit-scrollbar-thumb{background:#dadce0;border-radius:4px}.attachments-list-pro::-webkit-scrollbar-thumb:hover,.progress-multi-list::-webkit-scrollbar-thumb:hover{background:#bdc1c6}@media (max-width:1024px){.attachments-grid-pro{gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:16px}}@media (max-width:768px){.attachments-header-pro{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.header-left{justify-content:space-between}.header-right{flex-direction:column}.btn-toggle-dropzone,.btn-upload-pro{justify-content:center;width:100%}.drag-drop-zone{margin:16px;padding:30px 20px}.attachments-toolbar{padding:12px 16px}.attachments-toolbar,.toolbar-left{align-items:stretch;flex-direction:column}.search-box{max-width:100%;min-width:100%}.filter-select,.sort-select{width:100%}.toolbar-right{justify-content:center}.attachments-list-pro{margin:0 16px}.attachments-table-pro{font-size:12px}.attachments-table-pro td,.attachments-table-pro th{padding:10px 12px}.file-name-cell-pro{max-width:200px}.attachments-grid-pro{gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:16px}.pagination-container-pro{flex-direction:column;padding:12px 16px}.pagination-controls{flex-direction:column;width:100%}.items-per-page-select{width:100%}.pagination-buttons{flex-wrap:wrap;justify-content:center}.modal-content-pro{padding:24px;width:95%}.modal-actions-pro{flex-direction:column}.btn-modal-cancel,.btn-modal-delete{width:100%}.upload-progress-multi{margin:0 16px 16px}.progress-multi-list{max-height:250px}}@media (max-width:480px){.attachments-title-pro{font-size:18px}.attachment-count-pro{font-size:12px;padding:3px 10px}.btn-toggle-dropzone,.btn-upload-pro{font-size:13px;padding:8px 16px}.drag-drop-zone{padding:24px 16px}.drag-text{font-size:14px}.drag-subtext{font-size:12px}.attachments-grid-pro{grid-template-columns:1fr}.file-name-cell-pro{max-width:150px}.actions-cell-pro{gap:6px}.btn-action-pro{padding:6px}}.job-plan-tab{display:flex;flex-direction:column;height:100%}.job-plan-filters{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;flex-shrink:0;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.filter-left,.job-plan-filters{align-items:center;display:flex;flex-wrap:wrap}.filter-left{gap:16px}.filter-group{align-items:center;display:flex;gap:8px}.filter-label{color:#5f6368;font-size:13px;font-weight:500;white-space:nowrap}.filter-select{background:#fff;border:1px solid #dadce0;border-radius:4px;color:#202124;cursor:pointer;font-size:13px;min-width:120px;outline:none;padding:6px 24px 6px 10px}.filter-select:hover{border-color:#1a73e8}.filter-checkbox{align-items:center;color:#5f6368;cursor:pointer;display:flex;font-size:13px;gap:6px;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.filter-checkbox span{white-space:nowrap}.status-filter-btn{border:1px solid #0000;border-radius:16px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s;white-space:nowrap}.status-filter-btn.overdue{background:#fce8e6;border-color:#f28b82;color:#c5221f}.status-filter-btn.overdue:hover{background:#f28b82;color:#fff}.status-filter-btn.overdue.active{background:#d93025;border-color:#d93025;color:#fff}.status-filter-btn.due-shortly{background:#fef7e0;border-color:#fbbc04;color:#e37400}.status-filter-btn.due-shortly:hover{background:#fbbc04;color:#fff}.status-filter-btn.due-shortly.active{background:#f29900;border-color:#f29900;color:#fff}.filter-right{align-items:center;display:flex}.filter-search{border:1px solid #dadce0;border-radius:4px;font-size:13px;min-width:200px;outline:none;padding:6px 12px}.filter-search:focus{border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e8}.job-plan-list-container{flex-shrink:0;margin-bottom:20px}.job-plan-details-container{flex:1 1;min-height:0;overflow-y:auto}.job-plan-error,.job-plan-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.job-plan-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e8eaed;border-radius:50%;border-top-color:#1a73e8;height:32px;margin-bottom:16px;width:32px}.job-plan-error p,.job-plan-loading p{color:#5f6368;font-size:14px;margin:0}.job-plan-error p{color:#d93025;margin-bottom:16px}@media (max-width:768px){.job-plan-filters{align-items:stretch;flex-direction:column}.filter-left,.filter-right,.filter-search{width:100%}}.general-tab{display:flex;flex-direction:column;height:100%}.tabs-header.sub-tabs{border-bottom:1px solid #e0e0e0;margin-bottom:20px}.sub-tab-content{flex:1 1;overflow-y:auto}.general-tab-loading{align-items:center;color:#5f6368;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.general-tab-loading .spinner{animation:spin .8s linear infinite;border:3px solid #e8eaed;border-radius:50%;border-top-color:#1a73e8;height:32px;margin-bottom:16px;width:32px}.general-tab-loading p{font-size:14px;margin:0}.general-tab-error{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.general-tab-error p{color:#d93025;font-size:14px;margin-bottom:16px}.btn-retry{background:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s}.btn-retry:hover{background:#1765cc}.general-tab-empty{color:#80868b;font-size:14px;padding:40px;text-align:center}.basic-details{padding:20px 0}.details-grid{grid-gap:20px 24px;display:grid;gap:20px 24px;grid-template-columns:repeat(3,1fr)}.detail-field{display:flex;flex-direction:column;gap:6px}.detail-field-full{grid-column:1/-1}.detail-label{color:#5f6368;font-size:11px;font-weight:600;letter-spacing:0}.detail-value{align-items:center;color:#202124;display:flex;font-size:14px;font-weight:500;min-height:32px;padding:8px 0}.detail-value-multiline{align-items:flex-start;min-height:60px;white-space:pre-wrap;word-break:break-word}.detail-dropdown{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%235f6368' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #dadce0;border-radius:4px;color:#202124;cursor:pointer;font-size:13px;outline:none;padding:6px 32px 6px 10px;transition:all .2s;width:100%}.detail-dropdown:hover{border-color:#1a73e8}.detail-dropdown:focus{border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e8}.detail-dropdown option{padding:8px}.no-data{color:#80868b;font-size:14px;padding:40px;text-align:center}@media (max-width:1200px){.details-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.details-grid{grid-template-columns:1fr}}.specification-tab{padding:20px 0}.placeholder-title{color:#5f6368;font-size:16px;font-weight:600;margin-bottom:8px!important}.placeholder-subtitle{color:#80868b;font-size:13px}.spare-parts-tab{height:100%;overflow-y:auto;padding:24px}.spare-parts-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.header-title{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.header-title h2{color:#202124;font-size:20px;font-weight:600;margin:0}.parts-count{background:#f1f3f4;border-radius:16px;color:#5f6368;font-size:14px;font-weight:500;padding:6px 16px}.spare-parts-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.spare-parts-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.spare-parts-table{border-collapse:collapse;width:100%}.spare-parts-table thead{background:#f8f9fa;border-bottom:2px solid #e0e0e0}.spare-parts-table th{color:#5f6368;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.spare-parts-table tbody tr{border-bottom:1px solid #e8eaed;transition:background .2s}.spare-parts-table tbody tr:last-child{border-bottom:none}.spare-parts-table tbody tr:hover{background:#f8f9fa}.spare-parts-table td{color:#202124;font-size:14px;padding:16px}.part-number{background:#e8f0fe;border-radius:4px;padding:4px 8px}.stock-quantity{color:#202124;font-size:15px;font-weight:600}.status-badge{font-size:12px;letter-spacing:.3px}.status-badge.in-stock{background:#e6f4ea;color:#137333}.status-badge.low-stock{background:#fef7e0;color:#b06000}.status-badge.out-of-stock{background:#fce8e6;color:#c5221f}.spare-parts-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:80px 20px}.spare-parts-loading p{color:#5f6368;font-size:14px;margin:0}.spare-parts-error{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.spare-parts-error svg{color:#d93025;margin-bottom:8px}.spare-parts-error p{color:#202124;font-size:15px;font-weight:500;margin:0}.spare-parts-error span{color:#5f6368;font-size:13px}.no-results,.spare-parts-empty{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.no-results svg,.spare-parts-empty svg{color:#5f6368;margin-bottom:16px;opacity:.5}.no-results h3,.spare-parts-empty h3{color:#202124;font-size:18px;font-weight:500;margin:0}.no-results p,.spare-parts-empty p{color:#5f6368;font-size:14px;margin:0;max-width:400px}@media (max-width:768px){.spare-parts-tab{padding:16px}.spare-parts-header{align-items:flex-start;gap:12px}.spare-parts-filters,.spare-parts-header{flex-direction:column}.search-box{min-width:100%}.spare-parts-table-container{overflow-x:auto}.spare-parts-table{min-width:600px}.spare-parts-table td,.spare-parts-table th{padding:12px}}.purchase-history-tab{height:100%;overflow-y:auto;padding:24px}.purchase-header{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.stat-card{background:#fff;border:1px solid #e0e0e0;min-width:140px}.stat-card.total-spent{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.stat-label{color:#5f6368}.stat-card.total-spent .stat-label{color:#ffffffe6}.stat-value{color:#202124;font-size:20px}.stat-card.total-spent .stat-value{color:#fff}.purchase-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-box input{padding:10px 12px 10px 40px}.status-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{background:#fff;border:1px solid #dadce0;border-radius:20px;color:#5f6368;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-btn:hover{background:#f1f3f4;border-color:#1a73e8}.filter-btn.active{background:#1a73e8;border-color:#1a73e8;color:#fff}.purchase-orders-list{grid-gap:16px;display:grid;gap:16px}.purchase-order-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .2s}.purchase-order-card:hover{border-color:#1a73e8;box-shadow:0 4px 12px #0000001a}.card-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:16px 20px}.card-header,.po-info{align-items:center;display:flex}.po-info{gap:12px}.po-number{background:#e8f0fe;border-radius:4px;color:#1a73e8;font-family:Courier New,monospace;font-size:15px;font-weight:700;padding:4px 10px}.status-badge{border-radius:12px;font-weight:600;padding:4px 12px}.status-badge.received{background:#e6f4ea;color:#137333}.status-badge.in-transit{background:#e8f0fe;color:#1a73e8}.status-badge.ordered{background:#fef7e0;color:#b06000}.status-badge.cancelled{background:#fce8e6;color:#c5221f}.status-badge.unknown{background:#f1f3f4;color:#5f6368}.order-date{align-items:center;display:flex;font-size:13px;gap:6px}.order-date,.order-date svg{color:#5f6368}.card-body{padding:20px}.part-info{display:flex;flex-direction:column;gap:16px}.info-row{align-items:flex-start;display:flex;gap:12px}.info-row .label{color:#5f6368;font-size:13px;font-weight:500;min-width:80px}.info-row .value{color:#202124;display:flex;flex-direction:column;font-size:14px;gap:4px}.part-number{color:#1a73e8;font-family:Courier New,monospace;font-size:13px;font-weight:600}.part-name{color:#202124;font-weight:400}.supplier{color:#202124;font-weight:500}.info-grid{grid-gap:16px;border-top:1px solid #f1f3f4;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:12px 0}.info-item .label{color:#5f6368;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.info-item .value{color:#202124;font-size:14px;font-weight:500}.total-cost{color:#1a73e8;font-size:16px;font-weight:700}.remarks{align-items:flex-start;background:#f8f9fa;border-radius:8px;display:flex;gap:10px;margin-top:8px;padding:12px}.remarks svg{color:#5f6368;flex-shrink:0;margin-top:2px}.remarks span{color:#5f6368;font-size:13px;font-style:italic;line-height:1.5}.purchase-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:80px 20px}.purchase-loading p{color:#5f6368;font-size:14px;margin:0}.purchase-error{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.purchase-error svg{color:#d93025;margin-bottom:8px}.purchase-error p{color:#202124;font-size:15px;font-weight:500;margin:0}.purchase-error span{color:#5f6368;font-size:13px}.retry-btn{border-radius:4px;font-size:13px;padding:8px 20px}.no-results,.purchase-empty{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.no-results svg,.purchase-empty svg{color:#5f6368;margin-bottom:16px;opacity:.5}.no-results h3,.purchase-empty h3{color:#202124;font-size:18px;font-weight:500;margin:0}.no-results p,.purchase-empty p{color:#5f6368;font-size:14px;margin:0;max-width:400px}@media (max-width:768px){.purchase-history-tab{padding:16px}.purchase-header{flex-direction:column}.header-right{width:100%}.stat-card{flex:1 1}.purchase-filters{flex-direction:column}.search-box{min-width:100%}.card-header{align-items:flex-start;flex-direction:column;gap:12px}.info-grid{grid-template-columns:1fr}}.job-history-tab{height:100%;overflow-y:auto;padding:24px}.job-history-header{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.header-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.header-left h2{color:#202124;font-size:20px;font-weight:600;margin:0}.equipment-badge{background:#e8f0fe;border-radius:12px;color:#1a73e8;font-size:13px;font-weight:500;padding:4px 12px}.header-right{display:flex;gap:16px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #667eea33;display:flex;flex-direction:column;gap:4px;min-width:120px;padding:12px 20px}.stat-label{color:#ffffffe6;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#fff;font-size:24px;font-weight:700}.job-history-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px}.search-box{flex:1 1;min-width:280px;position:relative}.search-box svg{color:#5f6368;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-box input{border:1px solid #dadce0;border-radius:8px;color:#202124;font-size:14px;padding:12px 12px 12px 40px;transition:all .2s;width:100%}.search-box input:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a;outline:none}.search-box input::placeholder{color:#5f6368}.year-filter{min-width:150px}.year-filter select{background:#fff;border:1px solid #dadce0;border-radius:8px;color:#202124;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.year-filter select:focus{border-color:#1a73e8;box-shadow:0 0 0 3px #1a73e81a;outline:none}.timeline-container{display:flex;flex-direction:column;gap:32px}.month-group{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.month-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.month-header h3{color:#202124;font-size:16px;font-weight:600;margin:0}.job-count{background:#f1f3f4;border-radius:12px;color:#5f6368;font-size:13px;font-weight:500;padding:4px 12px}.timeline{display:flex;flex-direction:column;gap:0;padding-left:8px}.timeline-item{display:flex;gap:20px;padding-bottom:24px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-connector{align-items:center;display:flex;flex-direction:column;flex-shrink:0;position:relative}.timeline-dot{background:#1a73e8;border:3px solid #e8f0fe;border-radius:50%;box-shadow:0 0 0 2px #1a73e8;flex-shrink:0;height:14px;width:14px;z-index:2}.timeline-line{background:#e0e0e0;flex:1 1;margin-top:4px;min-height:30px;width:2px}.job-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;flex:1 1;overflow:hidden;transition:all .2s}.job-card:hover{border-color:#1a73e8;box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}.job-header{align-items:flex-start;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 20px}.job-title-section{display:flex;flex-direction:column;gap:6px}.job-title-section h4{color:#202124;font-size:16px;font-weight:600;margin:0}.job-code{align-self:flex-start;background:#e8f0fe;color:#1a73e8;font-family:Courier New,monospace;font-size:12px;font-weight:600;padding:2px 8px}.job-date{display:flex;flex-direction:column;gap:2px;text-align:right}.date-primary{color:#202124;font-size:14px;font-weight:600}.date-relative{color:#5f6368;font-size:12px}.job-body{display:flex;flex-direction:column;gap:12px;padding:16px 20px}.work-note{align-items:flex-start;background:#f8f9fa;border-left:3px solid #1a73e8;border-radius:8px;display:flex;gap:10px;padding:12px}.work-note svg{color:#5f6368;flex-shrink:0;margin-top:2px}.work-note p{color:#202124;font-size:14px;line-height:1.6;margin:0}.job-footer{border-top:1px solid #f1f3f4;justify-content:space-between;padding-top:12px}.job-footer,.performed-by{align-items:center;display:flex}.performed-by{background:#fff;border:1px solid #e0e0e0;border-radius:16px;color:#5f6368;font-size:13px;gap:8px;padding:6px 12px}.performed-by svg{color:#5f6368}.job-history-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:80px 20px}.loading-spinner{border:4px solid #f1f3f4;border-top-color:#1a73e8;height:40px;width:40px}.job-history-loading p{color:#5f6368;font-size:14px;margin:0}.job-history-error{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.job-history-error svg{color:#d93025;margin-bottom:8px}.job-history-error p{color:#202124;font-size:15px;font-weight:500;margin:0}.job-history-error span{color:#5f6368;font-size:13px}.retry-btn{background:#1a73e8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:12px;padding:10px 24px;transition:background .2s}.retry-btn:hover{background:#1557b0}.job-history-empty,.no-results{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:80px 20px;text-align:center}.job-history-empty svg,.no-results svg{color:#5f6368;margin-bottom:16px;opacity:.5}.job-history-empty h3,.no-results h3{color:#202124;font-size:18px;font-weight:500;margin:0}.job-history-empty p,.no-results p{color:#5f6368;font-size:14px;margin:0;max-width:400px}@media (max-width:1024px){.job-history-tab{padding:20px}.timeline-item{gap:16px}}@media (max-width:768px){.job-history-tab{padding:16px}.job-history-header{flex-direction:column;gap:12px}.header-left{align-items:flex-start;flex-direction:column}.header-right{width:100%}.stat-card{flex:1 1}.job-history-filters{flex-direction:column}.search-box{min-width:100%}.year-filter{width:100%}.timeline{padding-left:4px}.timeline-item{gap:12px}.timeline-dot{height:12px;width:12px}.job-header{flex-direction:column;padding:14px 16px}.job-date{text-align:left}.job-body{padding:14px 16px}.month-header{align-items:flex-start;flex-direction:column;gap:8px}.job-count{align-self:flex-start}}@media (max-width:480px){.header-left h2{font-size:18px}.stat-value{font-size:20px}.job-title-section h4{font-size:15px}.work-note{padding:10px}}@media print{.job-history-filters,.retry-btn{display:none}.job-card{break-inside:avoid;page-break-inside:avoid}.timeline-dot,.timeline-line{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.rh-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(.6px);backdrop-filter:blur(.6px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.rh-modal-container{animation:modalSlideIn .3s ease;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:90%;width:440px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.rh-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.rh-header-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.rh-modal-header h3{color:#111827;flex:1 1;font-size:18px;font-weight:600;margin:0}.rh-close-btn{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.rh-close-btn:hover{background:#e5e7eb;color:#111827}.rh-modal-body{padding:24px}.rh-info-card{background:#f9fafb;border-radius:12px;margin-bottom:20px;padding:16px}.rh-info-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.rh-info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.rh-label{color:#6b7280;font-size:13px;font-weight:500}.rh-value{color:#111827;font-size:14px;font-weight:600}.rh-code-badge{background:#dbeafe;border-radius:6px;color:#1d4ed8;font-family:monospace;padding:4px 10px}.rh-hours-section{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.rh-current-hours{display:flex;flex-direction:column;gap:4px}.rh-hours-label{color:#6b7280;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.rh-hours-value{color:#1d4ed8;font-size:28px;font-weight:700}.rh-meter-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px;text-transform:uppercase}.rh-meter-badge.cumulative{background:#dcfce7;color:#166534}.rh-meter-badge.trip{background:#fef3c7;color:#92400e}.rh-input-section{margin-bottom:20px}.rh-input-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.rh-input-wrapper{align-items:center;display:flex;position:relative}.rh-input-wrapper input{border:2px solid #e5e7eb;border-radius:10px;color:#111827;font-size:18px;font-weight:600;padding:14px 60px 14px 16px;transition:all .2s;width:100%}.rh-input-wrapper input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.rh-input-wrapper input::placeholder{color:#9ca3af}.rh-input-suffix{color:#6b7280;font-weight:500;position:absolute;right:16px}.rh-helper-text{color:#6b7280;font-size:13px;margin-top:8px}.rh-error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:8px;padding:12px 16px}.rh-modal-footer{background:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.rh-btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.rh-btn-cancel:hover{background:#f3f4f6}.rh-btn-save{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:all .2s}.rh-btn-save:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.rh-btn-save:disabled{background:#9ca3af;cursor:not-allowed}.rh-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.app-container{background:#fff;display:flex;height:100vh}.right-panel{background:#f8f9fa;flex:1 1;height:100vh;margin-left:10px;overflow-y:auto}.equipment-details{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.breadcrumb{align-items:center;display:flex;font-size:12px;gap:6px;margin-bottom:16px}.breadcrumb,.breadcrumb-item{color:#5f6368}.breadcrumb-item.active{color:#202124;font-weight:500}.breadcrumb-separator{color:#dadce0}.equipment-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px}.equipment-title{color:#202124;font-size:20px;font-weight:500;margin:0}.equipment-code-badge{background:#e8f0fe;border-radius:4px;color:#1967d2;font-family:Courier New,monospace;font-size:12px;font-weight:600;padding:4px 10px}.equipment-info{grid-gap:16px;background:#f8f9fa;border:1px solid #e8eaed;border-radius:6px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px;padding:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:#5f6368;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#202124;font-size:14px;font-weight:500}.info-path{background:#fff;border:1px solid #dadce0;border-radius:4px;color:#5f6368;font-family:Courier New,monospace;font-size:12px;padding:6px 8px}.tabs-container{margin-top:20px}.tabs-header{border-bottom:1px solid #dadce0;display:flex;gap:0;margin-bottom:20px}.tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#5f6368;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:-1px;padding:12px 20px;position:relative;transition:all .2s}.tab:hover{background:#f8f9fa;color:#1a73e8}.tab.active{border-bottom-color:#1a73e8;color:#1a73e8}.tabs-content{color:#5f6368;font-size:14px;padding:20px 0}.no-selection{align-items:center;color:#80868b;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.no-selection svg{color:#dadce0;margin-bottom:20px}.no-selection-title{color:#5f6368;font-size:18px;font-weight:500;margin-bottom:6px}.no-selection-subtitle{color:#80868b;font-size:13px}@media (max-width:1024px){.equipment-details{padding:20px}}@media (max-width:768px){.app-container{flex-direction:column}.resizable-panel{border-bottom:1px solid #e0e0e0;border-right:none;height:50vh;width:100%!important}.resizable-handle{display:none}.right-panel{padding:12px}.equipment-info{grid-template-columns:1fr}.tabs-header{overflow-x:auto}.tab{white-space:nowrap}}.maintenance-screen{background:#f8f9fa;min-height:100vh;padding:10px}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;display:flex;gap:12px;margin-bottom:20px;padding:14px 16px}.error-banner svg{color:#dc2626;flex-shrink:0}.error-banner span{flex:1 1;font-size:14px;font-weight:500}.error-banner button{align-items:center;background:#0000;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .2s;width:28px}.error-banner button:hover{background:#dc26261a}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.vessel-selector-container{align-items:flex-end;border-top:1px solid #e5e7eb;display:flex;flex-direction:row;gap:16px;margin-bottom:20px;padding-top:24px}.vessel-selector{display:flex;flex:1 1;flex-direction:column;gap:8px;max-width:400px}.vessel-selector label{align-items:center;color:#6b7280;display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.5px;text-transform:uppercase}.vessel-selector label svg{color:#9ca3af}.vessel-dropdown{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;font-size:15px;font-weight:500;outline:none;padding:12px 14px;transition:all .2s}.vessel-dropdown:hover{border-color:#3b82f6}.vessel-dropdown:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vessel-info{align-items:flex-end;display:flex}.vessel-badge{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;white-space:nowrap}.vessel-badge svg{color:#3b82f6}@media (max-width:1024px){.vessel-selector{max-width:350px}.vessel-dropdown{font-size:14px;padding:10px 12px}}@media (max-width:768px){.vessel-selector-container{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:16px}.vessel-selector{max-width:100%}.vessel-selector label{font-size:11px}.vessel-dropdown{font-size:14px;padding:10px 12px}.vessel-badge{font-size:13px;padding:6px 14px}.vessel-info{align-items:flex-start}}@media (max-width:480px){.vessel-selector-container{gap:10px;margin-bottom:14px;padding-top:16px}.vessel-selector label{font-size:10px;letter-spacing:.3px}.vessel-dropdown{border-radius:6px;font-size:13px;padding:8px 10px}.vessel-badge{border-radius:6px;font-size:12px;padding:6px 10px}.vessel-badge svg{height:12px;width:12px}}.summary-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.summary-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000a;cursor:pointer;display:flex;gap:8px;padding:10px;transition:all .25s ease}.summary-card:hover{box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.summary-card.active{border-color:currentColor;box-shadow:0 2px 8px #0000001f}.summary-card.critical{background:linear-gradient(135deg,#fff,#fef2f2);color:#dc2626}.summary-card.critical.active{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#dc2626}.summary-card.upcoming{background:linear-gradient(135deg,#fff,#fefce8);color:#f59e0b}.summary-card.upcoming.active{background:linear-gradient(135deg,#fefce8,#fef3c7);border-color:#f59e0b}.summary-card.planned{background:linear-gradient(135deg,#fff,#f0fdf4);color:#10b981}.summary-card.planned.active{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#10b981}.summary-card.future{background:linear-gradient(135deg,#fff,#f9fafb);color:#6b7280}.summary-card.future.active{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-color:#6b7280}.card-icon{align-items:center;background:currentColor;border-radius:6px;color:#fff;display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:.9;width:28px}.card-icon svg{height:14px;width:14px}.card-content{display:flex;flex-direction:column;gap:2px}.card-count{color:#111827;font-size:18px;font-weight:700;line-height:1}.card-label{color:#4b5563;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.card-range{color:#9ca3af;font-size:9px}@media (max-width:1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.summary-cards{grid-template-columns:1fr 1fr}.summary-card{padding:8px}}@media (max-width:480px){.summary-cards{grid-template-columns:1fr}.card-count{font-size:16px}}.search-bar{margin-bottom:20px;position:relative}.search-bar svg{color:#9ca3af;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#111827;font-size:15px;outline:none;padding:14px 48px;transition:all .2s;width:100%}.search-input::placeholder{color:#9ca3af}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-clear-search{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s;width:32px}.btn-clear-search:hover{background:#e5e7eb;color:#111827}.search-wrapper{margin-bottom:20px}.pm-refresh-btn{border:1px solid #e5e7eb;border-radius:999px;height:36px;padding:0;width:36px}.refresh-icon{display:block}.pm-refresh-btn{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;display:flex;height:42px;justify-content:center;margin-left:10px;width:42px}.pm-refresh-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6}.pm-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:20px}.empty-state h3{color:#374151;font-size:18px;font-weight:700;margin:0 0 8px}.empty-state p{color:#6b7280;font-size:14px;margin:0;max-width:400px}.table-wrapper{overflow-x:auto}.maintenance-table{border-collapse:collapse;min-width:1000px;width:100%}.maintenance-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.maintenance-table th{color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase;white-space:nowrap}.maintenance-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.maintenance-table tbody tr:hover{background:#f9fafb}.maintenance-table tbody tr:last-child{border-bottom:none}.maintenance-table td{font-size:14px;padding:16px}.equipment-code{color:#3b82f6;font-family:Courier New,Courier,monospace;font-size:13px;font-weight:700}.equipment-name{color:#111827;font-weight:600}.job-code{background:#f1f5f9;border-radius:4px;color:#475569;font-family:Monaco,Courier New,monospace;font-size:.875rem;padding:2px 6px}.job-plan{color:#4b5563}.interval{color:#6b7280;font-size:13px;text-transform:capitalize}.last-done{color:#9ca3af;font-size:13px}.planned-date{color:#374151;font-weight:500}.hours-info{display:flex;flex-direction:column;gap:4px}.hours-value{color:#1e293b;font-weight:600}.hours-date{color:#64748b;font-size:.75rem}.hours-current{color:#475569;font-size:.75rem;font-style:italic}.due-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;padding:6px 12px;white-space:nowrap}.due-badge.status-overdue{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.due-badge.status-critical{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.due-badge.status-upcoming{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.due-badge.status-planned{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.due-badge.status-future{background:#f3f4f6;border:1px solid #e5e7eb;color:#4b5563}.status-badge{border-radius:6px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.status-badge.ok{background:#d1fae5;color:#065f46}.status-badge.overdue{background:#fee2e2;color:#991b1b}.status-badge.due-shortly{background:#fef3c7;color:#92400e}.action-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.btn-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.btn-update-hours{background:#3b82f6;box-shadow:0 2px 6px #3b82f640;color:#fff}.btn-update-hours:hover{background:#2563eb;box-shadow:0 4px 10px #3b82f659;transform:translateY(-1px)}.btn-complete-job{background:#10b981;box-shadow:0 2px 6px #10b98140;color:#fff}.btn-complete-job:hover{background:#059669;box-shadow:0 4px 10px #10b98159;transform:translateY(-1px)}.btn-completed{background:#f3f4f6;border:none;color:#9ca3af;cursor:not-allowed}.btn-text{display:inline}.load-more-section{border-top:1px solid #e5e7eb;padding:24px;text-align:center}.btn-load-more{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-load-more:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.btn-load-more:disabled{cursor:not-allowed;opacity:.6}.table-footer{background:#f9fafb;border-top:1px solid #f3f4f6;color:#6b7280;font-size:13px;padding:16px;text-align:center}.footer-info{font-weight:500}.footer-search-info{color:#9ca3af;margin-left:8px}.loading-spinner.small{border-width:3px;height:20px;width:20px}.highlight-row{background-color:#e8f0fe;transition:background-color .3s ease}tbody tr:hover{background-color:#e8f0fe!important;cursor:pointer}.job-action-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px}.job-action-select:focus{border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e54d;outline:none}.action-badge-small{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280;display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;white-space:nowrap}.cancel-modal-overlay{animation:cancelFadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.cancel-job-modal{animation:cancelSlideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.cancel-modal-header{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-bottom:1px solid #e5e7eb;border-top-left-radius:16px;border-top-right-radius:16px;display:flex;gap:16px;padding:24px}.cancel-modal-icon{align-items:center;background:#fef2f2;border:2px solid #fecaca;border-radius:12px;color:#dc2626;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.cancel-modal-title{flex:1 1}.cancel-modal-title h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 4px}.cancel-modal-title p{color:#6b7280;font-size:13px;margin:0}.cancel-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.cancel-modal-close:hover{background:#0000000d;color:#111827}.cancel-modal-body{padding:24px}.cancel-job-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;padding:16px}.cancel-info-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.cancel-info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.cancel-label{color:#6b7280;font-size:13px;font-weight:600}.cancel-value{color:#111827;font-size:14px;font-weight:600;text-align:right}.cancel-form-group{margin-bottom:16px}.cancel-form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.cancel-textarea{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#111827;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:all .2s ease;width:100%}.cancel-textarea:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a;outline:none}.cancel-modal-footer{background:#f9fafb;border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.cancel-btn-danger,.cancel-btn-secondary{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.cancel-btn-secondary{background:#fff;border:2px solid #d1d5db;color:#374151}.cancel-btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.cancel-btn-danger{background:#ef4444;color:#fff}.cancel-btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.cancel-btn-danger:disabled,.cancel-btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancel-spinner{animation:cancelSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes cancelFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cancelSlideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes cancelSpin{to{transform:rotate(1turn)}}@media (max-width:640px){.cancel-job-modal{width:95%}.cancel-modal-body,.cancel-modal-header{padding:20px}.cancel-modal-footer{flex-direction:column}}.postpone-modal-overlay{animation:postponeFadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.postpone-job-modal{animation:postponeSlideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.postpone-modal-header{align-items:center;background:linear-gradient(135deg,#fff7ed,#fed7aa);border-bottom:1px solid #e5e7eb;border-top-left-radius:16px;border-top-right-radius:16px;display:flex;gap:16px;padding:24px}.postpone-modal-icon{align-items:center;background:#fff7ed;border:2px solid #fed7aa;border-radius:12px;color:#ea580c;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.postpone-modal-title{flex:1 1}.postpone-modal-title h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 4px}.postpone-modal-title p{color:#6b7280;font-size:13px;margin:0}.postpone-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.postpone-modal-close:hover{background:#0000000d;color:#111827}.postpone-modal-body{padding:24px}.postpone-job-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;padding:16px}.postpone-info-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.postpone-info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.postpone-label{color:#6b7280;font-size:13px;font-weight:600}.postpone-value{color:#111827;font-size:14px;font-weight:600;text-align:right}.postpone-form-group{margin-bottom:16px}.postpone-form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.postpone-input,.postpone-textarea{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#111827;font-family:inherit;font-size:14px;padding:12px;transition:all .2s ease;width:100%}.postpone-input:focus,.postpone-textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a;outline:none}.postpone-textarea{resize:vertical}.postpone-info-text{color:#10b981;font-size:13px;font-weight:500;margin-top:8px}.postpone-info-text strong{color:#059669}.postpone-modal-footer{background:#f9fafb;border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.postpone-btn-secondary,.postpone-btn-warning{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.postpone-btn-secondary{background:#fff;border:2px solid #d1d5db;color:#374151}.postpone-btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.postpone-btn-warning{background:#f97316;color:#fff}.postpone-btn-warning:hover:not(:disabled){background:#ea580c;box-shadow:0 4px 12px #f9731666;transform:translateY(-1px)}.postpone-btn-secondary:disabled,.postpone-btn-warning:disabled{cursor:not-allowed;opacity:.6;transform:none}.postpone-spinner{animation:postponeSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes postponeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes postponeSlideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes postponeSpin{to{transform:rotate(1turn)}}@media (max-width:640px){.postpone-job-modal{width:95%}.postpone-modal-body,.postpone-modal-header{padding:20px}.postpone-modal-footer{flex-direction:column}}.assign-modal-overlay{animation:assignFadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.assign-job-modal{animation:assignSlideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}.assign-modal-header{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #e5e7eb;border-top-left-radius:16px;border-top-right-radius:16px;display:flex;gap:16px;padding:24px}.assign-modal-icon{align-items:center;background:#eff6ff;border:2px solid #bfdbfe;border-radius:12px;color:#2563eb;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.assign-modal-title{flex:1 1}.assign-modal-title h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 4px}.assign-modal-title p{color:#6b7280;font-size:13px;margin:0}.assign-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.assign-modal-close:hover{background:#0000000d;color:#111827}.assign-modal-body{padding:24px}.assign-job-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;padding:16px}.assign-info-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.assign-info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.assign-label{color:#6b7280;font-size:13px;font-weight:600}.assign-value{color:#111827;font-size:14px;font-weight:600;text-align:right}.assign-form-group{margin-bottom:16px}.assign-form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.assign-input,.assign-textarea{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#111827;font-family:inherit;font-size:14px;padding:12px;transition:all .2s ease;width:100%}.assign-input:focus,.assign-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.assign-textarea{resize:vertical}.assign-modal-footer{background:#f9fafb;border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.assign-btn-primary,.assign-btn-secondary{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.assign-btn-secondary{background:#fff;border:2px solid #d1d5db;color:#374151}.assign-btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.assign-btn-primary{background:#3b82f6;color:#fff}.assign-btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.assign-btn-primary:disabled,.assign-btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.assign-spinner{animation:assignSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes assignFadeIn{0%{opacity:0}to{opacity:1}}@keyframes assignSlideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes assignSpin{to{transform:rotate(1turn)}}@media (max-width:640px){.assign-job-modal{width:95%}.assign-modal-body,.assign-modal-header{padding:20px}.assign-modal-footer{flex-direction:column}}.toast-notification-container{animation:toastSlideIn .3s ease;position:fixed;right:24px;top:24px;z-index:9999}.toast-notification{align-items:center;background:#fff;border-left:4px solid #10b981;border-radius:12px;box-shadow:0 10px 40px #00000026;display:flex;gap:12px;max-width:500px;min-width:300px;padding:16px 20px}.toast-notification.success{background:#f0fdf4;border-left-color:#10b981}.toast-notification.error{background:#fef2f2;border-left-color:#ef4444}.toast-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.toast-notification.success .toast-icon{color:#10b981}.toast-notification.error .toast-icon{color:#ef4444}.toast-message{flex:1 1;font-size:14px;font-weight:600;line-height:1.4}.toast-notification.success .toast-message{color:#065f46}.toast-notification.error .toast-message{color:#991b1b}.toast-close-btn{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s ease}.toast-close-btn:hover{color:#111827}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@media (max-width:640px){.toast-notification-container{left:12px;right:12px;top:12px}.toast-notification{min-width:auto}}.job-action-select{background:#fff;border:2px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:13px;font-weight:600;min-width:140px;outline:none;padding:8px 12px;transition:all .2s ease}.job-action-select:hover{background:#f9fafb;border-color:#9ca3af}.job-action-select:focus{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.job-action-select option{background:#fff;color:#374151;padding:8px}.job-action-select option[value=completed]{color:#10b981;font-weight:600}.job-action-select option[value=cancel]{color:#ef4444;font-weight:600}.job-action-select option[value=postpone]{color:#f97316;font-weight:600}.job-action-select option[value=assign]{color:#3b82f6;font-weight:600}@media (max-width:1200px){.job-action-select{font-size:12px;min-width:100px;padding:6px 8px}}@media (max-width:768px){.job-action-select{min-width:auto;width:100%}}.activate-modal-overlay{animation:fadeIn .2s ease-out;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.activate-job-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.activate-modal-header{align-items:flex-start;border-bottom:1px solid #e0e0e0;display:flex;gap:16px;padding:24px}.activate-modal-icon{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.activate-modal-icon svg{color:#fff}.activate-modal-title{flex:1 1}.activate-modal-title h3{color:#202124;font-size:20px;font-weight:600;margin:0 0 4px}.activate-modal-title p{color:#5f6368;font-size:13px;margin:0}.activate-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background .2s}.activate-modal-close:hover{background:#f8f9fa}.activate-modal-body{padding:24px}.activate-job-info{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:16px}.activate-info-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.activate-info-row:last-child{margin-bottom:0}.activate-label{color:#5f6368;font-size:13px;font-weight:500}.activate-value{color:#202124;font-size:14px;font-weight:600}.activate-form-group{margin:0}.activate-form-group label{color:#202124;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.activate-textarea{border:1px solid #dadce0;border-radius:8px;color:#202124;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:all .2s;width:100%}.activate-textarea:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b9811a;outline:none}.activate-textarea::placeholder{color:#9e9e9e}.activate-modal-footer{background:#f8f9fa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.activate-btn-secondary,.activate-btn-success{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.activate-btn-secondary{background:#fff;border:1px solid #dadce0;color:#5f6368}.activate-btn-secondary:hover{background:#f8f9fa}.activate-btn-secondary:disabled{cursor:not-allowed;opacity:.5}.activate-btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.activate-btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.activate-btn-success:active:not(:disabled){transform:translateY(0)}.activate-btn-success:disabled{cursor:not-allowed;opacity:.6}.activate-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.activate-job-modal{width:95%}.activate-modal-body,.activate-modal-header{padding:20px}.activate-modal-footer{flex-direction:column;padding:16px 20px}.activate-btn-secondary,.activate-btn-success{justify-content:center;width:100%}}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px;padding:40px 0;text-align:center}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:36px;width:36px}.loading-text{color:#374151;font-size:15px;font-weight:500;padding:0 12px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.loading-spinner{border-width:3px;height:30px;width:30px}.loading-text{font-size:14px}}@media (max-width:480px){.loading-state{padding:32px 0}.loading-spinner{height:26px;width:26px}.loading-text{font-size:13px}}
/*# sourceMappingURL=main.5c59d29a.css.map*/