.error-boundary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:errorFadeIn .3s ease}@keyframes errorFadeIn{0%{opacity:0}to{opacity:1}}.error-boundary-card{max-width:520px;width:90%;background:var(--bg-secondary, #1e293b);border:1px solid rgba(239,68,68,.3);border-radius:16px;padding:40px;text-align:center;box-shadow:0 20px 60px #00000080;animation:errorSlideUp .4s ease}@keyframes errorSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.error-boundary-icon{font-size:48px;margin-bottom:16px}.error-boundary-title{font-size:22px;font-weight:600;color:var(--text-primary, #f1f5f9);margin:0 0 12px}.error-boundary-message{font-size:14px;color:var(--text-muted, #94a3b8);margin:0 0 24px;line-height:1.6}.error-boundary-details{text-align:left;margin-bottom:24px;background:#0000004d;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.05)}.error-boundary-details summary{cursor:pointer;font-size:12px;font-weight:500;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.error-boundary-details pre{font-size:11px;color:#ef4444;white-space:pre-wrap;word-break:break-word;margin:8px 0 0;max-height:200px;overflow-y:auto}.error-boundary-stack{color:var(--text-muted, #94a3b8)!important;font-size:10px!important}.error-boundary-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.error-boundary-btn{padding:10px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.error-boundary-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.error-boundary-btn.primary:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateY(-1px)}.error-boundary-btn.secondary{background:#ffffff1a;color:var(--text-secondary, #cbd5e1);border:1px solid rgba(255,255,255,.1)}.error-boundary-btn.secondary:hover{background:#ffffff26}.error-boundary-btn.tertiary{background:transparent;color:var(--text-muted, #94a3b8)}.error-boundary-btn.tertiary:hover{color:var(--text-secondary, #cbd5e1)}:root{--sync-ok: #22c55e;--sync-active: #3b82f6;--sync-offline: #f59e0b;--sync-error: #ef4444}.sync-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);font-size:.8rem;color:var(--text-secondary, #94a3b8);transition:all .3s ease}.sync-badge--compact{padding:4px 8px;gap:4px;cursor:default;background:transparent;border:none}.sync-badge__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background .3s ease}.sync-badge--online .sync-badge__dot,.sync-badge--synced .sync-badge__dot{background:var(--sync-ok)}.sync-badge--syncing .sync-badge__dot{background:var(--sync-active)}.sync-badge--offline .sync-badge__dot{background:var(--sync-offline)}.sync-badge--error .sync-badge__dot,.sync-badge--auth-required .sync-badge__dot{background:var(--sync-error)}.sync-badge__dot--pulse{animation:syncPulse 2s ease-in-out infinite}@keyframes syncPulse{0%,to{opacity:1;box-shadow:0 0 0 0 currentColor}50%{opacity:.6;box-shadow:0 0 0 4px transparent}}.sync-badge--syncing .sync-badge__icon{display:inline-block;animation:syncSpin 1.2s linear infinite}@keyframes syncSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-badge__status{display:flex;align-items:center;gap:6px}.sync-badge__label{font-weight:500;color:var(--text-primary, #e2e8f0)}.sync-badge__counts{display:flex;gap:8px;font-size:.75rem}.sync-badge__pending{color:var(--sync-offline)}.sync-badge__dead{color:var(--sync-error);font-weight:600}.sync-badge__count{font-size:.7rem;font-weight:700;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--sync-offline);color:#000}.sync-badge__sync-btn{padding:2px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--sync-active);font-size:.75rem;cursor:pointer;transition:all .2s ease}.sync-badge__sync-btn:hover{background:#3b82f626;border-color:var(--sync-active)}.sync-badge__error{font-size:.7rem;color:var(--sync-error);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-bell-wrapper{position:relative}.notification-bell-btn{background:transparent;border:none;cursor:pointer;padding:8px;color:var(--text-primary);position:relative;transition:color .2s ease;font-size:1.2rem;line-height:1}.notification-bell-btn:hover{color:#60a5fa}.notification-bell-btn.has-unread{animation:bell-subtle 2s ease-in-out infinite}@keyframes bell-subtle{0%,to{transform:rotate(0)}5%{transform:rotate(8deg)}10%{transform:rotate(-8deg)}15%{transform:rotate(4deg)}20%{transform:rotate(0)}}.notification-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.65rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg-primary, #0f172a);box-shadow:0 2px 6px #ef444466;pointer-events:none}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:-12px;width:440px;max-height:480px;background:#0f172afa;border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:dropdown-in .2s cubic-bezier(.16,1,.3,1)}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.notification-dropdown-header h3{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary, #e2e8f0);letter-spacing:-.01em}.notification-mark-all{background:none;border:none;color:#60a5fa;font-size:.75rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s ease}.notification-mark-all:hover{background:#60a5fa1a;color:#93bbfc}.notification-list{overflow-y:auto;flex:1;padding:4px 0}.notification-list::-webkit-scrollbar{width:4px}.notification-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.notification-item{display:flex;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s ease;border-left:3px solid transparent}.notification-item:hover{background:#ffffff0a}.notification-item.unread{border-left-color:#3b82f6;background:#3b82f60a}.notification-item-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:10px;font-size:1.1rem}.notification-item-content{flex:1;min-width:0}.notification-item-title{font-size:.82rem;font-weight:600;color:var(--text-primary, #e2e8f0);line-height:1.3;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item.unread .notification-item-title{color:#f1f5f9}.notification-item-message{font-size:.75rem;color:var(--text-secondary, #94a3b8);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:.68rem;color:var(--text-tertiary, #64748b);margin-top:3px}.notification-item.unread .notification-item-time{color:#60a5fa}.notification-unread-dot{flex-shrink:0;width:8px;height:8px;background:#3b82f6;border-radius:50%;margin-top:6px;box-shadow:0 0 6px #3b82f680}.notification-empty{padding:40px 20px;text-align:center;color:var(--text-secondary, #94a3b8)}.notification-empty-icon{font-size:2.5rem;margin-bottom:10px;opacity:.4}.notification-empty-text{font-size:.85rem;font-weight:500}.notification-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.demo-badge{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#141428f2,#1e1e3cf2);border:1px solid rgba(0,200,255,.3);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 20px #00c8ff26,0 4px 16px #0006,inset 0 1px #ffffff0d;animation:demo-badge-pulse 3s ease-in-out infinite;cursor:default;-webkit-user-select:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease}.demo-badge:hover{transform:translateY(-2px);box-shadow:0 0 30px #00c8ff40,0 8px 24px #00000080,inset 0 1px #ffffff14}.demo-badge:hover .demo-badge-hint{max-width:200px;opacity:1;margin-left:4px}.demo-badge-icon{font-size:16px;line-height:1}.demo-badge-text{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;font-weight:700;letter-spacing:2px;color:#00d4ff;text-transform:uppercase}.demo-badge-hint{font-size:10px;color:#ffffff80;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .3s ease,opacity .3s ease,margin .3s ease}@keyframes demo-badge-pulse{0%,to{border-color:#00c8ff4d;box-shadow:0 0 20px #00c8ff26,0 4px 16px #0006,inset 0 1px #ffffff0d}50%{border-color:#00c8ff80;box-shadow:0 0 30px #00c8ff40,0 4px 16px #0006,inset 0 1px #ffffff0d}}@media(max-width:480px){.demo-badge{bottom:10px;right:10px;padding:6px 10px;gap:4px}.demo-badge-text{font-size:9px}}.toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:12px;font-size:.95rem;animation:slideIn .3s ease-out;z-index:10000}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:#10b981;color:#fff}.toast-error{background:#ef4444;color:#fff}.toast-warning{background:#f59e0b;color:#fff}.toast-info{background:#3b82f6;color:#fff}.toast-icon{font-size:1.5rem;font-weight:700}.toast-message{flex:1}.toast-close{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s}.toast-close:hover{opacity:1}.toast-container{position:fixed;top:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:10000;pointer-events:none}.toast-container>*{pointer-events:auto}.toast-container .toast{position:relative;top:auto;right:auto}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.spinner{border:3px solid rgba(52,152,219,.1);border-top-color:var(--blue-accent);border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:20px;height:20px;border-width:2px}.spinner-medium{width:40px;height:40px;border-width:3px}.spinner-large{width:60px;height:60px;border-width:4px}.loading-message{margin-top:16px;color:var(--text-secondary);font-size:.9rem}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.dialog-box{background:var(--bg-card);border-radius:12px;padding:24px;max-width:500px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.dialog-title{margin:0 0 12px;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.dialog-message{margin:0 0 16px;color:var(--text-secondary);line-height:1.5}.dialog-input{width:100%;padding:10px 12px;margin-bottom:16px;border:1px solid var(--border-color, #383838);border-radius:6px;background:var(--bg-secondary, #1a1a1a);color:var(--text-primary, #ffffff);font-size:.9rem;resize:vertical;min-height:80px}.dialog-input:focus{outline:none;border-color:var(--accent-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.dialog-input::placeholder{color:var(--text-muted, #6b7280)}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.btn-danger{background-color:#ef4444;color:#fff!important;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.btn-danger:hover{background-color:#dc2626;color:#fff!important}.assets-container{display:flex;flex-direction:column;height:calc(100vh - 350px);gap:16px}.assets-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:10px}.assets-panels{display:flex;gap:20px;flex:1;min-height:0}.assets-hierarchy-panel{flex:0 0 28%;min-width:280px;max-width:450px;background:linear-gradient(180deg,#1e293b99,#0f172a99);border-radius:16px;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 16px #00000026;overflow-y:auto;display:flex;flex-direction:column;height:100%}.assets-hierarchy-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.assets-hierarchy-header h3{margin:0;font-size:1rem;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:10px}.assets-hierarchy-header h3 svg{color:#14b8a6}.assets-hierarchy-actions{display:flex;gap:6px}.assets-hierarchy-actions .btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;transition:all .2s ease}.assets-hierarchy-content{flex:1;padding:12px 16px;overflow-y:auto}.asset-tree-node{margin-left:10px}.asset-tree-item{display:flex;align-items:center;padding:8px 10px;cursor:pointer;border-radius:8px;border-left:3px solid transparent;margin-bottom:2px;transition:all .15s ease;color:#94a3b8}.asset-tree-item:hover{background:#ffffff0a;color:#e2e8f0}.asset-tree-item.selected{background:#0d94881a;color:#14b8a6;border-left-color:#14b8a6}.asset-tree-expand{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;margin-right:6px;font-size:.7rem}.asset-tree-name{font-size:.9rem;font-weight:500}.asset-tree-item.selected .asset-tree-name{font-weight:600}.asset-tree-children{padding-left:12px;margin-left:12px;border-left:1px solid rgba(255,255,255,.08)}.asset-group-item{display:flex;align-items:center;padding:8px 10px;cursor:pointer;border-radius:8px;background:#0d94880d;color:#94a3b8;font-weight:600;font-size:.9rem;margin-bottom:3px;transition:all .15s ease}.asset-group-item:hover{background:#0d948814;color:#e2e8f0}.asset-group-icon{margin-right:8px;opacity:.7;color:#14b8a6}.asset-group-count{margin-left:8px;font-size:.75rem;opacity:.6;font-weight:400}.assets-detail-panel{flex:1;background:linear-gradient(180deg,#1e293b99,#0f172a99);border-radius:16px;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 16px #00000026;overflow-y:auto;height:100%;display:flex;flex-direction:column}.assets-breadcrumb{padding:14px 20px;background:#00000026;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px;font-size:.85rem}.assets-breadcrumb-root{cursor:pointer;display:flex;align-items:center;gap:6px;color:#64748b;transition:color .2s}.assets-breadcrumb-root:hover{color:#14b8a6}.assets-breadcrumb-root svg{color:#14b8a6}.assets-breadcrumb-separator{opacity:.4;color:#64748b}.assets-breadcrumb-item{cursor:pointer;color:#94a3b8;transition:color .2s}.assets-breadcrumb-item:hover{color:#e2e8f0}.assets-breadcrumb-item.active{font-weight:600;color:#14b8a6}.assets-detail-content{padding:24px;flex:1;overflow-y:auto}.asset-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.asset-detail-title{display:flex;flex-direction:column;gap:4px}.asset-detail-title h3{margin:0;font-size:1.3rem;font-weight:700;color:#e2e8f0}.asset-detail-code{font-size:.85rem;color:#64748b;font-family:Monaco,Menlo,monospace}.asset-detail-actions{display:flex;gap:8px}.asset-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:28px}.asset-info-item{background:#ffffff05;padding:14px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.04)}.asset-info-label{font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.asset-info-value{font-size:.95rem;color:#e2e8f0;font-weight:500}.asset-tabs{display:flex;gap:4px;padding:8px;background:#0003;border-radius:10px;margin-bottom:20px}.asset-tab{padding:10px 18px;border-radius:8px;border:none;background:transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.asset-tab:hover{background:#ffffff0d;color:#e2e8f0}.asset-tab.active{background:#0d9488;color:#fff}.asset-tab-badge{background:#0000004d;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.asset-tab.active .asset-tab-badge{background:#fff3}.parts-table-container{background:#0000001a;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.04)}.parts-table{width:100%;border-collapse:collapse}.parts-table th{background:#0000004d;padding:12px 16px;text-align:left;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.06)}.parts-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04);font-size:.9rem;color:#e2e8f0}.parts-table tbody tr:hover{background:#ffffff05}.parts-table tbody tr.inactive{opacity:.5}.parts-table tbody tr.child-row{font-size:.85rem;color:#94a3b8}.part-name-cell{display:flex;flex-direction:column;gap:2px}.part-notes{font-size:.8rem;color:#64748b;margin-top:2px}.meters-section{margin-top:24px}.meters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.meters-header h4{margin:0;font-size:1rem;font-weight:600;color:#e2e8f0;display:flex;align-items:center;gap:8px}.meters-header h4 svg{color:#14b8a6}.meters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.meter-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:18px;transition:all .2s ease}.meter-card:hover{background:#ffffff08;border-color:#0d948833}.meter-card.primary{border-color:#0d94884d;background:#0d94880d}.meter-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.meter-type{font-weight:600;font-size:.95rem;color:#e2e8f0}.meter-unit{font-size:.8rem;color:#64748b;margin-left:8px}.meter-primary-badge{background:#0d948826;color:#14b8a6;padding:3px 10px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase}.meter-reading{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.meter-value{font-size:1.8rem;font-weight:700;color:#14b8a6}.meter-reading-unit{font-size:.9rem;color:#64748b}.meter-last-read{font-size:.8rem;color:#64748b}.meter-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.asset-form{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.asset-form .form-group{display:flex;flex-direction:column;gap:8px}.asset-form .form-group.full-width{grid-column:1 / -1}.asset-form label{font-size:.8rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.asset-form input,.asset-form select,.asset-form textarea{padding:12px 14px;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#e2e8f0;font-size:.95rem;transition:all .2s ease}.asset-form input:focus,.asset-form select:focus,.asset-form textarea:focus{outline:none;border-color:#0d948880;box-shadow:0 0 0 3px #0d94881a}.asset-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.assets-empty{text-align:center;padding:60px 20px;color:#64748b}.assets-empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.assets-empty p{font-size:.95rem;margin-bottom:16px}@media(max-width:900px){.assets-panels{flex-direction:column}.assets-hierarchy-panel{flex:none;width:100%;max-width:none;height:300px;min-height:200px}.assets-detail-panel{min-height:400px}.asset-form{grid-template-columns:1fr}}.assets-hierarchy-content::-webkit-scrollbar,.assets-detail-content::-webkit-scrollbar{width:6px}.assets-hierarchy-content::-webkit-scrollbar-track,.assets-detail-content::-webkit-scrollbar-track{background:#ffffff05}.assets-hierarchy-content::-webkit-scrollbar-thumb,.assets-detail-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.assets-hierarchy-content::-webkit-scrollbar-thumb:hover,.assets-detail-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.ai-form-filler{--ai-accent: #a855f7;--ai-accent-dim: rgba(168, 85, 247, .15);--ai-accent-border: rgba(168, 85, 247, .25);--ai-surface: rgba(15, 23, 42, .6);--ai-surface-hover: rgba(30, 41, 59, .8);--ai-success: #22c55e;--ai-warning: #f59e0b;--ai-error: #ef4444;margin-bottom:20px;border-radius:16px;border:1px solid var(--ai-accent-border);background:linear-gradient(165deg,#a855f70a,#0f172af2 30%,#0f172afa);overflow:hidden;transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 24px #a855f714}.ai-form-filler:hover{border-color:#a855f759;box-shadow:0 4px 32px #a855f71f}.ai-filler-toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;border:none;width:100%;color:#e2e8f0;transition:background .2s ease}.ai-filler-toggle:hover{background:#a855f70f}.ai-filler-toggle-left{display:flex;align-items:center;gap:12px}.ai-filler-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--ai-accent) 0%,#7c3aed 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #a855f74d}.ai-filler-title{font-size:.95rem;font-weight:700;color:#f1f5f9;letter-spacing:-.01em}.ai-filler-subtitle{font-size:.72rem;color:#94a3b8;margin-top:2px}.ai-filler-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:6px;background:var(--ai-accent-dim);color:var(--ai-accent);border:1px solid var(--ai-accent-border)}.ai-filler-chevron{color:#64748b;transition:transform .3s ease}.ai-filler-chevron.open{transform:rotate(180deg)}.ai-filler-panel{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1),padding .35s ease}.ai-filler-panel.open{max-height:2000px;padding:0 20px 20px}.ai-filler-input-area{margin-bottom:16px;position:relative;transition:border-color .2s ease}.ai-filler-input-area.drag-over{border-radius:12px;border:2px dashed var(--ai-accent);background:#a855f70f}.ai-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0f172aeb;border-radius:12px;border:2px dashed var(--ai-accent);color:var(--ai-accent);font-size:.88rem;font-weight:700;pointer-events:none;animation:ai-fade-in .15s ease}.ai-upload-progress{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:8px;border-radius:8px;background:#a855f70f;border:1px solid var(--ai-accent-border);font-size:.78rem;color:#cbd5e1;animation:ai-fade-in .2s ease}.ai-upload-progress .ai-processing-spinner{width:18px;height:18px;border-width:2px;flex-shrink:0}.ai-uploaded-file-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin-bottom:8px;border-radius:8px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);font-size:.72rem;color:#86efac;font-weight:600;animation:ai-fade-in .2s ease}.ai-badge-remove{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#86efac;cursor:pointer;padding:0 2px;opacity:.6;transition:opacity .15s ease}.ai-badge-remove:hover{opacity:1}.ai-filler-input-label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:#cbd5e1;margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}.ai-filler-textarea{width:100%;min-height:140px;max-height:300px;resize:vertical;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0000004d;color:#e2e8f0;font-family:Inter,system-ui,monospace;font-size:.82rem;line-height:1.6;transition:border-color .2s ease,box-shadow .2s ease}.ai-filler-textarea:focus{outline:none;border-color:var(--ai-accent);box-shadow:0 0 0 3px #a855f71f}.ai-filler-textarea::placeholder{color:#475569;font-size:.8rem}.ai-filler-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ai-filler-actions-left,.ai-filler-actions-right{display:flex;align-items:center;gap:8px}.ai-btn-extract{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--ai-accent) 0%,#7c3aed 100%);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #a855f74d;text-transform:uppercase;letter-spacing:.03em}.ai-btn-extract:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #a855f766}.ai-btn-extract:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#94a3b8;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ai-btn-secondary:hover{background:#ffffff14;color:#e2e8f0;border-color:#ffffff26}.ai-filler-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.ai-processing-spinner{width:48px;height:48px;border:3px solid rgba(168,85,247,.2);border-top-color:var(--ai-accent);border-radius:50%;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-processing-text{font-size:.88rem;color:#cbd5e1;font-weight:600}.ai-processing-subtext{font-size:.75rem;color:#64748b;text-align:center}@keyframes ai-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ai-shimmer-bar{height:12px;border-radius:4px;background:linear-gradient(90deg,#a855f70d 25%,#a855f726,#a855f70d 75%);background-size:200% 100%;animation:ai-shimmer 1.5s infinite}.ai-results-container{border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#0003;overflow:hidden}.ai-results-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#a855f70f;border-bottom:1px solid rgba(255,255,255,.06)}.ai-results-title{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:#e2e8f0}.ai-results-count{font-size:.7rem;font-weight:600;color:var(--ai-accent);background:var(--ai-accent-dim);padding:2px 8px;border-radius:10px}.ai-results-actions{display:flex;gap:8px}.ai-btn-apply-all{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:none;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.03em}.ai-btn-apply-all:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.ai-btn-discard{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:#ef444414;color:#f87171;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ai-btn-discard:hover{background:#ef444426;border-color:#ef444466}.ai-field-list{max-height:400px;overflow-y:auto}.ai-field-list::-webkit-scrollbar{width:5px}.ai-field-list::-webkit-scrollbar-track{background:transparent}.ai-field-list::-webkit-scrollbar-thumb{background:#a855f74d;border-radius:4px}.ai-field-row{display:grid;grid-template-columns:32px 1fr 1fr auto;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.ai-field-row:last-child{border-bottom:none}.ai-field-row:hover{background:#ffffff05}.ai-field-row.selected{background:#a855f70a}.ai-field-row.conflict{background:#f59e0b0a}.ai-field-checkbox{width:18px;height:18px;accent-color:var(--ai-accent);cursor:pointer}.ai-field-label{font-size:.78rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.ai-field-value{display:flex;align-items:center;gap:8px}.ai-field-new-value{font-size:.82rem;font-weight:600;color:#e2e8f0;font-family:Inter,system-ui,monospace;padding:4px 10px;border-radius:6px;background:#a855f714;border:1px solid rgba(168,85,247,.15);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-field-old-value{font-size:.72rem;color:#64748b;text-decoration:line-through;font-style:italic}.ai-field-new-tag{font-size:.6rem;font-weight:700;color:var(--ai-success);text-transform:uppercase;letter-spacing:.03em}.ai-field-overwrite-tag{font-size:.6rem;font-weight:700;color:var(--ai-warning);text-transform:uppercase;letter-spacing:.03em}.ai-field-confidence{display:flex;align-items:center;gap:4px}.ai-confidence-dot{width:8px;height:8px;border-radius:50%}.ai-confidence-dot.high{background:var(--ai-success);box-shadow:0 0 6px #22c55e66}.ai-confidence-dot.medium{background:var(--ai-warning);box-shadow:0 0 6px #f59e0b66}.ai-confidence-dot.low{background:var(--ai-error);box-shadow:0 0 6px #ef444466}.ai-confidence-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ai-error-container{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);margin-bottom:12px}.ai-error-icon{color:var(--ai-error);flex-shrink:0}.ai-error-text{font-size:.82rem;color:#fca5a5;line-height:1.5}.ai-success-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#22c55e0f;border:1px solid rgba(34,197,94,.2);margin-bottom:12px;animation:ai-fade-in .3s ease}.ai-success-text{font-size:.82rem;color:#86efac;font-weight:600}@keyframes ai-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-hint{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#64748b;margin-top:8px;padding:0 4px}.ai-hint-icon{color:#475569;flex-shrink:0}.ai-filler-disabled{padding:16px 20px;text-align:center}.ai-filler-disabled-text{font-size:.82rem;color:#64748b;margin-bottom:8px}.ai-filler-disabled-link{font-size:.78rem;color:var(--ai-accent);text-decoration:underline;cursor:pointer}.ai-token-stats{display:flex;align-items:center;gap:16px;padding-top:12px;margin-top:12px;border-top:1px solid rgba(255,255,255,.04)}.ai-token-stat{display:flex;align-items:center;gap:4px;font-size:.68rem;color:#64748b}.ai-token-stat-value{color:#94a3b8;font-weight:600;font-family:monospace}.ai-sample-docs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-sample-doc-chip{font-size:.68rem;padding:4px 10px;border-radius:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:#94a3b8;cursor:pointer;transition:all .2s ease}.ai-sample-doc-chip:hover{background:var(--ai-accent-dim);border-color:var(--ai-accent-border);color:#e2e8f0}@media(max-width:768px){.ai-field-row{grid-template-columns:28px 1fr;gap:6px}.ai-field-value{grid-column:2}.ai-field-confidence{grid-column:2;justify-self:start}}.dt-table-container{display:flex;flex-direction:column;gap:16px;width:100%}.dt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.dt-toolbar-left{display:flex;align-items:center;gap:16px}.dt-toolbar-right{display:flex;align-items:center;gap:8px}.dt-search{display:flex;align-items:center;gap:12px;padding:0 16px;height:42px;background:var(--bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:10px;min-width:300px;transition:border-color .2s,box-shadow .2s}.dt-search:focus-within{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.dt-search svg{color:var(--text-muted, #64748b);flex-shrink:0;opacity:.7}.dt-search input{flex:1;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;color:var(--text-primary, #f1f5f9)!important;font-size:.9rem;padding:0!important;margin:0;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dt-search input:focus{border:none!important;box-shadow:none!important;outline:none!important}.dt-search input::placeholder{color:var(--text-muted, #64748b);opacity:.8}.dt-count{font-size:.85rem;color:var(--text-secondary, #94a3b8)}.dt-column-toggle{position:relative}.dt-column-menu{position:absolute;top:100%;right:0;margin-top:4px;padding:8px;background:var(--bg-secondary, #1e293b);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 10px 40px #0000004d;min-width:180px;z-index:100}.dt-column-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--text-primary, #f1f5f9);transition:background .15s}.dt-column-option:hover{background:#ffffff0d}.dt-column-option input[type=checkbox]{accent-color:var(--accent-color, #3b82f6)}.dt-table-wrapper{overflow:hidden;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:var(--bg-secondary, #1e293b)}.dt-table{width:100%;border-collapse:collapse;background:var(--bg-secondary, #1e293b)}.dt-table thead{background:#0003!important}.dt-table th,.dt-table-container .dt-table th,.dt-table thead th{padding:14px 16px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);border:none!important;border-bottom:1px solid rgba(255,255,255,.1)!important;white-space:nowrap;background:#0003!important}.dt-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.dt-table th.sortable:hover{color:var(--text-primary, #f1f5f9)}.dt-table th .th-content{display:inline-flex;align-items:center;gap:6px}.dt-table td,.dt-table-container .dt-table td,.dt-table tbody td{padding:14px 16px;font-size:.9rem;color:var(--text-primary, #f1f5f9);border:none!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.dt-table tbody tr,.dt-table-container .dt-table tbody tr{transition:background .15s;border:none!important;background:transparent!important}.dt-table tbody tr:hover{background:#ffffff05!important}.dt-table tbody tr.clickable{cursor:pointer}.dt-table tbody tr.clickable:hover{background:#ffffff0a}.dt-table tbody tr:last-child td{border-bottom:none!important}.dt-table th.actions-col{width:100px!important;min-width:100px!important;text-align:center!important}.dt-table td.dt-actions-cell{width:100px!important;min-width:100px!important;text-align:center!important;vertical-align:middle!important}.dt-actions-wrapper{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%}.dt-actions-wrapper .btn-icon{width:28px!important;height:28px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#1e293bb3!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:6px!important;color:var(--text-muted, #64748b)!important;cursor:pointer!important;transition:all .15s!important}.dt-actions-wrapper .btn-icon:hover{background:#334155cc!important;border-color:#ffffff26!important;color:var(--text-primary, #e2e8f0)!important}.dt-actions-wrapper .btn-icon.danger{background:#7f1d1d33!important;border-color:#f8717133!important;color:#f87171!important}.dt-actions-wrapper .btn-icon.danger:hover{background:#b91c1c4d!important;border-color:#f8717166!important;color:#fca5a5!important}.dt-loading{text-align:center;padding:60px 20px!important;color:var(--text-muted, #64748b)}.dt-loading .loading-spinner{margin:0 auto 12px}.dt-empty{text-align:center;padding:60px 20px!important;color:var(--text-muted, #64748b)}.dt-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.dt-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid rgba(255,255,255,.1)}.dt-pagination-info{font-size:.85rem;color:var(--text-secondary, #94a3b8)}.dt-pagination-controls{display:flex;align-items:center;gap:4px}.dt-page-indicator{padding:0 12px;font-size:.9rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.dt-table .btn-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#1e293bb3;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--text-muted, #64748b);cursor:pointer;transition:all .15s}.dt-table .btn-icon:hover{background:#334155cc;border-color:#ffffff26;color:var(--text-primary, #e2e8f0)}.dt-table .btn-icon.danger{background:#7f1d1d33;border-color:#f8717133;color:#f87171}.dt-table .btn-icon.danger:hover{background:#b91c1c4d;border-color:#f8717166;color:#fca5a5}.dt-table .btn-icon.success:hover{background:#22c55e26;border-color:#22c55e4d;color:#4ade80}.dt-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;border-radius:4px}.dt-badge.success{background:#22c55e26;color:#4ade80}.dt-badge.warning{background:#f59e0b26;color:#fbbf24}.dt-badge.danger{background:#ef444426;color:#f87171}.dt-badge.info{background:#3b82f626;color:#60a5fa}.dt-badge.muted{background:#ffffff14;color:var(--text-muted, #64748b)}@media(max-width:768px){.dt-toolbar{flex-direction:column;align-items:stretch}.dt-toolbar-left,.dt-toolbar-right{justify-content:space-between}.dt-search{min-width:auto;flex:1}.dt-pagination{flex-direction:column;gap:12px}}.crew-rank-manager{display:flex;flex-direction:column;gap:20px}.crm-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;background:linear-gradient(135deg,#06b6d41a,#3b82f60d);border-radius:12px;border:1px solid rgba(6,182,212,.15)}.crm-header-left h2{margin:0;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:12px;color:var(--text-primary, #f1f5f9)}.crm-header-left .icon-circle{font-size:1.75rem}.crm-subtitle{margin:6px 0 0;font-size:.9rem;color:var(--text-secondary, #94a3b8)}.crm-toolbar{display:flex;gap:12px;align-items:center;padding:16px 20px;background:var(--bg-secondary, #1e293b);border-radius:10px;border:1px solid rgba(255,255,255,.06)}.crm-search-box{display:flex;align-items:center;gap:12px;padding:0 16px;height:44px;background:var(--bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:8px;min-width:280px;transition:border-color .2s}.crm-search-box:focus-within{border-color:var(--accent-color, #3b82f6)}.crm-search-box svg{color:var(--text-muted, #64748b);flex-shrink:0;width:16px;height:16px}.crm-search-box input{flex:1;width:100%;min-width:180px;height:100%;background:transparent;border:none;outline:none;color:var(--text-primary, #f1f5f9);font-size:.9rem}.crm-search-box input::placeholder{color:var(--text-muted, #64748b)}.crm-filter{height:44px;padding:0 16px;background:var(--bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.9rem;min-width:200px;cursor:pointer;transition:border-color .2s}.crm-filter:focus{outline:none;border-color:var(--accent-color, #3b82f6)}.crm-filter option{background:var(--bg-secondary, #1e293b);color:var(--text-primary, #f1f5f9)}.crm-departments{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.crm-dept-card{background:var(--bg-secondary, #1e293b);border-radius:12px;border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:border-color .2s}.crm-dept-card:hover{border-color:var(--dept-color, rgba(255, 255, 255, .15))}.crm-dept-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--dept-color) 15%,transparent),color-mix(in srgb,var(--dept-color) 5%,transparent));border-bottom:1px solid rgba(255,255,255,.06)}.crm-dept-title{display:flex;align-items:center;gap:10px}.crm-dept-icon{font-size:1.5rem}.crm-dept-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.crm-dept-count{padding:4px 10px;background:#ffffff14;border-radius:20px;font-size:.75rem;font-weight:600;color:var(--text-secondary, #94a3b8)}.crm-rank-list{display:flex;flex-direction:column}.crm-rank-item{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}.crm-rank-item:last-child{border-bottom:none}.crm-rank-item:hover{background:#ffffff05}.crm-rank-order{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:6px;font-size:.75rem;font-weight:600;color:var(--text-muted, #64748b)}.crm-rank-info{flex:1;display:flex;flex-direction:column;gap:2px}.crm-rank-name{font-size:.95rem;font-weight:500;color:var(--text-primary, #f1f5f9);display:flex;align-items:center;gap:8px}.crm-senior-badge{padding:2px 8px;background:#f59e0b26;color:#fbbf24;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.crm-rank-code{font-size:.75rem;color:var(--text-muted, #64748b);font-family:SF Mono,Consolas,monospace}.crm-rank-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.crm-rank-item:hover .crm-rank-actions{opacity:1}.crm-btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--text-muted, #94a3b8);cursor:pointer;transition:all .15s}.crm-btn-icon:hover{background:#ffffff1a;color:var(--text-primary, #f1f5f9)}.crm-btn-icon.danger:hover{background:#ef444426;border-color:#ef44444d;color:#f87171}.crm-empty-dept{padding:32px 20px;text-align:center}.crm-empty-dept p{color:var(--text-muted, #64748b);margin:0 0 12px}.crm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--text-muted, #94a3b8)}.form-hint{display:block;margin-top:4px;font-size:.75rem;color:var(--text-muted, #64748b)}.checkbox-wrapper{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#0003;border-radius:8px;cursor:pointer}.checkbox-wrapper input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--accent-color, #3b82f6)}.checkbox-label-text{display:flex;flex-direction:column;gap:2px}.checkbox-label-text strong{color:var(--text-primary, #f1f5f9)}.checkbox-label-text small{color:var(--text-muted, #64748b);font-size:.8rem}@media(max-width:900px){.crm-departments{grid-template-columns:1fr}.crm-toolbar{flex-direction:column;align-items:stretch}.crm-search-box{max-width:none}}.crew-master-data-manager{padding:0}.crew-master-data-manager .manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#3b82f60f,#8b5cf60a);border-radius:12px;border:1px solid rgba(59,130,246,.1)}.crew-master-data-manager .header-left{display:flex;align-items:center;gap:14px}.crew-master-data-manager .header-left h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.crew-master-data-manager .header-left p{margin:2px 0 0;font-size:.85rem;color:var(--text-secondary)}.crew-master-data-manager .btn-add{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.crew-master-data-manager .btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.crew-master-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:12px;background:#1e293b66;border-radius:10px;border:1px solid rgba(148,163,184,.1)}.crew-tab-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#3341554d;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.crew-tab-btn:hover{background:#33415599;color:var(--text-primary)}.crew-tab-btn.active{background:#3b82f626;border-color:#3b82f64d;color:var(--blue-accent)}.crew-master-data-manager .action-buttons{display:flex;gap:6px}.crew-master-data-manager .action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.crew-master-data-manager .action-btn.edit{background:#3b82f61a;color:#60a5fa}.crew-master-data-manager .action-btn.edit:hover{background:#3b82f633}.crew-master-data-manager .action-btn.delete{background:#ef44441a;color:#f87171}.crew-master-data-manager .action-btn.delete:hover{background:#ef444433}.crew-master-modal{max-width:500px;width:90vw}.crew-master-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.1)}.crew-master-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.crew-master-modal .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.crew-master-modal .close-btn:hover{background:#ef44441a;color:#f87171}.crew-master-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px;max-height:60vh;overflow-y:auto}.crew-master-modal .form-group{display:flex;flex-direction:column;gap:6px}.crew-master-modal .form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.crew-master-modal .form-group input,.crew-master-modal .form-group select,.crew-master-modal .form-group textarea{padding:10px 12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-primary);font-size:.9rem;transition:all .2s ease}.crew-master-modal .form-group input:focus,.crew-master-modal .form-group select:focus,.crew-master-modal .form-group textarea:focus{outline:none;border-color:var(--blue-accent);box-shadow:0 0 0 3px #3b82f61a}.crew-master-modal .form-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.crew-master-modal .form-group input[type=color]{width:60px;height:36px;padding:2px;cursor:pointer}.crew-master-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid rgba(148,163,184,.1)}.crew-master-modal .btn-cancel{padding:10px 18px;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s ease}.crew-master-modal .btn-cancel:hover{background:#33415599;color:var(--text-primary)}.crew-master-modal .btn-save{padding:10px 18px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.crew-master-modal .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.color-swatch{border:1px solid rgba(148,163,184,.2)}.history-container{background:linear-gradient(180deg,#1e293b99,#0f172a99);border-radius:16px;padding:28px;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 20px #00000026}.history-header{display:flex;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.history-header-icon{width:42px;height:42px;background:linear-gradient(135deg,#0d948826,#0d94880d);border:1px solid rgba(13,148,136,.25);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#14b8a6}.history-header h3{margin:0;font-size:1.2rem;font-weight:700;color:#e2e8f0;letter-spacing:-.01em}.history-empty{text-align:center;padding:60px 20px;color:#64748b}.history-empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.history-empty p{font-size:.95rem;margin:0}.history-timeline{position:relative;padding-left:28px;margin-left:12px}.history-timeline:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:linear-gradient(180deg,#0d948866,#0d94881a);border-radius:1px}.history-item{position:relative;margin-bottom:28px;padding-left:20px}.history-item:last-child{margin-bottom:0}.history-marker{position:absolute;left:-40px;top:2px;width:32px;height:32px;background:linear-gradient(135deg,#0f172a,#1e293b);border:2px solid #0d9488;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#14b8a6;font-size:.85rem;box-shadow:0 4px 12px #0d948833;z-index:1}.history-marker.status-change{border-color:#3b82f6;color:#60a5fa;box-shadow:0 4px 12px #3b82f633}.history-marker.flag-change{border-color:#f59e0b;color:#fbbf24;box-shadow:0 4px 12px #f59e0b33}.history-marker.class-change{border-color:#8b5cf6;color:#a78bfa;box-shadow:0 4px 12px #8b5cf633}.history-marker.initial-registration{border-color:#0d9488;color:#14b8a6;box-shadow:0 4px 12px #0d948840}.history-content{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:16px 20px;transition:all .2s ease}.history-content:hover{background:#ffffff08;border-color:#ffffff0f}.history-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.history-event-name{font-weight:600;font-size:.95rem;color:#e2e8f0;display:flex;align-items:center;gap:8px}.history-event-date{font-size:.8rem;color:#64748b;font-weight:500}.history-change{display:flex;align-items:center;gap:12px;background:#0003;padding:10px 14px;border-radius:8px;margin-top:8px}.history-old-value{color:#ef4444;text-decoration:line-through;font-size:.9rem;opacity:.8}.history-arrow{color:#64748b;display:flex;align-items:center}.history-new-value{color:#14b8a6;font-weight:600;font-size:.9rem}.history-comments{color:#94a3b8;font-size:.9rem;margin-top:6px;line-height:1.5}.history-loading{padding:40px;text-align:center;color:#64748b;font-style:italic}@media(max-width:600px){.history-container{padding:20px 16px}.history-timeline{padding-left:20px;margin-left:8px}.history-marker{left:-32px;width:26px;height:26px;font-size:.75rem}.history-content-header{flex-direction:column;align-items:flex-start;gap:4px}.history-change{flex-wrap:wrap}}.ui-settings{display:flex;gap:24px;height:calc(100vh - 150px);padding:4px}.ui-settings-sidebar{flex:0 0 280px;background:linear-gradient(180deg,#0f172afa,#1e293bf2);border-radius:20px;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000040}.ui-settings-sidebar-header{padding:24px 20px;background:linear-gradient(135deg,#0d94881a,#0f172acc);border-bottom:1px solid rgba(255,255,255,.06)}.ui-settings-sidebar-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:10px}.ui-settings-sidebar-header h3 svg{color:#0d9488}.ui-settings-sidebar-header p{margin:6px 0 0;font-size:.8rem;color:#64748b}.ui-settings-nav{padding:16px;flex:1;overflow-y:auto}.ui-settings-nav-item{display:flex;align-items:center;width:100%;padding:14px 16px;background:transparent;color:#94a3b8;border:none;border-radius:12px;cursor:pointer;margin-bottom:6px;text-align:left;font-weight:500;font-size:.9rem;transition:all .2s ease}.ui-settings-nav-item:hover{background:#ffffff0a;color:#e2e8f0}.ui-settings-nav-item.active{background:#0d948826;color:#0d9488;font-weight:600;border:1px solid rgba(13,148,136,.25)}.ui-settings-nav-item svg{margin-right:12px;opacity:.7;flex-shrink:0}.ui-settings-nav-item.active svg{opacity:1;color:#0d9488}.ui-settings-sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.04);text-align:center}.ui-settings-sidebar-footer small{color:#475569;font-size:.75rem}.ui-settings-content{flex:1;background:#0003;border-radius:20px;border:1px solid rgba(255,255,255,.04);overflow-y:auto;display:flex;flex-direction:column}.ui-settings-content-header{padding:24px 28px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;background:#0000001a;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ui-settings-content-header h2{margin:0;font-size:1.35rem;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:12px}.ui-settings-content-header h2 svg{color:#64748b}.ui-settings-reset-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#94a3b8;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ui-settings-reset-btn:hover{background:#ffffff14;color:#e2e8f0}.ui-settings-body{padding:28px;flex:1}.ui-settings-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px}.ui-settings-section-title:before{content:"";width:4px;height:16px;background:#0d9488;border-radius:2px}.ui-settings-body h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:32px 0 20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px}.ui-settings-body h3:first-child{margin-top:0}.ui-settings-body h3:before{content:"";width:4px;height:16px;background:#0d9488;border-radius:2px}.ui-settings .card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:32px}.ui-settings .setting-card{background:#ffffff05;padding:20px;border-radius:14px;border:1px solid rgba(255,255,255,.04);transition:all .2s ease}.ui-settings .setting-card:hover{background:#ffffff08;border-color:#ffffff14}.ui-settings .setting-card strong{display:block;margin-bottom:12px;font-size:.9rem;font-weight:600;color:#e2e8f0}.ui-settings .setting-card label{display:block;margin-bottom:6px;font-weight:500;font-size:.8rem;color:#94a3b8}.ui-settings .setting-card .label-secondary{font-size:.7rem;color:#64748b;margin-bottom:8px}.ui-settings .setting-card input[type=text],.ui-settings .setting-card input[type=number],.ui-settings .setting-card select{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 14px;font-size:.85rem;background:#0000004d;color:#e2e8f0;transition:all .2s ease}.ui-settings .setting-card input[type=text]:focus,.ui-settings .setting-card input[type=number]:focus,.ui-settings .setting-card select:focus{outline:none;border-color:#0d948866;box-shadow:0 0 0 3px #0d94881a}.ui-settings .setting-card input[type=color]{border:none;width:44px;height:44px;cursor:pointer;background:none;border-radius:10px;padding:0}.ui-settings .setting-card input[type=color]::-webkit-color-swatch-wrapper{padding:4px}.ui-settings .setting-card input[type=color]::-webkit-color-swatch{border-radius:8px;border:2px solid rgba(255,255,255,.1)}.ui-settings .setting-card input[type=range]{width:100%;height:6px;background:#ffffff1a;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:8px}.ui-settings .setting-card input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#0d9488;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.1);box-shadow:0 2px 8px #0d94884d}.ui-settings .setting-card input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#0d9488;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.1)}.ui-settings .color-input-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}.ui-settings .color-input-row input[type=text]{flex:1}.ui-settings .setting-card>div[style*="display: flex"] input[type=text]{flex:1}.ui-settings .icon-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important;gap:20px}.ui-settings .icon-grid .setting-card,.ui-settings .icon-grid .icon-card{background:#ffffff05;padding:20px;border-radius:16px;border:1px solid rgba(255,255,255,.05)}.ui-settings .icon-grid .setting-card:hover,.ui-settings .icon-grid .icon-card:hover{background:#ffffff08;border-color:#ffffff14}.ui-settings .icon-card-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.ui-settings .icon-card-header strong{font-size:.95rem;font-weight:600;color:#e2e8f0}.ui-settings .icon-card-header .icon-key{font-size:.7rem;color:#64748b;margin-top:4px}.ui-settings .variant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:10px;margin-bottom:16px}.ui-settings .variant-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:all .2s ease;color:#94a3b8}.ui-settings .variant-btn:hover{background:#ffffff0d;border-color:#ffffff1f;color:#e2e8f0}.ui-settings .variant-btn.active{background:#0d94881f;border:2px solid rgba(13,148,136,.5);color:#0d9488}.ui-settings .variant-btn svg{margin-bottom:6px}.ui-settings .variant-btn span{font-size:.65rem;font-weight:500;text-align:center;line-height:1.2}.ui-settings .custom-icon-section{margin-top:16px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.08)}.ui-settings .custom-icon-section label{font-size:.75rem;color:#64748b;display:block;margin-bottom:8px}.ui-settings .custom-icon-row{display:flex;gap:10px;align-items:center}.ui-settings .custom-icon-row input[type=text]{flex:1;padding:10px 14px;font-size:.85rem;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#e2e8f0}.ui-settings .custom-icon-row input[type=text]:focus{outline:none;border-color:#0d948866;box-shadow:0 0 0 3px #0d94881a}.ui-settings .custom-icon-row input[type=text].has-value{border:2px solid rgba(13,148,136,.4)}.ui-settings .custom-icon-preview{width:40px;height:40px;background:#0000004d;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08);color:#0d9488}.ui-settings .custom-icon-hint{font-size:.7rem;color:#475569;margin-top:8px}.ui-settings .custom-icon-hint code{background:#ffffff0d;padding:2px 6px;border-radius:4px;font-size:.65rem}.ui-settings .mode-toggle-btn{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#0d94881a;border:1px solid rgba(13,148,136,.2);border-radius:12px;color:#0d9488;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ui-settings .mode-toggle-btn:hover{background:#0d948826;border-color:#0d94884d}.ui-settings .preview-box{padding:16px;border-radius:10px;margin-top:12px;font-size:.85rem;font-weight:500;text-align:center;border:1px solid rgba(255,255,255,.06)}.ui-settings .fade-in{animation:uiSettingsFadeIn .3s ease}@keyframes uiSettingsFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ui-settings-content::-webkit-scrollbar,.ui-settings-nav::-webkit-scrollbar{width:6px}.ui-settings-content::-webkit-scrollbar-track,.ui-settings-nav::-webkit-scrollbar-track{background:#ffffff05}.ui-settings-content::-webkit-scrollbar-thumb,.ui-settings-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.ui-settings-content::-webkit-scrollbar-thumb:hover,.ui-settings-nav::-webkit-scrollbar-thumb:hover{background:#ffffff26}@media(max-width:900px){.ui-settings{flex-direction:column;height:auto}.ui-settings-sidebar{flex:none;width:100%}.ui-settings-nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.ui-settings-nav-item{flex:0 0 auto;margin-bottom:0}.ui-settings .card-grid{grid-template-columns:1fr}}.ui-settings .setting-card>div{margin-bottom:12px}.ui-settings .setting-card>div:last-child{margin-bottom:0}.ui-settings .setting-card div[style*="display: flex"]{display:flex!important;gap:10px;align-items:center}.ui-settings .setting-card div[style*="display: flex"] input[type=text]{flex:1;min-width:0}.ui-settings .setting-card .grid{display:grid;gap:12px}.ui-settings .setting-card .grid[style*=gridTemplateColumns]{grid-template-columns:1fr 1fr!important}.ui-settings .btn-preview{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;font-size:.85rem;font-weight:600;margin-top:12px;transition:all .2s ease}.ui-settings .btn-preview-primary{background:var(--primary, #3b82f6);color:#fff}.ui-settings .btn-preview-secondary{background:var(--secondary, #64748b);color:#fff}.ui-settings .btn-preview-tertiary{background:transparent;border:1px solid var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.ui-settings .badge-preview{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;margin-top:10px}.ui-settings .setting-card strong[style*="textTransform: capitalize"],.ui-settings .setting-card strong[style*="text-transform: capitalize"]{text-transform:capitalize!important}.ui-settings .setting-card div[style*="borderTop: 1px dashed"],.ui-settings .setting-card div[style*="border-top: 1px dashed"]{border-top-color:#ffffff14!important}.ui-settings .setting-card div[style*="borderBottom: 1px solid"],.ui-settings .setting-card div[style*="border-bottom: 1px solid"]{border-bottom-color:#ffffff0f!important}.ui-settings .setting-card input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.ui-settings .setting-card input[type=number]::-webkit-outer-spin-button,.ui-settings .setting-card input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-settings .setting-card input[type=number][style*="width: 60px"]{width:70px!important;text-align:center}.ui-settings code{background:#ffffff0d;padding:2px 6px;border-radius:4px;font-size:.8em;font-family:SF Mono,Monaco,Consolas,monospace;color:#0d9488}.ui-settings .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.ui-settings .btn-secondary{background:#ffffff0f;color:#94a3b8;border:1px solid rgba(255,255,255,.1)}.ui-settings .btn-secondary:hover{background:#ffffff1a;color:#e2e8f0}.ui-settings .btn-primary{background:#0d948833;color:#0d9488;border:1px solid rgba(13,148,136,.3)}.ui-settings .btn-primary:hover{background:#0d94884d}.ui-settings .flex-end{display:flex;justify-content:flex-end;margin-bottom:20px}.ui-settings .flex-between{display:flex;justify-content:space-between;align-items:center}.ui-settings .flex-gap{display:flex;gap:10px;align-items:center}.ui-settings .flex-col{display:flex;flex-direction:column;gap:10px}.ui-settings .mt-0{margin-top:0!important}.ui-settings .mt-10{margin-top:10px!important}.ui-settings .mt-15{margin-top:15px!important}.ui-settings .mt-30{margin-top:30px!important}.ui-settings .mb-10{margin-bottom:10px!important}.ui-settings .mb-15{margin-bottom:15px!important}.ui-settings .setting-card div[style*="marginBottom: 10px"],.ui-settings .setting-card div[style*="margin-bottom: 10px"]{margin-bottom:12px!important}.ui-settings .setting-card div[style*="marginTop: 10px"],.ui-settings .setting-card div[style*="margin-top: 10px"]{margin-top:12px!important}.ui-settings .setting-card div[style*="marginTop: 15px"],.ui-settings .setting-card div[style*="margin-top: 15px"]{margin-top:16px!important}.ui-settings .setting-card label[style*="fontSize: 0.75rem"],.ui-settings .setting-card label[style*="font-size: 0.75rem"],.ui-settings .setting-card label[style*="fontSize: 0.8rem"],.ui-settings .setting-card label[style*="font-size: 0.8rem"],.ui-settings .setting-card div[style*="fontSize: 0.75rem"],.ui-settings .setting-card div[style*="font-size: 0.75rem"]{color:#64748b!important}.ui-settings .setting-card div[style*="fontSize: 0.7rem"],.ui-settings .setting-card div[style*="font-size: 0.7rem"]{color:#475569!important}.ui-settings .color-swatch-container{display:flex;gap:10px;align-items:center;margin-bottom:10px}.ui-settings .color-swatch-container input[type=color]{flex-shrink:0}.ui-settings .color-swatch-container input[type=text]{flex:1}.ui-settings .setting-card select option{background:#1e293b;color:#e2e8f0;padding:8px}.ui-settings .setting-card input:disabled,.ui-settings .setting-card select:disabled{opacity:.5;cursor:not-allowed}.ui-settings button:focus-visible,.ui-settings input:focus-visible,.ui-settings select:focus-visible{outline:2px solid rgba(13,148,136,.5);outline-offset:2px}.ui-settings input::placeholder{color:#475569;opacity:1}.ui-settings .glass-tabs-preview{padding:16px;background:#1e293be6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.06);margin-top:16px}.ui-settings .nav-mode-btn-preview{display:inline-flex;padding:8px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#94a3b8;font-size:.8rem;margin-right:8px;margin-top:12px}.ui-settings .nav-mode-btn-preview.active{background:#0d948826;border-color:#0d948840;color:#0d9488}.ui-settings .help-text{font-size:.7rem;color:#475569;margin-top:6px;line-height:1.4}.ui-settings .info-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#3b82f61a;color:#60a5fa;border-radius:4px;font-size:.7rem;font-weight:500}.ui-settings .loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#64748b}.ui-settings .loading-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:#0d9488;border-radius:50%;animation:spin .8s linear infinite}.vessel-company-assignments{background:var(--surface-elevated, rgba(255, 255, 255, .05));border-radius:12px;padding:24px;margin-top:16px}.vessel-company-assignments .section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.vessel-company-assignments .section-header h3{font-size:1.1rem;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.vessel-company-assignments .section-subtitle{font-size:.85rem;color:var(--text-secondary);margin:0}.btn-outline{background:transparent;border:1px solid var(--border-color, rgba(255, 255, 255, .2));color:var(--text-secondary)}.btn-outline:hover{background:var(--surface-hover, rgba(255, 255, 255, .05));color:var(--text-primary)}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.assignment-field{display:flex;flex-direction:column;gap:6px}.assignment-field label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.assignment-field .form-control{padding:10px 12px;font-size:.9rem;border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:6px;background:var(--input-bg, rgba(0, 0, 0, .2));color:var(--text-primary);cursor:pointer}.assignment-field .form-control:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.assignment-field .field-hint{font-size:.75rem;color:var(--text-muted, rgba(255, 255, 255, .5))}.change-metadata{margin-top:24px;padding-top:20px;border-top:1px dashed var(--border-color, rgba(255, 255, 255, .15))}.metadata-row{display:flex;gap:20px;align-items:flex-start}.metadata-row .assignment-field{flex:1}.assignments-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));display:flex;justify-content:flex-end;gap:12px}.vessel-companies-loading{padding:40px;text-align:center;color:var(--text-secondary)}.company-history h4{font-size:1rem;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.no-history{color:var(--text-secondary);font-style:italic}.history-table{width:100%;border-collapse:collapse;font-size:.85rem}.history-table th,.history-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.history-table th{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;background:var(--surface-hover, rgba(255, 255, 255, .03))}.history-table td{color:var(--text-primary)}.history-table .current-row{background:#3b82f61a}.history-table .current-row td{font-weight:500}.history-table .badge{font-size:.7rem;padding:2px 6px}@media(max-width:768px){.metadata-row{flex-direction:column}.vessel-company-assignments .section-header{flex-direction:column;gap:12px}}.voyage-timeline{background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:16px 20px 14px;margin-bottom:16px}.voyage-timeline.compact{padding:12px 16px 10px}.voyage-timeline .timeline-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:.82rem;font-weight:600;color:#94a3b8}.voyage-timeline .timeline-header svg{color:#0d9488;opacity:.8}.voyage-timeline .timeline-date-range{margin-left:auto;font-weight:500;font-size:.75rem;color:#64748b;letter-spacing:.01em}.voyage-timeline .timeline-total-days{font-size:.72rem;font-weight:600;color:#94a3b8;background:#ffffff0d;padding:2px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.06)}.voyage-timeline.compact .timeline-header{margin-bottom:10px;font-size:.78rem}.voyage-timeline .timeline-port-markers{display:flex;margin-bottom:6px;padding:0 1px}.voyage-timeline .port-marker{text-align:center;overflow:hidden}.voyage-timeline .port-marker .marker-label{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 3px;letter-spacing:.01em}.voyage-timeline .port-marker .marker-dot{flex-shrink:0;line-height:1}.voyage-timeline .port-marker .marker-dot.port-dot{color:#14b8a6;font-size:.55rem}.voyage-timeline .port-marker .marker-dot.sea-dot{color:#6366f1;opacity:.6;font-size:.65rem}.voyage-timeline .port-marker .marker-label.sea-marker{color:#64748b;font-weight:500;font-size:.68rem}.voyage-timeline.compact .port-marker .marker-label{font-size:.65rem}.voyage-timeline .timeline-track{display:flex;height:38px;border-radius:8px;overflow:visible;background:#00000059;box-shadow:inset 0 2px 4px #00000040,0 1px #ffffff08;position:relative}.voyage-timeline.compact .timeline-track{height:30px}.voyage-timeline .timeline-segment{position:relative;display:flex;align-items:center;justify-content:center;min-width:36px;transition:all .2s ease;border-right:1px solid rgba(0,0,0,.4);cursor:default}.voyage-timeline .timeline-segment:first-child{border-radius:8px 0 0 8px}.voyage-timeline .timeline-segment:last-child{border-right:none;border-radius:0 8px 8px 0}.voyage-timeline .timeline-segment:first-child:last-child{border-radius:8px}.voyage-timeline .timeline-segment .segment-fill{position:absolute;left:0;top:0;bottom:0;opacity:1;transition:width .5s ease;border-radius:inherit}.voyage-timeline .timeline-segment .segment-inner-label{position:relative;z-index:1;font-size:.68rem;font-weight:700;color:#ffffffeb;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.voyage-timeline.compact .timeline-segment .segment-inner-label{font-size:.62rem;padding:0 6px}.voyage-timeline .timeline-segment.sea{background:linear-gradient(180deg,#3b82f666,#3b82f640)}.voyage-timeline .timeline-segment.sea .segment-fill{background:linear-gradient(180deg,#3b82f6cc,#2563eba6)}.voyage-timeline .timeline-segment.sea.ballast{background:linear-gradient(180deg,#38bdf866,#38bdf840)}.voyage-timeline .timeline-segment.sea.ballast .segment-fill{background:linear-gradient(180deg,#38bdf8cc,#0ea5e9a6)}.voyage-timeline .timeline-segment.sea.laden{background:linear-gradient(180deg,#6366f166,#6366f140)}.voyage-timeline .timeline-segment.sea.laden .segment-fill{background:linear-gradient(180deg,#6366f1e6,#4f46e5bf)}.voyage-timeline .timeline-segment.sea.active{animation:pulse-sea 2.5s ease-in-out infinite}@keyframes pulse-sea{0%,to{box-shadow:inset 0 0 #3b82f600}50%{box-shadow:inset 0 0 12px #3b82f64d}}.voyage-timeline .timeline-segment.port{background:linear-gradient(180deg,#0d948866,#0d948840)}.voyage-timeline .timeline-segment.port .segment-fill{background:linear-gradient(180deg,#0d9488cc,#059669a6)}.voyage-timeline .timeline-segment.port.active{animation:pulse-port 2.5s ease-in-out infinite}@keyframes pulse-port{0%,to{box-shadow:inset 0 0 #0d948800}50%{box-shadow:inset 0 0 12px #0d94884d}}.voyage-timeline .timeline-segment.port.load{background:linear-gradient(180deg,#8b5cf666,#8b5cf640)}.voyage-timeline .timeline-segment.port.load .segment-fill{background:linear-gradient(180deg,#8b5cf6d9,#7c3aedb3)}.voyage-timeline .timeline-segment.port.discharge{background:linear-gradient(180deg,#d9770666,#d9770640)}.voyage-timeline .timeline-segment.port.discharge .segment-fill{background:linear-gradient(180deg,#d97706d9,#b45309b3)}.voyage-timeline .timeline-segment.port.bunker,.voyage-timeline .timeline-segment.port.bunkering{background:linear-gradient(180deg,#ec489966,#ec489940)}.voyage-timeline .timeline-segment.port.bunker .segment-fill,.voyage-timeline .timeline-segment.port.bunkering .segment-fill{background:linear-gradient(180deg,#ec4899d9,#db2777b3)}.voyage-timeline .timeline-segment.port.waiting{background:linear-gradient(180deg,#64748b66,#64748b40)}.voyage-timeline .timeline-segment.port.waiting .segment-fill{background:linear-gradient(180deg,#64748bbf,#47556999)}.voyage-timeline .timeline-segment.voyage{background:linear-gradient(135deg,#3b82f64d,#0d94884d)}.voyage-timeline .timeline-segment.voyage .segment-fill{background:linear-gradient(90deg,#3b82f6cc,#0d9488cc)}.voyage-timeline .timeline-segment.completed{opacity:.9}.voyage-timeline .timeline-segment.completed .segment-inner-label{color:#fffc}.voyage-timeline .timeline-segment:hover{filter:brightness(1.15);z-index:10}.voyage-timeline .timeline-segment:hover .segment-inner-label{color:#fff}.voyage-timeline .segment-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:#1e293b;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px 16px;min-width:210px;max-width:300px;box-shadow:0 10px 30px #0006,0 4px 10px #00000040;z-index:100;pointer-events:none;animation:tooltipFadeIn .15s ease}.voyage-timeline .segment-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#1e293b}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.voyage-timeline .tooltip-title{font-size:.82rem;font-weight:700;color:#e2e8f0;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voyage-timeline .tooltip-dates{font-size:.74rem;color:#94a3b8;line-height:1.7;margin-bottom:8px}.voyage-timeline .tooltip-dates .tooltip-label{color:#64748b;font-weight:600;display:inline-block;width:38px}.voyage-timeline .tooltip-duration{font-size:.74rem;color:#94a3b8;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.voyage-timeline .tooltip-duration strong{color:#e2e8f0}.voyage-timeline .tooltip-active-badge{display:inline-block;margin-left:8px;font-size:.62rem;font-weight:700;color:#34d399;background:#34d3991f;border:1px solid rgba(52,211,153,.2);padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.voyage-timeline .timeline-dates{display:flex;margin-top:6px;padding:0 1px}.voyage-timeline .timeline-dates .date-label{text-align:center;font-size:.68rem;color:#64748b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voyage-timeline.compact .timeline-dates .date-label{font-size:.62rem}.voyage-timeline .timeline-loading,.voyage-timeline .timeline-empty{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;color:#64748b;font-size:.85rem}.voyage-timeline .timeline-loading svg{color:#0d9488}.voyage-timeline .timeline-loading .spin{animation:spin 1s linear infinite}@media(max-width:768px){.voyage-timeline .timeline-segment .segment-inner-label{font-size:.58rem;letter-spacing:0;padding:0 4px}.voyage-timeline .timeline-track{height:30px}.voyage-timeline .timeline-segment{min-width:28px}.voyage-timeline .port-marker .marker-label{font-size:.6rem}.voyage-timeline .segment-tooltip{min-width:170px}}.collapsible-section{border:1px solid rgba(255,255,255,.06);border-radius:20px;overflow:hidden;background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .3s ease,border-color .3s ease}.collapsible-section:hover{border-color:#ffffff1a;box-shadow:0 10px 30px #0003}.collapsible-section.dashboard-card,.collapsible-section.overview-card{padding:0}.collapsible-section.dashboard-card--full-width{grid-column:1 / -1}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.collapsible-section.open .collapsible-header{border-bottom:1px solid rgba(255,255,255,.06)}.collapsible-header:hover{background:#ffffff05}.collapsible-header:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.collapsible-header-left{display:flex;align-items:center;gap:12px;min-width:0}.collapsible-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0;color:#fff;font-size:18px}.collapsible-icon svg{color:#fff}.collapsible-title-group{min-width:0}.collapsible-title-group h3{margin:0;font-size:1.1rem;font-weight:700;color:#e2e8f0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsible-title-group p{margin:4px 0 0;font-size:.8rem;color:#64748b;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsible-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.collapsible-extra{display:flex;align-items:center;gap:6px}.collapsible-chevron{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:#64748b;transition:transform .25s cubic-bezier(.4,0,.2,1),color .15s ease}.collapsible-chevron.rotated{transform:rotate(180deg)}.collapsible-header:hover .collapsible-chevron{color:#e2e8f0}.collapsible-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.collapsible-body.collapsed{grid-template-rows:0fr}.collapsible-body-inner{overflow:hidden;min-height:0}.collapsible-content-pad{padding:16px 24px}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.vessel-dashboard{padding:0;min-height:100%;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);animation:fadeIn .5s ease-out}.vessel-hero{position:relative;padding:40px 32px;margin-bottom:32px;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:0 0 32px 32px;overflow:hidden;border-bottom:1px solid rgba(59,130,246,.2)}.vessel-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%233b82f6' fill-opacity='0.03' d='M0 50 Q25 30 50 50 T100 50 V100 H0Z'/%3E%3C/svg%3E") repeat-x;background-size:200px 100%;animation:waves 20s linear infinite}@keyframes waves{0%{background-position-x:0}to{background-position-x:200px}}.vessel-hero-bg-icon{position:absolute;top:-30px;right:-30px;opacity:.05;transform:rotate(-15deg)}.vessel-hero-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.vessel-hero-left{flex:1}.vessel-hero-badges{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.vessel-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.vessel-badge.badge-status{background:linear-gradient(135deg,#22c55e33,#22c55e1a);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.vessel-badge.badge-type{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.vessel-badge.badge-flag{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.vessel-hero-name{font-size:2.5rem;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.vessel-hero-subtitle{display:flex;align-items:center;gap:20px;color:#94a3b8;font-size:.95rem}.vessel-hero-subtitle span{display:flex;align-items:center;gap:6px}.vessel-hero-subtitle svg{opacity:.7}.vessel-hero-right{text-align:right}.vessel-time-display{font-size:3rem;font-weight:800;color:#fff;line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums}.vessel-time-display span{font-size:1rem;font-weight:400;color:#64748b;margin-left:8px}.vessel-voyage-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:8px;margin-top:12px}.vessel-voyage-tag .label{font-size:.8rem;color:#64748b;font-weight:500}.vessel-voyage-tag .value{font-size:1rem;color:#60a5fa;font-weight:700;font-family:JetBrains Mono,monospace}.vessel-dashboard-content{padding:0 32px 32px}.vessel-quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@media(max-width:1200px){.vessel-quick-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.vessel-quick-stats{grid-template-columns:1fr}}.quick-stat-card{background:#1e293bcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease;position:relative;overflow:hidden}.quick-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--stat-color, #3b82f6),transparent);opacity:0;transition:opacity .3s}.quick-stat-card:hover{transform:translateY(-4px);border-color:#ffffff1f;box-shadow:0 20px 40px #0000004d}.quick-stat-card:hover:before{opacity:1}.quick-stat-card.stat-position{--stat-color: #3b82f6}.quick-stat-card.stat-speed{--stat-color: #10b981}.quick-stat-card.stat-course{--stat-color: #8b5cf6}.quick-stat-card.stat-eta{--stat-color: #f59e0b}.quick-stat-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--stat-color, #3b82f6),color-mix(in srgb,var(--stat-color, #3b82f6) 60%,black));box-shadow:0 8px 16px rgba(var(--stat-color-rgb, 59 130 246),.25);flex-shrink:0}.quick-stat-icon svg{color:#fff}.quick-stat-info{flex:1;min-width:0}.quick-stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.quick-stat-value{font-size:1.4rem;font-weight:800;color:#e2e8f0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-stat-sub{font-size:.8rem;color:#94a3b8;margin-top:2px}.vessel-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media(max-width:1000px){.vessel-main-grid{grid-template-columns:1fr}}.dashboard-card{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:24px;transition:all .3s ease}.dashboard-card:hover{border-color:#ffffff1a;box-shadow:0 10px 30px #0003}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.card-header-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-header-icon.icon-fuel{background:linear-gradient(135deg,#f59e0b,#d97706)}.card-header-icon.icon-ops{background:linear-gradient(135deg,#10b981,#059669)}.card-header-icon.icon-finance{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.card-header-icon.icon-laytime{background:linear-gradient(135deg,#ef4444,#dc2626)}.card-header-icon svg{color:#fff}.card-header-text h3{margin:0;font-size:1.1rem;font-weight:700;color:#e2e8f0}.card-header-text p{margin:4px 0 0;font-size:.8rem;color:#64748b}.fuel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.fuel-item{background:#0f172a80;border-radius:12px;padding:16px}.fuel-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.fuel-item-label{font-size:.85rem;font-weight:600;color:#94a3b8}.fuel-item-badge{font-size:.65rem;padding:2px 6px;border-radius:4px;background:#f59e0b26;color:#f59e0b;font-weight:600}.fuel-item-value{font-size:1.5rem;font-weight:800;color:#e2e8f0;margin-bottom:8px}.fuel-item-value span{font-size:.9rem;font-weight:500;color:#64748b;margin-left:4px}.fuel-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.fuel-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.fuel-bar-fill.level-high{background:linear-gradient(90deg,#22c55e,#16a34a)}.fuel-bar-fill.level-medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.fuel-bar-fill.level-low{background:linear-gradient(90deg,#ef4444,#dc2626)}.fuel-summary{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:10px}.fuel-summary-icon{color:#f59e0b}.fuel-summary-text{font-size:.85rem;color:#94a3b8}.fuel-summary-text strong{color:#f59e0b}.ops-metrics{display:flex;flex-direction:column;gap:12px}.ops-metric-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#0f172a66;border-radius:8px}.ops-metric-row .label{font-size:.85rem;color:#94a3b8}.ops-metric-row .value{font-size:1rem;font-weight:700;color:#e2e8f0}.ops-metric-row .value.success{color:#22c55e}.ops-metric-row .value.warning{color:#f59e0b}.ops-metric-row .value.danger{color:#ef4444}.finance-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.finance-metric{text-align:center;padding:16px;background:#0f172a80;border-radius:12px}.finance-metric-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:8px}.finance-metric-value{font-size:1.8rem;font-weight:800;color:#e2e8f0;line-height:1}.finance-metric-value.positive{color:#22c55e}.finance-metric-value span{font-size:.9rem;font-weight:500;color:#64748b}.finance-highlight{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px dashed rgba(96,165,250,.3);border-radius:12px}.finance-highlight-label{font-size:.9rem;font-weight:600;color:#60a5fa}.finance-highlight-value{padding:6px 14px;background:#ffffff1a;border-radius:8px;font-size:.95rem;font-weight:800;color:#60a5fa}.laytime-progress{margin-bottom:20px}.laytime-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.laytime-progress-label{font-size:.85rem;color:#94a3b8;font-weight:500}.laytime-progress-value{font-size:1rem;font-weight:700;color:#e2e8f0}.laytime-bar{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden}.laytime-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:6px;transition:width .5s ease}.laytime-result{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:10px;margin-top:12px}.laytime-result .label{font-size:.9rem;color:#94a3b8}.laytime-result .value{font-size:1.2rem;font-weight:800;color:#22c55e}.laytime-result.demurrage{background:#ef444414;border-color:#ef444433}.laytime-result.demurrage .value{color:#ef4444}.section-divider{display:flex;align-items:center;gap:16px;margin:32px 0 24px}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.section-divider h2{margin:0;font-size:1rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:1px}.card-header-icon.icon-position{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.position-map-card{margin-bottom:28px}.position-coords-badge{margin-left:auto;display:flex;align-items:center;gap:6px;padding:6px 14px;background:#0ea5e91f;border:1px solid rgba(14,165,233,.25);border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;color:#7dd3fc;letter-spacing:.5px}.position-coords-badge .coord-sep{color:#7dd3fc4d;font-weight:300}.position-map-container{position:relative;height:320px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.position-map-container .leaflet-container{background:#0f172a}.position-map-container .leaflet-popup-content-wrapper{background:#0f172af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#e2e8f0;box-shadow:0 8px 32px #00000080}.position-map-container .leaflet-popup-tip{background:#0f172af2;border:1px solid rgba(255,255,255,.1)}.position-map-container .leaflet-popup-close-button{color:#64748b}.vessel-map-marker{position:relative}.vessel-marker-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:22px;z-index:2;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.vessel-marker-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#0ea5e940;border:2px solid rgba(14,165,233,.5);animation:markerPulse 2s ease-out infinite;z-index:1}@keyframes markerPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}.map-overlay-info{position:absolute;bottom:12px;left:12px;z-index:1000;background:#0f172ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;min-width:120px}.map-overlay-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.map-overlay-label{font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.map-overlay-value{font-size:.8rem;font-weight:700;color:#e2e8f0;font-family:JetBrains Mono,monospace}.bunker-warning{margin-top:16px;padding:14px 16px;border-radius:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);animation:bunkerWarningFadeIn .4s ease}.bunker-warning.critical{background:#ef444414;border-color:#ef44444d}.bunker-warning-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.bunker-warning-icon{font-size:1rem;animation:bunkerPulse 2s ease-in-out infinite}@keyframes bunkerPulse{0%,to{opacity:1}50%{opacity:.5}}.bunker-warning-title{font-size:.85rem;font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:.5px}.bunker-warning.critical .bunker-warning-title{color:#ef4444}.bunker-warning-details{display:flex;flex-direction:column;gap:6px}.bunker-warning-fuel{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#00000026;border-radius:8px}.bunker-fuel-type{font-size:.75rem;font-weight:700;color:#f59e0b;min-width:52px;font-family:JetBrains Mono,monospace}.bunker-warning.critical .bunker-fuel-type{color:#ef4444}.bunker-fuel-stat{flex:1;font-size:.8rem;color:#94a3b8}.bunker-fuel-deficit{font-size:.85rem;font-weight:800;color:#ef4444;font-family:JetBrains Mono,monospace;white-space:nowrap}.bunker-warning-source{margin-top:8px;font-size:.7rem;color:#475569;font-style:italic}.pms-compliance-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-left:3px solid transparent;margin-bottom:12px}.pms-compliance-badge.compliant{background:#22c55e1a;color:#4ade80;border-left-color:#22c55e}.pms-compliance-badge.warning{background:#f59e0b1a;color:#fbbf24;border-left-color:#f59e0b}.pms-compliance-badge.critical{background:#ef44441a;color:#f87171;border-left-color:#ef4444}.pms-compliance-badge svg{flex-shrink:0}.fleet-dashboard{padding:24px 28px;min-height:100%;background:linear-gradient(180deg,#060a14,#0c1220 40%,#0a0e1a)}.fd-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;height:400px;color:#475569;font-size:.9rem}.fd-loading-ring{width:40px;height:40px;border:3px solid rgba(13,148,136,.15);border-top-color:#0d9488;border-radius:50%;animation:fd-spin .8s linear infinite}@keyframes fd-spin{to{transform:rotate(360deg)}}.fd-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 26px;background:linear-gradient(135deg,#0d94880f,#0f172a80,#3b82f60a);border-radius:16px;border:1px solid rgba(255,255,255,.05);box-shadow:0 2px 20px #00000040;position:relative;overflow:hidden}.fd-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(13,148,136,.3),rgba(59,130,246,.2),transparent)}.fd-header-left{display:flex;align-items:center;gap:16px}.fd-header-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0d948826,#0d94880d);border:1px solid rgba(13,148,136,.2);display:flex;align-items:center;justify-content:center;color:#14b8a6}.fd-header h1{margin:0;font-size:1.35rem;font-weight:700;color:#e2e8f0;letter-spacing:-.01em}.fd-header p{margin:2px 0 0;font-size:.8rem;color:#475569}.fd-refresh-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.fd-refresh-btn:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0;transform:translateY(-1px)}.fd-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:1200px){.fd-kpi-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.fd-kpi-strip{grid-template-columns:1fr}}.fd-kpi{position:relative;background:#0000004d;border-radius:14px;padding:20px 22px;border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;gap:16px;overflow:hidden;transition:all .3s ease}.fd-kpi:hover{transform:translateY(-2px);border-color:#ffffff14;box-shadow:0 8px 32px #0000004d}.fd-kpi-glow{position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity .3s ease}.fd-kpi:hover .fd-kpi-glow{opacity:1}.fd-kpi-blue .fd-kpi-glow{background:linear-gradient(90deg,#3b82f6,transparent)}.fd-kpi-blue .fd-kpi-icon{color:#3b82f6;background:#3b82f61a;border-color:#3b82f626}.fd-kpi-violet .fd-kpi-glow{background:linear-gradient(90deg,#8b5cf6,transparent)}.fd-kpi-violet .fd-kpi-icon{color:#8b5cf6;background:#8b5cf61a;border-color:#8b5cf626}.fd-kpi-amber .fd-kpi-glow{background:linear-gradient(90deg,#d97706,transparent)}.fd-kpi-amber .fd-kpi-icon{color:#d97706;background:#d977061a;border-color:#d9770626}.fd-kpi-teal .fd-kpi-glow{background:linear-gradient(90deg,#0d9488,transparent)}.fd-kpi-teal .fd-kpi-icon{color:#0d9488;background:#0d94881a;border-color:#0d948826}.fd-kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid}.fd-kpi-data{display:flex;flex-direction:column;gap:2px;flex:1}.fd-kpi-value{font-size:1.8rem;font-weight:700;color:#e2e8f0;line-height:1;letter-spacing:-.02em}.fd-kpi-label{font-size:.72rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.fd-kpi-sub{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.fd-kpi-tag{font-size:.62rem;padding:3px 8px;border-radius:6px;font-weight:600;white-space:nowrap}.fd-tag-teal{background:#0d948826;color:#14b8a6}.fd-tag-green{background:#22c55e1f;color:#22c55e}.fd-tag-blue{background:#3b82f61f;color:#60a5fa}.fd-tag-red{background:#ef44441f;color:#ef4444}.fd-tag-muted{background:#ffffff0a;color:#64748b}.fd-kpi-amount{font-size:.8rem;font-weight:600;color:#d97706}.fd-content{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}@media(max-width:1100px){.fd-content{grid-template-columns:1fr}}.fd-panel{background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.04);overflow:hidden}.fd-panel-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.04);background:#ffffff03}.fd-panel-title{display:flex;align-items:center;gap:10px}.fd-panel-title svg{color:#475569}.fd-panel-title h2{margin:0;font-size:.95rem;font-weight:600;color:#e2e8f0}.fd-count-badge{font-size:.65rem;padding:3px 8px;border-radius:8px;font-weight:600;background:#3b82f61f;color:#60a5fa}.fd-count-warn{background:#d977061f;color:#d97706}.fd-filters{display:flex;gap:8px}.fd-select{background:#00000059;color:#cbd5e1;border:1px solid rgba(255,255,255,.06);padding:7px 12px;border-radius:8px;font-size:.75rem;cursor:pointer;transition:all .2s;min-width:130px}.fd-select:focus{outline:none;border-color:#0d948866;box-shadow:0 0 0 2px #0d948814}.fd-select option{background:#1e293b;color:#e2e8f0}.fd-voyage-table-wrap{max-height:calc(100vh - 320px);overflow-y:auto;overflow-x:hidden}.fd-voyage-table-wrap::-webkit-scrollbar{width:5px}.fd-voyage-table-wrap::-webkit-scrollbar-track{background:transparent}.fd-voyage-table-wrap::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.fd-voyage-table-wrap::-webkit-scrollbar-thumb:hover{background:#ffffff26}.fd-voyage-table{width:100%;border-collapse:collapse}.fd-voyage-table th{position:sticky;top:0;background:#0a0e1af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 14px;font-size:.68rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);z-index:1}.fd-voyage-table td{padding:12px 14px;font-size:.82rem;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}.fd-vrow{transition:background .15s ease}.fd-vrow:hover{background:#ffffff05}.fd-vrow-click{cursor:pointer}.fd-vrow-click:hover{background:#3b82f60a}.fd-vrow-issue{border-left:2px solid #d97706}.fd-voyage-no{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.78rem;font-weight:600;color:#e2e8f0;letter-spacing:.01em}.fd-vessel-name{font-weight:500;color:#cbd5e1}.fd-status{font-size:.6rem;padding:3px 8px;border-radius:6px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.fd-status-active{background:#0d948826;color:#14b8a6}.fd-status-scheduled{background:#3b82f61f;color:#60a5fa}.fd-status-draft{background:#64748b1f;color:#94a3b8}.fd-status-completed{background:#8b5cf61f;color:#a78bfa}.fd-status-closed{background:#0d94881f;color:#14b8a6}.fd-cargo-tag{font-size:.7rem;background:#3b82f614;color:#60a5fa;padding:2px 7px;border-radius:5px;font-weight:500}.fd-progress-cell{display:flex;align-items:center;gap:8px}.fd-progress-bar{flex:1;height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden;min-width:60px}.fd-progress-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.16,1,.3,1)}.fd-progress-text{font-size:.72rem;font-weight:700;min-width:32px;text-align:right}.fd-grade-badge{font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:4px;min-width:22px;text-align:center}.fd-num{text-align:center;font-size:.8rem;font-weight:500;color:#64748b}.fd-sof-warn{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 6px;border-radius:6px;font-size:.72rem;font-weight:700;background:#d9770626;color:#f59e0b}.fd-text-muted{color:#334155}.fd-attention-panel{max-height:calc(100vh - 250px);display:flex;flex-direction:column}.fd-attention-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.fd-attention-list::-webkit-scrollbar{width:5px}.fd-attention-list::-webkit-scrollbar-track{background:transparent}.fd-attention-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.fd-attn-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#ffffff04;border-radius:10px;border-left:3px solid transparent;transition:all .2s ease}.fd-sev-error{border-left-color:#ef4444;background:#ef444408}.fd-sev-warning{border-left-color:#d97706;background:#d9770608}.fd-sev-info{border-left-color:#3b82f6}.fd-attn-click{cursor:pointer}.fd-attn-click:hover{transform:translate(3px);background:#ffffff0a;box-shadow:0 2px 10px #00000026}.fd-sev-error.fd-attn-click:hover{background:#ef44440f}.fd-sev-warning.fd-attn-click:hover{background:#d977060f}.fd-attn-icon{flex-shrink:0;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center}.fd-sev-error .fd-attn-icon{background:#ef44441a;color:#ef4444}.fd-sev-warning .fd-attn-icon{background:#d977061a;color:#d97706}.fd-sev-info .fd-attn-icon{background:#3b82f61a;color:#60a5fa}.fd-attn-body{flex:1;min-width:0}.fd-attn-desc{font-size:.8rem;color:#cbd5e1;line-height:1.4;font-weight:500;margin-bottom:5px}.fd-attn-meta{display:flex;gap:6px;flex-wrap:wrap}.fd-attn-meta span{font-size:.65rem;color:#475569;background:#ffffff08;padding:2px 6px;border-radius:4px}.fd-attn-type{flex-shrink:0;font-size:.55rem;padding:3px 7px;border-radius:5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#ffffff0d;color:#64748b;align-self:flex-start}.fd-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#334155;gap:12px}.fd-empty p{margin:0;font-size:.85rem;font-weight:500}.fd-empty-success{color:#0d9488}.fd-empty-success svg{color:#0d9488}.fd-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;border-top:1px solid rgba(255,255,255,.04);background:#ffffff03}.fd-page-info{font-size:.72rem;color:#475569;font-weight:500}.fd-page-controls{display:flex;align-items:center;gap:4px}.fd-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#00000040;color:#94a3b8;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.fd-page-btn:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f633;color:#e2e8f0}.fd-page-btn:disabled{opacity:.3;cursor:not-allowed}.fd-page-active{background:#0d948826;border-color:#0d94884d;color:#14b8a6;font-weight:700}.fd-page-ellipsis{color:#334155;font-size:.8rem;padding:0 4px}.fleet-position-list{padding:28px;min-height:100%;background:linear-gradient(180deg,#0a0a12,#0f172a,#0a0a12)}.fleet-position-list .loading-spinner,.fleet-position-list .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;height:400px;color:#64748b}.fleet-position-list .loading-spinner .spin{animation:spin 1s linear infinite;color:#0d9488}.fleet-position-list .error-state{color:#ef4444}.fleet-position-list .btn-retry{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#0d948826;border:1px solid rgba(13,148,136,.3);color:#0d9488;border-radius:10px;cursor:pointer;transition:all .2s ease}.fleet-position-list .btn-retry:hover{background:#0d948840}.position-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding:28px 32px;background:linear-gradient(135deg,#0d948814,#0f172a99,#0d94880d);border-radius:20px;border:1px solid rgba(13,148,136,.15);box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff05;gap:16px}.position-header .header-content{flex-shrink:1;min-width:0;overflow:hidden}.position-header .header-content h1{display:flex;align-items:center;gap:14px;margin:0 0 8px;font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.position-header .header-content h1 svg{color:#0d9488;opacity:.8}.position-header .header-content p{margin:0;color:#64748b;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.position-header .btn-refresh{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#94a3b8;border-radius:12px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;flex-shrink:0;white-space:nowrap}.position-header .btn-refresh:hover{background:#ffffff14;border-color:#ffffff1f;color:#e2e8f0}.filter-bar{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;background:#00000040;border-radius:14px;border:1px solid rgba(255,255,255,.04)}.filter-bar .search-box{display:flex;align-items:center;gap:10px;flex:1;max-width:400px;background:#0006;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:0 14px}.filter-bar .search-box svg{color:#64748b}.filter-bar .search-box input{flex:1;background:transparent;border:none;padding:10px 0;color:#e2e8f0;font-size:.85rem}.filter-bar .search-box input::placeholder{color:#475569}.filter-bar .search-box input:focus{outline:none}.filter-bar .filter-select{background:#0006;color:#e2e8f0;border:1px solid rgba(255,255,255,.06);padding:10px 14px;border-radius:10px;font-size:.85rem;cursor:pointer;min-width:160px;transition:all .2s ease}.filter-bar .filter-select:focus{outline:none;border-color:#0d948866;box-shadow:0 0 0 3px #0d94881a}.filter-bar .filter-select option{background:#1e293b;color:#e2e8f0}.filter-bar .result-count{display:flex;align-items:center;gap:8px;color:#64748b;font-size:.85rem;padding:0 16px;border-left:1px solid rgba(255,255,255,.06)}.position-table-wrapper{background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.04);overflow:hidden}.position-table{width:100%;border-collapse:collapse}.position-table thead{background:#0000004d}.position-table th{padding:14px 16px;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.06)}.position-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.position-table th.sortable:hover{color:#94a3b8}.position-table th.sortable svg{margin-left:6px;vertical-align:middle}.position-table tbody tr{border-bottom:1px solid rgba(255,255,255,.03);transition:all .2s ease}.position-table tbody tr:hover{background:#ffffff05}.position-table tbody tr.clickable{cursor:pointer}.position-table tbody tr.clickable:hover{background:#0d94880d}.position-table td{padding:14px 16px;font-size:.85rem;color:#94a3b8;vertical-align:middle}.vessel-cell .vessel-info{display:flex;flex-direction:column;gap:4px}.vessel-cell .vessel-name{color:#e2e8f0;font-weight:600}.vessel-cell .vessel-imo{font-size:.75rem;color:#64748b;font-family:SF Mono,Monaco,Consolas,monospace}.port-cell .current-port{display:flex;align-items:center;gap:6px;color:#0d9488;font-weight:500}.port-cell .current-port svg{opacity:.7}.position-cell .position-info{display:flex;flex-direction:column;gap:4px}.position-cell .coords{display:flex;align-items:center;gap:6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8rem;color:#94a3b8}.position-cell .coords svg{color:#0d9488;opacity:.8}.position-cell .speed{font-size:.7rem;color:#60a5fa;background:#3b82f61a;padding:2px 6px;border-radius:4px;width:fit-content}.position-cell .no-position{color:#475569}.status-badge{display:inline-block;padding:5px 12px;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.status-enroute{background:#3b82f626;color:#60a5fa}.status-badge.status-inport{background:#0d948826;color:#0d9488}.status-badge.status-active{background:#8b5cf626;color:#a78bfa}.status-badge.status-scheduled{background:#d9770626;color:#d97706}.status-badge.status-available{background:#64748b26;color:#94a3b8}.status-badge.status-default{background:#64748b1a;color:#64748b}.voyage-chip{display:inline-block;padding:4px 10px;background:#8b5cf61a;color:#a78bfa;border-radius:6px;font-size:.8rem;font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.no-voyage,.no-progress{color:#475569}.progress-bar-wrapper{display:flex;align-items:center;gap:12px;min-width:120px}.progress-bar-track{position:relative;height:8px;background:#ffffff0f;border-radius:4px;flex:1;min-width:60px;overflow:hidden}.progress-bar-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#0d9488,#14b8a6);border-radius:4px;transition:width .3s ease}.progress-text{font-size:.75rem;color:#94a3b8;font-weight:600;white-space:nowrap;min-width:36px;text-align:right}.update-cell{font-size:.8rem;color:#64748b;white-space:nowrap;min-width:100px}.empty-row{text-align:center;padding:60px 24px!important;color:#475569}.empty-row svg{display:block;margin:0 auto 12px;opacity:.5}.legend{display:flex;gap:24px;margin-top:20px;padding:16px 20px;background:#00000026;border-radius:12px;border:1px solid rgba(255,255,255,.03)}.legend-item{display:flex;align-items:center;gap:10px;font-size:.8rem;color:#64748b}@media(max-width:1200px){.position-table th:nth-child(7),.position-table td:nth-child(7){display:none}}@media(max-width:900px){.filter-bar{flex-wrap:wrap}.filter-bar .search-box{max-width:100%;order:-1;flex-basis:100%}.position-table th:nth-child(6),.position-table td:nth-child(6){display:none}.legend{flex-wrap:wrap;gap:12px}}.position-header .header-actions{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;flex-shrink:0}.view-toggle{display:flex;background:#0f172a99;border-radius:10px;border:1px solid rgba(100,116,139,.2);overflow:hidden;flex-shrink:0}.view-toggle .toggle-btn{display:flex;align-items:center;justify-content:center;padding:10px 14px;background:transparent;border:none;color:#64748b;cursor:pointer;transition:all .2s ease}.view-toggle .toggle-btn:hover{background:#64748b26;color:#94a3b8}.view-toggle .toggle-btn.active{background:#0d948833;color:#0d9488}.auto-refresh-toggle{flex-shrink:0}.auto-refresh-toggle .refresh-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#0f172a99;border:1px solid rgba(100,116,139,.2);border-radius:10px;color:#64748b;font-size:.85rem;font-weight:600;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s ease;white-space:nowrap}.auto-refresh-toggle .refresh-btn.active{background:#0d948826;border-color:#0d94884d;color:#0d9488}.auto-refresh-toggle .refresh-btn:hover{background:#64748b26}.btn-export{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#3b82f6;border-radius:10px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.btn-export:hover{background:#3b82f640}.delay-alert{display:flex;align-items:center;gap:12px;padding:14px 20px;margin-bottom:20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#fca5a5;font-size:.9rem}.delay-alert svg{color:#ef4444}.delay-alert strong{color:#ef4444}.map-container{margin-bottom:24px;border-radius:16px;overflow:hidden;border:1px solid rgba(100,116,139,.15);box-shadow:0 4px 24px #0000004d}.vessel-marker{background:transparent!important;border:none!important}.vessel-marker-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid;box-shadow:0 2px 8px #0006;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.map-popup{font-family:Inter,sans-serif;min-width:180px}.map-popup h4{margin:0 0 8px;color:#1e293b;font-size:1rem;font-weight:600}.map-popup p{margin:4px 0;color:#475569;font-size:.85rem}.map-popup .delayed-label{color:#dc2626;font-weight:600;margin-top:8px}.vessel-type-badge{display:inline-block;padding:4px 10px;background:#64748b26;border:1px solid rgba(100,116,139,.2);border-radius:6px;color:#94a3b8;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.position-table tr.delayed-row{background:#ef44440f!important}.position-table tr.delayed-row:hover{background:#ef44441a!important}.position-table tr.delayed-row td{border-bottom-color:#ef444433}.delay-icon{color:#ef4444;margin-right:6px;vertical-align:middle}.eta-delayed{color:#fca5a5!important}.delay-badge{display:inline-block;margin-left:8px;padding:2px 6px;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:4px;color:#ef4444;font-size:.65rem;font-weight:700;letter-spacing:.5px}.progress-bar-fill.delayed{background:linear-gradient(90deg,#ef4444,#f87171)!important}.delay-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ef444426;border-radius:6px;color:#ef4444}.type-cell{white-space:nowrap}.position-table tr.clickable{cursor:pointer}.position-table tr.clickable:hover .vessel-name{color:#0d9488}.leaflet-container{background:#0a0a12}.leaflet-popup-content-wrapper{background:#1e293b;border-radius:12px;box-shadow:0 4px 24px #00000080}.leaflet-popup-content-wrapper .map-popup h4{color:#e2e8f0}.leaflet-popup-content-wrapper .map-popup p{color:#94a3b8}.leaflet-popup-tip{background:#1e293b}.leaflet-control-zoom{border:1px solid rgba(100,116,139,.3)!important;border-radius:10px!important;overflow:hidden}.leaflet-control-zoom a{background:#0f172ae6!important;color:#94a3b8!important;border-bottom:1px solid rgba(100,116,139,.2)!important}.leaflet-control-zoom a:hover{background:#0d948833!important;color:#0d9488!important}@media(max-width:768px){.position-header{flex-direction:column;gap:16px}.position-header .header-actions{flex-wrap:wrap;justify-content:center}.map-container .leaflet-container{height:350px!important}}.bunker-alert{display:flex;align-items:center;gap:12px;padding:14px 20px;margin-bottom:12px;background:#f973161a;border:1px solid rgba(249,115,22,.3);border-radius:12px;color:#fdba74;font-size:.9rem}.bunker-alert svg{color:#f97316}.bunker-alert strong{color:#f97316}.bunker-alert .critical-count{margin-left:6px;color:#ef4444;font-weight:600}.map-section{margin-bottom:24px}.map-controls{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-bottom:12px;background:#0f172a99;border-radius:10px;border:1px solid rgba(100,116,139,.2)}.track-toggle{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:.85rem;cursor:pointer}.track-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#0d9488;cursor:pointer}.track-days-select{padding:6px 12px;background:#0f172acc;border:1px solid rgba(100,116,139,.3);border-radius:8px;color:#e2e8f0;font-size:.85rem;cursor:pointer}.track-days-select:focus{outline:none;border-color:#0d9488}.bunker-alert-label{color:#f97316!important;font-weight:600;margin-top:8px}.compass-indicator{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#0d948826;border-radius:50%;margin-left:8px}.compass-indicator svg{transition:transform .3s ease}.bunker-cell{white-space:nowrap}.bunker-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600}.bunker-indicator.ok{background:#22c55e26;color:#22c55e}.bunker-indicator.warning{background:#f9731626;color:#f97316}.bunker-indicator.critical{background:#ef444426;color:#ef4444;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.track-legend{display:flex;align-items:center;gap:16px;padding:10px 16px;margin-top:12px;background:#0f172a66;border-radius:8px;font-size:.8rem;color:#94a3b8}.track-legend-item{display:flex;align-items:center;gap:6px}.track-legend-line{width:24px;height:3px;border-radius:2px}.track-legend-line.normal{background:#0d9488}.track-legend-line.delayed{background:#ef4444}.track-legend-line.docked{background:#0d9488;border-style:dashed}.speed-display{display:inline-flex;align-items:center;gap:6px}.speed-value{font-weight:600;color:#e2e8f0}.speed-unit{font-size:.75rem;color:#64748b}.position-cell .course-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;background:#0d948826;border-radius:50%;font-size:.7rem;color:#0d9488}@media(max-width:768px){.map-controls{flex-wrap:wrap}.bunker-alert,.delay-alert{flex-wrap:wrap;gap:8px}}.gantt-section{background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.04);overflow:hidden}.gantt-chart{min-height:400px;overflow-x:auto}.gantt-header{display:flex;position:sticky;top:0;z-index:10;background:#0006;border-bottom:1px solid rgba(255,255,255,.08)}.gantt-vessel-label{width:140px;min-width:140px;padding:12px 16px;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-right:1px solid rgba(255,255,255,.06)}.gantt-timeline{flex:1;position:relative;display:flex;height:48px}.gantt-day{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;border-right:1px solid rgba(255,255,255,.04);transition:background .2s ease}.gantt-day .day-num{font-size:.9rem;font-weight:600;color:#94a3b8}.gantt-day .day-month{font-size:.65rem;color:#64748b;text-transform:uppercase}.gantt-day.today{background:#0d948826}.gantt-day.today .day-num{color:#0d9488}.gantt-day.weekend{background:#0003}.gantt-body{position:relative}.today-line{position:absolute;top:0;bottom:0;width:2px;background:#0d9488;z-index:5;box-shadow:0 0 8px #0d948880}.gantt-row{display:flex;align-items:stretch;min-height:56px;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer;transition:background .2s ease}.gantt-row:hover{background:#ffffff05}.gantt-row.delayed{background:#ef44440d}.gantt-row.delayed:hover{background:#ef444414}.gantt-vessel-name{width:140px;min-width:140px;padding:12px 16px;display:flex;flex-direction:column;justify-content:center;gap:4px;border-right:1px solid rgba(255,255,255,.06);background:#0000001a}.gantt-vessel-name span:first-of-type{font-weight:600;color:#e2e8f0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-vessel-name .vessel-type-small{font-size:.7rem;color:#64748b;text-transform:uppercase}.gantt-vessel-name .delay-icon{color:#ef4444;margin-right:4px}.gantt-bar-container{flex:1;position:relative;display:flex;align-items:center;padding:8px 0}.gantt-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#ffffff08}.gantt-grid-line.weekend{background:#ffffff0d}.gantt-bar{position:absolute;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;overflow:hidden;min-width:60px;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.gantt-bar:hover{transform:scaleY(1.1);z-index:2}.gantt-bar.status-enroute{background:linear-gradient(135deg,#3b82f6cc,#3b82f699);border:1px solid rgba(59,130,246,.6)}.gantt-bar.status-inport{background:linear-gradient(135deg,#0d9488cc,#0d948899);border:1px solid rgba(13,148,136,.6)}.gantt-bar.status-active{background:linear-gradient(135deg,#8b5cf6cc,#8b5cf699);border:1px solid rgba(139,92,246,.6)}.gantt-bar.status-scheduled{background:linear-gradient(135deg,#d97706cc,#d9770699);border:1px solid rgba(217,119,6,.6)}.gantt-bar.status-available{background:linear-gradient(135deg,#64748b99,#64748b66);border:1px solid rgba(100,116,139,.5)}.gantt-bar.delayed{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef44444d,0 2px 8px #0000004d;animation:delayed-pulse 2s infinite}@keyframes delayed-pulse{0%,to{box-shadow:0 0 0 2px #ef44444d,0 2px 8px #0000004d}50%{box-shadow:0 0 0 4px #ef444433,0 2px 12px #ef44444d}}.gantt-progress{position:absolute;left:0;top:0;bottom:0;background:#fff3;border-radius:6px 0 0 6px;pointer-events:none}.gantt-port-start,.gantt-port-end{font-size:.65rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;z-index:1}.gantt-voyage-label{flex:1;text-align:center;font-size:.7rem;font-weight:600;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}.gantt-no-voyage{width:100%;display:flex;align-items:center;justify-content:center}.gantt-no-voyage .no-voyage-text{font-size:.8rem;color:#475569;font-style:italic}.gantt-no-voyage .port-marker{position:absolute;display:flex;align-items:center;gap:6px;padding:4px 10px;background:#0d948826;border:1px solid rgba(13,148,136,.3);border-radius:6px;color:#0d9488;font-size:.75rem;font-weight:500;white-space:nowrap;transform:translate(-50%)}.gantt-no-voyage .port-marker svg{opacity:.8}@media(max-width:900px){.gantt-vessel-label,.gantt-vessel-name{width:100px;min-width:100px;padding:8px 12px}.gantt-vessel-name span:first-of-type{font-size:.75rem}.gantt-bar{height:28px;min-width:40px}.gantt-port-start,.gantt-port-end{display:none}}.per-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.per-container{background:var(--bg-primary, #0f172a);border:1px solid var(--glass-border, rgba(255, 255, 255, .08));border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d}.per-container.modal{width:100%;max-width:860px;max-height:90vh}.per-container.inline{width:100%}.per-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(135deg,#3b82f61a,#8b5cf60d)}.per-header-left{display:flex;align-items:center;gap:12px}.per-header-left svg{color:var(--accent-blue, #38bdf8)}.per-header-info h2{font-size:1rem;font-weight:600;color:var(--text-primary, #f1f5f9);margin:0;line-height:1.2}.per-header-port{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.per-header-right{display:flex;align-items:center;gap:12px}.per-status-badge{padding:4px 10px;border-radius:12px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.per-close-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.per-close-btn:hover{background:#ffffff1a;color:var(--text-primary, #f1f5f9)}.per-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.per-sections{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:6px}.per-body::-webkit-scrollbar{width:6px}.per-body::-webkit-scrollbar-track{background:transparent}.per-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.per-body::-webkit-scrollbar-thumb:hover{background:#fff3}.per-section{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:10px;overflow:hidden;transition:all .2s}.per-section:hover{border-color:#ffffff14}.per-section.expanded{background:#ffffff08;border-color:#ffffff14}.per-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:transparent;border:none;border-left:3px solid transparent;color:var(--text-primary, #f1f5f9);cursor:pointer;transition:all .2s}.per-section-header:hover{background:#ffffff08}.per-section-title{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:500}.per-section-title svg{color:var(--text-secondary, #94a3b8)}.per-required-dot{font-size:.5rem;margin-left:2px}.per-chevron{color:var(--text-tertiary, #64748b);transition:transform .2s}.per-chevron.rotated{transform:rotate(180deg)}.per-section-content{padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.04);animation:per-slideDown .2s ease-out}@keyframes per-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.per-form-grid{display:grid;gap:12px 16px}.per-form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.per-form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.per-form-grid.cols-4{grid-template-columns:repeat(4,1fr)}.per-form-grid.cols-5{grid-template-columns:repeat(5,1fr)}.per-form-group{display:flex;flex-direction:column;gap:4px}.per-form-group.full-width{grid-column:1 / -1}.per-form-group.required label:after{content:"*";color:#ef4444;margin-left:2px}.per-form-group label{font-size:.68rem;font-weight:500;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.per-form-group input,.per-form-group select,.per-form-group textarea{background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px 10px;color:var(--text-primary, #f1f5f9);font-size:.8rem;transition:all .2s;width:100%;box-sizing:border-box}.per-form-group input:focus,.per-form-group select:focus,.per-form-group textarea:focus{outline:none;border-color:var(--accent-blue, #38bdf8);box-shadow:0 0 0 3px #38bdf81a}.per-form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.per-form-group select option{background:#1e293b;color:#f1f5f9}.per-form-group textarea{min-height:70px;resize:vertical}.per-hint{font-size:.65rem;color:var(--text-tertiary, #64748b);margin-top:2px}.per-times-section{display:flex;flex-direction:column;gap:12px}.per-times-notice{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:6px;font-size:.7rem;color:var(--accent-blue, #38bdf8)}.per-times-notice svg{flex-shrink:0}.per-form-group input::placeholder,.per-form-group textarea::placeholder{color:var(--text-muted, #475569)}.per-input-row{display:flex;gap:8px}.per-input-row input{flex:1}.per-input-unit{display:flex;align-items:stretch;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:6px;overflow:hidden;transition:all .2s}.per-input-unit:focus-within{border-color:var(--accent-blue, #38bdf8);box-shadow:0 0 0 3px #38bdf81a}.per-input-unit input{flex:1;border:none;background:transparent;border-radius:0;padding:8px 10px}.per-input-unit input:focus{box-shadow:none;outline:none}.per-input-unit span{display:flex;align-items:center;padding:0 10px;background:#ffffff08;font-size:.7rem;color:var(--text-tertiary, #64748b);font-weight:500;border-left:1px solid rgba(255,255,255,.06);white-space:nowrap}.per-condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.per-draft-card,.per-cargo-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px}.per-draft-card h4,.per-cargo-card h4{font-size:.75rem;font-weight:600;color:var(--text-primary, #f1f5f9);margin:0 0 12px}.per-draft-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.per-trim-indicator{margin-top:12px;padding:8px 12px;background:#0003;border-radius:6px;font-size:.75rem;font-weight:500;text-align:center}.per-fuel-section{display:flex;flex-direction:column;gap:12px}.per-fuel-header{display:flex;align-items:center;justify-content:space-between}.per-fuel-summary{font-size:.8rem;color:var(--text-secondary, #94a3b8)}.per-fuel-total strong{color:var(--text-primary, #f1f5f9)}.per-fuel-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.per-fuel-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#3b82f626;border:1px solid rgba(59,130,246,.25);border-radius:12px;font-size:.7rem;color:var(--text-primary, #f1f5f9)}.per-fuel-chip strong{color:var(--accent-blue, #38bdf8)}.per-fuel-hint{font-size:.75rem;color:var(--text-tertiary, #64748b);font-style:italic}.per-fuel-table{background:#00000026;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden}.per-fuel-row{display:grid;grid-template-columns:2fr 1.2fr 1fr 1.5fr 40px;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.per-fuel-row:last-child{border-bottom:none}.per-fuel-row.header{background:#ffffff08;padding:10px 12px}.per-fuel-row.header .per-fuel-col{font-size:.65rem;font-weight:600;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.3px}.per-fuel-col{display:flex;align-items:center}.per-fuel-col input,.per-fuel-col select{width:100%;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:5px;padding:6px 8px;color:var(--text-primary, #f1f5f9);font-size:.75rem}.per-fuel-col select option{background:#1e293b;color:#f1f5f9}.per-fuel-col.action{justify-content:center}.per-fuel-empty{padding:24px;text-align:center;color:var(--text-tertiary, #64748b);font-size:.8rem}.per-btn-add{display:flex;align-items:center;gap:6px;background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.25);border-radius:6px;padding:6px 12px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .2s}.per-btn-add:hover{background:#22c55e40;border-color:#22c55e66}.per-btn-remove{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.25);border-radius:5px;width:26px;height:26px;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.per-btn-remove:hover{background:#ef44444d}.per-meters-section{display:flex;flex-direction:column;gap:16px}.per-meters-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--text-tertiary, #64748b);text-align:center}.per-meters-empty svg{opacity:.5}.per-meters-empty p{margin:0;font-size:.85rem;color:var(--text-secondary, #94a3b8)}.per-meters-empty span{font-size:.75rem}.per-meter-group{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px}.per-meter-group-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}.per-meter-group-header svg{color:var(--text-tertiary, #64748b)}.per-meter-group-header strong{font-size:.8rem;color:var(--accent-blue, #38bdf8)}.per-meter-group-header span{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.per-meter-hint{font-size:.65rem;color:var(--text-tertiary, #64748b);margin-top:2px}.per-remarks-section{display:flex;flex-direction:column;gap:12px}.per-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid rgba(255,255,255,.06);background:#00000026}.per-btn{padding:10px 20px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.per-btn.secondary{background:#64748b33;color:var(--text-secondary, #94a3b8);border:1px solid rgba(100,116,139,.3)}.per-btn.secondary:hover{background:#64748b4d;color:var(--text-primary, #f1f5f9)}.per-btn.primary{color:#fff;box-shadow:0 4px 12px #3b82f640}.per-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #3b82f659}.per-btn.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.per-container.modal{max-height:100vh;border-radius:0}.per-form-grid.cols-3,.per-form-grid.cols-4,.per-form-grid.cols-5{grid-template-columns:repeat(2,1fr)}.per-condition-grid{grid-template-columns:1fr}.per-draft-inputs{grid-template-columns:repeat(3,1fr)}.per-fuel-row{grid-template-columns:1fr;gap:6px}.per-fuel-row.header{display:none}.per-fuel-col:before{content:attr(data-label);font-size:.65rem;color:var(--text-tertiary, #64748b);margin-right:8px}}@media(max-width:480px){.per-form-grid.cols-2,.per-form-grid.cols-3,.per-form-grid.cols-4,.per-form-grid.cols-5,.per-draft-inputs{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:10px}.port-event-modal{background:var(--glass-bg, rgba(30, 41, 59, .95));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:10px;width:100%;max-width:920px;max-height:92vh;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 50px #00000080}.port-event-inline{background:var(--glass-bg, rgba(30, 41, 59, .95));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:10px;width:100%;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.closeout-wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:closeoutFadeIn .2s ease-out}@keyframes closeoutFadeIn{0%{opacity:0}to{opacity:1}}.closeout-wizard-modal{background:linear-gradient(180deg,#1e293bfa,#0f172afa);border-radius:20px;width:90%;max-width:720px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.06);animation:closeoutSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes closeoutSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.closeout-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#0d948826,#0f172acc);border-bottom:1px solid rgba(255,255,255,.06)}.closeout-title{display:flex;align-items:center;gap:12px;font-size:1.2rem;font-weight:700;color:#e2e8f0}.closeout-title svg{color:#0d9488}.closeout-close-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:#64748b;width:36px;height:36px;border-radius:10px;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.closeout-close-btn:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.closeout-steps{display:flex;align-items:center;justify-content:center;padding:20px 24px;gap:16px;background:#0003;border-bottom:1px solid rgba(255,255,255,.04)}.step{display:flex;align-items:center;gap:10px;opacity:.4;transition:all .3s ease}.step.active{opacity:1}.step.completed{opacity:.8}.step.completed .step-number{background:#0d948833;border-color:#0d948866;color:#0d9488}.step-number{width:32px;height:32px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#64748b;transition:all .3s ease}.step.active .step-number{background:linear-gradient(135deg,#0d9488,#0f766e);border:none;color:#fff;box-shadow:0 4px 12px #0d94884d}.step-label{font-size:.85rem;font-weight:500;color:#475569}.step.active .step-label{color:#e2e8f0}.step.completed .step-label{color:#0d9488}.step-connector{width:40px;height:2px;background:#ffffff0f;border-radius:1px}.step.completed+.step-connector,.step.active+.step-connector{background:#0d94884d}.closeout-content{flex:1;overflow-y:auto;padding:28px}.closeout-content::-webkit-scrollbar{width:6px}.closeout-content::-webkit-scrollbar-track{background:#ffffff05}.closeout-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.completeness-section{margin-bottom:28px}.completeness-section h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.05)}.completeness-score{display:flex;gap:28px;align-items:flex-start}.score-circle{width:110px;height:110px;border-radius:50%;background:#0003;border:4px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 24px #0003}.score-circle.excellent{border-color:#0d9488;background:#0d94881a}.score-circle.good{border-color:#60a5fa;background:#60a5fa1a}.score-circle.fair{border-color:#fbbf24;background:#fbbf241a}.score-circle.poor{border-color:#ef4444;background:#ef44441a}.score-value{font-size:1.75rem;font-weight:700;color:#e2e8f0}.score-grade{font-size:.85rem;font-weight:600;margin-top:2px}.category-breakdown{flex:1;display:flex;flex-direction:column;gap:12px}.category-row{display:flex;align-items:center;gap:14px}.category-name{width:140px;font-size:.8rem;font-weight:500;color:#94a3b8}.category-bar{flex:1;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.category-fill{height:100%;background:linear-gradient(90deg,#0d9488,#14b8a6);border-radius:4px;transition:width .6s cubic-bezier(.16,1,.3,1)}.category-score{width:42px;text-align:right;font-size:.8rem;font-weight:600;color:#94a3b8}.validation-section h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.05)}.validation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.summary-item{background:#ffffff05;padding:18px;border-radius:14px;text-align:center;border:1px solid rgba(255,255,255,.04);transition:all .2s ease}.summary-item:hover{background:#ffffff08}.summary-label{display:block;font-size:.7rem;color:#64748b;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.summary-value{font-size:1.75rem;font-weight:700;color:#e2e8f0}.summary-item.has-blockers{background:#ef444414;border-color:#ef444433}.summary-item.has-blockers .summary-value{color:#ef4444}.summary-item.no-blockers{background:#0d948814;border-color:#0d948833}.summary-item.no-blockers .summary-value{color:#14b8a6}.summary-item.has-warnings{background:#d9770614;border-color:#d9770633}.summary-item.has-warnings .summary-value{color:#fbbf24}.checks-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.check-item{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#ffffff05;border-radius:12px;border-left:4px solid transparent;transition:all .2s ease}.check-item:hover{background:#ffffff08}.check-item.passed{border-left-color:#0d9488}.check-item.blocker{border-left-color:#ef4444;background:#ef44440a}.check-item.warning{border-left-color:#fbbf24;background:#fbbf240a}.check-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.check-icon.pass{background:#0d948826;color:#14b8a6}.check-icon.blocker{background:#ef444426;color:#ef4444}.check-icon.warning{background:#fbbf2426;color:#fbbf24}.check-name{flex:1;font-size:.9rem;font-weight:500;color:#e2e8f0}.check-category{font-size:.7rem;font-weight:600;color:#64748b;padding:4px 10px;background:#ffffff0a;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.override-section{background:#d9770614;border:1px solid rgba(217,119,6,.2);border-radius:14px;padding:20px}.override-section h4{margin:0 0 10px;color:#fbbf24;font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:8px}.override-section p{margin:0 0 16px;font-size:.85rem;color:#94a3b8;line-height:1.5}.override-section textarea{width:100%;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:14px;color:#e2e8f0;font-size:.9rem;resize:vertical;min-height:80px;transition:all .2s ease}.override-section textarea:focus{outline:none;border-color:#d9770666;box-shadow:0 0 0 3px #d977061a}.override-section textarea::placeholder{color:#475569}.confirm-section{text-align:center}.confirm-section h3{margin-bottom:24px;color:#e2e8f0;font-size:1.1rem}.confirm-details{background:#ffffff05;padding:24px;border-radius:14px;margin-bottom:20px;text-align:left;border:1px solid rgba(255,255,255,.04)}.confirm-details p{margin:10px 0;color:#94a3b8;font-size:.9rem}.confirm-details strong{color:#e2e8f0}.override-note{background:#d977061a;padding:14px 16px;border-radius:10px;margin-top:16px;color:#fbbf24!important;font-size:.85rem;border:1px solid rgba(217,119,6,.2)}.confirm-warning{display:flex;align-items:center;gap:14px;background:#3b82f61a;padding:18px;border-radius:12px;color:#60a5fa;font-size:.9rem;border:1px solid rgba(59,130,246,.2)}.confirm-warning svg{flex-shrink:0}.done-section{text-align:center;padding:48px 24px}.done-icon{color:#14b8a6;margin-bottom:24px;animation:scaleIn .5s cubic-bezier(.16,1,.3,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.done-section h3{color:#14b8a6;margin-bottom:12px;font-size:1.25rem}.done-section p{color:#94a3b8;font-size:.95rem}.override-applied{background:#d977061a;padding:14px 18px;border-radius:10px;margin-top:20px;color:#fbbf24;font-size:.9rem;border:1px solid rgba(217,119,6,.2);display:inline-block}.closeout-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid rgba(255,255,255,.05);background:#00000026}.closeout-footer .btn-secondary{background:#ffffff0a;color:#94a3b8;border:1px solid rgba(255,255,255,.08);padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.closeout-footer .btn-secondary:hover{background:#ffffff14;color:#e2e8f0}.closeout-footer .btn-primary{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;padding:10px 24px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0d948840}.closeout-footer .btn-primary:hover{background:linear-gradient(135deg,#14b8a6,#0d9488);transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.closeout-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.closeout-footer .btn-close-voyage{background:linear-gradient(135deg,#14b8a6,#0d9488)}.closeout-footer .btn-close-voyage:hover{background:linear-gradient(135deg,#2dd4bf,#14b8a6);box-shadow:0 6px 16px #0d948866}@media(max-width:640px){.closeout-wizard-modal{width:95%;max-width:100%;margin:10px;border-radius:16px}.closeout-steps{padding:16px;gap:8px}.step-label{display:none}.completeness-score{flex-direction:column;align-items:center;gap:20px}.validation-summary{grid-template-columns:1fr}.category-name{width:100px;font-size:.75rem}}.noon-report-manager{padding:0}.manager-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0}.manager-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.manager-header .vessel-badge{font-size:.85rem;font-weight:500;color:var(--text-secondary);padding:4px 10px;background:var(--bg-tertiary);border-radius:4px;margin-left:8px}.header-left{display:flex;align-items:center;gap:12px}.filter-badge{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--accent-primary);background:#3b82f61a;padding:4px 8px;border-radius:4px}.header-actions{display:flex;gap:8px}.form-panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin:16px;overflow:hidden}.form-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.form-header h3{margin:0;font-size:1rem;font-weight:600}.noon-report-form{padding:16px}.form-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.form-section h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.section-hint{font-size:.8rem;color:var(--text-tertiary);margin:-8px 0 12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.fuel-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.meter-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;font-size:.9rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.form-group input::placeholder{color:var(--text-tertiary)}.form-group textarea{resize:vertical;min-height:80px}.meter-section{background:#3b82f608;border-radius:6px;padding:16px;margin:0 -16px;width:calc(100% + 32px)}.meter-group{margin-bottom:16px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.meter-group:last-child{margin-bottom:0}.meter-group-header{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--accent-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.meter-input label{display:flex;align-items:center;gap:4px}.meter-unit{font-weight:400;color:var(--text-tertiary);font-size:.75rem}.meter-input-wrapper{position:relative}.meter-last-reading{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--text-tertiary);pointer-events:none}.meter-input input{padding-right:80px}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;margin-top:16px;border-top:1px solid var(--border-color)}.reports-table-container{padding:16px}.loading-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:var(--text-secondary)}.spinner{animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state svg{color:var(--text-tertiary);margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.empty-state p{margin:0 0 20px;font-size:.9rem}.noon-report-manager .dt-table{width:100%;border-collapse:collapse;font-size:.85rem}.noon-report-manager .dt-table th{background:var(--bg-secondary);padding:10px 12px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.noon-report-manager .dt-table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.noon-report-manager .dt-table tr:hover{background:var(--bg-hover)}.noon-report-manager .dt-table tr.selected{background:#3b82f614}.noon-report-manager .dt-table tr.selected:hover{background:#3b82f61f}.status-badge{display:inline-block;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:4px}.status-at-sea{background:#3b82f626;color:#3b82f6}.status-in-port{background:#22c55e26;color:#22c55e}.status-at-anchor{background:#f59e0b26;color:#f59e0b}.status-bunkering{background:#a855f726;color:#a855f7}.status-loading,.status-discharging{background:#ec489926;color:#ec4899}.status-drifting{background:#ef444426;color:#ef4444}.voyage-badge{display:inline-block;padding:2px 6px;font-size:.75rem;font-weight:500;background:var(--bg-tertiary);border-radius:3px;color:var(--text-primary)}.no-voyage{color:var(--text-tertiary)}.actions-cell{white-space:nowrap}.actions-cell .btn{margin-right:4px}.actions-cell .btn:last-child{margin-right:0}.noon-report-manager .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.noon-report-manager .btn-sm{padding:4px 8px;font-size:.8rem}.noon-report-manager .btn-primary{background:var(--accent-primary);color:#fff}.noon-report-manager .btn-primary:hover{background:var(--accent-primary-hover)}.noon-report-manager .btn-ghost{background:transparent;color:var(--text-secondary)}.noon-report-manager .btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.noon-report-manager .btn-danger{color:var(--error)}.noon-report-manager .btn-danger:hover{background:#ef44441a}.noon-report-manager .btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.manager-header{flex-direction:column;gap:12px;align-items:flex-start}.form-grid{grid-template-columns:1fr}.meter-section{margin:0;width:100%}}.voyage-manager{height:100%;display:flex;flex-direction:column;background:var(--color-bg-secondary, #0f172a);color:var(--color-text, #e2e8f0);border-radius:12px;overflow:hidden}.voyage-manager--empty{display:flex;align-items:center;justify-content:center}.empty-state{text-align:center;padding:60px;color:var(--color-text-muted, #64748b)}.empty-state svg{opacity:.4;margin-bottom:20px}.empty-state h3{margin-bottom:8px;color:var(--color-text, #e2e8f0)}.voyage-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#3b82f614,#8b5cf60f,#0d94880d);border-bottom:1px solid rgba(255,255,255,.08);position:relative}.voyage-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),rgba(139,92,246,.2),transparent)}.voyage-header__title{display:flex;align-items:center;gap:12px}.voyage-header__title h2{margin:0;font-size:1.25rem;font-weight:600}.voyage-header__title svg{color:var(--color-accent, #3b82f6)}.vessel-badge{background:#3b82f633;color:var(--color-accent, #3b82f6);padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.voyage-header__actions{display:flex;align-items:center;gap:10px}.voyage-tabs{display:flex;gap:2px;padding:6px 16px;background:linear-gradient(180deg,#1e293be6,#0f172ab3);border-bottom:1px solid rgba(255,255,255,.05)}.voyage-tab{display:flex;align-items:center;gap:6px;padding:10px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted, #94a3b8);cursor:pointer;font-size:.85rem;border-radius:8px 8px 0 0;transition:all .25s ease;position:relative}.voyage-tab:hover{background:#ffffff0a;color:var(--color-text, #e2e8f0)}.voyage-tab.active{background:#3b82f61a;color:#60a5fa;font-weight:600;border-bottom-color:#3b82f6;text-shadow:0 0 12px rgba(59,130,246,.25)}.voyage-detail-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.voyage-content{flex:1;overflow-y:auto;padding:16px 20px}.voyage-content>.tab-content{height:auto}.voyage-selector{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-primary, #1e293b);border-radius:8px;margin-bottom:16px}.voyage-selector label{font-weight:500;color:var(--color-text-muted, #94a3b8);white-space:nowrap}.voyage-selector select{flex:1;padding:8px 12px;background:var(--color-bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text);font-size:.9rem}.tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tab-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tab-toolbar h4{margin:0;font-size:1rem;font-weight:600}.toolbar-actions{display:flex;gap:8px;align-items:center}.toolbar-left{display:flex;align-items:center;gap:16px}.port-call-selector{padding:6px 12px;background:var(--color-bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--color-text);font-size:.85rem;min-width:200px}.port-call-selector:focus{outline:none;border-color:var(--color-accent, #3b82f6)}.context-badge{background:#8b5cf633;color:#a78bfa;padding:4px 10px;border-radius:12px;font-size:.8rem;margin-left:12px}.port-tag{background:#3b82f633;color:#60a5fa;padding:3px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.sof-purpose-filter{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:16px;padding:10px 16px;background:var(--color-bg-primary, #1e293b);border-radius:8px;border:1px solid rgba(255,255,255,.05)}.sof-purpose-filter .filter-label{font-size:.8rem;color:var(--color-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.purpose-checkbox{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.purpose-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent, #3b82f6);cursor:pointer}.purpose-tag{padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.purpose-loading{background:#22c55e33;color:#4ade80}.purpose-discharging{background:#f9731633;color:#fb923c}.purpose-bunkering{background:#a855f733;color:#c084fc}.purpose-crew_change{background:#0ea5e933;color:#38bdf8}.purpose-other{background:#94a3b833;color:#94a3b8}.voyage-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:1000px){.voyage-overview{grid-template-columns:1fr}}.overview-card{background:linear-gradient(145deg,#1e293bf2,#0f172ae6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;padding:20px;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative}.overview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),rgba(139,92,246,.2),transparent);border-radius:14px 14px 0 0}.overview-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000004d,0 0 0 1px #3b82f614;border-color:#ffffff1a}.overview-card h4{margin:0 0 16px;font-size:.85rem;color:var(--color-text-muted, #94a3b8);font-weight:700;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.detail-item{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:8px;border-left:2px solid transparent;transition:all .2s ease}.detail-item:hover{background:#ffffff08;border-left-color:#3b82f666}.detail-item .label{font-size:.68rem;color:var(--color-text-muted, #64748b);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.detail-item .value{font-size:.95rem;color:var(--color-text);font-weight:500}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header-row h4{margin:0}.card-actions{display:flex;gap:8px}.card-footer-row{display:flex;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.sortable:hover{background:#ffffff0d}.sort-icon{font-size:.7rem;opacity:.6;margin-left:4px}.voyage-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px;padding:12px 16px;background:var(--color-bg-primary, #1e293b);border-radius:8px;border:1px solid rgba(255,255,255,.05);overflow:hidden}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:100px;flex:1 1 120px;max-width:180px}.filter-group label{font-size:.7rem;color:var(--color-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-group input{padding:6px 8px;background:var(--color-bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text);font-size:.8rem;width:100%;box-sizing:border-box}.filter-group input:focus{outline:none;border-color:var(--color-accent, #3b82f6)}.port-calls-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.port-call-mini-card{background:linear-gradient(135deg,#00000040,#0f172a4d);border-radius:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.06);transition:all .25s ease}.port-call-mini-card:hover{background:linear-gradient(135deg,#0000004d,#0f172a66);border-color:#ffffff1a;transform:translateY(-1px);box-shadow:0 4px 16px #0003}.port-call-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.port-sequence{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#3b82f64d;color:#60a5fa;border-radius:50%;font-size:.7rem;font-weight:600;flex-shrink:0}.port-name{font-weight:600;color:var(--color-text, #e2e8f0);font-size:.9rem;flex:1}.status-badge.mini{padding:2px 6px;font-size:.6rem;border-radius:4px}.port-call-details{display:flex;align-items:center;gap:12px;font-size:.8rem;color:var(--color-text-muted, #94a3b8)}.port-call-details .purpose-tag{background:#ffffff14;padding:2px 6px;border-radius:4px;font-size:.75rem;text-transform:uppercase}.port-call-details .eta-text{font-size:.75rem}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#fff}.status-badge.small{padding:2px 8px;font-size:.65rem;margin-left:8px}.dt-table tbody tr.selected{background:#3b82f61a}.empty-cell,.empty-text{text-align:center;color:var(--color-text-muted, #64748b);font-style:italic;padding:24px!important}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.btn-danger,.btn.btn-danger,.btn.btn-sm.btn-danger,.card-actions .btn-danger{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}.btn-danger svg,.btn.btn-danger svg,.btn.btn-sm.btn-danger svg,.card-actions .btn-danger svg{color:#fff!important;fill:#fff!important}.btn-danger:hover,.btn.btn-danger:hover,.btn.btn-sm.btn-danger:hover,.card-actions .btn-danger:hover{background:#b91c1c!important;color:#fff!important}.btn-danger:hover svg,.btn.btn-danger:hover svg,.btn.btn-sm.btn-danger:hover svg,.card-actions .btn-danger:hover svg{color:#fff!important;fill:#fff!important}.btn-icon{padding:6px;background:transparent;border:none;border-radius:4px;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.btn-icon:hover{background:#ffffff1a;color:var(--color-text)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--color-bg-secondary, #1e293b);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{margin:0;font-size:1.1rem}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}@media(max-width:500px){.form-grid{grid-template-columns:1fr}}.readonly-input{background:#ffffff0d!important;color:var(--color-text-muted, #94a3b8)!important;cursor:not-allowed}.checkbox-group{display:flex;flex-direction:row;align-items:center;gap:12px}.checkbox-group label{margin:0}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-accent, #3b82f6);margin:0}.voyage-manager .actions-cell{display:flex;gap:4px;justify-content:center}.voyage-manager .actions-cell .btn-icon{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px;cursor:pointer;color:var(--color-text-muted, #94a3b8);transition:all .2s;display:flex;align-items:center;justify-content:center}.voyage-manager .actions-cell .btn-icon:hover{background:#ffffff0d;color:var(--color-text);border-color:#fff3}.voyage-manager .actions-cell .btn-icon.btn-danger:hover{background:#ef44441a;color:#ef4444;border-color:#ef44444d}.voyage-manager .dt-table,.voyage-manager .dt-table thead,.voyage-manager .dt-table tbody,.voyage-manager .dt-table tr{border-collapse:collapse;border-spacing:0;border:none!important}.voyage-manager .dt-table th,.voyage-manager .dt-table td{border:none!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid rgba(255,255,255,.08)!important;padding:12px 16px}.voyage-manager .dt-table th{text-align:left;color:var(--color-text-muted, #94a3b8);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.12)!important}.voyage-manager .dt-table tbody tr{border:none!important}.voyage-manager .dt-table tbody tr:hover{background:#ffffff05}.laytime-results{display:flex;flex-direction:column;gap:16px}.expandable-row{transition:background .2s}.expandable-row:hover{background:#3b82f60d!important}.expandable-row.expanded{background:#3b82f61a!important}.expandable-row td:first-child{width:30px;text-align:center;color:var(--color-text-muted, #94a3b8)}.expanded-detail-row{background:#00000026!important}.expanded-detail-row>td{padding:0!important;border-top:1px solid rgba(255,255,255,.06)!important;border-bottom:1px solid rgba(255,255,255,.12)!important}.sof-detail-panel{padding:16px 24px;background:#0000001a;border-left:3px solid var(--color-accent, #3b82f6);margin:8px 16px 16px 32px;border-radius:0 8px 8px 0}.sof-detail-panel h5{margin:0 0 12px;font-size:.85rem;color:var(--color-text-muted, #94a3b8);font-weight:600}.nested-table{background:transparent!important;border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden}.nested-table th{background:#0000004d!important;font-size:.7rem!important;padding:8px 12px!important}.nested-table td{padding:8px 12px!important;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.06)!important}.nested-table tbody tr{cursor:default!important}.nested-table tbody tr:last-child td{border-bottom:none!important}.nested-table .laytime-counting{background:#22c55e14}.nested-table .laytime-counting td:last-child{color:#4ade80}.nested-table .laytime-not-counting{opacity:.6}.laytime-summary{border:2px solid rgba(255,255,255,.1)}.laytime-summary.demurrage{border-color:#ef444466;background:linear-gradient(135deg,#ef44440d,#ef444405)}.laytime-summary.despatch{border-color:#22c55e66;background:linear-gradient(135deg,#22c55e0d,#22c55e05)}.result-highlight{grid-column:1 / -1;padding-top:12px;margin-top:8px;border-top:1px dashed rgba(255,255,255,.1)}.result-value{font-size:1.1rem!important;font-weight:600}.result-value strong{font-size:1.3rem}.sub-tabs{display:flex;gap:8px;margin-bottom:16px;padding:6px 8px;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.sub-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--color-text-muted, #94a3b8);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.sub-tab:hover{background:#ffffff0d;color:var(--color-text, #e2e8f0)}.sub-tab.active{background:var(--color-accent, #3b82f6);color:#fff;border-color:transparent}.btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 2px 8px #22c55e4d}.status-closed{display:inline-flex;align-items:center;gap:6px;background:#22c55e26;color:#22c55e;padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;border:1px solid rgba(34,197,94,.3)}.status-open{display:inline-flex;align-items:center;gap:6px;background:#3b82f626;color:#3b82f6;padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;border:1px solid rgba(59,130,246,.3)}.closeout-tab{padding:0}.closeout-header-inline{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:linear-gradient(135deg,#0d94881a,#0f172acc);border:1px solid rgba(255,255,255,.06);border-radius:14px;margin-bottom:20px}.closeout-header-inline h4{display:flex;align-items:center;gap:12px;margin:0;font-size:1.15rem;font-weight:700;color:#e2e8f0}.closeout-header-inline h4 svg{color:#14b8a6}.closeout-header-inline .status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.closeout-header-inline .status-closed{background:#0d948826;color:#14b8a6;border:1px solid rgba(13,148,136,.3)}.closeout-header-inline .status-open{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.closeout-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}@media(max-width:900px){.closeout-grid{grid-template-columns:1fr}}.closeout-card{background:linear-gradient(180deg,#1e293b99,#0f172a99);border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 16px #00000026}.closeout-card h5{margin:0 0 20px;font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.08em;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05)}.completeness-inline{display:flex;gap:24px;align-items:flex-start}.score-display{width:100px;height:100px;border-radius:50%;border:4px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;background:#0003;box-shadow:0 8px 24px #0003}.score-number{font-size:1.6rem;font-weight:700;color:#e2e8f0}.score-letter{font-size:1.1rem;font-weight:600;margin-top:2px}.category-bars{flex:1;display:flex;flex-direction:column;gap:10px}.category-item{display:flex;align-items:center;gap:12px}.cat-name{width:110px;font-size:.75rem;font-weight:500;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-bar-bg{flex:1;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.cat-bar-fill{height:100%;background:linear-gradient(90deg,#0d9488,#14b8a6);border-radius:4px;transition:width .6s cubic-bezier(.16,1,.3,1)}.cat-pct{width:40px;text-align:right;font-size:.75rem;font-weight:600;color:#94a3b8}.recommendations{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.recommendations h6{margin:0 0 12px;font-size:.8rem;font-weight:600;color:#fbbf24;display:flex;align-items:center;gap:6px}.recommendations ul{margin:0;padding-left:18px}.recommendations li{font-size:.8rem;color:#94a3b8;margin-bottom:6px;line-height:1.5}.validation-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.validation-stats .stat{text-align:center;padding:16px 12px;background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.04);transition:all .2s ease}.validation-stats .stat:hover{background:#ffffff08}.validation-stats .stat-num{display:block;font-size:1.75rem;font-weight:700;color:#e2e8f0;margin-bottom:4px}.validation-stats .stat-label{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.validation-stats .stat-error{background:#ef444414;border-color:#ef444433}.validation-stats .stat-error .stat-num{color:#ef4444}.validation-stats .stat-success{background:#0d948814;border-color:#0d948833}.validation-stats .stat-success .stat-num{color:#14b8a6}.validation-stats .stat-warning{background:#d9770614;border-color:#d9770633}.validation-stats .stat-warning .stat-num{color:#fbbf24}.check-list-inline{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding-right:4px}.check-list-inline::-webkit-scrollbar{width:6px}.check-list-inline::-webkit-scrollbar-track{background:#ffffff05}.check-list-inline::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.check-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff05;border-radius:10px;border-left:4px solid transparent;transition:all .2s ease}.check-row:hover{background:#ffffff08}.check-row.pass{border-left-color:#0d9488}.check-row.fail{border-left-color:#ef4444;background:#ef44440a}.check-row.warn{border-left-color:#fbbf24;background:#fbbf240a}.check-indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:.75rem;font-weight:700;flex-shrink:0}.check-row.pass .check-indicator{background:#0d948826;color:#14b8a6}.check-row.fail .check-indicator{background:#ef444426;color:#ef4444}.check-row.warn .check-indicator{background:#fbbf2426;color:#fbbf24}.check-name{flex:1;font-size:.85rem;font-weight:500;color:#e2e8f0}.check-cat{font-size:.65rem;font-weight:600;color:#64748b;padding:3px 8px;background:#ffffff0a;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.closeout-actions{background:linear-gradient(180deg,#1e293b99,#0f172a99);border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.06)}.override-input,.reopen-input{margin-bottom:20px;background:#d9770614;padding:16px;border-radius:12px;border:1px solid rgba(217,119,6,.2)}.override-input label,.reopen-input label{display:block;font-size:.85rem;font-weight:600;color:#fbbf24;margin-bottom:10px}.override-input textarea,.reopen-input textarea{width:100%;padding:14px;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#e2e8f0;font-size:.9rem;resize:vertical;min-height:60px;transition:all .2s ease}.override-input textarea:focus,.reopen-input textarea:focus{outline:none;border-color:#d9770666;box-shadow:0 0 0 3px #d977061a}.override-input textarea::placeholder,.reopen-input textarea::placeholder{color:#475569}.closeout-actions .btn-success{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;padding:12px 28px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0d948840;display:inline-flex;align-items:center;gap:8px}.closeout-actions .btn-success:hover{background:linear-gradient(135deg,#14b8a6,#0d9488);transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.closeout-actions .btn-success:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-lg{padding:12px 24px;font-size:1rem}.btn-warning{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;border:none;display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #d9770640}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-1px);box-shadow:0 6px 16px #d9770659}.btn-warning:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.loading-text{color:#64748b;font-style:italic;font-size:.9rem}.status-badge.status-draft{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.status-badge.status-signed{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.status-badge.status-locked{background:#0d948826;color:#14b8a6;border:1px solid rgba(13,148,136,.3)}.voyage-timeline-card{grid-column:1 / -1;background:linear-gradient(145deg,#1e293bf2,#0f172afa);border:1px solid rgba(13,148,136,.15);overflow:hidden}.voyage-timeline-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 5%,rgba(13,148,136,.5) 30%,rgba(59,130,246,.4) 50%,rgba(139,92,246,.3) 70%,transparent 95%)}.voyage-timeline-card h4{display:flex;align-items:center;gap:8px}.voyage-timeline-card .voyage-timeline{display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 16px;gap:0}.voyage-timeline-card .timeline-step{display:flex;flex-direction:column;align-items:center;min-width:80px;position:relative;z-index:1}.voyage-timeline-card .timeline-node{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .3s ease;position:relative}.voyage-timeline-card .timeline-step.completed .timeline-node{background:linear-gradient(135deg,#0d94884d,#14b8a626);border:2px solid #14b8a6;box-shadow:0 0 10px #14b8a633}.voyage-timeline-card .timeline-step.active .timeline-node{background:linear-gradient(135deg,#0d948866,#14b8a633);border:2px solid #2dd4bf;box-shadow:0 0 20px #2dd4bf59,0 0 40px #2dd4bf26;animation:timelinePulseVM 2s ease-in-out infinite}@keyframes timelinePulseVM{0%,to{box-shadow:0 0 20px #2dd4bf59,0 0 40px #2dd4bf26}50%{box-shadow:0 0 25px #2dd4bf80,0 0 50px #2dd4bf40}}.voyage-timeline-card .timeline-step.pending .timeline-node{background:#ffffff0a;border:2px solid rgba(255,255,255,.12)}.voyage-timeline-card .timeline-step.pending .timeline-icon{opacity:.35;filter:grayscale(.8)}.voyage-timeline-card .timeline-label{margin-top:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;text-align:center;white-space:nowrap}.voyage-timeline-card .timeline-step.completed .timeline-label{color:#14b8a6}.voyage-timeline-card .timeline-step.active .timeline-label{color:#2dd4bf;text-shadow:0 0 8px rgba(45,212,191,.3)}.voyage-timeline-card .timeline-step.pending .timeline-label{color:#ffffff4d}.voyage-timeline-card .timeline-port{margin-top:3px;font-size:.7rem;color:#60a5fa;font-weight:500;text-align:center;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voyage-timeline-card .timeline-connector{flex:1;height:3px;min-width:30px;max-width:80px;margin-top:21px;border-radius:2px;transition:background .3s ease}.voyage-timeline-card .timeline-connector.completed{background:linear-gradient(90deg,#14b8a6,#2dd4bf);box-shadow:0 0 6px #14b8a64d}.voyage-timeline-card .timeline-connector.active{background:linear-gradient(90deg,#14b8a6,#ffffff26)}.voyage-timeline-card .timeline-connector.pending{background:#ffffff14}@media(max-width:768px){.voyage-timeline-card .voyage-timeline{flex-wrap:wrap;gap:8px}.voyage-timeline-card .timeline-connector{display:none}.voyage-timeline-card .timeline-step{min-width:60px}}.invoice-modal .modal-content{background:linear-gradient(180deg,#0f172a,#1a2332);border:1px solid rgba(255,255,255,.08);box-shadow:0 32px 80px #0009,0 0 0 1px #ffffff0d;overflow:hidden}.invoice-modal-header{display:flex;align-items:center;gap:14px;padding:20px 28px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(135deg,#3b82f60f,#8b5cf60a);position:relative}.invoice-modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),rgba(139,92,246,.3),transparent)}.invoice-header-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#3b82f633,#8b5cf626);border:1px solid rgba(59,130,246,.25);color:#60a5fa;flex-shrink:0}.invoice-header-text{flex:1;min-width:0}.invoice-header-text h3{margin:0;font-size:1.1rem;font-weight:700;color:#f1f5f9;letter-spacing:-.2px}.invoice-header-text .invoice-subtitle{font-size:.72rem;color:#64748b;margin-top:2px;text-transform:uppercase;letter-spacing:.8px;font-weight:500}.invoice-close-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#64748b;cursor:pointer;transition:all .2s ease;flex-shrink:0}.invoice-close-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444;transform:scale(1.05)}.invoice-meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid rgba(255,255,255,.06)}.invoice-meta-cell{padding:14px 20px;border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:4px}.invoice-meta-cell:last-child{border-right:none}.invoice-meta-cell .meta-label{font-size:.65rem;color:#475569;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.invoice-meta-cell .meta-value{font-size:.88rem;color:#e2e8f0;font-weight:600}.invoice-meta-cell .meta-value .status-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.3px}.invoice-meta-cell .meta-value .status-chip.paid{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.invoice-meta-cell .meta-value .status-chip.issued{background:#3b82f61f;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.invoice-meta-cell .meta-value .status-chip.draft{background:#94a3b81f;color:#94a3b8;border:1px solid rgba(148,163,184,.15)}.invoice-modal-body{padding:24px 28px;max-height:60vh;overflow-y:auto}.invoice-modal-body::-webkit-scrollbar{width:5px}.invoice-modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.invoice-section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:.78rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.8px}.invoice-section-title span.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:6px;background:#3b82f626;color:#60a5fa;font-size:.7rem;font-weight:700;padding:0 6px}.invoice-line-items-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.06);margin-bottom:16px}.invoice-line-items-table thead th{background:#0000004d;padding:10px 14px;font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}.invoice-line-items-table thead th.text-right{text-align:right}.invoice-line-items-table tbody td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.04);font-size:.85rem;color:#cbd5e1;vertical-align:middle}.invoice-line-items-table tbody tr{transition:background .15s ease}.invoice-line-items-table tbody tr:hover{background:#3b82f60a}.invoice-line-items-table tbody tr:last-child td{border-bottom:none}.invoice-line-items-table tbody tr.editing-row{background:#3b82f614}.item-type-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.3px;font-family:JetBrains Mono,Fira Code,monospace}.item-type-chip.income{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.15)}.item-type-chip.cost{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.15)}.invoice-line-items-table .mono-value{font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem;text-align:right;color:#94a3b8}.invoice-line-items-table .mono-value.amount{font-weight:700;color:#e2e8f0}.invoice-line-items-table .mono-value.negative{color:#f87171}.invoice-line-actions{display:flex;align-items:center;gap:4px;justify-content:center}.invoice-line-actions .btn-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#64748b;cursor:pointer;transition:all .2s ease}.invoice-line-actions .btn-icon:hover{background:#3b82f61a;border-color:#3b82f640;color:#60a5fa}.invoice-line-actions .btn-icon.danger:hover{background:#ef44441a;border-color:#ef444440;color:#ef4444}.invoice-total-row{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#3b82f60f,#8b5cf60a);border-radius:10px;border:1px solid rgba(59,130,246,.1);margin-bottom:20px}.invoice-total-row .total-label{font-size:.78rem;color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.invoice-total-row .total-value{font-size:1.3rem;font-weight:800;color:#4ade80;font-family:JetBrains Mono,Fira Code,monospace;letter-spacing:-.5px}.invoice-total-row .total-currency{font-size:.78rem;color:#64748b;font-weight:600;margin-left:4px}.invoice-line-form{background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:16px}.invoice-line-form-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#64748b;margin-bottom:12px}.invoice-line-form-grid{display:flex;gap:10px;align-items:flex-end}.invoice-form-field{display:flex;flex-direction:column;gap:5px}.invoice-form-field label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#475569}.invoice-form-field input,.invoice-form-field select{padding:8px 12px;background:#0f172acc;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#e2e8f0;font-size:.85rem;transition:border-color .2s ease;outline:none;width:100%;box-sizing:border-box}.invoice-form-field input:focus,.invoice-form-field select:focus{border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f61a}.invoice-form-field .computed-amount{padding:8px 12px;background:#ffffff08;border:1px dashed rgba(255,255,255,.08);border-radius:8px;color:#94a3b8;font-size:.85rem;font-family:JetBrains Mono,Fira Code,monospace;text-align:right}.invoice-form-actions{display:flex;gap:6px;padding-bottom:2px}.invoice-form-actions button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:9px;border:none;cursor:pointer;transition:all .2s ease}.invoice-form-actions .btn-submit{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;box-shadow:0 2px 8px #3b82f64d}.invoice-form-actions .btn-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.invoice-form-actions .btn-cancel{background:#ffffff0f;color:#94a3b8;border:1px solid rgba(255,255,255,.08)}.invoice-form-actions .btn-cancel:hover{background:#ffffff1a;color:#e2e8f0}.invoice-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid rgba(255,255,255,.06);background:#00000026}.invoice-modal-footer .btn-close-modal{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:9px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.invoice-modal-footer .btn-close-modal:hover{background:#ffffff1a;color:#e2e8f0}.invoice-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:#475569;gap:8px}.invoice-empty-state svg{opacity:.3}.invoice-empty-state span{font-size:.82rem;font-style:italic}.voyage-estimator{display:flex;gap:20px;height:100%;padding:20px;background:linear-gradient(180deg,#0a0a12,#0f172a,#0a0a12)}.ve-sidebar{width:300px;min-width:300px;background:#00000059;border-radius:16px;border:1px solid rgba(255,255,255,.04);box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;overflow:hidden}.ve-sidebar-header{background:#0000004d;padding:20px;border-bottom:1px solid rgba(255,255,255,.04)}.ve-sidebar-title{display:flex;justify-content:space-between;align-items:center}.ve-sidebar-title-content{display:flex;align-items:center;gap:12px}.ve-sidebar-icon{width:40px;height:40px;border-radius:10px;background:#0d948826;border:1px solid rgba(13,148,136,.25);display:flex;align-items:center;justify-content:center;color:#0d9488}.ve-sidebar-text h4{margin:0;font-size:1rem;font-weight:700;color:#e2e8f0}.ve-sidebar-text span{color:#64748b;font-size:.7rem;font-weight:500}.ve-sidebar-actions{display:flex;gap:6px}.ve-action-btn{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.ve-action-btn:hover{background:#ffffff0f;border-color:#ffffff1a;color:#e2e8f0}.ve-action-btn.primary{background:#0d948833;border-color:#0d94884d;color:#0d9488}.ve-action-btn.primary:hover{background:#0d94884d}.ve-search-container{padding:16px}.ve-search-wrapper{position:relative}.ve-search-input{width:100%;padding:12px 12px 12px 38px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#0000004d;color:#e2e8f0;font-size:.85rem;outline:none;transition:all .2s ease}.ve-search-input::placeholder{color:#475569}.ve-search-input:focus{border-color:#0d948866;background:#0006}.ve-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#475569}.ve-estimates-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:0 12px 12px}.ve-group-header{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569}.ve-group-header svg{opacity:.6}.ve-estimate-item{padding:14px;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.03);cursor:pointer;transition:all .2s ease}.ve-estimate-item:hover{background:#ffffff0a;border-color:#ffffff0f}.ve-estimate-item.selected{background:linear-gradient(135deg,#0d94882e,#0d948814);border-color:#0d948873;border-left:3px solid #14b8a6;box-shadow:0 0 16px #0d948826,inset 0 0 20px #0d94880a;transform:translate(2px)}.ve-estimate-name{font-size:.9rem;font-weight:600;color:#e2e8f0;margin-bottom:4px}.ve-estimate-item.selected .ve-estimate-name{color:#2dd4bf;text-shadow:0 0 12px rgba(45,212,191,.3)}.ve-estimate-vessel{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:6px}.ve-estimate-tce{font-size:.9rem;font-weight:700;color:#0d9488;margin-top:8px}.ve-estimate-tce.negative{color:#ef4444}.ve-main-panel{flex:1;display:flex;flex-direction:column;background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.04);overflow:hidden}.ve-header{padding:20px 24px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center}.ve-header-title{display:flex;align-items:center;gap:14px}.ve-header-icon{width:46px;height:46px;border-radius:12px;background:#0d94881f;border:1px solid rgba(13,148,136,.2);display:flex;align-items:center;justify-content:center;color:#0d9488}.ve-header-text h2{margin:0;font-size:1.2rem;font-weight:700;color:#e2e8f0}.ve-header-text .scenario-name{font-size:.8rem;color:#64748b;margin-top:2px}.ve-header-actions{display:flex;gap:10px}.ve-tabs{display:flex;gap:2px;padding:0 20px;background:#0003;border-bottom:1px solid rgba(255,255,255,.04)}.ve-tab{display:flex;align-items:center;gap:8px;padding:14px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ve-tab:hover{color:#94a3b8;background:#ffffff05}.ve-tab.active{color:#0d9488;border-bottom-color:#0d9488}.ve-tab.active svg{color:#0d9488}.ve-tab svg{opacity:.7}.ve-content{flex:1;overflow-y:auto;padding:24px}.ve-section{margin-bottom:28px}.ve-section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.04)}.ve-section-header svg{color:#0d9488;opacity:.7}.ve-section-header h3{margin:0;font-size:.95rem;font-weight:600;color:#e2e8f0}.ve-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.ve-form-group{display:flex;flex-direction:column;gap:6px}.ve-form-group.full-width{grid-column:1 / -1}.ve-form-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.ve-form-input,.ve-form-select{padding:12px 14px;background:#00000059;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#e2e8f0;font-size:.9rem;transition:all .2s ease}.ve-form-input:focus,.ve-form-select:focus{outline:none;border-color:#0d948866;box-shadow:0 0 0 3px #0d94881a}.ve-form-input::placeholder{color:#475569}.ve-form-select option{background:#1e293b;color:#e2e8f0}.ve-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.ve-result-card{background:#00000040;border-radius:12px;padding:18px;border:1px solid rgba(255,255,255,.04)}.ve-result-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:8px}.ve-result-value{font-size:1.5rem;font-weight:700;color:#e2e8f0}.ve-result-value.positive{color:#0d9488}.ve-result-value.negative{color:#ef4444}.ve-result-unit{font-size:.8rem;font-weight:500;color:#64748b;margin-left:4px}.ve-tce-card{background:linear-gradient(135deg,#0d94881a,#0d94880d);border:1px solid rgba(13,148,136,.2);padding:24px;border-radius:14px;text-align:center}.ve-tce-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:8px}.ve-tce-value{font-size:2.4rem;font-weight:800;color:#14b8a6}.ve-tce-value.negative{color:#ef4444}.ve-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;border-radius:10px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0d948840}.ve-btn-primary:hover{background:linear-gradient(135deg,#14b8a6,#0d9488);transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.ve-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#94a3b8;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ve-btn-secondary:hover{background:#ffffff14;border-color:#ffffff1f;color:#e2e8f0}.ve-btn-danger{background:#ef444426;border:1px solid rgba(239,68,68,.2);color:#f87171}.ve-btn-danger:hover{background:#ef444440;border-color:#ef44444d}.ve-estimates-list::-webkit-scrollbar,.ve-content::-webkit-scrollbar{width:6px}.ve-estimates-list::-webkit-scrollbar-track,.ve-content::-webkit-scrollbar-track{background:#0003}.ve-estimates-list::-webkit-scrollbar-thumb,.ve-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.ve-estimates-list::-webkit-scrollbar-thumb:hover,.ve-content::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.ve-trip-types{display:flex;gap:8px;padding:6px;background:#0000004d;border-radius:12px;margin-bottom:20px}.ve-trip-type-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ve-trip-type-btn:hover{background:#ffffff08;color:#94a3b8}.ve-trip-type-btn.active{background:#0d948826;color:#0d9488}.ve-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#3b82f614;border:1px solid rgba(59,130,246,.15);border-radius:10px;margin-bottom:20px}.ve-info-card.warning{background:#d9770614;border-color:#d9770626}.ve-info-icon{color:#60a5fa;flex-shrink:0}.ve-info-card.warning .ve-info-icon{color:#d97706}.ve-info-text{font-size:.85rem;color:#94a3b8;line-height:1.5}.ve-port-breakdown{margin-top:12px;padding:14px;background:#0003;border-radius:10px;border:1px solid rgba(255,255,255,.04)}.ve-breakdown-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:10px}.ve-breakdown-item{display:flex;justify-content:space-between;padding:6px 0;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.03)}.ve-breakdown-item:last-child{border-bottom:none}.ve-breakdown-item .label{color:#94a3b8}.ve-breakdown-item .value{color:#e2e8f0;font-weight:500}.ve-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#64748b}.ve-empty-icon{font-size:3rem;margin-bottom:16px;opacity:.4}.ve-empty-text{font-size:.95rem;margin-bottom:16px}@media(max-width:1100px){.voyage-estimator{flex-direction:column}.ve-sidebar{width:100%;min-width:auto;max-height:300px}}@keyframes bunkerWarningFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.commercial-management-hub{display:flex;flex-direction:column;height:100%;background:var(--card-bg);overflow:hidden}.commercial-management-hub .hub-header{padding:1.5rem 2rem 1rem;background:linear-gradient(135deg,rgba(59,130,246,.05) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.commercial-management-hub .header-title{display:flex;align-items:center;gap:1rem}.commercial-management-hub .header-title>svg{flex-shrink:0;padding:.75rem;background:linear-gradient(135deg,#3b82f626,#3b82f614);border:1px solid rgba(59,130,246,.2);border-radius:12px;color:#60a5fa}.commercial-management-hub .header-title h1{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.commercial-management-hub .header-title p{margin:0;font-size:.85rem;color:#94a3b8}.commercial-management-hub .tab-switcher{display:flex;gap:.25rem;padding:.75rem 2rem;background:#00000026;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap;flex-shrink:0}.commercial-management-hub .tab-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:1px solid transparent;border-radius:8px;color:#94a3b8;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.commercial-management-hub .tab-btn:hover{background:#ffffff0d;color:#cbd5e1}.commercial-management-hub .tab-btn.active{background:linear-gradient(135deg,#3b82f626,#3b82f60d);border-color:#3b82f64d;color:#60a5fa}.commercial-management-hub .tab-btn .tab-label{font-weight:500}.commercial-management-hub .tab-content{flex:1;overflow:auto;background:var(--card-bg)}.commercial-management-hub .tab-content>div{height:100%}@media(max-width:768px){.commercial-management-hub .hub-header{padding:1rem 1rem .75rem}.commercial-management-hub .header-title h1{font-size:1.2rem}.commercial-management-hub .tab-switcher{padding:.5rem 1rem;overflow-x:auto}.commercial-management-hub .tab-btn{padding:.5rem .75rem;font-size:.8rem}}.bunker-manager{padding:24px;background:#0f0f1a;min-height:100vh;color:#e2e8f0}.bunker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f80,#0f172ab3,#1a1a2e80);border-radius:16px;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 32px #0003}.header-info{display:flex;align-items:center;gap:16px}.header-icon{padding:12px;background:#d9770626;border:1px solid rgba(217,119,6,.25);border-radius:12px;color:#d97706}.header-text h1{font-size:1.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#94a3b8,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-text p{color:#64748b;font-size:.85rem;margin:0}.header-actions{display:flex;gap:12px}.bunker-grid{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1024px){.bunker-grid{grid-template-columns:1fr 2fr}}.summary-card{background:#ffffff05;border-radius:16px;border:1px solid rgba(255,255,255,.06);overflow:hidden;box-shadow:0 4px 24px #00000026;margin-bottom:24px}.card-header{padding:16px 20px;background:#0003;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.card-title{display:flex;align-items:center;gap:8px;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:#64748b}.card-body{padding:16px 20px}.rob-item{background:#0f172a80;padding:16px;border-radius:8px;border:1px solid #334155;margin-bottom:16px}.rob-info{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}.fuel-code{color:#f59e0b;font-weight:700;font-size:1.125rem}.fuel-name{font-size:10px;color:#64748b;text-transform:uppercase}.rob-value{font-family:monospace;font-size:1.5rem;font-weight:700}.unit{color:#64748b;font-size:.75rem;margin-left:4px}.progress-container{width:100%;background:#1e293b;height:8px;border-radius:9999px;overflow:hidden}.progress-bar{height:100%;background:#f59e0b}.progress-stats{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:#64748b}.tank-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;transition:background .2s}.tank-item:hover{background:#3341554d}.tank-gauge{width:32px;height:48px;background:#0f172a;border-radius:2px;border:1px solid #334155;position:relative;overflow:hidden;flex-shrink:0}.gauge-fill{position:absolute;bottom:0;left:0;width:100%;background:#f59e0bcc}.tank-info{flex:1;min-width:0}.tank-top{display:flex;justify-content:space-between;align-items:flex-start}.tank-top h4{font-size:.875rem;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fuel-badge{font-size:10px;background:#334155;padding:2px 6px;border-radius:4px;color:#cbd5e1;font-weight:700}.tank-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:4px}.tank-type{font-size:.75rem;color:#64748b}.tank-level{font-size:.875rem;font-family:monospace}.capacity-muted{font-size:10px;opacity:.4}.ops-table-container{overflow-x:auto}.ops-table{width:100%;border-collapse:collapse;font-size:.875rem}.ops-table th{text-align:left;padding:12px 16px;background:#0f172a80;color:#64748b;text-transform:uppercase;font-size:.75rem;border-bottom:1px solid #334155}.ops-table td{padding:16px;border-bottom:1px solid rgba(51,65,85,.5)}.ops-table tr:hover{background:#33415533}.op-date{font-weight:700}.op-type{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:-.02em}.supplier-row{display:flex;align-items:center;gap:8px}.bdn-info{font-size:10px;color:#64748b;font-style:italic;margin-top:2px}.qty-value{font-family:monospace;font-size:1rem;font-weight:700;color:#fff}.qty-diff{font-size:10px}.qty-diff.negative{color:#f87171}.qty-diff.positive{color:#4ade80}.spec-info{font-size:.75rem;color:#cbd5e1}.cost-value{font-weight:700;color:#e2e8f0}.unit-price{font-size:10px;color:#64748b}.btn{padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:8px}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-amber{background:#d97706;color:#fff;box-shadow:0 4px 6px -1px #78350f33}.btn-amber:hover{background:#b45309}.btn-secondary{background:#334155;color:#e2e8f0}.btn-secondary:hover{background:#475569}.btn-danger{background:#ef4444;color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{background:#1e293b;border:1px solid #334155;border-radius:16px;width:100%;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.modal-header{padding:16px;background:#33415580;border-bottom:1px solid #334155;display:flex;justify-content:space-between;align-items:center}.form-group.full{grid-column:span 2}.form-label{display:block;font-size:10px;text-transform:uppercase;color:#64748b;margin-bottom:4px}.form-input{width:100%;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:8px 12px;color:#fff;outline:none}.form-input:focus{border-color:#f59e0b}.info-box{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);padding:12px;border-radius:8px;display:flex;gap:12px;margin-top:16px;margin-bottom:24px}.info-box p{font-size:10px;color:#f59e0bcc;margin:0}.empty-state{text-align:center;padding:80px 0;color:#64748b}.empty-icon{opacity:.1;margin-bottom:16px}.date-range-bar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;margin-bottom:16px;background:linear-gradient(135deg,#0f172a99,#1e293b66);border:1px solid rgba(255,255,255,.06);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.date-range-inputs{display:flex;align-items:center;gap:10px;flex-shrink:0}.date-field{display:flex;flex-direction:column;gap:2px}.date-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:600}.date-input{background:#0f172a;border:1px solid #334155;border-radius:6px;padding:6px 10px;color:#e2e8f0;font-size:.8rem;font-family:monospace;outline:none;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-width:130px}.date-input:focus{border-color:#d97706;box-shadow:0 0 0 2px #d9770626}.date-input::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.date-separator{color:#475569;font-size:1.1rem;margin-top:14px;-webkit-user-select:none;user-select:none}.period-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:#d977061a;border:1px solid rgba(217,119,6,.2);border-radius:20px;color:#f59e0b;font-size:.75rem;font-weight:600;font-family:monospace;white-space:nowrap;margin-top:6px}.preset-pills{display:flex;gap:4px;padding:3px;background:#0f172a80;border:1px solid rgba(255,255,255,.04);border-radius:8px}.preset-pill{padding:5px 10px;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:all .2s ease;white-space:nowrap}.preset-pill:hover{background:#ffffff0f;color:#e2e8f0}.preset-pill.active{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;box-shadow:0 2px 8px #d977064d}.chart-filters{display:flex;align-items:center;gap:8px;margin-left:auto}@keyframes chartFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-body .p-2{animation:chartFadeIn .4s ease-out}.monthly-report-manager{padding:24px;background:var(--glass-bg, rgba(30, 41, 59, .95));min-height:100%}.monthly-report-manager .manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.monthly-report-manager .header-title{display:flex;align-items:center;gap:12px}.monthly-report-manager .header-title h2{font-size:1.5rem;font-weight:600;color:var(--text-primary, #f1f5f9);margin:0}.monthly-report-manager .header-title svg{color:var(--accent-blue, #38bdf8)}.monthly-report-manager .vessel-tag{background:#3b82f633;color:#3b82f6;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500}.monthly-report-manager .header-actions{display:flex;gap:12px}.monthly-report-manager .filters-bar{display:flex;gap:16px;margin-bottom:20px}.monthly-report-manager .filter-group{display:flex;flex-direction:column;gap:6px}.monthly-report-manager .filter-group label{font-size:.75rem;font-weight:500;color:var(--text-secondary, #94a3b8);text-transform:uppercase}.monthly-report-manager .filter-group select{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;color:var(--text-primary, #f1f5f9);min-width:150px}.monthly-report-manager .ytd-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.monthly-report-manager .summary-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .2s}.monthly-report-manager .summary-card:hover{background:#ffffff0d;border-color:#ffffff26}.monthly-report-manager .summary-card .card-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#3b82f626;color:#3b82f6}.monthly-report-manager .summary-card.fuel .card-icon{background:#f59e0b26;color:#f59e0b}.monthly-report-manager .summary-card.co2 .card-icon{background:#ef444426;color:#ef4444}.monthly-report-manager .summary-card.ets .card-icon{background:#a855f726;color:#a855f7}.monthly-report-manager .summary-card .card-content{display:flex;flex-direction:column}.monthly-report-manager .summary-card .card-value{font-size:1.4rem;font-weight:700;color:var(--text-primary, #f1f5f9)}.monthly-report-manager .summary-card .card-label{font-size:.75rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase}.monthly-report-manager .reports-table-container{background:#0003;border-radius:12px;overflow:hidden;margin-bottom:24px}.monthly-report-manager .dt-table{width:100%;border-collapse:collapse}.monthly-report-manager .dt-table thead th{background:#0000004d;padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #94a3b8);text-transform:uppercase}.monthly-report-manager .dt-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .15s}.monthly-report-manager .dt-table tbody tr:hover{background:#3b82f614}.monthly-report-manager .dt-table tbody tr.selected{background:#3b82f626}.monthly-report-manager .dt-table tbody td{padding:12px 16px;color:var(--text-primary, #f1f5f9)}.monthly-report-manager .status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600}.monthly-report-manager .status-badge.locked{background:#22c55e26;color:#22c55e}.monthly-report-manager .status-badge.draft{background:#64748b26;color:#94a3b8}.monthly-report-manager .empty-cell{text-align:center;color:var(--text-muted, #64748b);padding:40px!important}.monthly-report-manager .report-details{background:#0003;border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.08)}.monthly-report-manager .report-details h3{font-size:1.1rem;font-weight:600;color:var(--accent-blue, #38bdf8);margin-bottom:20px}.monthly-report-manager .details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.monthly-report-manager .details-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px}.monthly-report-manager .details-card h4{font-size:.9rem;font-weight:600;color:var(--text-primary, #f1f5f9);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.monthly-report-manager .details-card.emissions{border-color:#ef44444d}.monthly-report-manager .details-card.mrv{border-color:#a855f74d}.monthly-report-manager .detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.monthly-report-manager .detail-row span{color:var(--text-secondary, #94a3b8);font-size:.85rem}.monthly-report-manager .detail-row strong{color:var(--text-primary, #f1f5f9);font-weight:600}.monthly-report-manager .detail-row.total{border-top:1px solid rgba(255,255,255,.1);margin-top:8px;padding-top:10px}.monthly-report-manager .detail-row.ets strong{color:#a855f7;font-size:1.1rem}.monthly-report-manager .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.monthly-report-manager .modal-content{background:var(--glass-bg, rgba(30, 41, 59, .98));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:16px;width:100%;max-width:500px;box-shadow:0 20px 50px #00000080}.monthly-report-manager .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.monthly-report-manager .modal-header h3{font-size:1.2rem;font-weight:600;color:var(--text-primary, #f1f5f9);margin:0}.monthly-report-manager .close-btn{background:none;border:none;color:var(--text-secondary, #94a3b8);font-size:28px;cursor:pointer;line-height:1}.monthly-report-manager .modal-body{padding:24px}.monthly-report-manager .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.monthly-report-manager .modal-body .form-group{margin-bottom:16px}.monthly-report-manager .modal-body label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary, #94a3b8);margin-bottom:6px}.monthly-report-manager .modal-body select{width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:var(--text-primary, #f1f5f9)}.monthly-report-manager .helper-text{font-size:.85rem;color:var(--text-muted, #64748b);margin-top:16px;padding:12px;background:#3b82f614;border-radius:8px;border-left:3px solid #3b82f6}.monthly-report-manager .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);background:#0000001a}.monthly-report-manager .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.monthly-report-manager .btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none}.monthly-report-manager .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.monthly-report-manager .btn-secondary{background:#64748b33;color:var(--text-secondary, #94a3b8);border:1px solid rgba(100,116,139,.3)}.monthly-report-manager .btn-secondary:hover{background:#64748b4d;color:var(--text-primary, #f1f5f9)}.monthly-report-manager .btn:disabled{opacity:.5;cursor:not-allowed}.monthly-report-manager .btn-icon{background:none;border:none;color:var(--text-secondary, #94a3b8);padding:6px;border-radius:6px;cursor:pointer;transition:all .15s}.monthly-report-manager .btn-icon:hover{background:#ffffff14;color:var(--text-primary, #f1f5f9)}@media(max-width:1200px){.monthly-report-manager .ytd-summary{grid-template-columns:repeat(3,1fr)}.monthly-report-manager .details-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.monthly-report-manager .ytd-summary{grid-template-columns:repeat(2,1fr)}.monthly-report-manager .details-grid{grid-template-columns:1fr}.monthly-report-manager .manager-header{flex-direction:column;gap:16px;align-items:flex-start}}.compliance-export{padding:24px;max-width:1400px;margin:0 auto}.compliance-header{margin-bottom:24px}.compliance-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.compliance-title h1{margin:0;font-size:1.75rem;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.compliance-title svg{color:#22c55e}.compliance-subtitle{color:var(--text-secondary);margin:0;font-size:.95rem}.compliance-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-bottom:20px}.compliance-card h3{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.selection-panel{background:linear-gradient(135deg,#22c55e0d,#22c55e05);border-color:#22c55e33}.selection-row{display:flex;gap:24px;flex-wrap:wrap}.selection-group{flex:1;min-width:250px}.selection-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.select-input{width:100%;padding:10px 14px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:border-color .2s,box-shadow .2s}.select-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.vessel-info{margin-top:16px;padding:12px 16px;background:#22c55e1a;border-radius:8px;border-left:3px solid #22c55e}.vessel-info .vessel-name{font-weight:600;color:var(--text-primary);display:block;margin-bottom:4px}.vessel-info .vessel-details{font-size:.85rem;color:var(--text-secondary)}.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:20px}.export-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s}.export-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.export-card.mrv{border-top:3px solid #3b82f6}.export-card.dcs{border-top:3px solid #8b5cf6}.export-card.combined{border-top:3px solid #22c55e}.export-icon{display:flex;align-items:center;gap:8px;margin-bottom:12px}.export-icon img{height:24px}.export-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.export-badge.imo{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.export-badge.combined{background:linear-gradient(135deg,#22c55e,#16a34a)}.export-card h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.export-card>p{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.export-features{list-style:none;padding:0;margin:0 0 16px}.export-features li{padding:4px 0;font-size:.85rem;color:var(--text-secondary)}.export-features li:before{content:"✓";color:#22c55e;margin-right:8px;font-weight:600}.btn-export{width:100%;padding:12px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.btn-export.mrv{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.btn-export.mrv:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-export.dcs{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.btn-export.dcs:hover:not(:disabled){box-shadow:0 4px 12px #8b5cf666;transform:translateY(-1px)}.btn-export.combined{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-export.combined:hover:not(:disabled){box-shadow:0 4px 12px #22c55e66;transform:translateY(-1px)}.btn-export:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.export-result{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:8px;margin-top:16px}.export-result.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.export-result.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.status-table-wrapper{overflow-x:auto;margin-bottom:16px}.status-table{width:100%;border-collapse:collapse;font-size:.9rem}.status-table th{text-align:left;padding:12px 16px;background:#0000001a;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.status-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.status-table td.center{text-align:center}.status-table .vessel-name-cell{font-weight:500}.status-table tbody tr:hover{background:#22c55e0d}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.not-started,.status-badge.not_started{background:#64748b33;color:#94a3b8}.status-badge.prepared{background:#3b82f633;color:#3b82f6}.status-badge.submitted{background:#eab30833;color:#eab308}.status-badge.verified{background:#22c55e33;color:#22c55e}.status-badge.rejected{background:#ef444433;color:#ef4444}.status-badge.n\/a{background:#64748b1a;color:#64748b}.compliance-settings{display:flex;gap:12px;flex-wrap:wrap}.setting-badge{padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:500}.setting-badge.enabled{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.setting-badge.disabled{background:#64748b26;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.help-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.help-item{padding:16px;background:#0000000d;border-radius:8px}.help-item h4{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.help-item p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.help-item a{color:#22c55e;text-decoration:none}.help-item a:hover{text-decoration:underline}@media(max-width:768px){.compliance-export{padding:16px}.selection-row{flex-direction:column}.export-grid{grid-template-columns:1fr}}.compliance-export.embedded{padding:16px}.compliance-export.embedded .compliance-card{margin-bottom:20px}.compliance-export.embedded .selection-panel{background:linear-gradient(135deg,#22c55e14,#22c55e05);border:1px solid rgba(34,197,94,.15);padding:16px;margin-bottom:20px;border-radius:12px}.compliance-export.embedded .vessel-info{margin-top:12px}.compliance-export.embedded .export-grid{gap:20px}.compliance-export.embedded .help-panel{background:#0000000d}.reporting-hub{display:flex;flex-direction:column;gap:20px}.reporting-hub .hub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.reporting-hub .hub-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:1.4rem;color:var(--text-primary)}.reporting-hub .hub-header .vessel-badge{background:var(--accent-color);color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.reporting-hub .tab-navigation{display:flex;gap:4px;background:var(--bg-secondary);padding:6px;border-radius:10px;border:1px solid var(--border-color)}.reporting-hub .tab-button{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease}.reporting-hub .tab-button:hover{background:var(--bg-hover);color:var(--text-primary)}.reporting-hub .tab-button.active{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px #6366f14d}.reporting-hub .tab-panel{background:var(--bg-card);border-radius:12px;padding:20px;border:1px solid var(--border-color)}.user-role-manager{height:100%;display:flex;flex-direction:column;background:var(--color-bg-secondary, #0f172a);color:var(--color-text, #e2e8f0);border-radius:12px;overflow:hidden}.urm-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#8b5cf626,#3b82f61a);border-bottom:1px solid rgba(255,255,255,.1)}.urm-header__title{display:flex;align-items:center;gap:12px}.urm-header__title h2{margin:0;font-size:1.35rem;font-weight:600;display:flex;align-items:center;gap:10px}.urm-header__title .emoji-icon{font-size:1.5rem}.urm-tabs{display:flex;gap:4px;padding:10px 20px;background:var(--color-bg-primary, #1e293b);border-bottom:1px solid rgba(255,255,255,.05)}.urm-tab{display:flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;border:none;color:var(--color-text-muted, #94a3b8);cursor:pointer;font-size:.9rem;border-radius:8px;transition:all .2s}.urm-tab:hover{background:#ffffff0d;color:var(--color-text, #e2e8f0)}.urm-tab.active{background:#8b5cf633;color:#a78bfa;font-weight:500}.urm-tab .count{background:#ffffff1a;padding:2px 8px;border-radius:10px;font-size:.75rem}.urm-tab.active .count{background:#8b5cf64d}.urm-content{flex:1;overflow-y:auto;padding:20px}.urm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 16px;background:var(--color-bg-primary, #1e293b);border-radius:8px;border:1px solid rgba(255,255,255,.05)}.urm-toolbar-left{display:flex;gap:12px;align-items:center;flex:1;min-width:0;overflow:hidden}.urm-search{padding:10px 14px;background:var(--color-bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text);font-size:.9rem;min-width:250px;transition:border-color .2s}.urm-search:focus{outline:none;border-color:var(--color-accent, #3b82f6)}.urm-filter{padding:10px 14px;background:var(--color-bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text);font-size:.9rem;min-width:150px}.urm-table{width:100%;border-collapse:collapse;background:var(--color-bg-primary, #1e293b);border-radius:8px;overflow:hidden}.urm-table th,.urm-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.urm-table th{background:#0003;font-size:.75rem;font-weight:600;color:var(--color-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px}.urm-table td{font-size:.9rem}.urm-table tbody tr{transition:background .15s}.urm-table tbody tr:hover{background:#ffffff08}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem}.user-info{display:flex;flex-direction:column}.user-name{font-weight:500;color:var(--color-text)}.user-rank{font-size:.75rem;color:var(--color-text-muted, #64748b)}.type-badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.type-badge.internal{background:#6366f133;color:#818cf8}.type-badge.protocol{background:linear-gradient(135deg,#eab30840,#fbbf2426);color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.type-badge.shore-admin{background:#ef444433;color:#f87171}.type-badge.shore-user{background:#3b82f633;color:#60a5fa}.type-badge.offshore{background:#22c55e33;color:#4ade80}.type-badge.external{background:#fbbf2433;color:#fbbf24}.roles-cell{color:var(--color-text-muted, #94a3b8);font-size:.85rem}.no-roles{font-style:italic;opacity:.6}.actions-cell{display:flex;gap:6px}.btn-icon{padding:8px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:.9rem}.btn-icon:hover{background:#ffffff0d;color:var(--color-text);border-color:#fff3}.btn-icon.danger:hover{background:#ef44441a;color:#ef4444;border-color:#ef44444d}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.role-card{background:var(--color-bg-primary, #1e293b);border-radius:10px;padding:18px;border:1px solid rgba(255,255,255,.08);transition:border-color .2s}.role-card:hover{border-color:#ffffff26}.role-card.system{border-color:#8b5cf64d}.role-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.role-card__title{display:flex;align-items:center;gap:8px}.role-card__title h3{margin:0;font-size:1rem;font-weight:600}.system-badge{background:#8b5cf633;color:#a78bfa;padding:2px 8px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase}.role-card__actions{display:flex;gap:4px}.role-card__description{color:var(--color-text-muted, #94a3b8);font-size:.85rem;margin-bottom:14px;line-height:1.4}.role-card__meta{display:flex;gap:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.role-card__stat{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-muted)}.role-card__code{font-family:monospace;font-size:.75rem;color:var(--color-text-muted);margin-top:10px}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.permission-domain{background:var(--color-bg-primary, #1e293b);border-radius:10px;padding:16px;border:1px solid rgba(255,255,255,.08)}.domain-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.domain-header h4{margin:0;font-size:.9rem;font-weight:600;color:#a78bfa;text-transform:capitalize}.domain-count{background:#8b5cf633;color:#a78bfa;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600}.permission-list{display:flex;flex-direction:column;gap:8px}.permission-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#0003;border-radius:6px}.permission-item code{font-size:.75rem;color:#60a5fa}.permission-item .perm-name{font-size:.8rem;color:var(--color-text-muted)}.empty-state{text-align:center;padding:48px 24px;color:var(--color-text-muted, #64748b)}.empty-state .emoji-icon{font-size:3rem;opacity:.5;margin-bottom:16px}.empty-state h4{margin:0 0 8px;color:var(--color-text)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.btn-primary{background:var(--color-accent, #3b82f6);color:#fff}.btn-secondary{background:#ffffff1a;color:var(--color-text)}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--color-text-muted, #94a3b8);white-space:nowrap;flex-shrink:0;padding:8px 14px;font-size:.85rem}.btn-ghost:hover{background:#ffffff0f;border-color:#fff3;color:var(--color-text, #e2e8f0)}.urm-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--color-bg-secondary, #1e293b);border-radius:12px;width:90%;max-width:700px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}.modal-content.modal-lg{max-width:950px}.modal-content.modal-xl{max-width:1250px;width:95%}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{margin:0;font-size:1.15rem}.btn-close{background:transparent;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;line-height:1}.btn-close:hover{color:var(--color-text)}.modal-body{flex:1;overflow-y:auto;padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.1)}.form-group label{font-size:.8rem;font-weight:500;color:var(--color-text-muted, #94a3b8)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;background:var(--color-bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text);font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent, #3b82f6)}.form-section{margin-top:24px}.form-section h4{margin:0 0 12px;font-size:.95rem;font-weight:600}.form-section .subtitle{color:var(--color-text-muted);font-size:.85rem;margin-bottom:16px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.checkbox-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#0003;border-radius:6px;cursor:pointer;transition:background .2s}.checkbox-item:hover{background:#0000004d}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent, #3b82f6);cursor:pointer}.checkbox-item .checkbox-label{display:flex;flex-direction:column}.checkbox-item .checkbox-name{font-size:.9rem;color:var(--color-text)}.checkbox-item .checkbox-badge{font-size:.65rem;color:#a78bfa}.permissions-editor{max-height:500px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.perm-domain-section{background:#0f172a66;border-radius:12px;padding:20px;margin-bottom:24px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.perm-domain-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid rgba(139,92,246,.2)}.perm-domain-title{font-weight:800;color:#a78bfa;text-transform:uppercase;font-size:.9rem;letter-spacing:1.5px}.perm-domain-count{font-size:.8rem;color:var(--color-text-muted)}.perm-domain-actions{display:flex;align-items:center;gap:12px}.btn-select-all{padding:6px 12px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:6px;color:#a78bfa;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-select-all:hover{background:#8b5cf640;border-color:#8b5cf680;transform:translateY(-1px)}.btn-link{background:none;border:none;color:#60a5fa;font-size:.8rem;cursor:pointer;padding:0}.btn-link:hover{text-decoration:underline}.perm-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.perm-checkbox{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:#1e293b80;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.perm-checkbox:hover{background:#8b5cf61a;border-color:#8b5cf666;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.perm-checkbox input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer;accent-color:#a78bfa}.perm-checkbox-label{display:flex;flex-direction:column;gap:2px;flex:1}.perm-checkbox-label span{font-size:.95rem;font-weight:600;color:var(--color-text-muted);transition:color .2s}.perm-checkbox:hover .perm-checkbox-label span{color:#fff}.perm-checkbox-label code{font-size:.7rem;color:#a78bfa80;font-family:JetBrains Mono,monospace;transition:color .2s}.perm-checkbox:hover .perm-checkbox-label code{color:#a78bfa}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--color-text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-accent, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}.text-muted{color:var(--color-text-muted, #94a3b8)}.crew-manifest{display:flex;flex-direction:column;gap:20px}.vessel-crew-card{background:var(--color-bg-primary, #1e293b);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.vessel-crew-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:linear-gradient(135deg,#10b98126,#06b6d41a);border-bottom:1px solid rgba(255,255,255,.08)}.vessel-crew-header h3{margin:0;font-size:1rem;font-weight:600}.crew-count{background:#10b98133;color:#34d399;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.vessel-crew-card .urm-table{border-radius:0}.type-badge.deck{background:#3b82f633;color:#60a5fa}.type-badge.engine{background:#fb923c33;color:#fb923c}.type-badge.catering{background:#a855f733;color:#c084fc}.crew-pool{background:var(--color-bg-primary, #1e293b);border-radius:10px;padding:18px;border:1px solid rgba(255,255,255,.08)}.crew-pool h3{margin:0;font-size:1rem;color:var(--color-text)}.tenant-manager{padding:24px;max-width:1400px;margin:0 auto}.tenant-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;margin-bottom:24px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.tenant-header h1{margin:0;font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.tenant-header .subtitle{margin:6px 0 0;color:#64748b;font-size:.85rem;font-weight:500}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:20px 24px;text-align:center;transition:all .2s ease}.stat-card:hover{background:#ffffff0a;border-color:#ffffff1a}.stat-value{font-size:2rem;font-weight:800;color:#22c55e;text-shadow:0 0 20px rgba(34,197,94,.3)}.stat-label{font-size:.75rem;color:#64748b;margin-top:6px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.tenants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.tenant-card{background:linear-gradient(135deg,#1e293bcc,#0f172ae6);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px;transition:all .2s ease}.tenant-card:hover{border-color:#22c55e4d;box-shadow:0 8px 32px #0000004d}.tenant-card.inactive-card{opacity:.5}.tenant-card-header{display:flex;flex-direction:column;gap:6px}.tenant-name-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tenant-name{margin:0;font-size:1.1rem;font-weight:700;color:#f1f5f9}.tenant-code{font-size:.8rem;color:#64748b}.tenant-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.tenant-stat{text-align:center}.tenant-stat-value{font-size:1.5rem;font-weight:800;color:#22c55e}.tenant-stat-label{font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:4px}.tenant-card-info{display:flex;flex-direction:column;gap:8px}.tenant-info-row{display:flex;justify-content:space-between;align-items:center}.tenant-info-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.tenant-info-value{font-size:.85rem;color:#94a3b8}.tenant-card-actions{margin-top:auto}.tenant-action-btn{width:100%;padding:12px 16px;border-radius:10px;font-size:.8rem;font-weight:700;cursor:pointer;border:none;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.tenant-action-primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#000}.tenant-action-primary:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 16px #22c55e4d}.tenant-card-secondary-actions{display:flex;justify-content:center;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.04)}.tenant-icon-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:8px 12px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.tenant-icon-btn:hover{background:#ffffff1a;border-color:#ffffff26}.tenant-icon-warning:hover{background:#f59e0b26;border-color:#f59e0b4d}.tenant-icon-success:hover{background:#22c55e26;border-color:#22c55e4d}.tenant-icon-danger:hover{background:#ef444426;border-color:#ef44444d}.tenant-icon-purge{border-color:#dc262640!important}.tenant-icon-purge:hover{background:#dc262640!important;border-color:#dc262680!important;box-shadow:0 0 12px #dc262633}.tenant-filter-bar{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;margin-bottom:20px;flex-wrap:wrap}.filter-search{flex:1;min-width:200px}.filter-search-input{width:100%;padding:10px 14px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#e2e8f0;font-size:.85rem;outline:none;transition:all .2s ease}.filter-search-input:focus{border-color:#22c55e66;background:#0006}.filter-search-input::placeholder{color:#64748b}.filter-buttons{display:flex;align-items:center;gap:8px}.filter-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.filter-btn{padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:#64748b;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#ffffff0d;border-color:#ffffff1f}.filter-btn.active{background:#22c55e1a;border-color:#22c55e66;color:#22c55e}.filter-clear-btn{padding:6px 12px;border-radius:8px;border:none;background:#ef44441a;color:#ef4444;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-clear-btn:hover{background:#ef444433}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background:#4caf5033;color:#4caf50}.badge-info{background:#2196f333;color:#2196f3}.badge-warning{background:#ff980033;color:#ff9800}.badge-danger{background:#f4433633;color:#f44336}.btn-icon{background:transparent;border:none;padding:6px 8px;cursor:pointer;font-size:1rem;border-radius:6px;transition:background .2s}.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary, #888)}.empty-state h3{margin:0 0 8px;color:var(--text-primary, #e0e0e0)}.loading{padding:40px;text-align:center;color:var(--text-secondary, #888)}.modal{background:var(--modal-bg, #1e1e2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:16px;width:90%;max-height:90vh;overflow-y:auto}.modal-lg{max-width:700px}.modal-header h2{margin:0;font-size:1.25rem}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #888);cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.85rem;color:var(--text-secondary, #aaa);margin-bottom:6px;font-weight:500}.form-group input,.form-group select{padding:10px 12px;border:1px solid var(--border-color, rgba(255, 255, 255, .2));border-radius:8px;background:var(--input-bg, rgba(0, 0, 0, .3));color:var(--text-primary, #e0e0e0);font-size:.95rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-color, #00d4ff)}.form-group small{margin-top:4px;font-size:.75rem;color:var(--text-secondary, #666)}.provision-success{text-align:center;padding:20px}.success-icon{font-size:3rem;margin-bottom:16px}.provision-success h3{margin:0 0 24px;color:#4caf50}.result-details{background:#0003;border-radius:12px;padding:20px;text-align:left}.result-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.result-item:last-child{border-bottom:none}.result-item label{color:var(--text-secondary, #888)}.result-item code{font-family:Monaco,Consolas,monospace;color:var(--accent-color, #00d4ff)}.result-item.highlight{background:#ff98001a;margin:10px -20px -20px;padding:16px 20px;border-radius:0 0 12px 12px}.result-item .password{color:#ff9800;font-size:1.1rem;font-weight:600}.warning-text{margin-top:20px;color:#ff9800;font-size:.9rem}.view-details .detail-section{margin-bottom:24px}.view-details .detail-section h4{margin:0 0 12px;color:var(--text-secondary, #aaa);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-grid label{color:var(--text-secondary, #888);margin-right:8px}.mini-table{width:100%;border-collapse:collapse;font-size:.9rem}.mini-table th,.mini-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.mini-table th{color:var(--text-secondary, #888);font-weight:500}.btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--accent-color, #00d4ff);color:#000}.btn-primary:hover{background:var(--accent-hover, #00b8e0)}.btn-primary:disabled{background:#444;color:#888;cursor:not-allowed}.btn-secondary{background:#ffffff1a;color:var(--text-primary, #e0e0e0)}.table-classification-manager{padding:4px}.tcm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#0d948814,#0f172ae6);border:1px solid rgba(255,255,255,.06);border-radius:16px;margin-bottom:20px}.tcm-header-left{display:flex;align-items:center;gap:16px}.tcm-header-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0d948826;border:1px solid rgba(13,148,136,.25);border-radius:12px}.tcm-header-icon svg{color:#14b8a6}.tcm-header-title{margin:0;font-size:1.25rem;font-weight:700;color:#e2e8f0}.tcm-header-subtitle{margin:4px 0 0;font-size:.8rem;color:#64748b}.tcm-refresh-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#64748b;cursor:pointer;transition:all .2s ease}.tcm-refresh-btn:hover{background:#ffffff14;color:#e2e8f0}.tcm-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.tcm-refresh-btn svg.spinning{animation:tcmSpin 1s linear infinite}@keyframes tcmSpin{to{transform:rotate(360deg)}}.tcm-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}@media(max-width:1200px){.tcm-stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.tcm-stats-grid{grid-template-columns:repeat(2,1fr)}}.tcm-stat-card{padding:18px 16px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:14px;cursor:pointer;transition:all .2s ease;text-align:center}.tcm-stat-card:hover{background:#ffffff0a}.tcm-stat-card.active{border-width:2px}.tcm-stat-card.system{border-color:#8b5cf633}.tcm-stat-card.system:hover,.tcm-stat-card.system.active{border-color:#8b5cf680;background:#8b5cf61a}.tcm-stat-card.system .tcm-stat-value{color:#a78bfa}.tcm-stat-card.global{border-color:#ef444433}.tcm-stat-card.global:hover,.tcm-stat-card.global.active{border-color:#ef444480;background:#ef44441a}.tcm-stat-card.global .tcm-stat-value{color:#f87171}.tcm-stat-card.extensible{border-color:#3b82f633}.tcm-stat-card.extensible:hover,.tcm-stat-card.extensible.active{border-color:#3b82f680;background:#3b82f61a}.tcm-stat-card.extensible .tcm-stat-value{color:#60a5fa}.tcm-stat-card.hybrid{border-color:#eab30833}.tcm-stat-card.hybrid:hover,.tcm-stat-card.hybrid.active{border-color:#eab30880;background:#eab3081a}.tcm-stat-card.hybrid .tcm-stat-value{color:#fbbf24}.tcm-stat-card.tenant{border-color:#0d948833}.tcm-stat-card.tenant:hover,.tcm-stat-card.tenant.active{border-color:#0d948880;background:#0d94881a}.tcm-stat-card.tenant .tcm-stat-value{color:#14b8a6}.tcm-stat-card.unclassified{border-color:#64748b33}.tcm-stat-card.unclassified:hover,.tcm-stat-card.unclassified.active{border-color:#64748b80;background:#64748b1a}.tcm-stat-card.unclassified .tcm-stat-value{color:#94a3b8}.tcm-stat-value{font-size:1.75rem;font-weight:700;margin-bottom:4px}.tcm-stat-label{font-size:.75rem;color:#64748b;display:flex;align-items:center;justify-content:center;gap:6px}.tcm-stat-emoji{font-size:1rem}.tcm-legend{display:flex;flex-wrap:wrap;gap:20px;padding:16px 20px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:12px;margin-bottom:16px}.tcm-legend-item{font-size:.75rem;color:#94a3b8;display:flex;align-items:center;gap:6px}.tcm-legend-item .legend-type{font-weight:700}.tcm-legend-item .legend-type.system{color:#a78bfa}.tcm-legend-item .legend-type.global{color:#f87171}.tcm-legend-item .legend-type.extensible{color:#60a5fa}.tcm-legend-item .legend-type.hybrid{color:#fbbf24}.tcm-legend-item .legend-type.tenant{color:#14b8a6}.tcm-classification-select{width:100%;padding:8px 30px 8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#e2e8f0;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.tcm-classification-select:hover{border-color:#ffffff26}.tcm-classification-select:focus{outline:none;border-color:#0d948866;box-shadow:0 0 0 3px #0d94881a}.tcm-classification-select:disabled{opacity:.5;cursor:not-allowed}.tcm-classification-select option{background:#1e293b;color:#e2e8f0;padding:8px}.tcm-classification-select.system{background-color:#8b5cf626;border-color:#8b5cf640}.tcm-classification-select.global{background-color:#ef444426;border-color:#ef444440}.tcm-classification-select.extensible{background-color:#3b82f626;border-color:#3b82f640}.tcm-classification-select.hybrid{background-color:#eab30826;border-color:#eab30840}.tcm-classification-select.tenant{background-color:#0d948826;border-color:#0d948840}.tcm-override-keys{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.tcm-key-badge{display:inline-block;padding:2px 8px;background:#eab30826;border:1px solid rgba(234,179,8,.25);border-radius:4px;color:#fbbf24;font-size:.7rem;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:500}.tcm-id-field-display{font-size:.65rem;color:#60a5fa;font-family:SF Mono,Monaco,Consolas,monospace}.tcm-id-field-display span{color:#64748b}.tcm-edit-config-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:none;color:#64748b;font-size:.75rem;cursor:pointer;border-radius:6px;transition:all .2s ease;margin-top:4px}.tcm-edit-config-btn:hover{background:#ffffff0f;color:#e2e8f0}.tcm-edit-config-btn .underline{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.tcm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:tcmModalFadeIn .2s ease}@keyframes tcmModalFadeIn{0%{opacity:0}to{opacity:1}}.tcm-modal{background:linear-gradient(180deg,#1e293bfa,#0f172afa);border-radius:20px;width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.06);animation:tcmModalSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes tcmModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tcm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#0003;border-bottom:1px solid rgba(255,255,255,.06)}.tcm-modal-header-left{display:flex;align-items:center;gap:14px}.tcm-modal-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.25rem}.tcm-modal-icon.hybrid{background:#eab30826;border:1px solid rgba(234,179,8,.25)}.tcm-modal-icon.extensible{background:#3b82f626;border:1px solid rgba(59,130,246,.25)}.tcm-modal-title{margin:0;font-size:1.05rem;font-weight:700;color:#e2e8f0}.tcm-modal-table-name{display:flex;align-items:center;gap:8px;margin-top:4px}.tcm-modal-table-name .label{font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.tcm-modal-table-name .name{font-size:.8rem;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:600;padding:2px 10px;border-radius:6px}.tcm-modal-table-name .name.hybrid{color:#fbbf24;background:#eab3081a;border:1px solid rgba(234,179,8,.2)}.tcm-modal-table-name .name.extensible{color:#60a5fa;background:#3b82f61a;border:1px solid rgba(59,130,246,.2)}.tcm-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#64748b;cursor:pointer;transition:all .2s ease;font-size:1.25rem;font-weight:600}.tcm-modal-close:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.tcm-modal-body{padding:24px;overflow-y:auto;flex:1}.tcm-modal-body::-webkit-scrollbar{width:6px}.tcm-modal-body::-webkit-scrollbar-track{background:#ffffff05}.tcm-modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.tcm-modal-section{margin-bottom:28px}.tcm-modal-section:last-child{margin-bottom:0}.tcm-modal-section-label{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:8px}.tcm-modal-section-label .icon{font-size:.9rem}.tcm-modal-section-label .required{color:#ef4444}.tcm-modal-section-hint{font-size:.75rem;color:#475569;margin-bottom:14px;line-height:1.5}.tcm-id-field-select-wrapper{position:relative;max-width:360px}.tcm-id-field-select{width:100%;height:48px;padding:0 40px 0 16px;background:#00000040;border:2px solid rgba(255,255,255,.08);border-radius:12px;color:#e2e8f0;font-size:.9rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .2s ease}.tcm-id-field-select:hover{border-color:#ffffff26}.tcm-id-field-select:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a}.tcm-id-field-select option{background:#1e293b;color:#e2e8f0;padding:10px}.tcm-id-field-select-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none;font-size:.7rem;transition:color .2s}.tcm-id-field-select-wrapper:hover .tcm-id-field-select-arrow{color:#60a5fa}.tcm-keys-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:240px;overflow-y:auto;padding:4px}.tcm-keys-grid::-webkit-scrollbar{width:6px}.tcm-keys-grid::-webkit-scrollbar-track{background:#ffffff05}.tcm-keys-grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.tcm-key-option{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffff05;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.tcm-key-option:hover{background:#ffffff0d;border-color:#ffffff14}.tcm-key-option.selected{background:#eab3081a;border-color:#eab3084d}.tcm-key-checkbox{width:16px;height:16px;border-radius:4px;border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.tcm-key-option.selected .tcm-key-checkbox{background:#fbbf24;border-color:#fbbf24;box-shadow:0 2px 8px #eab3084d}.tcm-key-checkbox .check{color:#000;font-size:.6rem;font-weight:700}.tcm-key-name{font-size:.8rem;font-family:SF Mono,Monaco,Consolas,monospace;color:#94a3b8;transition:color .2s}.tcm-key-option.selected .tcm-key-name{color:#e2e8f0;font-weight:600}.tcm-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;background:#00000026;border-top:1px solid rgba(255,255,255,.05)}.tcm-modal-btn-cancel{padding:10px 20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#94a3b8;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tcm-modal-btn-cancel:hover{background:#ffffff14;color:#e2e8f0}.tcm-modal-btn-save{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0d948840}.tcm-modal-btn-save:hover:not(:disabled){background:linear-gradient(135deg,#14b8a6,#0d9488);transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.tcm-modal-btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.tcm-modal-btn-save .btn-emoji{font-size:1rem}.tcm-modal-btn-save .spinning{animation:tcmSpin 1s linear infinite}.tcm-table-name{display:flex;align-items:center;gap:10px}.tcm-table-name-text{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.85rem;font-weight:500;color:#e2e8f0}.tcm-client-id-badge{display:inline-block;padding:2px 8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:4px;color:#60a5fa;font-size:.65rem;font-weight:600}.tcm-id-field-cell,.tcm-route-cell{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;color:#64748b}.tcm-empty-cell{color:#475569}@media(max-width:768px){.tcm-header{flex-direction:column;align-items:flex-start;gap:16px}.tcm-modal{max-width:100%;border-radius:16px}.tcm-keys-grid{grid-template-columns:1fr}.tcm-legend{flex-direction:column;gap:10px}}.tcm-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#94a3b8}.tcm-action-btn:hover:not(:disabled){background:#0d948826;border-color:#0d94884d;color:#14b8a6}.tcm-action-btn:disabled{opacity:.5;cursor:not-allowed}.tcm-action-btn .spinning{animation:tcmSpin 1s linear infinite;display:inline-block}.tcm-import-toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;font-size:.85rem;font-weight:500;animation:tcmToastSlideIn .3s ease}.tcm-import-toast.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.25);color:#4ade80}.tcm-import-toast.error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#f87171}.tcm-toast-close{margin-left:auto;background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:1.1rem;padding:0 4px;transition:opacity .2s}.tcm-toast-close:hover{opacity:1}@keyframes tcmToastSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.snapshot-manager{max-width:1200px;margin:0 auto;padding:20px 24px}.snapshot-manager h2{font-size:1.5rem;margin-bottom:4px;background:linear-gradient(135deg,#e0e0e0,#a0c4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.snapshot-manager .subtitle{color:var(--text-secondary, #8b95a5);font-size:.85rem;margin-bottom:20px}.snapshot-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.snapshot-actions select{background:var(--bg-card, #1e2a3a);color:var(--text-primary, #e0e0e0);border:1px solid var(--border-color, #2d3a4a);border-radius:6px;padding:8px 12px;font-size:.85rem;min-width:200px}.snapshot-actions select:focus{outline:none;border-color:var(--accent-primary, #4fc3f7);box-shadow:0 0 0 2px #4fc3f726}.snapshot-actions input[type=text]{background:var(--bg-card, #1e2a3a);color:var(--text-primary, #e0e0e0);border:1px solid var(--border-color, #2d3a4a);border-radius:6px;padding:8px 12px;font-size:.85rem;flex:1;min-width:200px}.snapshot-actions input[type=text]:focus{outline:none;border-color:var(--accent-primary, #4fc3f7)}.snapshot-actions input[type=text]::placeholder{color:var(--text-secondary, #8b95a5)}.btn-snapshot{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-snapshot:disabled{opacity:.5;cursor:not-allowed}.btn-snapshot.primary{background:linear-gradient(135deg,#4fc3f7,#29b6f6);color:#0a1628}.btn-snapshot.primary:hover:not(:disabled){background:linear-gradient(135deg,#81d4fa,#4fc3f7);box-shadow:0 2px 12px #4fc3f74d}.btn-snapshot.success{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff}.btn-snapshot.success:hover:not(:disabled){background:linear-gradient(135deg,#81c784,#66bb6a);box-shadow:0 2px 12px #66bb6a4d}.btn-snapshot.warning{background:linear-gradient(135deg,#ffa726,#ef6c00);color:#fff}.btn-snapshot.warning:hover:not(:disabled){background:linear-gradient(135deg,#ffb74d,#ffa726)}.btn-snapshot.danger{background:linear-gradient(135deg,#ef5350,#c62828);color:#fff}.btn-snapshot.danger:hover:not(:disabled){background:linear-gradient(135deg,#e57373,#ef5350)}.btn-snapshot.ghost{background:transparent;color:var(--text-secondary, #8b95a5);border:1px solid var(--border-color, #2d3a4a)}.btn-snapshot.ghost:hover:not(:disabled){background:var(--bg-card, #1e2a3a);color:var(--text-primary, #e0e0e0)}.btn-snapshot.sm{padding:4px 10px;font-size:.75rem}.snapshot-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--bg-card, #1e2a3a);border:1px solid var(--border-color, #2d3a4a);border-radius:10px;padding:16px;text-align:center}.stat-card .stat-value{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#e0e0e0,#a0c4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat-card .stat-label{font-size:.75rem;color:var(--text-secondary, #8b95a5);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.snapshot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.snapshot-card{background:var(--bg-card, #1e2a3a);border:1px solid var(--border-color, #2d3a4a);border-radius:10px;padding:20px;position:relative;transition:all .25s ease}.snapshot-card:hover{border-color:var(--accent-primary, #4fc3f7);box-shadow:0 4px 20px #4fc3f714;transform:translateY(-2px)}.snapshot-card.is-default{border-color:#66bb6a;box-shadow:0 0 0 1px #66bb6a33}.snapshot-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.snapshot-card .card-label{font-size:1rem;font-weight:600;color:var(--text-primary, #e0e0e0);flex:1}.snapshot-card .default-badge{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.snapshot-card .card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:14px}.snapshot-card .meta-item{font-size:.78rem}.snapshot-card .meta-item .meta-label{color:var(--text-secondary, #8b95a5)}.snapshot-card .meta-item .meta-value{color:var(--text-primary, #e0e0e0);font-weight:500}.snapshot-card .card-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border-color, #2d3a4a);padding-top:12px}.snapshot-empty{text-align:center;padding:60px 20px;color:var(--text-secondary, #8b95a5)}.snapshot-empty .empty-icon{font-size:3rem;margin-bottom:12px;opacity:.5}.snapshot-empty h3{font-size:1.1rem;color:var(--text-primary, #e0e0e0);margin-bottom:8px}.snapshot-empty p{font-size:.85rem;max-width:400px;margin:0 auto}.snapshot-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.snapshot-modal{background:var(--bg-surface, #1a2332);border:1px solid var(--border-color, #2d3a4a);border-radius:12px;padding:24px;width:480px;max-width:90vw;box-shadow:0 20px 60px #00000080}.snapshot-modal h3{font-size:1.15rem;margin-bottom:16px;color:var(--text-primary, #e0e0e0)}.snapshot-modal .form-group{margin-bottom:14px}.snapshot-modal .form-group label{display:block;font-size:.8rem;color:var(--text-secondary, #8b95a5);margin-bottom:4px;font-weight:600}.snapshot-modal .form-group select,.snapshot-modal .form-group input{width:100%;background:var(--bg-card, #1e2a3a);color:var(--text-primary, #e0e0e0);border:1px solid var(--border-color, #2d3a4a);border-radius:6px;padding:8px 12px;font-size:.85rem}.snapshot-modal .form-group .checkbox-row{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-primary, #e0e0e0)}.snapshot-modal .form-group .checkbox-row input[type=checkbox]{width:auto}.snapshot-modal .modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.snapshot-modal .warning-text{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:6px;padding:10px 12px;font-size:.8rem;color:#ffb74d;margin-top:12px}.snapshot-detail{background:var(--bg-card, #1e2a3a);border:1px solid var(--border-color, #2d3a4a);border-radius:10px;padding:20px;margin-bottom:20px}.snapshot-detail h3{font-size:1.1rem;margin-bottom:12px;color:var(--text-primary, #e0e0e0)}.snapshot-detail .detail-table{width:100%;border-collapse:collapse;font-size:.82rem}.snapshot-detail .detail-table th{text-align:left;padding:8px 12px;color:var(--text-secondary, #8b95a5);font-weight:600;border-bottom:1px solid var(--border-color, #2d3a4a);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.snapshot-detail .detail-table td{padding:6px 12px;color:var(--text-primary, #e0e0e0);border-bottom:1px solid rgba(45,58,74,.5)}.snapshot-detail .detail-table tr:hover td{background:#4fc3f70a}.snapshot-detail .classification-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.snapshot-detail .classification-badge.tenant{background:#4fc3f726;color:#4fc3f7}.snapshot-detail .classification-badge.hybrid{background:#ffa72626;color:#ffa726}.snapshot-detail .classification-badge.extensible{background:#ab47bc26;color:#ce93d8}.snapshot-status-bar{padding:12px 16px;border-radius:8px;font-size:.85rem;margin-bottom:16px;display:flex;align-items:center;gap:8px}.snapshot-status-bar.loading{background:#4fc3f71a;border:1px solid rgba(79,195,247,.2);color:#81d4fa}.snapshot-status-bar.success{background:#66bb6a1a;border:1px solid rgba(102,187,106,.2);color:#81c784}.snapshot-status-bar.error{background:#ef53501a;border:1px solid rgba(239,83,80,.2);color:#e57373}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(79,195,247,.3);border-top-color:#4fc3f7;border-radius:50%;animation:spin .8s linear infinite}.clone-progress-panel{background:var(--bg-card, #1e2a3a);border:1px solid rgba(79,195,247,.25);border-radius:10px;padding:16px 20px;margin-bottom:20px;animation:fadeSlideIn .3s ease}.clone-progress-panel.complete{border-color:#66bb6a59}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.clone-progress-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.9rem;color:var(--text-primary, #e0e0e0)}.clone-phase-badge{margin-left:auto;background:#4fc3f726;color:#4fc3f7;padding:2px 10px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.clone-progress-bar-container{position:relative;height:24px;background:#ffffff0d;border-radius:12px;overflow:hidden;margin-bottom:10px}.clone-progress-bar-fill{height:100%;background:linear-gradient(90deg,#29b6f6,#4fc3f7,#81d4fa);border-radius:12px;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.clone-progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);animation:shimmer 2s infinite}.clone-progress-bar-fill.complete{background:linear-gradient(90deg,#43a047,#66bb6a,#81c784)}.clone-progress-bar-fill.complete:after{animation:none}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.clone-progress-bar-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.72rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);white-space:nowrap;z-index:1}.clone-progress-message{font-size:.8rem;color:var(--text-secondary, #8b95a5);margin-bottom:8px}.clone-progress-log{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto;border-top:1px solid var(--border-color, #2d3a4a);padding-top:8px;margin-top:4px}.clone-log-entry{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;padding:3px 8px;border-radius:4px;background:#ffffff05;animation:fadeIn .2s ease}.clone-log-entry .log-table{color:var(--text-primary, #e0e0e0);font-family:Cascadia Code,Fira Code,monospace;font-size:.72rem}.clone-log-entry .log-count{color:#4fc3f7;font-weight:600;font-size:.72rem}.clone-log-entry .log-retry{color:#ffa726;font-weight:500;margin-left:6px;font-size:.68rem}.compare-modal{width:720px;max-height:85vh;overflow-y:auto}.compare-selectors{display:flex;align-items:flex-end;gap:12px;margin-bottom:6px}.compare-selectors .form-group{flex:1}.compare-arrow{font-size:1.3rem;color:var(--text-secondary, #8b95a5);padding-bottom:10px;flex-shrink:0}.compare-result{border-top:1px solid var(--border-color, #2d3a4a);padding-top:16px;animation:fadeSlideIn .3s ease}.compare-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.compare-stat{background:#ffffff08;border:1px solid var(--border-color, #2d3a4a);border-radius:8px;padding:12px;text-align:center}.compare-stat-value{font-size:1.4rem;font-weight:700;color:var(--text-primary, #e0e0e0);display:block}.compare-stat-value.highlight{color:#ffa726}.compare-stat-label{font-size:.7rem;color:var(--text-secondary, #8b95a5);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;display:block}.compare-identical{text-align:center;padding:24px;background:#66bb6a14;border:1px solid rgba(102,187,106,.2);border-radius:8px;font-size:.9rem;color:#81c784}.compare-table{width:100%;border-collapse:collapse;font-size:.8rem}.compare-table th{text-align:left;padding:8px 10px;color:var(--text-secondary, #8b95a5);font-weight:600;border-bottom:1px solid var(--border-color, #2d3a4a);font-size:.72rem;text-transform:uppercase;letter-spacing:.4px}.compare-table td{padding:6px 10px;color:var(--text-primary, #e0e0e0);border-bottom:1px solid rgba(45,58,74,.4)}.compare-table tr:hover td{background:#4fc3f70a}.diff-row.added_in_b td:first-child{border-left:3px solid #66bb6a;padding-left:7px}.diff-row.removed_in_b td:first-child{border-left:3px solid #ef5350;padding-left:7px}.diff-row.increased td:first-child{border-left:3px solid #4fc3f7;padding-left:7px}.diff-row.decreased td:first-child{border-left:3px solid #ffa726;padding-left:7px}.delta-cell{font-weight:600;font-family:Cascadia Code,Fira Code,monospace;font-size:.78rem}.diff-row.increased .delta-cell{color:#4fc3f7}.diff-row.decreased .delta-cell{color:#ffa726}.diff-row.added_in_b .delta-cell{color:#66bb6a}.diff-row.removed_in_b .delta-cell{color:#ef5350}.diff-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.68rem;font-weight:600;white-space:nowrap}.diff-badge.added_in_b{background:#66bb6a26;color:#66bb6a}.diff-badge.removed_in_b{background:#ef535026;color:#ef5350}.diff-badge.increased{background:#4fc3f726;color:#4fc3f7}.diff-badge.decreased{background:#ffa72626;color:#ffa726}.clone-table-picker{border:1px solid var(--border-color, #2d3a4a);border-radius:8px;overflow:hidden;margin-top:4px}.table-search-input{width:100%;background:var(--bg-main, #0d1b2a)!important;color:var(--text-primary, #e0e0e0);border:none!important;border-bottom:1px solid var(--border-color, #2d3a4a)!important;border-radius:0!important;padding:8px 12px;font-size:.8rem;box-sizing:border-box}.table-search-input::placeholder{color:var(--text-secondary, #8b95a5)}.table-picker-loading{padding:16px;text-align:center;color:var(--text-secondary, #8b95a5);font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:8px}.table-picker-summary{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;color:var(--text-secondary, #8b95a5);background:var(--bg-main, #0d1b2a);border-bottom:1px solid var(--border-color, #2d3a4a)}.table-picker-list{max-height:260px;overflow-y:auto;background:var(--bg-card, #1e2a3a)}.table-picker-item{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;font-size:.78rem;color:var(--text-primary, #e0e0e0);border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s}.table-picker-item:hover{background:#4fc3f70f}.table-picker-item.selected{background:#4fc3f71a}.table-picker-item.auto-dep{background:#81c7840f;opacity:.8}.table-picker-item input[type=checkbox]{accent-color:var(--accent-primary, #4fc3f7);width:14px;height:14px;flex-shrink:0}.table-picker-item .table-name{flex:1;font-family:JetBrains Mono,monospace;font-size:.75rem}.table-picker-item .table-count{font-size:.7rem;color:var(--text-secondary, #8b95a5);min-width:30px;text-align:right}.table-picker-item .dep-badge{font-size:.7rem;opacity:.7}.table-picker-list::-webkit-scrollbar{width:4px}.table-picker-list::-webkit-scrollbar-track{background:transparent}.table-picker-list::-webkit-scrollbar-thumb{background:var(--border-color, #2d3a4a);border-radius:2px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.snapshot-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFadeIn .2s ease}.snapshot-modal.clone-modal-premium{background:linear-gradient(165deg,#1a2538,#0f1923);border:1px solid rgba(79,195,247,.12);border-radius:16px;padding:28px;width:720px;max-height:88vh;overflow-y:auto;box-shadow:0 24px 80px #0000008c,0 0 0 1px #ffffff0a inset,0 1px #ffffff0f inset;animation:modalSlideUp .25s ease}.snapshot-modal.clone-modal-premium::-webkit-scrollbar{width:5px}.snapshot-modal.clone-modal-premium::-webkit-scrollbar-track{background:transparent}.snapshot-modal.clone-modal-premium::-webkit-scrollbar-thumb{background:#4fc3f733;border-radius:3px}.snapshot-modal.clone-modal-premium .form-group label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.snapshot-modal.clone-modal-premium .form-group select,.snapshot-modal.clone-modal-premium .form-group input{background:#0f192899;border:1px solid rgba(79,195,247,.15);border-radius:8px;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.snapshot-modal.clone-modal-premium .form-group select:focus,.snapshot-modal.clone-modal-premium .form-group input:focus{outline:none;border-color:#4fc3f766;box-shadow:0 0 0 3px #4fc3f714}.snapshot-modal.clone-modal-premium .form-group .checkbox-row input[type=checkbox]{accent-color:#4fc3f7}.snapshot-modal.clone-modal-premium .modal-actions{padding-top:16px;border-top:1px solid rgba(79,195,247,.08)}.clone-modal-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(79,195,247,.1)}.clone-modal-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#4fc3f726,#81c7841a);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.clone-modal-premium h3{margin:0!important;font-size:1.15rem;background:linear-gradient(135deg,#e8eaf6,#4fc3f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.clone-modal-subtitle{font-size:.82rem;color:var(--text-secondary, #8b95a5);margin:2px 0 0}.clone-mode-toggle{display:flex;gap:0;margin-bottom:16px;border-radius:10px;overflow:hidden;border:1px solid rgba(79,195,247,.12)}.clone-mode-btn{flex:1;padding:10px 16px;border:none;background:#0f192866;color:var(--text-secondary, #8b95a5);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.clone-mode-btn:first-child{border-right:1px solid rgba(79,195,247,.12)}.clone-mode-btn:hover{background:#4fc3f70f;color:var(--text-primary, #e0e0e0)}.clone-mode-btn.active{background:linear-gradient(135deg,#4fc3f726,#4fc3f714);color:#4fc3f7;box-shadow:0 0 12px #4fc3f714 inset}.clone-info-banner{display:flex;align-items:center;gap:8px;background:#ffa7260f;border:1px solid rgba(255,167,38,.15);border-radius:10px;padding:12px 14px;font-size:.8rem;color:#ffcc80;margin-top:14px;line-height:1.4}.clone-info-banner .info-icon{font-size:1rem;flex-shrink:0}.clone-modal-premium .clone-table-picker{border:1px solid rgba(79,195,247,.12);border-radius:12px;background:#0f192866}.picker-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#0f192899;border-bottom:1px solid rgba(79,195,247,.08)}.picker-search-wrap{flex:1;display:flex;align-items:center;gap:6px;background:#0003;border:1px solid rgba(79,195,247,.1);border-radius:8px;padding:0 10px;transition:border-color .2s;min-width:120px}.picker-search-wrap:focus-within{border-color:#4fc3f759;box-shadow:0 0 0 2px #4fc3f70f}.picker-search-wrap .search-icon{font-size:.75rem;opacity:.5}.picker-search-wrap .table-search-input{flex:1;width:100%!important;min-width:0;background:transparent!important;color:var(--text-primary, #e0e0e0)!important;border:none!important;border-radius:0!important;border-bottom:none!important;padding:7px 0!important;font-size:.8rem;outline:none;box-shadow:none!important}.picker-search-wrap .table-search-input::placeholder{color:var(--text-secondary, #8b95a5);opacity:.6}.clone-modal-premium .table-filter-select{background:#00000040;color:var(--text-primary, #e0e0e0);border:1px solid rgba(79,195,247,.1);border-radius:8px;padding:7px 12px;font-size:.78rem;cursor:pointer;outline:none;transition:all .2s;min-width:140px;flex-shrink:0}.clone-modal-premium .table-filter-select:focus{border-color:#4fc3f759;box-shadow:0 0 0 2px #4fc3f70f}.picker-delete-btn{background:none;border:1px solid rgba(239,83,80,.2);border-radius:6px;padding:5px 8px;cursor:pointer;font-size:.75rem;transition:all .2s;color:#ef5350}.picker-delete-btn:hover{background:#ef53501a;border-color:#ef535066}.picker-action-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#0f192880;border-bottom:1px solid rgba(79,195,247,.06)}.picker-action-left,.picker-action-right{display:flex;align-items:center;gap:8px}.selection-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,#4fc3f733,#4fc3f71a);color:#4fc3f7;font-size:.72rem;font-weight:700;padding:0 6px}.selection-label{font-size:.76rem;color:var(--text-secondary, #8b95a5)}.dep-count{color:#81c784;font-weight:600}.picker-link-btn{background:none;border:none;color:#4fc3f7;font-size:.72rem;font-weight:600;cursor:pointer;padding:3px 8px;border-radius:4px;transition:all .15s}.picker-link-btn:hover{background:#4fc3f714}.picker-link-btn.danger{color:#ef5350}.picker-link-btn.danger:hover{background:#ef535014}.picker-empty{padding:32px 16px;text-align:center;color:var(--text-secondary, #8b95a5);font-size:.82rem;opacity:.7}.clone-modal-premium .table-picker-list{max-height:400px;background:transparent}.clone-modal-premium .table-picker-item{padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.025)}.clone-modal-premium .table-picker-item.selected{background:#4fc3f714;border-left:3px solid #4fc3f7;padding-left:11px}.clone-modal-premium .table-picker-item.auto-dep{background:#81c7840d;border-left:3px solid rgba(129,199,132,.3);padding-left:11px;opacity:.85}.clone-modal-premium .table-picker-item .table-name{font-family:JetBrains Mono,Cascadia Code,monospace;font-size:.74rem;letter-spacing:-.2px}.table-type-badge{display:inline-block;padding:1px 7px;border-radius:4px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.table-type-badge.tenant{background:#4fc3f71f;color:#4fc3f7}.table-type-badge.hybrid{background:#ffa7261f;color:#ffa726}.table-type-badge.global{background:#9c27b01f;color:#ce93d8}.table-type-badge.extensible{background:#ab47bc1f;color:#ba68c8}.clone-modal-premium .table-picker-item .table-count{font-family:JetBrains Mono,Cascadia Code,monospace;opacity:.7}.clone-modal-premium .table-picker-list::-webkit-scrollbar{width:5px}.clone-modal-premium .table-picker-list::-webkit-scrollbar-track{background:transparent}.clone-modal-premium .table-picker-list::-webkit-scrollbar-thumb{background:#4fc3f726;border-radius:3px}.clone-modal-premium .table-picker-list::-webkit-scrollbar-thumb:hover{background:#4fc3f74d}.snapshot-detail .detail-table tr{transition:background .15s}.snapshot-detail .detail-table tr.selected-row td{background:#4fc3f71a;border-bottom:1px solid rgba(79,195,247,.3)!important}.user-profile-container{max-width:1200px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px}.user-profile-loading,.user-profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;color:#94a3b8;font-size:1rem}.user-profile-error{color:#f87171}.error-icon{font-size:2.5rem}.loading-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.profile-header-card{background:linear-gradient(135deg,#3b82f61f,#8b5cf614);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 32px;position:relative;overflow:hidden}.profile-header-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899)}.profile-header-content{display:flex;align-items:center;gap:32px}.profile-avatar-section{flex-shrink:0}.profile-avatar-large{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;position:relative;border:4px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #3b82f640}.profile-avatar-large img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-initials{font-size:2rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.avatar-status{position:absolute;bottom:6px;right:6px;width:18px;height:18px;border-radius:50%;border:3px solid #1e293b}.avatar-status.online{background:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.profile-info-section{flex:1;min-width:0}.profile-name{font-size:1.75rem;font-weight:700;color:#f1f5f9;margin:0 0 4px;letter-spacing:-.02em}.profile-email{font-size:.95rem;color:#94a3b8;margin:0 0 12px}.profile-badges{display:flex;flex-wrap:wrap;gap:8px}.role-badge{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-system-admin{background:linear-gradient(135deg,#3b82f640,#3b82f61a);color:#60a5fa;border:1px solid rgba(59,130,246,.4)}.role-super-admin{background:linear-gradient(135deg,#8b5cf640,#8b5cf61a);color:#a78bfa;border:1px solid rgba(139,92,246,.4)}.role-shore-admin{background:linear-gradient(135deg,#ef444433,#ef444414);color:#f87171;border:1px solid rgba(239,68,68,.3)}.role-default{background:#64748b33;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.department-badge,.vessel-badge{padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:500;background:#1e293b99;color:#cbd5e1;border:1px solid rgba(255,255,255,.08)}.profile-stats-section{display:flex;gap:32px;margin-left:auto}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 20px;background:#0f172a66;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.stat-value{font-size:1.25rem;font-weight:700;color:#e2e8f0}.stat-label{font-size:.7rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.profile-tabs-container{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.profile-tab{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#1e293b80;border:1px solid rgba(255,255,255,.06);border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);text-align:left}.profile-tab:hover{background:#3b82f614;border-color:#3b82f633;transform:translateY(-2px)}.profile-tab.active{background:linear-gradient(135deg,#3b82f626,#8b5cf61a);border-color:#3b82f666;box-shadow:0 4px 20px #3b82f626}.tab-icon{font-size:1.5rem;flex-shrink:0}.tab-text{display:flex;flex-direction:column;min-width:0}.tab-label{font-size:.95rem;font-weight:600;color:#e2e8f0}.profile-tab.active .tab-label{color:#60a5fa}.tab-description{font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-content-card{background:#1e293b66;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:32px;min-height:400px}.dev-controls-section{background:#0f172a80;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.dev-controls-summary{display:flex;align-items:center;gap:10px;padding:16px 20px;cursor:pointer;color:#94a3b8;font-size:.95rem;font-weight:500;list-style:none;transition:background .2s}.dev-controls-summary::-webkit-details-marker{display:none}.dev-controls-summary:hover{background:#ffffff08}.dev-icon{font-size:1.25rem}.dev-badge{margin-left:auto;padding:3px 8px;background:#eab30826;color:#fbbf24;border:1px solid rgba(234,179,8,.3);border-radius:4px;font-size:.65rem;font-weight:700;letter-spacing:.5px}.dev-controls-content{padding:0 20px 20px;border-top:1px solid rgba(255,255,255,.05)}.dev-hint{font-size:.85rem;color:#64748b;margin:16px 0;padding:12px 16px;background:#0003;border-radius:8px;border-left:3px solid #64748b}.dev-buttons{display:flex;flex-wrap:wrap;gap:12px}.dev-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.dev-btn-primary{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.dev-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.dev-btn-secondary{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.dev-btn-secondary:hover{background:#3b82f640}.dev-btn-danger{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.dev-btn-danger:hover{background:#ef444440}@media(max-width:900px){.profile-header-content{flex-direction:column;text-align:center}.profile-info-section{display:flex;flex-direction:column;align-items:center}.profile-tabs-container{grid-template-columns:repeat(2,1fr)}.profile-stats-section{margin-left:0;margin-top:16px}}@media(max-width:600px){.user-profile-container{padding:16px}.profile-tabs-container{grid-template-columns:1fr}.profile-content-card{padding:20px}}.notif-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer}.notif-toggle-text{font-size:.75rem;color:#94a3b8;white-space:nowrap}.notif-toggle-track{position:relative;width:38px;height:20px;border-radius:10px;background:#64748b59;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .25s,border-color .25s;padding:0;flex-shrink:0}.notif-toggle-track:hover{border-color:#ffffff26}.notif-toggle-track.on{background:#3b82f680;border-color:#3b82f699}.notif-toggle-track:disabled{opacity:.5;cursor:wait}.notif-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#64748b;transition:left .2s,background .2s;pointer-events:none}.notif-toggle-track.on .notif-toggle-thumb{left:20px;background:#60a5fa;box-shadow:0 0 6px #60a5fa66}.tenant-settings{padding:24px;max-width:1400px;margin:0 auto}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f80,#0f172ab3,#1a1a2e80);border-radius:16px;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 32px #0003}.settings-header h1{font-size:1.5rem;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,#94a3b8,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.settings-header .subtitle{color:#64748b;margin:0;font-size:.9rem}.header-actions{display:flex;align-items:center;gap:16px}.unsaved-indicator{color:#d97706;font-size:.875rem;font-weight:500;animation:pulse 2s infinite}.settings-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;min-height:600px}.settings-sidebar{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:16px;height:fit-content;position:sticky;top:24px}.settings-nav{display:flex;flex-direction:column;gap:0}.nav-group{margin-bottom:16px}.nav-group:last-child{margin-bottom:0}.nav-group-title{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#475569;padding:8px 16px 6px;margin-bottom:2px}.settings-nav .nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border:none;background:transparent;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease;text-align:left;width:100%;margin:2px 0}.settings-nav .nav-item:hover{background:#ffffff0a;color:#94a3b8}.settings-nav .nav-item.active{background:linear-gradient(135deg,#0d948826,#0d94880d);border:1px solid rgba(13,148,136,.3);color:#0d9488;box-shadow:0 0 20px #0d94881a}.nav-icon{font-size:1.1rem}.nav-label{white-space:nowrap}.settings-content{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:24px;min-height:500px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#64748b;gap:16px}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.06);border-top-color:#0d9488;border-radius:50%;animation:spin 1s linear infinite}.settings-panel{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.panel-icon{font-size:2.5rem;background:linear-gradient(135deg,#0d9488,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.panel-header h2{font-size:1.25rem;font-weight:600;margin:0 0 6px;color:#e2e8f0}.panel-description{color:#64748b;margin:0;font-size:.85rem}.settings-form{display:flex;flex-direction:column;gap:24px}.settings-form .form-group:not(.checkbox-group){display:flex;flex-direction:column;gap:8px}.settings-form .form-group label{font-size:.8rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}.settings-form .form-control{width:100%;padding:12px 14px;font-size:.95rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0003;color:var(--text-primary);transition:all .2s ease}.settings-form .form-control:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.settings-form .form-control::placeholder{color:#fff6}.settings-form textarea.form-control{resize:vertical;min-height:80px}.settings-form select.form-control{cursor:pointer}.settings-form-organized{display:flex;flex-direction:column;gap:28px}.settings-inputs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.settings-inputs-grid .form-group{display:flex;flex-direction:column;gap:8px}.settings-inputs-grid .form-group label{font-size:.8rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}.settings-inputs-grid .form-control{width:100%;padding:12px 14px;font-size:.95rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0003;color:var(--text-primary);transition:all .2s ease}.settings-inputs-grid .form-control:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.settings-toggles{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px 20px}.toggles-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:12px}.toggles-row{display:flex;flex-wrap:wrap;gap:12px}.checkbox-group{display:inline-flex!important}.checkbox-label{display:flex;align-items:center;gap:14px;cursor:pointer;padding:14px 16px;border:1px solid transparent;border-radius:8px;background:var(--surface-hover, rgba(255, 255, 255, .03));transition:all .2s ease;min-height:48px}.checkbox-label:hover{background:#ffffff0f;border-color:var(--border-color, rgba(255, 255, 255, .1))}.checkbox-label span{color:var(--text-primary);font-size:.9rem;font-weight:500}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}.settings-nav{flex-direction:row;flex-wrap:wrap;gap:8px}.settings-nav .nav-item{flex:1 1 auto;min-width:fit-content;justify-content:center;padding:10px 14px}.nav-label{display:none}.nav-icon{font-size:1.5rem}}@media(max-width:600px){.tenant-settings{padding:16px}.settings-header{flex-direction:column;gap:16px}.header-actions{width:100%;justify-content:space-between}.settings-form{grid-template-columns:1fr}}.company-tree{display:flex;flex-direction:column;gap:0}.company-tree-node{display:flex;flex-direction:column}.tree-connectors{display:none}.company-card{background:var(--surface-hover, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;padding:20px;transition:all .2s ease;position:relative;margin-bottom:12px}.company-card:hover{border-color:var(--primary, #3b82f6);box-shadow:0 4px 20px #3b82f626}.company-card.depth-0{border-left:4px solid #10b981;background:linear-gradient(to right,rgba(16,185,129,.08),transparent)}.company-card.depth-1{margin-left:40px;border-left:4px solid #3b82f6;background:linear-gradient(to right,rgba(59,130,246,.08),transparent)}.company-card.depth-2{margin-left:80px;border-left:4px solid #8b5cf6;background:linear-gradient(to right,rgba(139,92,246,.08),transparent)}.company-card.depth-3{margin-left:120px;border-left:4px solid #f59e0b;background:linear-gradient(to right,rgba(245,158,11,.08),transparent)}.company-card.depth-1:before,.company-card.depth-2:before,.company-card.depth-3:before{content:"";position:absolute;left:-24px;top:0;bottom:50%;width:20px;border-left:2px solid rgba(255,255,255,.2);border-bottom:2px solid rgba(255,255,255,.2);border-bottom-left-radius:8px}.company-children{position:relative}.company-children:before{content:"";position:absolute;left:16px;top:0;bottom:24px;width:2px;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent)}.company-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.company-type-badge{font-size:.75rem;padding:4px 10px;border-radius:20px;background:linear-gradient(135deg,var(--primary, #3b82f6),var(--primary-dark, #2563eb));color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.company-card h3{font-size:1.15rem;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.company-code{font-size:.85rem;color:var(--text-secondary);margin:0 0 12px;font-family:monospace}.company-details{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px}.company-details p{margin:4px 0}.company-details strong{color:var(--text-primary)}.parent-company-indicator{font-size:.8rem;color:var(--text-secondary);margin-bottom:8px;padding:6px 10px;background:#3b82f61a;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.company-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.company-actions .btn-sm{padding:6px 12px;font-size:.8rem}.company-actions .btn-upload{cursor:pointer}.company-logo{width:48px;height:48px;object-fit:contain;border-radius:6px;background:#ffffff1a;padding:4px}.badge-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.7rem;padding:3px 8px;border-radius:10px;font-weight:600}.children-count{margin-bottom:12px}.children-badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);padding:6px 12px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:6px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state p{margin-bottom:20px;font-size:1rem}.form-grid .form-group{display:flex;flex-direction:column;gap:6px}.form-grid .form-group.full-width{grid-column:span 2}.form-grid label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-grid .form-control{padding:10px 12px;font-size:.9rem;border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:6px;background:var(--input-bg, rgba(0, 0, 0, .2));color:var(--text-primary)}.form-grid .form-control:focus{outline:none;border-color:var(--primary, #3b82f6)}.modal.modal-lg{width:90%;max-width:700px;max-height:90vh;background:var(--surface-elevated, #1e293b);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.companies-list{display:flex;flex-direction:column;gap:16px}.company-form{background:var(--surface-hover, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:12px;padding:24px;margin-bottom:16px;animation:slideDown .3s ease}.company-form-new{border-color:var(--primary, #3b82f6);border-width:2px;background:#3b82f60d}.company-form .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px}.company-form .form-group{display:flex;flex-direction:column;gap:6px}.company-form label{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.company-form .form-control{padding:10px 12px;font-size:.9rem;border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:6px;background:var(--input-bg, rgba(0, 0, 0, .3));color:var(--text-primary);transition:all .2s ease}.company-form .form-control:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.company-card.is-editing{border-color:var(--primary, #3b82f6);background:transparent;padding:0}.company-card.is-editing .company-form{margin:0;border:none;background:transparent}.field-help{display:block;font-size:.75rem;color:#64748b;margin-top:4px;line-height:1.4}.settings-form .form-group:has(input[type=password]) .form-control{font-family:monospace;letter-spacing:.5px}.settings-form .form-group:has(input[type=password]) .form-control::placeholder{font-family:inherit;letter-spacing:normal}.settings-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.integration-card{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;transition:all .2s ease}.integration-card:hover{border-color:#ffffff26;box-shadow:0 4px 20px #0003}.integration-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.integration-icon{font-size:1.75rem;flex-shrink:0}.integration-header h3{font-size:1rem;font-weight:600;margin:0 0 4px;color:#e2e8f0}.integration-header p{font-size:.8rem;color:#64748b;margin:0;line-height:1.4}.integration-fields{display:flex;flex-direction:column;gap:14px}.integration-fields .form-group{display:flex;flex-direction:column;gap:6px}.integration-fields .form-group label{font-size:.8rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}.integration-fields .form-control{padding:10px 12px;font-size:.9rem;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#0003;color:var(--text-primary)}.integration-fields .form-control:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 2px #0d948826}.integration-fields .checkbox-inline{flex-direction:row;align-items:center;gap:12px}.integration-fields .checkbox-inline .checkbox-label{padding:10px 14px;margin:0;flex:1}.integration-fields .form-group:has(input[type=password]) .form-control{font-family:monospace;letter-spacing:.5px}.integration-fields .form-group:has(input[type=password]) .form-control::placeholder{font-family:inherit;letter-spacing:normal}.integration-badge{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.6px;padding:2px 8px;border-radius:6px;color:#fff;margin-left:8px;vertical-align:middle;text-transform:uppercase}.integration-info{padding:8px 12px;background:#22c55e0f;border:1px solid rgba(34,197,94,.15);border-radius:6px;margin-top:2px}.integration-info .field-help{color:#4ade80;margin-top:0}.integration-sync-actions{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.btn-wpi-sync{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;font-size:.78rem;font-weight:600;border:1px solid rgba(59,130,246,.4);background:#3b82f61f;color:#93c5fd;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-wpi-sync:hover:not(:disabled){background:#3b82f640;border-color:#3b82f699;color:#bfdbfe}.btn-wpi-sync:disabled{opacity:.6;cursor:wait}.btn-wpi-force{border-color:#eab3084d;background:#eab30814;color:#fcd34d}.btn-wpi-force:hover{background:#eab3082e;border-color:#eab30880;color:#fde68a}.wpi-sync-result{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:6px;font-size:.75rem;color:#86efac}.wpi-sync-result span:nth-child(2n){color:#fff3}.ai-settings{padding:1.5rem;max-width:1400px;margin:0 auto;font-family:var(--font-primary, "Inter", "Segoe UI", sans-serif)}.ai-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#a855f71f,#8b5cf60f);border:1px solid rgba(168,85,247,.2);border-radius:12px}.ai-settings-header-left{display:flex;align-items:center;gap:1rem}.ai-settings-header-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a855f740,#8b5cf626);border-radius:10px;font-size:1.5rem}.ai-settings-header h2{margin:0;font-size:1.35rem;font-weight:700;color:var(--text-primary)}.ai-settings-header p{margin:.15rem 0 0;font-size:.8rem;color:var(--text-secondary)}.ai-settings-tabs{display:flex;gap:4px;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:0}.ai-settings-tab{padding:.65rem 1.25rem;border:none;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.ai-settings-tab:hover{color:var(--text-primary);background:#ffffff08}.ai-settings-tab.active{color:#a855f7;border-bottom-color:#a855f7}.ai-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem}.ai-feature-card{background:var(--bg-secondary, #1e293b);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:1.25rem;transition:all .2s ease;cursor:pointer}.ai-feature-card:hover{border-color:#a855f74d;box-shadow:0 4px 16px #a855f714}.ai-feature-card.selected{border-color:#a855f780;box-shadow:0 4px 20px #a855f71f}.ai-feature-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ai-feature-card-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.ai-feature-card p{margin:0;font-size:.78rem;color:var(--text-secondary);line-height:1.5}.ai-feature-meta{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.ai-feature-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:500}.ai-feature-badge.version{background:#a855f71f;color:#c084fc;border:1px solid rgba(168,85,247,.2)}.ai-feature-badge.active{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.2)}.ai-feature-badge.inactive{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.2)}.ai-feature-badge.default{background:#3b82f61f;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.ai-template-editor{background:var(--bg-secondary, #1e293b);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.ai-template-editor-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#a855f70f;border-bottom:1px solid rgba(255,255,255,.06)}.ai-template-editor-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.ai-template-editor-actions{display:flex;gap:.5rem}.ai-template-editor-body{padding:1.25rem}.ai-template-field{margin-bottom:1.25rem}.ai-template-field label{display:block;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}.ai-template-field input,.ai-template-field select{width:100%;padding:.55rem .75rem;background:var(--bg-primary, #0f172a);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-primary);font-size:.85rem;outline:none;transition:border-color .2s;box-sizing:border-box}.ai-template-field input:focus,.ai-template-field select:focus,.ai-template-field textarea:focus{border-color:#a855f780;box-shadow:0 0 0 2px #a855f71a}.ai-template-field textarea{width:100%;padding:.75rem;background:var(--bg-primary, #0f172a);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-primary);font-size:.82rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;line-height:1.6;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box}.ai-template-field.prompt textarea{min-height:350px;font-size:.78rem}.ai-template-field.system-instruction textarea{min-height:100px}.ai-template-field.output-schema textarea{min-height:200px}.ai-template-field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.ai-template-field-row-half{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ai-btn{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s ease;background:#ffffff0a;color:var(--text-primary)}.ai-btn:hover{background:#ffffff14;border-color:#ffffff26}.ai-btn.primary{background:linear-gradient(135deg,#a855f7,#8b5cf6);border-color:transparent;color:#fff}.ai-btn.primary:hover{background:linear-gradient(135deg,#9333ea,#7c3aed);box-shadow:0 4px 12px #a855f74d}.ai-btn.success{background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;color:#fff}.ai-btn.success:hover{box-shadow:0 4px 12px #10b9814d}.ai-btn.danger{background:#ef44441a;border-color:#ef444433;color:#f87171}.ai-btn.danger:hover{background:#ef444433}.ai-btn.sm{padding:.35rem .75rem;font-size:.75rem}.ai-btn:disabled{opacity:.5;cursor:not-allowed}.ai-usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.ai-usage-stat{background:var(--bg-secondary, #1e293b);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:1.25rem;text-align:center}.ai-usage-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.ai-usage-stat-label{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ai-usage-stat.purple .ai-usage-stat-value{color:#c084fc}.ai-usage-stat.green .ai-usage-stat-value{color:#34d399}.ai-usage-stat.blue .ai-usage-stat-value{color:#60a5fa}.ai-usage-stat.amber .ai-usage-stat-value{color:#fbbf24}.ai-usage-stat.red .ai-usage-stat-value{color:#f87171}.ai-usage-table-wrapper{background:var(--bg-secondary, #1e293b);border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden}.ai-usage-table-wrapper h4{margin:0;padding:.85rem 1.25rem;font-size:.88rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.06)}.ai-usage-table{width:100%;border-collapse:collapse;font-size:.8rem}.ai-usage-table th{padding:.6rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.7rem;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.06)}.ai-usage-table td{padding:.55rem 1rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.03)}.ai-usage-table tr:hover td{background:#ffffff05}.ai-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.4rem}.ai-status-dot.enabled{background:#34d399;box-shadow:0 0 6px #34d39966}.ai-status-dot.disabled{background:#6b7280}.ai-empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.ai-empty-state-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.4}.ai-empty-state h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.ai-empty-state p{margin:0;font-size:.82rem}.ai-shimmer{background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f,#ffffff08 75%);background-size:200% 100%;animation:ai-shimmer 1.5s ease-in-out infinite;border-radius:8px;height:100px}@keyframes ai-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-toast{position:fixed;bottom:2rem;right:2rem;padding:.85rem 1.25rem;border-radius:10px;font-size:.82rem;font-weight:500;z-index:1000;animation:ai-slide-up .3s ease;display:flex;align-items:center;gap:.5rem}.ai-toast.success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399}.ai-toast.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171}@keyframes ai-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.82rem;display:flex;align-items:center;gap:.4rem;padding:.3rem 0;margin-bottom:1rem;transition:color .2s}.ai-back-btn:hover{color:#a855f7}@media(max-width:768px){.ai-features-grid,.ai-template-field-row,.ai-template-field-row-half{grid-template-columns:1fr}.ai-usage-grid{grid-template-columns:repeat(2,1fr)}}.wo-dashboard{padding:24px;max-width:1400px;margin:0 auto}.wo-dashboard.loading,.wo-dashboard.error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:400px;color:var(--text-secondary)}.wo-dashboard.loading .spin{animation:spin 1s linear infinite}.wo-dashboard.error button{background:var(--accent-primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.wo-dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;margin-bottom:24px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.wo-dashboard-title{display:flex;align-items:center;gap:16px}.wo-dashboard-title svg{color:#22c55e}.wo-dashboard-title h2{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.wo-dashboard-actions{display:flex;gap:12px;align-items:center}.vessel-filter{padding:10px 14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0000004d;color:#e2e8f0;font-size:.85rem;min-width:180px;outline:none;transition:all .2s ease}.vessel-filter:focus{border-color:#22c55e66}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.wo-alert-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.alert-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:16px;cursor:pointer;transition:all .2s ease}.alert-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.alert-card.overdue{background:linear-gradient(135deg,#ef444426,#ef44440d);border:1px solid rgba(239,68,68,.3)}.alert-card.overdue .alert-icon{color:#ef4444}.alert-card.overdue .alert-count{color:#ef4444;text-shadow:0 0 20px rgba(239,68,68,.3)}.alert-card.due-week{background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border:1px solid rgba(245,158,11,.3)}.alert-card.due-week .alert-icon{color:#f59e0b}.alert-card.due-week .alert-count{color:#f59e0b;text-shadow:0 0 20px rgba(245,158,11,.3)}.alert-card.due-month{background:linear-gradient(135deg,#3b82f626,#3b82f60d);border:1px solid rgba(59,130,246,.3)}.alert-card.due-month .alert-icon{color:#3b82f6}.alert-card.due-month .alert-count{color:#3b82f6;text-shadow:0 0 20px rgba(59,130,246,.3)}.alert-content{display:flex;flex-direction:column;gap:4px}.alert-count{font-size:2rem;font-weight:800;line-height:1}.alert-label{font-size:.8rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.wo-section{background:#ffffff05;border-radius:16px;padding:20px 24px;margin-bottom:20px;border:1px solid rgba(255,255,255,.06)}.wo-section h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:.85rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.status-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.status-card{display:flex;flex-direction:column;align-items:center;padding:16px 12px;background:var(--bg-primary);border-radius:10px;border:1px solid var(--border-subtle);cursor:pointer;transition:all .2s ease}.status-card:hover{border-color:var(--card-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.status-card .status-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--card-color) 15%,transparent);color:var(--card-color);margin-bottom:8px}.status-card .status-count{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.status-card .status-label{font-size:.75rem;color:var(--text-secondary);text-align:center}.priority-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.priority-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--card-bg);border-radius:10px;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.priority-card:hover{border-color:var(--card-color);transform:translate(4px)}.priority-card .priority-count{font-size:1.75rem;font-weight:700;color:var(--card-color)}.priority-card .priority-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.type-card{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-subtle);cursor:pointer;transition:all .2s ease}.type-card:hover{border-color:var(--card-color);background:color-mix(in srgb,var(--card-color) 5%,var(--bg-primary))}.type-card svg{color:var(--card-color)}.type-card .type-count{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-left:auto}.type-card .type-label{font-size:.875rem;color:var(--text-secondary)}.quick-links{display:flex;flex-wrap:wrap;gap:12px}.quick-links button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.quick-links button:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}@media(max-width:1200px){.status-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.wo-dashboard-header{flex-direction:column;gap:16px;align-items:flex-start}.wo-alert-cards{grid-template-columns:1fr}.status-cards{grid-template-columns:repeat(2,1fr)}.priority-cards,.type-cards{grid-template-columns:1fr}}.export-button-wrapper{position:relative;display:inline-block}.export-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;color:#e2e8f0;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;transition:all .2s ease}.export-btn:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff40}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn.open{background:#0d948833;border-color:#0d9488}.export-btn .icon{font-size:1rem}.export-btn .arrow{font-size:.6rem;margin-left:4px;transition:transform .2s ease}.export-btn.open .arrow{transform:rotate(180deg)}.export-btn .spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#0d9488;border-radius:50%;animation:spin .8s linear infinite}.export-button-wrapper.small .export-btn{padding:6px 12px;font-size:.8rem}.export-button-wrapper.large .export-btn{padding:10px 20px;font-size:.9rem}.export-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:#1e293b;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden;animation:dropdownFade .15s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.export-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;transition:background .15s ease}.export-option:hover{background:#ffffff0d}.export-option:not(:last-of-type){border-bottom:1px solid rgba(255,255,255,.06)}.option-icon{font-size:1.25rem}.option-text{display:flex;flex-direction:column;gap:2px}.option-label{font-size:.85rem;font-weight:500;color:#e2e8f0}.option-desc{font-size:.7rem;color:#64748b}.export-info{padding:8px 16px;font-size:.7rem;color:#64748b;background:#ffffff05;border-top:1px solid rgba(255,255,255,.06);text-align:center}.wo-list{padding:20px 24px;min-height:100%}.wo-list.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:400px;color:#64748b}.wo-list.loading .spin{animation:wo-spin 1s linear infinite}@keyframes wo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wo-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.wo-filters{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.wo-inline-form-slot{margin-bottom:20px;animation:slideDown .3s ease}.filter-group{display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;background:transparent;border:none;border-radius:8px}.filter-group svg{color:#475569;flex-shrink:0}.search-input{height:36px;padding:0 14px;min-width:180px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#0000004d;color:#e2e8f0;font-size:.82rem;outline:none;transition:all .2s ease}.search-input::placeholder{color:#475569}.search-input:focus{border-color:#10b98159;box-shadow:0 0 0 2px #10b98114}.filter-select{height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#0000004d;color:#e2e8f0;font-size:.82rem;cursor:pointer;transition:all .2s ease}.filter-select option{background:#1e293b;color:#e2e8f0}.filter-select:hover{border-color:#ffffff1f}.filter-select:focus{border-color:#10b98159;box-shadow:0 0 0 2px #10b98114;outline:none}.clear-filters{display:flex;align-items:center;gap:4px;padding:7px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:#94a3b8;font-size:.72rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0}.btn-create{display:flex;align-items:center;gap:7px;padding:9px 18px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.82rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 12px #10b98133}.btn-create:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 20px #10b98159}.wo-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#fca5a5;margin-bottom:16px;font-size:.82rem}.dt-table-container{background:#0003;border:1px solid rgba(255,255,255,.04);border-radius:14px;overflow:hidden}.dt-table .no-data{text-align:center;padding:60px 20px;color:#475569}.wo-title-merged{line-height:1.4}.wo-title-merged .wo-number-inline{display:block;font-family:SF Mono,JetBrains Mono,Consolas,monospace;font-size:.7rem;color:#10b981;margin-bottom:2px;letter-spacing:.01em}.wo-title-merged .wo-title-text{display:block;font-size:.82rem;color:#e2e8f0;font-weight:500}.type-priority-merged{white-space:nowrap}.type-priority-merged .type-badge{margin-right:6px}.overdue-tag{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;background:#ef44441f;color:#f87171;font-size:.62rem;font-weight:600;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}.due-date.overdue{color:#f87171;font-weight:600}.planned-start{color:#94a3b8;font-size:.8rem;white-space:nowrap}.est-hours{font-family:SF Mono,JetBrains Mono,Consolas,monospace;font-size:.8rem;text-align:right;color:#94a3b8}.est-hours .unit{color:#475569;font-size:.7rem;margin-left:2px}.assigned-to{color:#94a3b8;font-size:.8rem}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;background:color-mix(in srgb,var(--badge-color) 12%,transparent);color:var(--badge-color);font-size:.72rem;font-weight:600;border-radius:6px;border:1px solid color-mix(in srgb,var(--badge-color) 18%,transparent);letter-spacing:.02em}.status-badge svg{flex-shrink:0;margin-right:2px}.priority-badge{display:inline-block;padding:4px 10px;background:color-mix(in srgb,var(--badge-color) 12%,transparent);color:var(--badge-color);font-size:.72rem;font-weight:600;border-radius:6px}.type-badge{display:inline-block;padding:3px 10px;border:1px solid color-mix(in srgb,var(--type-color) 30%,transparent);background:color-mix(in srgb,var(--type-color) 8%,transparent);color:var(--type-color);font-size:.68rem;font-weight:600;border-radius:6px;letter-spacing:.02em}.actions{display:flex;gap:5px}.action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:7px;color:#64748b;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#10b9811a;border-color:#10b98140;color:#10b981;transform:translateY(-1px)}.action-btn-danger:hover{background:#ef44441a;border-color:#ef444440;color:#f87171}.wo-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:16px}.pagination-info{font-size:.78rem;color:#475569}.pagination-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:#cbd5e1;cursor:pointer;transition:all .2s ease}.pagination-controls button:hover:not(:disabled){background:#10b9811a;border-color:#10b98140;color:#10b981}.pagination-controls button:disabled{opacity:.35;cursor:not-allowed}.page-number{font-size:.78rem;color:#94a3b8;padding:0 8px}@media(max-width:1200px){.dt-table-container{overflow-x:auto}.dt-table{min-width:900px}}@media(max-width:768px){.wo-list-toolbar{flex-direction:column;align-items:flex-start}.wo-filters{width:100%}.btn-create{width:100%;justify-content:center}}.dependency-indicators{display:inline-flex;gap:4px;margin-left:8px}.dep-badge{display:inline-flex;align-items:center;gap:2px;padding:2px 7px;font-size:.62rem;font-weight:600;border-radius:6px;cursor:pointer;border:none;transition:all .2s ease}.dep-badge:hover{transform:scale(1.05);filter:brightness(1.2)}.dep-badge.predecessor{background:#d977061f;color:#fbbf24}.dep-badge.successor{background:#3b82f61f;color:#60a5fa}.wo-dependency-legend{display:flex;align-items:center;gap:20px;padding:10px 18px;margin-bottom:12px;background:#0003;border:1px solid rgba(255,255,255,.04);border-radius:10px;font-size:.75rem}.wo-dependency-legend .legend-title{color:#475569;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.wo-dependency-legend .legend-item{display:flex;align-items:center;gap:8px;color:#94a3b8}.wo-dependency-legend .legend-swatch{width:20px;height:14px;border-radius:4px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.wo-dependency-legend .legend-independent .legend-swatch{background:#ffffff08;border-color:#ffffff14}.wo-dependency-legend .legend-blocked .legend-swatch{border-left:4px solid #fbbf24;background:#f59e0b1a}.wo-dependency-legend .legend-critical .legend-swatch{border-right:4px solid #22d3ee;background:#06b6d41a}.job-plan-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:#8b5cf61f;color:#c084fc;border-radius:6px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.job-plan-badge svg{flex-shrink:0}.gt-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border:none;border-radius:6px;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;transition:all .2s ease}.gt-badge:hover{transform:scale(1.05);filter:brightness(1.2)}.gt-badge.gt-ra{background:#f59e0b1f;color:#fbbf24}.gt-badge.gt-ra:hover{background:#f59e0b33}.gt-badge.gt-defect{background:#ef44441f;color:#f87171}.gt-badge.gt-defect:hover{background:#ef444433}.gt-badge.gt-ptw{background:#8b5cf61f;color:#c084fc}.gt-badge.gt-ptw:hover{background:#8b5cf633}.wo-materials{margin-top:.75rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.wo-materials.loading{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:2.5rem;color:var(--text-tertiary);font-size:.8rem}.wo-materials.loading .spin{animation:wo-mat-spin 1s linear infinite}@keyframes wo-mat-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.materials-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,color-mix(in srgb,var(--bg-secondary) 92%,#10b981) 100%);border-bottom:1px solid var(--border-color)}.materials-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.materials-header h3 svg{color:#10b981}.btn-issue{display:flex;align-items:center;gap:4px;padding:3px 10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:5px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-issue:hover{filter:brightness(1.15);box-shadow:0 2px 8px #10b9814d}.materials-error{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;margin:.75rem;background:color-mix(in srgb,#ef4444 12%,var(--bg-secondary));border:1px solid color-mix(in srgb,#ef4444 30%,transparent);border-radius:6px;color:#fca5a5;font-size:.8rem}.materials-error svg{color:#ef4444;flex-shrink:0}.materials-summary{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent)}.summary-card{flex:1;padding:.625rem .875rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-align:center;transition:border-color .15s ease}.summary-card:hover{border-color:color-mix(in srgb,#10b981 30%,var(--border-color))}.summary-label{display:block;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:.25rem}.summary-value{font-size:1.125rem;font-weight:700;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace}.materials-planned{margin:.75rem;padding:.75rem;background:color-mix(in srgb,#3b82f6 5%,var(--bg-secondary));border:1px solid color-mix(in srgb,#3b82f6 20%,var(--border-color));border-radius:8px}.materials-planned h4{display:flex;align-items:center;gap:.4rem;margin:0 0 .625rem;font-size:.75rem;font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.04em}.planned-table{width:100%;border-collapse:collapse;font-size:.75rem}.planned-table th{padding:.4rem .625rem;text-align:left;font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.planned-table td{padding:.4rem .625rem;color:var(--text-primary)}.planned-table tr.critical{background:color-mix(in srgb,#ef4444 5%,transparent)}.planned-table .item-code{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent-color);display:block}.planned-table .item-name{font-size:.75rem;color:var(--text-secondary)}.critical-badge{display:inline-block;margin-left:6px;padding:1px 5px;background:color-mix(in srgb,#ef4444 15%,transparent);color:#f87171;font-size:.55rem;font-weight:700;border-radius:3px;text-transform:uppercase;border:1px solid color-mix(in srgb,#ef4444 25%,transparent)}.planned-table .qty{text-align:right;font-family:JetBrains Mono,monospace}.variance{text-align:center;font-weight:600}.variance.over{color:#f87171}.variance.under{color:#fbbf24}.materials-list{padding:.75rem}.materials-list h4{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.no-materials{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;text-align:center;color:var(--text-tertiary)}.no-materials svg{opacity:.35}.no-materials p{margin:.5rem 0 .25rem;font-size:.8125rem;color:var(--text-secondary);font-weight:500}.btn-issue-empty{display:flex;align-items:center;gap:6px;padding:.5rem 1rem;background:transparent;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s ease;margin-top:.5rem}.btn-issue-empty:hover{background:color-mix(in srgb,#10b981 10%,transparent);border-color:#10b981;color:#34d399}.materials-table{width:100%;border-collapse:collapse;font-size:.75rem}.materials-table th{padding:.4rem .625rem;text-align:left;font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.materials-table td{padding:.375rem .625rem;color:var(--text-primary);border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);vertical-align:middle}.materials-table tbody tr:hover{background:color-mix(in srgb,var(--accent-color) 4%,transparent)}.materials-table .item-cell{min-width:150px}.materials-table .item-code{display:block;font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent-color)}.materials-table .item-name{font-size:.72rem;color:var(--text-secondary)}.materials-table .location{color:var(--text-secondary);font-size:.72rem}.materials-table .qty{text-align:right;font-family:JetBrains Mono,monospace;font-size:.72rem}.materials-table .qty.returned{color:#fbbf24}.materials-table .qty.net{font-weight:600;color:var(--text-primary)}.materials-table .cost{text-align:right;font-family:JetBrains Mono,monospace;color:var(--text-secondary);font-size:.72rem}.materials-table .issued-by{color:var(--text-secondary);font-size:.7rem}.materials-table .date{color:var(--text-tertiary);font-size:.7rem;white-space:nowrap}.materials-table .actions{text-align:center}.btn-return{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.btn-return:hover{color:#fbbf24;border-color:color-mix(in srgb,#f59e0b 30%,transparent);background:color-mix(in srgb,#f59e0b 8%,transparent)}.wo-materials .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:matFadeIn .15s ease}@keyframes matFadeIn{0%{opacity:0}to{opacity:1}}.wo-materials .modal-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;width:92%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0006;animation:matSlideUp .25s ease}@keyframes matSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.wo-materials .modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,color-mix(in srgb,var(--bg-secondary) 92%,#10b981) 100%);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1}.wo-materials .modal-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.wo-materials .modal-header h3 svg{color:#10b981}.wo-materials .close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.wo-materials .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.wo-materials .modal-form{padding:1rem}.wo-materials .form-group{margin-bottom:.75rem}.wo-materials .form-group label{display:block;margin-bottom:.25rem;font-size:.675rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.wo-materials .form-group select,.wo-materials .form-group input,.wo-materials .form-group textarea{width:100%;padding:.4375rem .625rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;transition:border-color .15s ease,box-shadow .15s ease}.wo-materials .form-group select:focus,.wo-materials .form-group input:focus,.wo-materials .form-group textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px color-mix(in srgb,#10b981 15%,transparent)}.wo-materials .form-group select:disabled{opacity:.55;cursor:not-allowed}.wo-materials .form-group textarea{resize:vertical;min-height:56px;font-family:inherit}.wo-materials .form-group .hint{display:block;margin-top:.25rem;font-size:.675rem;color:var(--text-tertiary)}.wo-materials .form-error{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.75rem;background:color-mix(in srgb,#ef4444 12%,var(--bg-secondary));border:1px solid color-mix(in srgb,#ef4444 30%,transparent);border-radius:6px;color:#fca5a5;font-size:.8rem}.wo-materials .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.wo-materials .btn-cancel{padding:.375rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.wo-materials .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.wo-materials .modal-actions .btn-issue{padding:.375rem 1rem;font-size:.8125rem}.wo-materials .btn-return-confirm{display:flex;align-items:center;gap:4px;padding:.375rem 1rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #f59e0b40}.wo-materials .btn-return-confirm:hover{filter:brightness(1.1)}.wo-materials .btn-return-confirm:disabled,.wo-materials .btn-issue:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.return-info{padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin-bottom:.75rem}.return-info p{margin:.25rem 0;font-size:.8rem;color:var(--text-secondary)}.return-info strong{color:var(--text-primary)}.work-order-labor{margin-top:.75rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.work-order-labor .labor-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,color-mix(in srgb,var(--bg-secondary) 92%,#3b82f6) 100%);border-bottom:1px solid var(--border-color);gap:.75rem}.work-order-labor .header-left{display:flex;align-items:center;gap:.625rem;min-width:0}.work-order-labor .header-left>svg{color:#3b82f6;flex-shrink:0}.work-order-labor .header-left h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.2}.work-order-labor .header-left p{margin:0;font-size:.675rem;color:var(--text-tertiary);line-height:1.2}.work-order-labor .header-right{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.work-order-labor .labor-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent)}.work-order-labor .summary-card{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:border-color .15s ease}.work-order-labor .summary-card:hover{border-color:color-mix(in srgb,#3b82f6 30%,var(--border-color))}.work-order-labor .summary-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;flex-shrink:0}.work-order-labor .summary-card .summary-icon{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#60a5fa}.work-order-labor .summary-card.overtime .summary-icon{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#fbbf24}.work-order-labor .summary-card.cost .summary-icon{background:color-mix(in srgb,#10b981 12%,transparent);color:#34d399}.work-order-labor .summary-content{display:flex;flex-direction:column}.work-order-labor .summary-value{font-size:1.0625rem;font-weight:700;color:var(--text-primary);line-height:1.2;font-family:JetBrains Mono,Fira Code,monospace}.work-order-labor .summary-label{font-size:.6rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.work-order-labor .crew-cell{display:flex;flex-direction:column;gap:1px}.work-order-labor .crew-name{font-weight:500;color:var(--text-primary);font-size:.75rem}.work-order-labor .crew-rank{font-size:.65rem;color:var(--text-tertiary)}.work-order-labor .hours-badge{display:inline-block;padding:2px 6px;background:color-mix(in srgb,#3b82f6 12%,transparent);color:#60a5fa;border-radius:4px;font-weight:600;font-size:.72rem}.work-order-labor .overtime-badge{display:inline-block;padding:2px 6px;background:color-mix(in srgb,#f59e0b 12%,transparent);color:#fbbf24;border-radius:4px;font-weight:600;font-size:.72rem}.work-order-labor .type-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.work-order-labor .type-badge.type-regular{background:color-mix(in srgb,#64748b 12%,transparent);color:#94a3b8}.work-order-labor .type-badge.type-overtime{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#fbbf24}.work-order-labor .type-badge.type-standby{background:color-mix(in srgb,#8b5cf6 12%,transparent);color:#a78bfa}.work-order-labor .status-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600}.work-order-labor .status-badge.signed{background:color-mix(in srgb,#10b981 12%,transparent);color:#34d399}.work-order-labor .status-badge.pending{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#fbbf24}.work-order-labor .action-buttons{display:flex;gap:.25rem}.work-order-labor .action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:var(--text-tertiary);transition:all .12s ease}.work-order-labor .action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.work-order-labor .action-btn.verify:hover{color:#34d399;border-color:color-mix(in srgb,#10b981 30%,transparent);background:color-mix(in srgb,#10b981 8%,transparent)}.work-order-labor .action-btn.edit:hover{color:#60a5fa;border-color:color-mix(in srgb,#3b82f6 30%,transparent);background:color-mix(in srgb,#3b82f6 8%,transparent)}.work-order-labor .action-btn.delete:hover{color:#f87171;border-color:color-mix(in srgb,#ef4444 30%,transparent);background:color-mix(in srgb,#ef4444 8%,transparent)}.work-order-labor .btn-refresh{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.work-order-labor .btn-refresh:hover{background:var(--bg-hover);color:var(--text-primary)}.work-order-labor .btn-refresh .spinning{animation:laborSpin 1s linear infinite}.work-order-labor .btn-add{display:flex;align-items:center;gap:4px;padding:3px 10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:5px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.work-order-labor .btn-add:hover{filter:brightness(1.15);box-shadow:0 2px 8px #3b82f64d}.work-order-labor .labor-form-modal{width:92%;max-width:600px;max-height:85vh;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 20px 60px #0006}.work-order-labor .labor-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary) 0%,color-mix(in srgb,var(--bg-secondary) 92%,#3b82f6) 100%)}.work-order-labor .labor-form-modal .modal-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.work-order-labor .labor-form-modal .modal-header h3 svg{color:#3b82f6}.work-order-labor .labor-form-modal .close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.work-order-labor .labor-form-modal .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.work-order-labor .labor-form-modal .modal-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.work-order-labor .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.work-order-labor .form-group{display:flex;flex-direction:column;gap:.25rem}.work-order-labor .form-group.full-width{grid-column:1 / -1}.work-order-labor .form-group label{font-size:.675rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.work-order-labor .form-group input,.work-order-labor .form-group select,.work-order-labor .form-group textarea{padding:.4375rem .625rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.8125rem;transition:border-color .15s ease,box-shadow .15s ease}.work-order-labor .form-group input:focus,.work-order-labor .form-group select:focus,.work-order-labor .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px color-mix(in srgb,#3b82f6 15%,transparent)}.work-order-labor .modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.work-order-labor .btn-cancel{padding:.375rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.work-order-labor .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.work-order-labor .btn-save{padding:.375rem 1rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #3b82f640}.work-order-labor .btn-save:hover{filter:brightness(1.1);box-shadow:0 4px 12px #3b82f659}@keyframes laborSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.work-order-labor .labor-summary{grid-template-columns:repeat(2,1fr)}.work-order-labor .labor-header{flex-direction:column;gap:.5rem;align-items:flex-start}.work-order-labor .header-right{width:100%;justify-content:flex-end}}.wo-measurements{margin-top:.75rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.measurements-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,color-mix(in srgb,var(--bg-secondary) 92%,#8b5cf6) 100%);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;gap:.75rem}.measurements-header:hover{background:linear-gradient(135deg,var(--bg-hover) 0%,color-mix(in srgb,var(--bg-hover) 92%,#8b5cf6) 100%)}.measurements-header .header-left{display:flex;align-items:center;gap:.625rem;min-width:0}.measurements-header .header-left>svg{color:#8b5cf6;flex-shrink:0}.measurements-header .header-left h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.2}.measurements-header .header-left p{margin:0;font-size:.675rem;color:var(--text-tertiary);line-height:1.2}.measurements-header .header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.expand-icon{color:var(--text-tertiary);transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.measurement-badges{display:flex;gap:.375rem}.measurement-badges .badge{font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:10px;letter-spacing:.02em}.badge.badge-pass{background:color-mix(in srgb,#10b981 15%,transparent);color:#34d399;border:1px solid color-mix(in srgb,#10b981 25%,transparent)}.badge.badge-fail{background:color-mix(in srgb,#ef4444 15%,transparent);color:#f87171;border:1px solid color-mix(in srgb,#ef4444 25%,transparent)}.badge.badge-neutral{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#fbbf24;border:1px solid color-mix(in srgb,#f59e0b 20%,transparent)}.measurements-header .btn-add{display:flex;align-items:center;gap:4px;padding:3px 10px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:none;border-radius:5px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.measurements-header .btn-add:hover{filter:brightness(1.15);box-shadow:0 2px 8px #8b5cf64d}.measurements-content{border-top:1px solid var(--border-color)}.measurements-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--text-tertiary);font-size:.8rem}.measurements-loading .spin{animation:spin 1s linear infinite}.measurements-empty{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:2rem;text-align:center}.measurements-empty svg{color:var(--text-tertiary);opacity:.4}.measurements-empty p{margin:0;font-size:.8125rem;color:var(--text-secondary);font-weight:500}.measurements-empty span{font-size:.7rem;color:var(--text-tertiary)}.measurements-table-wrapper{overflow-x:auto}.measurements-table{width:100%;border-collapse:collapse;font-size:.75rem}.measurements-table thead th{padding:.5rem .625rem;background:var(--bg-secondary);color:var(--text-secondary);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.measurements-table tbody td{padding:.4rem .625rem;border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);color:var(--text-primary);vertical-align:middle}.measurements-table tbody tr:hover{background:color-mix(in srgb,var(--accent-color) 4%,transparent)}.measurements-table th.num,.measurements-table td.num{text-align:right;font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem}.measurements-table td.num.oem{color:var(--text-tertiary)}.measurements-table th.center,.measurements-table td.center{text-align:center}.component-cell{display:flex;align-items:center;gap:.375rem}.component-name{font-weight:500}.row-remarks{color:var(--text-tertiary);cursor:help;opacity:.7}.row-remarks:hover{opacity:1;color:var(--accent-color)}.uom-cell{color:var(--text-tertiary);font-size:.65rem;text-transform:uppercase}.measured-by{color:var(--text-secondary);font-size:.72rem}.tolerance-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:.6rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.tolerance-badge.pass{background:color-mix(in srgb,#10b981 15%,transparent);color:#34d399;border:1px solid color-mix(in srgb,#10b981 25%,transparent)}.tolerance-badge.fail{background:color-mix(in srgb,#ef4444 15%,transparent);color:#f87171;border:1px solid color-mix(in srgb,#ef4444 25%,transparent)}.tolerance-badge.unknown{background:color-mix(in srgb,#6b7280 12%,transparent);color:#9ca3af}.measurements-table tbody tr.status-fail{background:color-mix(in srgb,#ef4444 4%,transparent)}.measurements-table tbody tr.status-fail:hover{background:color-mix(in srgb,#ef4444 7%,transparent)}.action-buttons{display:flex;gap:.25rem;justify-content:center}.btn-icon{background:none;border:1px solid transparent;padding:4px;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .12s ease}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.warning:hover{color:#f59e0b;border-color:color-mix(in srgb,#f59e0b 30%,transparent);background:color-mix(in srgb,#f59e0b 8%,transparent)}.btn-icon.danger:hover{color:#ef4444;border-color:color-mix(in srgb,#ef4444 30%,transparent);background:color-mix(in srgb,#ef4444 8%,transparent)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:woMeasFadeIn .15s ease}@keyframes woMeasFadeIn{0%{opacity:0}to{opacity:1}}.measurement-form-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;width:92%;max-width:600px;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #0006;animation:woMeasSlideUp .25s ease}@keyframes woMeasSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,color-mix(in srgb,var(--bg-secondary) 92%,#8b5cf6) 100%);border-bottom:1px solid var(--border-color)}.modal-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.modal-header h3 svg{color:#8b5cf6}.modal-header .close-btn{background:none;border:none;padding:.375rem;color:var(--text-tertiary);border-radius:6px;cursor:pointer;transition:all .15s ease}.modal-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:1rem;overflow-y:auto;max-height:calc(85vh - 120px)}.modal-body .form-row{display:flex;gap:.625rem;margin-bottom:.625rem}.modal-body .form-group{flex:1;display:flex;flex-direction:column;gap:.25rem}.modal-body .form-group label{font-size:.675rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{padding:.4375rem .625rem;border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;color:var(--text-primary);background:var(--bg-secondary);transition:border-color .15s ease,box-shadow .15s ease}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px color-mix(in srgb,#8b5cf6 15%,transparent)}.modal-body .form-group textarea{resize:vertical;min-height:56px;font-family:inherit}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.modal-footer .btn-cancel{padding:.375rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.modal-footer .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-footer .btn-save{padding:.375rem 1rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:6px;font-size:.8125rem;font-weight:600;color:#fff;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #8b5cf640}.modal-footer .btn-save:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 12px #8b5cf659}.modal-footer .btn-save:disabled{opacity:.6;cursor:not-allowed}.meter-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.meter-modal{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;width:100%;max-width:500px;box-shadow:0 20px 60px #0006}.meter-modal-compact{max-width:400px}.meter-modal-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--text-secondary)}.meter-modal-loading .spin{animation:spin 1s linear infinite}.meter-modal-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.meter-modal-header h3{margin:0;flex:1;font-size:1rem;font-weight:600;color:var(--text-primary)}.meter-modal-header .close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer}.meter-modal-header .close-btn:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.meter-modal-error{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#ef44441a;color:#ef4444;font-size:.85rem}.meter-modal-body{padding:20px}.wo-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.meter-modal-body .wo-number{font-family:JetBrains Mono,Consolas,monospace;font-size:.8rem;padding:4px 8px;background:var(--accent-primary);color:#fff;border-radius:4px;font-weight:600}.meter-modal-body .wo-title{font-size:.9rem;color:var(--text-primary)}.asset-info{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:20px;font-size:.875rem;color:var(--text-secondary)}.no-meters-msg{color:var(--text-secondary);font-size:.9rem;text-align:center;padding:20px 0}.meters-list{display:flex;flex-direction:column;gap:16px}.meter-row{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;padding:14px}.meter-row.invalid{border-color:#ef4444}.meter-row .meter-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.meter-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.meter-last{font-size:.8rem;color:var(--text-tertiary)}.meter-last strong{color:var(--text-secondary)}.meter-input{display:flex;align-items:center;gap:8px}.meter-input input{flex:1;height:40px;padding:0 12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:1rem;font-family:JetBrains Mono,Consolas,monospace}.meter-input input:focus{outline:none;border-color:var(--accent-primary)}.meter-unit{font-size:.85rem;color:var(--text-tertiary);min-width:40px}.meter-next-due{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:#f59e0b1a;border-radius:4px;font-size:.75rem;color:#f59e0b}.meter-next-due strong{color:#f59e0b}.meter-error{margin-top:8px;font-size:.75rem;color:#ef4444}.meter-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);border-radius:0 0 12px 12px}.btn-skip{height:38px;padding:0 16px;background:transparent;border:none;color:var(--text-tertiary);font-size:.85rem;cursor:pointer;margin-right:auto}.btn-skip:hover{color:var(--text-secondary)}.btn-cancel{height:38px;padding:0 16px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer}.btn-cancel:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-confirm{display:flex;align-items:center;gap:6px;height:38px;padding:0 18px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-confirm:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.wo-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:woFadeIn .2s ease}@keyframes woFadeIn{0%{opacity:0}to{opacity:1}}@keyframes woSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.wo-form-modal{background:#0a0e1af7;border-radius:16px;width:90%;max-width:720px;max-height:90vh;overflow:hidden;box-shadow:0 24px 80px #00000080;border:1px solid rgba(255,255,255,.06);animation:woSlideUp .3s ease}.wo-form-inline{background:#080c16d9;border-radius:14px;border:1px solid rgba(255,255,255,.05);overflow:hidden;box-shadow:0 2px 20px #00000040}.wo-form-header{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:linear-gradient(135deg,#065f4614,#0f172a80,#10b9810a);border-bottom:1px solid rgba(255,255,255,.05);position:relative}.wo-form-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.25),rgba(6,182,212,.15),transparent)}.wo-form-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1rem;font-weight:600;color:#e2e8f0;letter-spacing:-.01em}.wo-form-header h2 svg{color:#10b981}.wo-form-header .close-btn{background:#ffffff08;border:1px solid rgba(255,255,255,.06);padding:6px;cursor:pointer;color:#94a3b8;border-radius:8px;transition:all .2s ease}.wo-form-header .close-btn:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0}.wo-form-inline .wo-form-header h2 svg{color:#10b981}.wo-form-inline .wo-form-header .btn-cancel{display:flex;align-items:center;gap:7px;padding:7px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:8px;font-size:.8rem;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s ease}.wo-form-inline .wo-form-header .btn-cancel:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0;transform:translateY(-1px)}.wo-status-section{display:flex;justify-content:space-between;align-items:center;padding:10px 22px;background:#0003;border-bottom:1px solid rgba(255,255,255,.04);flex-wrap:wrap;gap:.75rem}.current-status{display:flex;align-items:center;gap:10px}.current-status .status-label{font-size:.75rem;color:#475569;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.current-status .status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;background:color-mix(in srgb,var(--badge-color) 12%,transparent);color:var(--badge-color);font-size:.72rem;font-weight:600;border-radius:6px;border:1px solid color-mix(in srgb,var(--badge-color) 20%,transparent);letter-spacing:.02em}.status-transitions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.status-transitions .transition-label{font-size:.72rem;color:#475569;margin-right:2px;font-weight:500}.transition-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:#ffffff08;border:1px solid color-mix(in srgb,var(--btn-color, rgba(255, 255, 255, .08)) 50%,transparent);border-radius:8px;font-size:.7rem;font-weight:600;color:var(--btn-color, #94a3b8);cursor:pointer;transition:all .2s ease}.transition-btn:hover:not(:disabled){background:var(--btn-color);color:#fff;border-color:var(--btn-color);box-shadow:0 2px 12px color-mix(in srgb,var(--btn-color) 30%,transparent);transform:translateY(-1px)}.transition-btn:disabled{opacity:.5;cursor:not-allowed}.transition-btn.danger{border-color:#ef444459;color:#f87171}.transition-btn.danger:hover:not(:disabled){background:#ef4444;color:#fff}.wo-form{padding:20px 22px;overflow-y:auto;max-height:calc(90vh - 60px)}.wo-form-inline .wo-form{padding:20px 22px;max-height:none}.form-section-card{background:#0003;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:16px 18px;margin-bottom:14px;position:relative}.form-section-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.15),transparent);border-radius:12px 12px 0 0}.form-section-card .section-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#10b981;margin-bottom:10px}.form-error{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:14px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#fca5a5;border-radius:10px;font-size:.8rem}.form-error svg{color:#ef4444;flex-shrink:0}.form-row{display:flex;gap:14px;margin-bottom:12px}.form-group{flex:1;display:flex;flex-direction:column;gap:4px}.form-group.full-width{flex:1 0 100%}.form-group label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;padding-left:2px}.form-group input,.form-group select,.form-group textarea{padding:9px 14px;border:1px solid rgba(255,255,255,.06);border-radius:10px;font-size:.82rem;color:#e2e8f0;background:#0000004d;transition:all .2s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:#475569}.form-group select option{background:#1e293b;color:#e2e8f0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#10b98159;box-shadow:0 0 0 2px #10b98114}.form-group input:disabled,.form-group select:disabled{background:#00000026;cursor:not-allowed;opacity:.5;color:#475569}.form-group textarea{resize:vertical;min-height:64px;font-family:inherit;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.04)}.form-actions .btn-cancel{padding:8px 18px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;font-size:.8rem;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s ease}.form-actions .btn-cancel:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0}.form-actions .btn-save{display:flex;align-items:center;gap:6px;padding:8px 20px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;font-size:.8rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 12px #10b98133}.form-actions .btn-save:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 20px #10b98159;transform:translateY(-1px)}.form-actions .btn-save:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn-save .spin{animation:spin 1s linear infinite}.wo-dependencies-section{margin-top:8px;border:1px solid rgba(255,255,255,.04);border-radius:10px;overflow:hidden}.dependencies-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#0003;border:none;font-size:.78rem;font-weight:500;color:#cbd5e1;cursor:pointer;text-align:left;transition:all .2s ease}.dependencies-toggle:hover{background:#ffffff08}.dependencies-toggle svg{color:#64748b}.dependencies-toggle svg:last-child{margin-left:auto}.dependencies-content{padding:14px 16px;background:#0000001a;border-top:1px solid rgba(255,255,255,.04)}.dependency-group{margin-bottom:14px}.dependency-group:last-child{margin-bottom:0}.dependency-group h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.68rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.no-deps{font-size:.75rem;color:#475569;font-style:italic;margin:0}.dependency-list{list-style:none;padding:0;margin:0 0 8px}.dependency-item{display:flex;align-items:center;gap:8px;padding:7px 12px;background:#ffffff05;border:1px solid rgba(255,255,255,.03);border-radius:8px;margin-bottom:6px;transition:background .15s ease}.dependency-item:hover{background:#ffffff0a}.dependency-item:last-child{margin-bottom:0}.dep-wo{flex:1;font-size:.78rem;color:#cbd5e1}.dep-status{font-size:.62rem;font-weight:600;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}.dep-status.status-draft{background:#6b72801f;color:#9ca3af}.dep-status.status-planned{background:#3b82f61f;color:#60a5fa}.dep-status.status-released{background:#8b5cf61f;color:#a78bfa}.dep-status.status-in_progress{background:#f59e0b1f;color:#fbbf24}.dep-status.status-completed{background:#10b9811f;color:#34d399}.dep-status.status-verified{background:#06b6d41f;color:#22d3ee}.dep-status.status-closed{background:#64748b1f;color:#94a3b8}.remove-dep-btn{background:none;border:none;padding:4px;cursor:pointer;color:#475569;border-radius:6px;transition:all .2s ease}.remove-dep-btn:hover{background:#ef44441a;color:#f87171}.add-dependency{display:flex;gap:8px}.add-dependency select{flex:1;padding:7px 12px;border:1px solid rgba(255,255,255,.06);border-radius:8px;font-size:.78rem;background:#0000004d;color:#e2e8f0}.add-dependency select option{background:#1e293b;color:#e2e8f0}.add-dependency button{display:flex;align-items:center;gap:4px;padding:7px 14px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-dependency button:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 2px 8px #10b98140}.add-dependency button:disabled{opacity:.5;cursor:not-allowed}.wo-form::-webkit-scrollbar{width:5px}.wo-form::-webkit-scrollbar-track{background:transparent}.wo-form::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.wo-form::-webkit-scrollbar-thumb:hover{background:#ffffff26}.work-order-calendar{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--bg-primary, #0f172a);border-radius:12px;min-height:600px}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.8rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}.filter-group select{padding:6px 12px;font-size:.85rem;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#0000004d;color:var(--text-primary, #e2e8f0);cursor:pointer}.filter-group select:focus{outline:none;border-color:#0d9488}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-left:auto;padding-left:16px;border-left:1px solid rgba(255,255,255,.1)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#94a3b8;text-transform:uppercase}.legend-color{width:12px;height:12px;border-radius:3px}.calendar-container{flex:1;min-height:500px}.calendar-loading{display:flex;align-items:center;justify-content:center;height:400px;color:#64748b;font-size:1rem}.fc{--fc-border-color: rgba(255, 255, 255, .1);--fc-button-bg-color: rgba(255, 255, 255, .1);--fc-button-border-color: rgba(255, 255, 255, .15);--fc-button-text-color: #e2e8f0;--fc-button-hover-bg-color: rgba(255, 255, 255, .15);--fc-button-hover-border-color: rgba(255, 255, 255, .2);--fc-button-active-bg-color: #0d9488;--fc-button-active-border-color: #0d9488;--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255, 255, 255, .02);--fc-list-event-hover-bg-color: rgba(255, 255, 255, .05);--fc-today-bg-color: rgba(13, 148, 136, .1);--fc-event-border-color: transparent}.fc .fc-toolbar-title{color:#e2e8f0;font-size:1.25rem;font-weight:600}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:#94a3b8}.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:#0d9488;font-weight:600}.fc-event{border-radius:4px;cursor:pointer;transition:all .15s ease}.fc-event:hover{filter:brightness(1.1);transform:translateY(-1px)}.wo-calendar-event{padding:2px 4px;font-size:.75rem;line-height:1.3;overflow:hidden}.wo-event-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wo-event-meta{display:flex;gap:6px;font-size:.65rem;opacity:.8;margin-top:2px}.wo-event-status{font-weight:600;text-transform:uppercase}.wo-event-asset{opacity:.7}.fc-event.priority-critical{border-left:3px solid #dc2626!important}.fc-event.priority-high{border-left:3px solid #f59e0b!important}.fc-event.priority-medium{border-left:3px solid #3b82f6!important}.fc-event.priority-low{border-left:3px solid #6b7280!important}.fc-event.carried-forward{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.15) 4px,rgba(0,0,0,.15) 8px)!important;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 8px 2px #ef444466}}.fc .fc-more-link{color:#0d9488;font-size:.75rem;font-weight:600}.fc .fc-more-link:hover{color:#14b8a6}.fc .fc-popover{background:#1e293b;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #0006;border-radius:8px}.fc .fc-popover-header{background:#ffffff0d;color:#e2e8f0;padding:8px 12px}.fc .fc-popover-body{padding:8px}@media(max-width:768px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-legend{margin-left:0;padding-left:0;padding-top:12px;border-left:none;border-top:1px solid rgba(255,255,255,.1)}}.asset-meter-list{padding:0}.meter-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--surface-elevated);border-bottom:1px solid var(--border-primary);border-radius:12px 12px 0 0;margin-bottom:0}.meter-filters{display:flex;gap:12px}.meter-filters select{padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--surface-primary);color:var(--text-primary);font-size:.875rem;min-width:160px}.meter-filters select:disabled{opacity:.5;cursor:not-allowed}.meter-stats{display:flex;gap:16px;padding:16px 20px;background:var(--surface-primary);border-bottom:1px solid var(--border-primary)}.stat-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 16px;background:var(--surface-elevated);border-radius:8px;border:1px solid var(--border-primary)}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-card .stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.stat-card.fresh .stat-value{color:var(--status-success)}.stat-card.aging .stat-value{color:var(--status-warning)}.stat-card.stale .stat-value{color:var(--status-danger)}.dt-table .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary)}.meter-info .meter-code{display:block;font-weight:600;color:var(--accent-primary);font-family:monospace;font-size:.875rem}.meter-info .meter-name{display:block;font-size:.8rem;color:var(--text-secondary)}.type-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.type-badge.type-running_hours{background:#3b82f626;color:#3b82f6}.type-badge.type-cycles{background:#8b5cf626;color:#8b5cf6}.type-badge.type-starts{background:#ec489926;color:#ec4899}.type-badge.type-distance{background:#06b6d426;color:#06b6d4}.type-badge.type-other{background:#64748b26;color:#64748b}.dt-table td.reading-value{font-family:monospace}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{padding:8px 16px;background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px;font-size:.875rem;cursor:pointer}.btn-secondary:hover{background:var(--surface-hover)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary)}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{margin-bottom:16px}.loading{text-align:center;padding:40px;color:var(--text-tertiary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--surface-primary);border-radius:12px;width:90%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.modal-content.modal-small{max-width:420px}.modal-content.modal-large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-primary)}.modal-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);font-size:1.5rem;cursor:pointer;border-radius:6px}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-primary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select{padding:10px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--surface-elevated);color:var(--text-primary);font-size:.9rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}.reading-meter-info{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:var(--surface-elevated);border-radius:8px;margin-bottom:16px}.reading-meter-info strong{color:var(--text-primary)}.reading-meter-info span{font-size:.85rem;color:var(--text-secondary)}.reading-meter-info .current-reading{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-primary);color:var(--text-tertiary)}.reading-meter-info .current-reading strong{color:var(--accent-primary);font-size:1.1rem}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-primary)}.history-table th{background:var(--surface-elevated);color:var(--text-secondary);font-size:.75rem;text-transform:uppercase}.history-table .empty{text-align:center;color:var(--text-tertiary);padding:30px}.delta-positive{color:#22c55e;font-weight:500}.source-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.source-badge.manual{background:#8b5cf626;color:#8b5cf6}.source-badge.auto,.source-badge.system{background:#06b6d426;color:#06b6d4}.source-badge.wo,.source-badge.work_order{background:#3b82f626;color:#3b82f6}.cert-list{display:flex;flex-direction:column;gap:16px;padding:20px}.cert-list.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-secondary)}.cert-list.loading .spin{animation:spin 1s linear infinite}.cert-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:8px}.cert-card{display:flex;align-items:center;gap:16px;padding:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:all .2s ease}.cert-card:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-2px)}.cert-card svg{flex-shrink:0;opacity:.8}.cert-card-content{display:flex;flex-direction:column;gap:4px}.cert-card-value{font-size:1.75rem;font-weight:700;line-height:1}.cert-card-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.cert-card-total svg{color:#64748b}.cert-card-total .cert-card-value{color:#e2e8f0}.cert-card-active svg{color:#10b981}.cert-card-active .cert-card-value{color:#10b981}.cert-card-warning svg{color:#f59e0b}.cert-card-warning .cert-card-value{color:#f59e0b}.cert-card-critical svg{color:#ef4444}.cert-card-critical .cert-card-value{color:#ef4444}.cert-card-expired svg{color:#dc2626}.cert-card-expired .cert-card-value{color:#dc2626}.cert-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.cert-filters{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.cert-filters .search-input{height:38px;padding:0 12px;min-width:180px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;outline:none}.cert-filters .search-input:focus{border-color:var(--accent-primary)}.cert-filters .filter-select{height:38px;padding:0 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.cert-filters .filter-select:hover{border-color:var(--accent-primary)}.cert-filters .clear-filters{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-secondary);font-size:.75rem;cursor:pointer}.cert-filters .clear-filters:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-create{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cert-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.875rem}.dt-table tbody tr.expired{background:#ef444414!important}.dt-table tbody tr.expired:hover{background:#ef44441f!important}.dt-table tbody tr.critical{background:#ef44440d!important}.dt-table tbody tr.warning{background:#f59e0b0d!important}.cert-number code{padding:4px 8px;background:#64748b33;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.8rem;color:var(--text-primary)}.cert-type{display:flex;flex-direction:column;gap:2px}.cert-type .type-code{font-size:.7rem;font-weight:600;color:var(--accent-primary);text-transform:uppercase}.expiry-date{font-weight:500}.days-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.days-badge.expired,.days-badge.critical{background:#ef444426}.days-badge.warning{background:#f59e0b26}.days-badge.ok{background:#10b98126}.issuing-authority{color:var(--text-secondary);font-size:.8rem}.cert-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.pagination-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.cert-inline-form{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:12px;padding:16px}@media(max-width:768px){.cert-dashboard{grid-template-columns:repeat(2,1fr)}.cert-toolbar{flex-direction:column;align-items:stretch}.cert-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.cert-filters .search-input,.cert-filters .filter-select{min-width:140px;flex-shrink:0}.form-row{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}}.survey-list{display:flex;flex-direction:column;gap:16px;padding:20px}.survey-list.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-secondary)}.survey-list.loading .spin{animation:spin 1s linear infinite}.survey-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.survey-filters{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.survey-filters .search-input{height:38px;padding:0 12px;min-width:180px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;outline:none}.survey-filters .search-input:focus{border-color:var(--accent-primary)}.survey-filters .filter-select{height:38px;padding:0 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.survey-filters .filter-select:hover{border-color:var(--accent-primary)}.survey-filters .clear-filters{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-secondary);font-size:.75rem;cursor:pointer}.survey-filters .clear-filters:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-create{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.survey-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.875rem}.survey-inline-form{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:12px;padding:16px}.inline-form-header .close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-secondary);cursor:pointer}.inline-form-header .close-btn:hover{background:#ef444426;color:#ef4444}.inline-form-row{display:flex;gap:12px;flex-wrap:nowrap;align-items:flex-end;overflow-x:auto}.form-field{display:flex;flex-direction:column;gap:4px;min-width:140px;flex-shrink:0}.form-field input,.form-field select{padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);font-size:.85rem}.form-actions{display:flex;gap:8px;flex-shrink:0;border:none!important}.btn-cancel{padding:8px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer}.btn-cancel:hover{background:#ffffff14}.btn-save{padding:8px 14px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer}.btn-save:hover{box-shadow:0 4px 12px #3b82f64d}.expand-cell{width:30px;text-align:center}.expand-icon{transition:transform .2s ease;color:var(--text-secondary)}.survey-number code{padding:4px 8px;background:#64748b33;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.8rem}.survey-type{display:flex;flex-direction:column;gap:2px}.survey-type .type-code{font-size:.7rem;font-weight:600;color:var(--accent-primary);text-transform:uppercase}.surveyor{color:var(--text-secondary);font-size:.85rem}.findings-count .findings-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#f59e0b26;color:#f59e0b;border-radius:12px;font-size:.75rem;font-weight:600}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.survey-table .actions{display:flex;gap:6px;justify-content:flex-end}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.action-btn:hover{background:#3b82f626;border-color:#3b82f64d;color:#3b82f6}.action-btn-danger:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.survey-table .no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;text-align:center;color:var(--text-tertiary)}.findings-row td{padding:0!important;background:#0003!important}.finding-type{padding:2px 6px;background:#8b5cf626;color:#a78bfa;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.finding-status{padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.finding-status.open{background:#ef444426;color:#ef4444}.finding-status.closed{background:#10b98126;color:#10b981}.finding-status.in_progress{background:#f59e0b26;color:#f59e0b}.findings-table .remarks{color:var(--text-secondary);font-size:.75rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.survey-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.pagination-info{color:var(--text-secondary);font-size:.8rem}.pagination-controls{display:flex;gap:4px;align-items:center}.pagination-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-secondary);cursor:pointer}.pagination-controls button:hover:not(:disabled){background:#3b82f626;border-color:#3b82f64d;color:#3b82f6}.pagination-controls .page-number{padding:0 12px;font-size:.8rem;color:var(--text-secondary)}.pms-manager{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.pms-header{padding:20px 24px;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-primary));border-bottom:1px solid var(--border-subtle)}.pms-title{display:flex;align-items:center;gap:16px}.pms-title svg{color:var(--accent-primary)}.pms-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.pms-subtitle{font-size:.875rem;color:var(--text-tertiary)}.pms-tabs{display:flex;gap:4px;padding:0 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.pms-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pms-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.pms-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.pms-tab.active svg{color:var(--accent-primary)}.pms-content{flex:1;overflow:auto;background:var(--bg-primary)}.pms-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;text-align:center}.pms-placeholder h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.pms-placeholder p{margin:0;max-width:480px;color:var(--text-secondary);line-height:1.6}.wo-stacked-layout{display:flex;flex-direction:column;height:100%;overflow:hidden}.wo-form-section{flex-shrink:0;max-height:50%;overflow:auto;border-bottom:2px solid var(--accent-color);animation:slideDown .3s ease}.wo-list-section{flex:1;overflow:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.job-plan-list{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--bg-primary);min-height:100%}.jp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:400px;color:var(--text-secondary)}.jp-loading .spin{animation:spin 1s linear infinite}.jp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.jp-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.jp-filters .search-box{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:8px 12px;min-width:220px}.jp-filters .search-box input{background:transparent;border:none;color:var(--text-primary);font-size:.875rem;width:100%;outline:none}.jp-filters .search-box input::placeholder{color:var(--text-tertiary)}.jp-filters .filter-select{padding:8px 12px;height:38px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.875rem;min-width:120px}.jp-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:.875rem}.jp-error button{margin-left:auto;background:none;border:none;color:#f87171;cursor:pointer;font-size:1.25rem;padding:0 4px}.jp-form-panel{background:var(--bg-secondary, #1e293b);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.jp-form-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-bottom:1px solid rgba(255,255,255,.1)}.jp-form-header h3{margin:0;font-size:1rem;font-weight:600}.jp-form-header .btn-close{background:none;border:none;color:var(--text-tertiary);font-size:1.5rem;cursor:pointer;line-height:1}.jp-form-content{padding:12px 16px;max-height:55vh;overflow-y:auto}.jp-form-footer{display:flex;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid rgba(255,255,255,.1);background:var(--bg-tertiary, #0f172a)}.form-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.05)}.form-section:last-child{margin-bottom:0;border-bottom:none}.form-section h4{margin:0 0 10px;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-header h4{margin:0}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.form-grid .full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:.75rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.form-group input,.form-group select,.form-group textarea{padding:7px 10px;background:var(--bg-tertiary, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:5px;color:var(--text-primary);font-size:.85rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent, #3b82f6)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.checkbox-group{flex-direction:row;align-items:center;gap:8px}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent, #3b82f6);cursor:pointer}.checkbox-group label{text-transform:none;font-size:.875rem;color:var(--text-primary)}.trigger-list{display:flex;flex-direction:column;gap:8px}.trigger-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-tertiary, #0f172a);border-radius:6px}.trigger-item .status-active{margin-left:auto;font-size:.7rem;padding:2px 8px;background:#10b98133;color:#34d399;border-radius:10px;text-transform:uppercase}.trigger-item .status-inactive{margin-left:auto;font-size:.7rem;padding:2px 8px;background:#6b728033;color:#9ca3af;border-radius:10px;text-transform:uppercase}.inline-form{margin-top:16px;padding:16px;background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:8px}.inline-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.form-section.compact{padding:10px 16px}.compliance-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.section-label{font-weight:600;color:var(--text-secondary, #94a3b8);font-size:.8rem;text-transform:uppercase}.inline-checkbox{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer}.inline-checkbox input[type=checkbox]{margin:0}.inline-field{display:flex;align-items:center;gap:8px;font-size:.85rem}.inline-field span{color:var(--text-secondary, #94a3b8)}.mini-table{width:100%;border-collapse:collapse;font-size:.85rem}.mini-table th,.mini-table td{padding:8px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.mini-table th{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;background:#0003}.req-type{font-size:.7rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.req-spare{background:#6366f133;color:#818cf8}.req-consumable{background:#10b98133;color:#34d399}.req-service{background:#f59e0b33;color:#fbbf24}.req-tool{background:#9ca3af33;color:#9ca3af}.empty-text{color:var(--text-tertiary);font-style:italic;font-size:.875rem;padding:12px 0}.dt-table .empty-cell{text-align:center;padding:48px;color:var(--text-tertiary)}.jp-table .empty-cell span{display:block;margin-top:12px}.jp-code code{font-family:JetBrains Mono,monospace;font-size:.8rem;background:#6366f126;padding:3px 8px;border-radius:4px;color:#a5b4fc}.jp-name{font-weight:500}.class-badge,.stat-badge{font-size:.6rem;padding:2px 5px;border-radius:3px;margin-left:8px;font-weight:600;vertical-align:middle}.class-badge{background:#3b82f633;color:#60a5fa}.stat-badge{background:#ef444433;color:#f87171}.job-type-tag{font-size:.7rem;padding:3px 8px;border-radius:4px;font-weight:600;text-transform:uppercase;background:rgba(var(--tag-color-rgb, 107, 114, 128),.2);color:var(--tag-color, #9ca3af)}.numeric{text-align:center}.trigger-count,.parts-count{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:600}.trigger-count{background:#6366f133;color:#818cf8}.parts-count{background:#10b98133;color:#34d399}.actions-cell{display:flex;gap:6px;justify-content:center}.action-btn{padding:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#ffffff1a;color:var(--text-primary)}.action-btn-primary{background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}.action-btn-primary:hover{background:#3b82f633;color:#93c5fd}.action-btn-danger{background:#ef44441a;border-color:#ef44444d;color:#f87171}.action-btn-danger:hover{background:#ef444433;color:#fca5a5}.btn-mini{padding:2px 4px;border-radius:3px}.mini-table td:last-child{white-space:nowrap}.mini-table td:last-child .action-btn{display:inline-flex;margin-right:4px}.trigger-item.editing{background:#3b82f626;border:1px solid var(--accent, #3b82f6);padding:6px 10px;border-radius:6px;display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.editing-row{background:#3b82f626}.editing-row td{padding:4px 6px!important}.inline-input{background:var(--bg-secondary, #1a1f2e);border:1px solid rgba(255,255,255,.2);color:var(--text-primary, #ffffff);padding:3px 6px;border-radius:4px;font-size:.75rem;height:24px}.inline-input.small{width:55px}.inline-input:focus{border-color:var(--accent, #3b82f6);outline:none}.btn.btn-inline{padding:3px 8px;font-size:.7rem;height:22px;min-width:auto}.editing-row .btn.btn-inline{margin-left:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;white-space:nowrap}.btn-primary{background:var(--accent, #3b82f6);color:#fff}.btn-secondary{background:#ffffff1a;color:var(--text-primary)}.btn-secondary:hover{background:#ffffff26}.btn-sm{padding:6px 12px;font-size:.8rem}@media(max-width:1400px){.form-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1200px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.jp-filters{flex-direction:column;width:100%}.jp-filters .search-box,.jp-filters .filter-select{width:100%}}.wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wizard-modal{background:var(--bg-secondary, #1a1f2e);border-radius:16px;width:95%;max-width:1100px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color, #2d3748)}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, #2d3748)}.wizard-header h2{margin:0;font-size:1.5rem;color:var(--text-primary, #fff)}.wizard-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #a0aec0);cursor:pointer;padding:8px;line-height:1;border-radius:8px;transition:all .2s}.wizard-close:hover{background:var(--bg-primary, #0d1117);color:var(--text-primary, #fff)}.wizard-progress{display:flex;align-items:center;padding:20px 24px;background:var(--bg-primary, #0d1117);gap:8px}.progress-step{display:flex;align-items:center;gap:8px;opacity:.5;transition:opacity .3s}.progress-step.active,.progress-step.completed{opacity:1}.progress-step.completed .step-number{background:var(--success-color, #10b981)}.step-number{width:28px;height:28px;border-radius:50%;background:var(--primary-color, #3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.step-label{font-size:.875rem;color:var(--text-primary, #fff);font-weight:500}.progress-line{flex:1;height:2px;background:var(--border-color, #2d3748);margin:0 8px}.wizard-message{padding:12px 24px;font-size:.875rem}.wizard-message.success{background:#10b98126;color:#10b981;border-bottom:1px solid rgba(16,185,129,.3)}.wizard-message.error{background:#ef444426;color:#ef4444;border-bottom:1px solid rgba(239,68,68,.3)}.wizard-content{flex:1;overflow-y:auto;padding:24px}.wizard-step{width:100%}.wizard-step h3{margin:0 0 8px;font-size:1.25rem;color:var(--text-primary, #fff);text-align:center}.step-description{color:var(--text-secondary, #a0aec0);margin-bottom:20px;font-size:.9rem;text-align:center}.wizard-search{width:100%;padding:12px 16px;border-radius:8px;border:1px solid var(--border-color, #2d3748);background:var(--bg-primary, #0d1117);color:var(--text-primary, #fff);font-size:1rem;margin-bottom:16px}.wizard-search:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.item-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:55vh;overflow-y:auto;width:100%}.item-card{padding:16px;border-radius:10px;border:2px solid var(--border-color, #2d3748);background:var(--bg-primary, #0d1117);cursor:pointer;transition:all .2s}.item-card:hover{border-color:var(--primary-color, #3b82f6);background:#3b82f61a}.item-card.selected{border-color:var(--primary-color, #3b82f6);background:#3b82f626;box-shadow:0 0 0 3px #3b82f633}.item-code{font-weight:600;color:var(--primary-color, #3b82f6);font-size:.95rem;margin-bottom:4px}.item-name{color:var(--text-primary, #fff);font-size:.9rem;margin-bottom:8px}.item-details{display:flex;gap:8px}.criticality{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.criticality-A{background:#ef444433;color:#ef4444}.criticality-B{background:#f59e0b33;color:#f59e0b}.criticality-C{background:#3b82f633;color:#3b82f6}.uom{padding:2px 8px;border-radius:4px;font-size:.75rem;background:var(--bg-secondary, #1a1f2e);color:var(--text-secondary, #a0aec0)}.no-items{grid-column:1 / -1;text-align:center;padding:40px;color:var(--text-secondary, #a0aec0)}.vessel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;max-height:55vh;overflow-y:auto;width:100%}.vessel-card{display:flex;align-items:center;padding:16px;border-radius:10px;border:2px solid var(--border-color, #2d3748);background:var(--bg-primary, #0d1117);cursor:pointer;transition:all .2s;gap:12px}.vessel-card:hover{border-color:var(--primary-color, #3b82f6)}.vessel-card.selected{border-color:var(--success-color, #10b981);background:#10b9811a}.vessel-checkbox{width:24px;height:24px;border-radius:6px;border:2px solid var(--border-color, #2d3748);display:flex;align-items:center;justify-content:center;font-weight:600;color:#10b981;background:var(--bg-secondary, #1a1f2e)}.vessel-card.selected .vessel-checkbox{background:var(--success-color, #10b981);border-color:var(--success-color, #10b981);color:#fff}.vessel-info{flex:1}.vessel-name{font-weight:600;color:var(--text-primary, #fff);font-size:.95rem}.vessel-type{font-size:.8rem;color:var(--text-secondary, #a0aec0)}.selection-summary{margin-top:16px;padding:12px;border-radius:8px;background:var(--bg-primary, #0d1117);color:var(--text-secondary, #a0aec0);text-align:center;font-size:.9rem}.setup-table{width:100%;border-collapse:collapse;margin-bottom:16px}.setup-table th{text-align:left;padding:12px;background:var(--bg-primary, #0d1117);color:var(--text-secondary, #a0aec0);font-weight:500;font-size:.875rem;border-bottom:1px solid var(--border-color, #2d3748)}.setup-table td{padding:12px;border-bottom:1px solid var(--border-color, #2d3748)}.vessel-cell{display:flex;align-items:center;gap:8px;color:var(--text-primary, #fff);font-weight:500}.vessel-icon{font-size:1.25rem}.qty-input{width:100%;max-width:100px;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color, #2d3748);background:var(--bg-primary, #0d1117);color:var(--text-primary, #fff);font-size:.9rem;text-align:right}.qty-input:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.qty-input::placeholder{color:var(--text-secondary, #a0aec0);opacity:.6}.setup-note{padding:16px;border-radius:8px;background:#3b82f61a;color:var(--text-secondary, #a0aec0);font-size:.875rem;border:1px solid rgba(59,130,246,.3)}.setup-note strong{color:var(--primary-color, #3b82f6)}.wizard-footer{display:flex;align-items:center;padding:20px 24px;border-top:1px solid var(--border-color, #2d3748);gap:12px}.footer-spacer{flex:1}.wizard-footer .btn-primary,.wizard-footer .btn-success,.wizard-footer .btn-secondary{padding:12px 24px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;border:none}.wizard-footer .btn-primary{background:var(--primary-color, #3b82f6);color:#fff}.wizard-footer .btn-primary:hover:not(:disabled){background:#2563eb}.wizard-footer .btn-success{background:var(--success-color, #10b981);color:#fff}.wizard-footer .btn-success:hover:not(:disabled){background:#059669}.wizard-footer .btn-secondary{background:var(--bg-primary, #0d1117);color:var(--text-primary, #fff);border:1px solid var(--border-color, #2d3748)}.wizard-footer .btn-secondary:hover:not(:disabled){background:var(--bg-secondary, #1a1f2e)}.wizard-footer button:disabled{opacity:.5;cursor:not-allowed}.existing-hint{color:var(--success-color, #10b981);font-style:italic}.vessel-card.has-stock{border-color:var(--success-color, #10b981);background:#10b9810d}.vessel-stock-badge{margin-top:4px;font-size:.75rem;color:var(--success-color, #10b981);background:#10b98126;padding:2px 6px;border-radius:4px;display:inline-block}.setup-table tr.has-existing{background:#10b9810d}.existing-badge{margin-left:8px;font-size:.7rem;background:#10b98133;color:var(--success-color, #10b981);padding:2px 6px;border-radius:4px;font-weight:500}.location-type-toggle{display:flex;gap:12px;margin-bottom:24px}.type-toggle-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;border-radius:12px;border:2px solid var(--border-color, #2d3748);background:var(--bg-primary, #0d1117);cursor:pointer;transition:all .2s}.type-toggle-btn:hover{border-color:var(--primary-color, #3b82f6);background:#3b82f60d}.type-toggle-btn.active{border-color:var(--primary-color, #3b82f6);background:#3b82f61a;box-shadow:0 0 0 3px #3b82f633}.type-toggle-icon{font-size:2.5rem}.type-toggle-label{font-weight:600;font-size:1.1rem;color:var(--text-primary, #fff)}.type-toggle-desc{font-size:.85rem;color:var(--text-secondary, #a0aec0);text-align:center}.location-card{display:flex;align-items:center;padding:16px;border-radius:10px;border:2px solid var(--border-color, #2d3748);background:var(--bg-primary, #0d1117);cursor:pointer;transition:all .2s;gap:12px}.location-card:hover{border-color:var(--primary-color, #3b82f6)}.location-card.selected{border-color:var(--success-color, #10b981);background:#10b9811a}.location-card.has-stock{border-color:var(--success-color, #10b981);background:#10b9810d}.location-checkbox{width:24px;height:24px;border-radius:6px;border:2px solid var(--border-color, #2d3748);display:flex;align-items:center;justify-content:center;font-weight:600;color:#10b981;background:var(--bg-secondary, #1a1f2e);flex-shrink:0}.location-card.selected .location-checkbox{background:var(--success-color, #10b981);border-color:var(--success-color, #10b981);color:#fff}.location-info{flex:1;min-width:0}.location-name{font-weight:600;color:var(--text-primary, #fff);font-size:.95rem}.location-code{font-size:.8rem;color:var(--text-secondary, #a0aec0)}.location-stock-badge{margin-top:4px;font-size:.75rem;color:var(--success-color, #10b981);background:#10b98126;padding:2px 6px;border-radius:4px;display:inline-block}.item-list,.vessel-grid,.location-grid{max-height:55vh}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;overflow-y:auto;width:100%}.location-select{width:100%;min-width:150px;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color, #2d3748);background:var(--bg-primary, #0d1117);color:var(--text-primary, #fff);font-size:.875rem;cursor:pointer}.location-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.location-select option{background:var(--bg-secondary, #1a1f2e);color:var(--text-primary, #fff)}.vessel-setup-list{display:flex;flex-direction:column;gap:20px;width:100%}.vessel-setup-card{background:var(--bg-primary, #0d1117);border:1px solid var(--border-color, #2d3748);border-radius:12px;overflow:hidden;width:100%}.vessel-setup-card.has-existing{border-color:var(--success-color, #10b981);border-width:2px}.vessel-setup-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary, #1a1f2e);border-bottom:1px solid var(--border-color, #2d3748);flex-wrap:wrap;gap:16px}.vessel-setup-title{display:flex;align-items:center;gap:10px}.vessel-setup-title .vessel-icon{font-size:1.5rem}.vessel-setup-title .vessel-name{font-weight:600;font-size:1.1rem;color:var(--text-primary, #fff)}.vessel-setup-rules{display:flex;gap:20px;align-items:center}.rule-field{display:flex;align-items:center;gap:8px}.rule-field label{font-size:.85rem;color:var(--text-secondary, #a0aec0);white-space:nowrap}.rule-field .qty-input{width:100px}.distribution-section{padding:16px 20px}.distribution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.9rem;color:var(--text-secondary, #a0aec0)}.add-distribution-btn{padding:6px 12px;border-radius:6px;border:1px dashed var(--primary-color, #3b82f6);background:transparent;color:var(--primary-color, #3b82f6);font-size:.85rem;cursor:pointer;transition:all .2s}.add-distribution-btn:hover{background:#3b82f61a}.no-distributions{padding:20px;text-align:center;color:var(--text-secondary, #a0aec0);font-size:.9rem}.no-distributions a{color:var(--primary-color, #3b82f6);margin-left:4px}.distribution-table{width:100%;border-collapse:collapse}.distribution-table th{text-align:left;padding:8px 12px;font-size:.8rem;color:var(--text-secondary, #a0aec0);font-weight:500;border-bottom:1px solid var(--border-color, #2d3748)}.distribution-table td{padding:10px 12px}.distribution-table td:first-child{width:60%}.distribution-table td:last-child{width:40px;text-align:center}.distribution-table .location-select{width:100%}.distribution-table .qty-input{width:100%;max-width:120px}.remove-dist-btn{width:28px;height:28px;border-radius:6px;border:none;background:#ef444426;color:#ef4444;font-size:1.2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.remove-dist-btn:hover{background:#ef444440}.cost-input{background:#3b82f60d!important;border-color:#3b82f64d!important}.cost-input:focus{border-color:var(--primary-color, #3b82f6)!important}.catalog-price-hint{color:var(--primary-color, #3b82f6)}.catalog-price-hint strong{color:var(--success-color, #10b981)}.existing-stock-section{background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:8px;padding:12px;margin-bottom:16px}.existing-stock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600;color:var(--success-color, #10b981)}.existing-stock-header .edit-hint{font-size:11px;font-weight:400;color:var(--text-muted);font-style:italic}.existing-stock-summary{background:#0003;border-radius:6px;padding:10px 12px}.existing-stock-row{display:flex;align-items:center;gap:12px;padding:4px 0;color:var(--text-secondary);font-size:13px}.existing-stock-row .loc-name{flex:1;color:var(--text-primary)}.existing-stock-row .qty-value{min-width:80px;text-align:right;font-weight:500;color:var(--success-color, #10b981)}.existing-stock-row .cost-value{min-width:100px;text-align:right;color:var(--text-muted);font-size:12px}.existing-stock-total{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);text-align:right;color:var(--success-color, #10b981)}.no-distributions.info{background:#3b82f60d;border:1px dashed rgba(59,130,246,.3);color:var(--primary-color, #3b82f6)}.stock-group{margin-bottom:4px}.stock-group-header{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff08;border-radius:4px;cursor:pointer;transition:background .2s}.stock-group-header:hover{background:#ffffff14}.stock-group-header .expand-icon{font-size:10px;color:var(--text-muted);width:12px}.stock-group-header .loc-name{flex:1;color:var(--text-primary);font-weight:500}.stock-group-header .qty-value{min-width:80px;text-align:right;font-weight:600;color:var(--success-color, #10b981)}.stock-group-entries{margin-left:24px;padding:4px 0;border-left:2px solid rgba(255,255,255,.1)}.ledger-entry-row{display:flex;align-items:center;gap:12px;padding:4px 8px;font-size:12px;color:var(--text-secondary)}.ledger-entry-row .entry-date{min-width:65px;color:var(--text-muted)}.ledger-entry-row .entry-qty{min-width:40px;text-align:right;font-weight:500;color:var(--success-color, #10b981)}.ledger-entry-row .entry-cost{min-width:80px;text-align:right;color:var(--primary-color, #3b82f6)}.ledger-entry-row .entry-type{font-size:10px;text-transform:uppercase;background:#ffffff0d;padding:2px 6px;border-radius:3px;color:var(--text-muted)}.shore-setups{display:flex;flex-direction:column;gap:16px}.transfer-modal{max-width:700px;width:95%}.transfer-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08);background:#6366f114}.transfer-modal .modal-title{display:flex;align-items:center;gap:12px;color:var(--primary-light, #818cf8)}.transfer-modal .modal-title h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.transfer-modal .modal-close{background:transparent;border:none;color:var(--text-tertiary, #64748b);cursor:pointer;padding:8px;border-radius:6px;transition:all .15s ease}.transfer-modal .modal-close:hover{background:#ffffff1a;color:var(--text-primary)}.transfer-modal .modal-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--text-secondary)}.transfer-form{padding:24px;display:flex;flex-direction:column;gap:20px}.form-section{display:flex;flex-direction:column;gap:8px}.form-label{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;color:var(--text-secondary, #94a3b8)}.form-select{width:100%;padding:10px 12px;background:var(--surface-tertiary, rgba(15, 23, 42, .5));border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.9rem;cursor:pointer;transition:border-color .15s ease}.form-select:focus{outline:none;border-color:var(--primary, #6366f1)}.form-select-sm{padding:8px 10px;font-size:.8rem;background:var(--surface-tertiary, rgba(15, 23, 42, .5));border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--text-primary)}.item-info{display:flex;gap:16px;padding:8px 12px;background:#6366f11a;border-radius:6px;font-size:.8rem;color:var(--text-secondary)}.transfer-direction{display:flex;gap:16px;align-items:stretch}.location-panel{flex:1;background:var(--surface-secondary, rgba(30, 41, 59, .5));border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.06)}.location-panel.source{border-color:#ef44444d}.location-panel.destination{border-color:#22c55e4d}.panel-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.location-panel.source .panel-header{color:#fca5a5}.location-panel.destination .panel-header{color:#86efac}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:.75rem;color:var(--text-tertiary, #64748b);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.stock-available{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f59e0b26;border-radius:8px;font-size:.85rem;color:var(--warning, #f59e0b);border:1px solid rgba(245,158,11,.3)}.stock-available strong{font-weight:600}.direction-arrow{display:flex;align-items:center;justify-content:center;color:var(--primary-light, #818cf8);min-width:40px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1;margin-bottom:0}.form-row .form-group.flex-2{flex:2}.form-input{width:100%;padding:10px 12px;background:var(--surface-tertiary, rgba(15, 23, 42, .5));border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.9rem;transition:border-color .15s ease}.form-input:focus{outline:none;border-color:var(--primary, #6366f1)}.form-input::placeholder{color:var(--text-tertiary, #64748b)}.message{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:.85rem}.message.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.message.success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#86efac}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:#ffffff0d;border-color:#ffffff4d}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--primary, #6366f1);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary:hover:not(:disabled){background:var(--primary-dark, #4f46e5)}@media(max-width:640px){.transfer-direction{flex-direction:column}.direction-arrow{transform:rotate(90deg);min-width:unset;padding:8px 0}.form-row{flex-direction:column}}.item-count{font-size:.75rem;font-weight:400;color:var(--text-tertiary);margin-left:8px}.no-stock-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:.85rem;color:#fca5a5;margin-top:8px}.stock-comparison{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#6366f11a,#6366f10d);border:1px solid rgba(99,102,241,.2);border-radius:12px;flex-wrap:wrap}.stock-card{flex:1;min-width:120px;padding:12px 16px;background:var(--surface-tertiary, rgba(15, 23, 42, .6));border-radius:10px;text-align:center;border:1px solid rgba(255,255,255,.06)}.stock-card.source-stock{border-color:#ef44444d}.stock-card.dest-stock{border-color:#22c55e4d}.stock-label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-card.source-stock .stock-label{color:#f87171}.stock-card.dest-stock .stock-label{color:#4ade80}.stock-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stock-uom{font-size:.75rem;color:var(--text-tertiary)}.transfer-arrow{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--primary-light, #818cf8);min-width:50px}.transfer-qty{font-size:.85rem;font-weight:600;color:#f59e0b;background:#f59e0b26;padding:2px 8px;border-radius:4px}.after-transfer{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding-top:12px;margin-top:8px;border-top:1px dashed rgba(255,255,255,.1);font-size:.85rem;color:var(--text-secondary)}.after-label{color:var(--text-tertiary)}.after-values strong{color:var(--text-primary)}.stock-count-wizard{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.stock-count-wizard-content{display:flex;flex-direction:column;background:var(--bg-secondary, #1e293b);border-radius:12px;border:1px solid rgba(255,255,255,.1);max-width:900px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #00000080}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.wizard-header h2{margin:0;font-size:1.25rem;color:#e2e8f0}.close-btn{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:4px 8px;line-height:1}.close-btn:hover{color:#ef4444}.wizard-steps{display:flex;justify-content:space-between;padding:20px 24px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.06)}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;opacity:.5}.wizard-step.active,.wizard-step.completed{opacity:1}.wizard-step:after{content:"";position:absolute;top:18px;left:60%;width:80%;height:2px;background:#ffffff1a}.wizard-step:last-child:after{display:none}.wizard-step.completed:after{background:#0d9488}.step-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#ffffff0d;border-radius:50%;border:2px solid rgba(255,255,255,.1)}.wizard-step.active .step-icon{background:#0d948833;border-color:#0d9488}.wizard-step.completed .step-icon{background:#0d9488}.step-title{font-size:.75rem;font-weight:500;color:#94a3b8;text-transform:uppercase}.wizard-step.active .step-title{color:#0d9488}.wizard-content{flex:1;padding:24px;min-height:400px;overflow-y:auto}.step-content{height:100%}.step-content .form-group{margin-bottom:20px}.step-content .form-group label{display:block;font-size:.85rem;font-weight:500;color:#94a3b8;margin-bottom:8px}.step-content .form-control{width:100%;padding:10px 14px;font-size:.95rem;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#0003;color:var(--text-primary, #e2e8f0)}.step-content .form-control:focus{outline:none;border-color:#0d9488}.count-table-wrapper{overflow-x:auto;margin:-12px;padding:12px}.count-table{width:100%;border-collapse:collapse;font-size:.85rem}.count-table th,.count-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.count-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#64748b;background:#ffffff05}.count-table tr.has-diff{background:#f59e0b1a}.count-input,.remarks-input{padding:6px 10px;font-size:.85rem;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#0000004d;color:var(--text-primary, #e2e8f0)}.count-input{width:90px;text-align:right}.count-input:focus,.remarks-input:focus{outline:none;border-color:#0d9488}.qty-cell{font-weight:500;text-align:right}.diff-cell{font-weight:600;text-align:right}.diff-cell.positive{color:#22c55e}.diff-cell.negative{color:#ef4444}.other-locations-cell{text-align:center}.other-stock-badge{display:inline-block;padding:3px 8px;font-size:.75rem;font-weight:500;background:#3b82f633;color:#60a5fa;border-radius:4px;cursor:help}.no-other-stock{color:#64748b;font-size:.85rem}.expand-cell{width:30px;text-align:center;padding:0!important}.expand-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px 8px;font-size:.7rem;transition:color .2s}.expand-btn:hover{color:#0d9488}.count-table tr.expanded{background:#0d94881a}.accordion-row{background:#0d94880d!important}.accordion-row td{padding:0!important}.other-locations-panel{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 40px;border-bottom:1px solid rgba(255,255,255,.06)}.panel-label{color:#94a3b8;font-size:.8rem;white-space:nowrap}.location-chips{display:flex;flex-wrap:wrap;gap:8px}.location-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#3b82f626;color:#93c5fd;border-radius:4px;font-size:.75rem}.location-chip strong{color:#60a5fa}.cost-cell{font-family:monospace;color:#94a3b8}.no-differences{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.no-differences .icon{font-size:3rem;margin-bottom:16px}.no-differences p{color:#64748b;font-size:1rem}.diff-summary{margin-bottom:20px;color:#94a3b8}.diff-table{width:100%;border-collapse:collapse}.diff-table th,.diff-table td{padding:12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.diff-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#64748b;background:#ffffff05}.item-info{display:flex;flex-direction:column;gap:2px}.item-code{font-weight:600;color:#e2e8f0}.item-name{font-size:.8rem;color:#64748b}.adjustment-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:600;border-radius:4px}.adjustment-badge.in{background:#22c55e33;color:#22c55e}.adjustment-badge.out{background:#ef444433;color:#ef4444}.confirm-message{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px}.confirm-message .icon{font-size:3rem;margin-bottom:16px}.confirm-message h3{margin:0 0 12px;color:#e2e8f0}.confirm-message p{color:#94a3b8;margin-bottom:8px}.confirm-message .warning{color:#f59e0b;font-weight:500;font-size:.9rem}.wizard-footer{display:flex;justify-content:space-between;padding:16px 20px;background:#ffffff05;border-top:1px solid rgba(255,255,255,.08)}.wizard-footer .btn{padding:10px 24px;font-size:.9rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.wizard-footer .btn-secondary{background:#ffffff1a;color:#94a3b8;border:1px solid rgba(255,255,255,.15)}.wizard-footer .btn-secondary:hover:not(:disabled){background:#ffffff26;color:#e2e8f0}.wizard-footer .btn-primary{background:#0d9488;color:#fff;border:none}.wizard-footer .btn-primary:hover:not(:disabled){background:#0f766e}.wizard-footer .btn:disabled{opacity:.5;cursor:not-allowed}.loading,.empty-state{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:#64748b;font-size:.95rem}.cost-account-selector{width:100%}.cost-account-selector.disabled{opacity:.6;pointer-events:none}.cost-account-selector .selector-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.cost-account-selector .selector-label svg{font-size:14px}.cost-account-selector .selector-label .required{color:#ef4444;margin-left:2px}.cost-account-selector .selector-row{display:flex;gap:8px;align-items:stretch}.cost-account-selector .type-selector{position:relative;flex:0 0 140px}.cost-account-selector .type-selector select{width:100%;height:40px;padding:8px 12px 8px 20px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary);font-size:13px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.cost-account-selector .type-selector select:focus{outline:none;border-color:#3b82f680}.cost-account-selector .type-indicator{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%}.cost-account-selector .account-selector{position:relative;flex:1}.cost-account-selector .account-input{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease}.cost-account-selector .account-input:hover{border-color:#fff3}.cost-account-selector .account-selector.open .account-input{border-color:#3b82f680;border-bottom-left-radius:0;border-bottom-right-radius:0}.cost-account-selector .selected-value{display:flex;align-items:center;gap:10px;overflow:hidden}.cost-account-selector .selected-value code{font-family:Fira Code,Consolas,monospace;font-size:12px;color:#60a5fa;background:#3b82f626;padding:3px 8px;border-radius:4px;flex-shrink:0}.cost-account-selector .selected-value .name{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-account-selector .placeholder{color:var(--text-muted);font-size:13px}.cost-account-selector .chevron{color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.cost-account-selector .chevron.open{transform:rotate(180deg)}.cost-account-selector .account-dropdown{position:relative;background:var(--bg-secondary, #1e293b);border:1px solid rgba(59,130,246,.5);border-top:none;border-radius:0 0 8px 8px;z-index:1000;box-shadow:0 10px 25px #0006;max-height:320px;display:flex;flex-direction:column}.cost-account-selector .dropdown-search{padding:8px;border-bottom:1px solid rgba(255,255,255,.1)}.cost-account-selector .dropdown-search input{width:100%;padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);font-size:13px}.cost-account-selector .dropdown-search input:focus{outline:none;border-color:#3b82f680}.cost-account-selector .dropdown-search input::placeholder{color:var(--text-muted)}.cost-account-selector .dropdown-list{overflow-y:auto;flex:1}.cost-account-selector .account-group{border-bottom:1px solid rgba(255,255,255,.05)}.cost-account-selector .account-group:last-child{border-bottom:none}.cost-account-selector .group-header{padding:8px 12px;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:#0003;letter-spacing:.5px;position:sticky;top:0}.cost-account-selector .account-option{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:background .15s ease}.cost-account-selector .account-option:hover{background:#3b82f61a}.cost-account-selector .account-option.selected{background:#3b82f633}.cost-account-selector .account-option code{font-family:Fira Code,Consolas,monospace;font-size:11px;color:#60a5fa;background:#3b82f61f;padding:2px 6px;border-radius:3px;flex-shrink:0;min-width:80px}.cost-account-selector .account-option .name{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-account-selector .no-results{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.cost-account-selector .clear-btn{flex-shrink:0;width:32px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.cost-account-selector .clear-btn:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.cost-account-selector.compact .selector-row{gap:4px}.cost-account-selector.compact .type-selector{flex:0 0 120px}.cost-account-selector.compact .type-selector select,.cost-account-selector.compact .account-input{height:34px;font-size:12px}.cost-account-selector.compact .clear-btn{width:28px;height:34px}.cost-account-selector.compact .selected-value code{font-size:10px;padding:2px 5px}.cost-account-selector.compact .selected-value .name{font-size:12px}.inv-manager{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.inv-header{padding:20px 24px;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-primary));border-bottom:1px solid var(--border-subtle)}.inv-title{display:flex;align-items:center;gap:16px}.inv-title svg{color:var(--accent-primary)}.inv-title h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.inv-subtitle{font-size:.875rem;color:var(--text-tertiary)}.inv-tabs{display:flex;gap:.25rem;padding:.75rem 2rem;background:#00000026;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap;flex-shrink:0}.inv-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:1px solid transparent;border-radius:8px;color:#94a3b8;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.inv-tab:hover{background:#ffffff0d;color:#cbd5e1}.inv-tab.active{background:linear-gradient(135deg,#f9731626,#f973160d);border-color:#f973164d;color:#fb923c}.inv-tab .tab-badge{padding:2px 8px;background:#f59e0b;color:#fff;font-size:.7rem;font-weight:600;border-radius:10px}.inv-content{flex:1;overflow:auto;background:var(--bg-primary)}.inv-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:400px;color:var(--text-secondary)}.inv-loading .spin{animation:inv-spin 1s linear infinite}@keyframes inv-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.inv-section{padding:20px}.inv-inline-form-slot{margin-bottom:20px;animation:inv-slideDown .3s ease}@keyframes inv-slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inv-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:nowrap}.inv-filters{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.inv-filters .filter-group{display:flex;align-items:center;gap:8px;padding:0 12px;height:38px;background:transparent;border:none;border-radius:6px}.inv-filters .filter-group svg{color:var(--text-tertiary);flex-shrink:0}.inv-filters .filter-group input{border:none;background:transparent;color:var(--text-primary);font-size:.875rem;outline:none;min-width:180px;height:100%}.inv-filters select{height:38px;padding:0 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.inv-filters .search-input{height:38px;padding:0 12px;min-width:200px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;outline:none}.inv-filters .search-input:focus{border-color:var(--accent-primary)}.inv-filters .search-input::placeholder{color:var(--text-tertiary)}.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.inv-table-container{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.inv-table{width:100%;border-collapse:collapse;font-size:.875rem}.inv-table thead{background:var(--bg-tertiary)}.inv-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle)}.inv-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.inv-table th.sortable:hover{background:var(--bg-hover);color:var(--accent-primary)}.inv-table th .sort-indicator{margin-left:4px;font-size:.7rem;color:var(--accent-primary)}.inv-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background .15s ease}.inv-table tbody tr:hover{background:var(--bg-hover)}.inv-table tbody tr.below-min{background:#ef44440d}.inv-table td{padding:14px 16px;color:var(--text-primary);vertical-align:middle}.inv-table td code{font-family:JetBrains Mono,Consolas,monospace;font-size:.8rem;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;color:var(--accent-primary)}.inv-table td.qty{font-weight:600;font-size:1rem}.inv-table td.qty.low{color:#dc2626}.inv-table td.qty-min,.inv-table td.qty-max{color:var(--text-tertiary)}.inv-table td.shortfall{color:#dc2626;font-weight:600}.inv-table .no-data{text-align:center;padding:60px 20px;color:var(--text-tertiary)}.inv-table .no-data.success{color:#10b981}.inv-table .no-data span{display:block;margin-top:12px}.criticality-badge{display:inline-block;padding:4px 10px;background:var(--crit-bg);color:var(--crit-color);font-size:.75rem;font-weight:600;border-radius:4px}.status-low{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#ef444426;color:#f87171;font-size:.75rem;font-weight:500;border-radius:4px}.status-ok{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#10b98126;color:#34d399;font-size:.75rem;font-weight:500;border-radius:4px}.location-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:4px;white-space:nowrap}.location-type-badge.vessel{background:#3b82f61a;color:#3b82f6}.location-type-badge.warehouse{background:#8b5cf61a;color:#8b5cf6}.inv-table .actions{display:flex;gap:4px}.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s ease}.btn-ghost:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--text-primary)}.btn-ghost-sm{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-ghost-sm:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-create-pr{display:flex;align-items:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-create-pr:hover{transform:translateY(-1px);box-shadow:0 2px 8px #f59e0b4d}.location-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.location-card{display:flex;gap:16px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all .2s ease}.location-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.location-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:10px;color:var(--accent-primary)}.location-info{display:flex;flex-direction:column;gap:4px}.location-info h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.location-info code{font-size:.75rem;padding:2px 6px;background:var(--bg-primary);border-radius:4px;color:var(--text-tertiary);width:fit-content}.location-type{font-size:.8rem;color:var(--text-secondary)}.reorder-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);border-radius:10px;margin-bottom:20px}.reorder-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#fbbf24}.reorder-header p{margin:4px 0 0;font-size:.875rem;color:#f59e0b}.inv-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-top:none;border-radius:0 0 10px 10px;margin-top:-1px}.pagination-info{font-size:.875rem;color:var(--text-secondary)}.pagination-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-page{padding:0 12px;font-size:.875rem;color:var(--text-primary);font-weight:500;white-space:nowrap}.pagination-size{padding:6px 10px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;cursor:pointer;margin-left:8px}@media(max-width:768px){.inv-toolbar{flex-direction:column;align-items:flex-start}.inv-filters{width:100%}.btn-primary{width:100%;justify-content:center}.inv-table-container{overflow-x:auto}.inv-table{min-width:700px}}.inv-manager .form-group input,.inv-manager .form-group select,.inv-manager .form-group textarea,.inv-inline-form-slot input,.inv-inline-form-slot select,.inv-inline-form-slot textarea{background:var(--input-bg, rgba(0, 0, 0, .3))!important;color:var(--input-text, #ffffff)!important;border:1px solid var(--input-border, rgba(255, 255, 255, .1))!important}.inv-manager .form-group input::placeholder,.inv-inline-form-slot input::placeholder{color:var(--text-tertiary, #6b7280)}.inv-manager .form-group input:focus,.inv-manager .form-group select:focus,.inv-inline-form-slot input:focus,.inv-inline-form-slot select:focus{outline:none;border-color:var(--accent-primary, #3b82f6)!important;box-shadow:0 0 0 3px #3b82f626}.location-category{margin-bottom:24px}.location-category-title{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.location-category-title svg{color:var(--accent-primary)}.location-subcategory{margin-bottom:20px;padding-left:16px;border-left:2px solid var(--border-subtle)}.location-subcategory-title{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--text-secondary);margin:0 0 12px}.location-subcategory-title svg{color:var(--accent-secondary, #10b981)}.location-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.location-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;transition:all .2s ease;min-width:0}.location-card:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px #00000026}.location-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#3b82f61a;border-radius:6px;color:var(--accent-primary);flex-shrink:0}.location-icon svg{width:16px;height:16px}.location-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.location-info h4{margin:0;font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-info code{display:block;font-size:.65rem;color:var(--text-secondary);margin-bottom:1px}.location-info .location-type{font-size:.65rem;color:var(--text-tertiary);text-transform:capitalize}.location-actions{display:flex;gap:3px;flex-shrink:0}.location-actions .btn-icon{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;padding:2px!important;border-radius:4px}.location-actions .btn-icon svg{width:11px!important;height:11px!important}.location-actions .action-btn{padding:4px;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .2s ease}.location-actions .action-btn:hover{background:var(--bg-hover);color:var(--accent-primary)}.btn-create-pr,.btn-view-pr{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-create-pr{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-create-pr:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #3b82f64d}.btn-view-pr{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-view-pr:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 8px #10b9814d}.btn-view-rfq{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-view-rfq:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 2px 8px #f59e0b4d}.stock-info{background:var(--bg-tertiary);padding:12px;border-radius:8px;margin-bottom:16px}.stock-info p{margin:4px 0;color:var(--text-secondary)}.stock-info p strong{color:var(--text-primary);font-family:monospace}.stock-info .location-info{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--text-tertiary);font-size:.85rem}.inv-table td.shortage{background:#ef44441a}.shortage-value{color:#ef4444;font-weight:600}.ok-value{color:var(--text-tertiary)}.inv-table td.qty-min{color:var(--text-secondary)}.inv-table td.qty-max{color:var(--text-tertiary)}.stock-detail-modal{width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.stock-detail-modal .modal-body{flex:1;overflow-y:auto;padding:20px}.stock-transactions-modal{width:1100px!important;max-width:95vw!important;max-height:90vh;min-height:600px;display:flex;flex-direction:column}.stock-transactions-modal .modal-body{flex:1;overflow-y:auto;padding:24px}.stock-transactions-modal .modal-header h3{display:flex;align-items:center;gap:10px}.stock-detail-summary{background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border-radius:12px;padding:20px 24px;margin-bottom:24px;border:1px solid var(--border-subtle)}.stock-detail-summary .summary-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr;gap:24px;align-items:center}.stock-detail-summary .summary-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:8px 16px;border-right:1px solid var(--border-subtle)}.stock-detail-summary .summary-item:last-child{border-right:none}.stock-detail-summary .summary-item .label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;font-weight:600}.stock-detail-summary .summary-item .value{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary);font-weight:500;line-height:1.4}.stock-detail-summary .value code{background:#3b82f626;padding:3px 8px;border-radius:4px;font-size:.8rem;color:var(--accent-primary);font-weight:600;font-family:JetBrains Mono,monospace}.stock-detail-summary .value.qty-highlight{font-weight:700;font-size:1.4rem;color:var(--accent-primary)}.stock-detail-summary .detail-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.stock-detail-summary .detail-row:last-child{border-bottom:none}.stock-detail-summary .label{font-size:.85rem;color:var(--text-tertiary);width:100px;flex-shrink:0}.stock-detail-summary .value{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-primary)}.stock-detail-summary .value.qty{font-weight:600;font-size:1.1rem}.transactions-section{flex:1}.transactions-section .transactions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.transactions-section .transactions-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.transactions-section .transactions-header .count{font-size:.75rem;color:var(--accent-primary);background:#3b82f626;padding:3px 10px;border-radius:12px;font-weight:500}.section-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.transactions-table-wrapper{border:1px solid var(--border-subtle);border-radius:8px;overflow:visible}.transactions-table{width:100%;border-collapse:collapse;font-size:.85rem}.transactions-table th,.transactions-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-subtle)}.transactions-table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary)}.transactions-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.transactions-table th.sortable-th:hover{background:var(--bg-hover);color:var(--text-primary)}.transactions-table tbody tr:hover{background:var(--bg-hover)}.transactions-table .date-col{white-space:nowrap}.transactions-table .balance-col{font-weight:500;color:var(--text-secondary)}.transactions-table .actions-col{width:60px;text-align:center}.transactions-table .movement-type{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.transactions-table .movement-type.initial{background:#3b82f626;color:#3b82f6}.transactions-table .movement-type.receipt{background:#10b98126;color:#10b981}.transactions-table .movement-type.issue{background:#ef444426;color:#ef4444}.transactions-table .movement-type.adjust_plus,.transactions-table .movement-type.adjust_minus{background:#f59e0b26;color:#f59e0b}.transactions-table .qty-in{color:#10b981;font-weight:600}.transactions-table .qty-out{color:#ef4444;font-weight:600}.transactions-table .editing-row{background:#3b82f61a!important}.transactions-table .edit-input{width:80px;padding:4px 8px;border:1px solid var(--accent-primary);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.85rem}.transactions-table .edit-input:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}.transactions-table .edit-input-wide{width:120px}.edit-actions{display:flex;gap:4px}.loading-state,.empty-state{text-align:center;padding:40px;color:var(--text-tertiary)}.inv-table td.actions{display:flex;gap:8px}.inv-table tbody tr.selected-row{background:#3b82f626!important}.inv-table tbody tr.selected-row:hover{background:#3b82f633!important}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.reorder-bulk-actions{margin-left:auto}.inv-table input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary, #3b82f6)}.inv-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.transfer-info-card{display:flex;gap:16px;padding:20px;background:linear-gradient(135deg,#6366f11a,#6366f10d);border:1px solid rgba(99,102,241,.2);border-radius:12px;margin-bottom:24px}.transfer-info-card .info-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#6366f126;border-radius:10px;color:#818cf8;flex-shrink:0}.transfer-info-card .info-content h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.transfer-info-card .info-content p{margin:0 0 12px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.transfer-types{display:flex;gap:16px;flex-wrap:wrap}.transfer-type{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;font-size:.8rem;color:var(--text-secondary)}.transfer-type svg{color:var(--accent-primary)}.recent-transfers{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:20px}.recent-transfers .table-wrapper{overflow-x:auto}.txn-pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:var(--bg-tertiary);border-top:1px solid var(--border-subtle);border-radius:0 0 8px 8px;flex-wrap:nowrap}.txn-pagination .page-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:5px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.txn-pagination .page-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.txn-pagination .page-btn:disabled{opacity:.4;cursor:not-allowed}.txn-pagination .page-info{font-size:.75rem;color:var(--text-secondary);padding:0 8px;white-space:nowrap}.txn-pagination .page-size-select{padding:4px 6px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:5px;color:var(--text-secondary);font-size:.7rem;cursor:pointer;margin-left:6px;width:auto;min-width:unset}.btn-ghost{background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.btn-ghost-sm{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.btn-ghost-sm:hover{background:var(--bg-hover);color:var(--accent-primary);border-color:var(--border-subtle)}.btn-ghost-sm:hover svg{color:var(--accent-primary)}.expiry-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:600;border-radius:4px;letter-spacing:.02em;white-space:nowrap}.expiry-badge--expired{background:#ef44442e;color:#f87171}.expiry-badge--soon{background:#f59e0b26;color:#fbbf24}.expiry-badge--approaching{background:#3b82f61f;color:#60a5fa}.dt-table tbody tr.row-expired{background:#ef44440f}.dt-table tbody tr.row-expired:hover{background:#ef44441a}.inv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:300px;color:var(--text-secondary);font-size:.95rem}.inv-empty-state p{margin:0;max-width:400px;text-align:center;line-height:1.5}.purchasing-dashboard{padding:0 24px 24px}.dashboard-back{display:inline-flex;align-items:center;gap:8px;padding:10px 0;background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;transition:color .2s}.dashboard-back svg{transition:transform .2s}.dashboard-back:hover svg{transform:translate(-2px)}.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:0}.hero-main{display:flex;align-items:center;gap:28px}.hero-currency{font-size:1.2rem;font-weight:500;color:#64748b;letter-spacing:.05em}.hero-amount{font-size:2.75rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace;background:linear-gradient(135deg,#fff,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.hero-amount.amount-green{background:linear-gradient(135deg,#fff,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-amount.amount-amber{background:linear-gradient(135deg,#fff,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-amount.amount-purple{background:linear-gradient(135deg,#fff,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-qty-section{display:flex;flex-direction:column;gap:4px}.hero-qty{font-size:2.5rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace;color:#22c55e;letter-spacing:-.02em}.hero-qty-label{font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.hero-id{margin:0;font-size:1.4rem;font-weight:600;color:#e2e8f0;letter-spacing:-.01em;font-family:JetBrains Mono,monospace}.hero-title{margin:0;font-size:1.1rem;font-weight:500;color:#94a3b8}.hero-subtitle{font-size:.9rem;color:#64748b}.status-badge.pending,.status-badge.submitted{background:#f59e0b26;color:#fbbf24}.hero-secondary-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:500}.hero-secondary-badge.success{background:#22c55e1f;color:#4ade80}.hero-secondary-badge.warning{background:#f59e0b1f;color:#fbbf24}.hero-secondary-badge.error{background:#ef44441f;color:#f87171}.hero-secondary-badge.info{background:#3b82f61f;color:#60a5fa}.dashboard-quick-strip{display:flex;align-items:center;gap:0;border-bottom:1px solid rgba(255,255,255,.06);background:#0f172a4d;margin:0 -24px;padding:16px 24px;flex-wrap:wrap}.dashboard-detail-view{background:#0f172a66;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:0 28px 28px;margin-top:20px;box-shadow:0 10px 30px #0003;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{display:flex;justify-content:flex-start;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);gap:28px;flex-wrap:wrap}.dashboard-header .btn-back{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:8px;margin-bottom:0}.dashboard-header .btn-back:hover{background:#ffffff14;color:#f8fafc;border-color:#fff3;transform:translate(-2px)}.dashboard-header .hero-section{text-align:left;display:flex;flex-direction:column;align-items:flex-start;min-width:250px;flex:1}.dashboard-header .hero-title-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:4px}.dashboard-header .hero-title-row h1{margin:0;font-size:1.85rem;font-weight:700;color:#f8fafc;font-family:JetBrains Mono,monospace;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.2)}.dashboard-header .hero-subtitle{margin:0;font-size:.875rem;color:#94a3b8;display:flex;align-items:center;justify-content:flex-start;gap:10px}.dashboard-header .hero-subtitle svg{opacity:.7}.golden-link{background:transparent;border:none;padding:0;color:#60a5fa;font-size:inherit;font-family:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;text-decoration:none}.dashboard-quick-info{display:flex;align-items:center;gap:0;border-bottom:1px solid rgba(255,255,255,.06);background:#0f172a4d;margin:0 -24px;padding:18px 24px;flex-wrap:wrap}.quick-value.muted{color:#64748b;font-style:italic}.quick-link{background:none;border:none;color:#60a5fa;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0;transition:all .2s}.quick-link:hover{color:#93c5fd}.golden-link{background:none;border:none;color:#60a5fa;font-size:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0;transition:all .2s}.golden-link:hover{color:#93c5fd;text-decoration:underline}.golden-link svg{opacity:.8}.grn-links{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.grn-separator{color:#64748b;font-weight:400}.quick-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.quick-badge.badge-blue{background:#3b82f626;color:#60a5fa}.text-green{color:#4ade80!important}.text-amber{color:#fbbf24!important}.text-red{color:#f87171!important}.text-blue{color:#60a5fa!important}.dashboard-action-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06);gap:16px;flex-wrap:wrap}.action-bar-left,.action-bar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.action-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.action-primary.green{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e4d}.action-primary.green:hover{transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.action-primary.blue{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.action-primary.blue:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.action-primary.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.action-primary.purple:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf666}.action-primary.amber{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.action-primary.amber:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b66}.action-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.action-secondary:hover{background:#ffffff14;border-color:#ffffff26}.action-secondary.green{color:#4ade80;border-color:#22c55e4d}.action-secondary.green:hover{background:#22c55e1a}.action-secondary.purple{color:#a78bfa;border-color:#8b5cf64d}.action-secondary.purple:hover{background:#8b5cf61a}.action-text{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border-radius:6px}.action-text:hover{background:#ffffff0d}.action-text.blue{color:#60a5fa}.action-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border-radius:6px}.action-ghost:hover{background:#ffffff0d;color:#e2e8f0}.action-danger{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;background:transparent;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:13px;cursor:pointer;transition:all .2s;border-radius:6px}.action-danger:hover{background:#ef44441a;border-color:#ef444480}.dashboard-lines-section{margin-top:24px}.lines-header h2{margin:0;font-size:1rem;font-weight:600;color:#e2e8f0}.lines-count{font-size:13px;color:#64748b;background:#ffffff0d;padding:4px 10px;border-radius:12px}.lines-table-container{overflow-x:auto;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:var(--bg-secondary, #1e293b)}.dashboard-lines-table{width:100%;border-collapse:collapse}.dashboard-lines-table th{padding:14px 16px;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);font-weight:600;background:#0003;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.dashboard-lines-table td{padding:14px 16px;font-size:.9rem;color:var(--text-primary, #f1f5f9);border-bottom:1px solid rgba(255,255,255,.1)}.dashboard-lines-table tr:last-child td{border-bottom:none}.dashboard-lines-table tr:hover td{background:#ffffff05}.dashboard-lines-table .col-actions,.dashboard-lines-table .actions-cell{text-align:center}.dashboard-lines-table .actions-cell .btn-icon{width:28px;height:28px;padding:4px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .2s}.dashboard-lines-table .actions-cell .btn-icon:hover{background:#ffffff0d;border-color:#ffffff26;color:var(--text-primary, #f1f5f9)}.dashboard-lines-table .actions-cell .btn-icon.btn-view{color:#60a5fa;border-color:#3b82f633}.dashboard-lines-table .actions-cell .btn-icon.btn-view:hover{background:#3b82f61a;border-color:#3b82f64d}.dashboard-lines-table .actions-cell .btn-icon.btn-danger{color:#f87171;border-color:#ef444433}.dashboard-lines-table .actions-cell .btn-icon.btn-danger:hover{background:#ef44441a;border-color:#ef44444d}.col-description{min-width:200px}.col-qty{width:90px;text-align:center}.col-price{width:100px;text-align:right}.col-total{width:110px;text-align:right}.col-status{width:100px}.col-actions{width:80px;text-align:center}.golden-thread-link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:8px;color:#fbbf24;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.golden-thread-link:hover{background:#f59e0b1f;border-color:#f59e0b4d}.golden-thread-nav{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f59e0b0d;border:1px solid rgba(245,158,11,.15);border-radius:10px;margin-top:16px;flex-wrap:wrap}.golden-thread-nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#f59e0b;font-weight:600;display:flex;align-items:center;gap:6px}.golden-thread-nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.golden-thread-nav-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:12px;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s;font-family:inherit}.golden-thread-nav-item:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0}.golden-thread-nav-item.active{background:#f59e0b1a;border-color:#f59e0b4d;color:#fbbf24;cursor:default}.golden-thread-nav-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.golden-thread-nav-item svg{opacity:.7}.golden-thread-arrow{color:#475569;font-size:14px}.golden-thread-nav.compact{padding:10px 12px;margin:12px 0;gap:8px}.golden-thread-nav.compact .golden-thread-nav-label{font-size:10px;margin-bottom:6px;width:100%}.golden-thread-nav.compact .golden-thread-nav-links{gap:4px}.golden-thread-nav.compact .golden-thread-nav-item{padding:4px 8px;font-size:11px}.golden-thread-nav.compact .golden-thread-arrow{font-size:12px}.status-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.status-indicator.pending{background:#f59e0b1f;color:#fbbf24}.status-indicator.sent{background:#22c55e1f;color:#4ade80}.status-indicator.failed{background:#ef44441f;color:#f87171}.linked-pos-strip{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#22c55e0d;border:1px solid rgba(34,197,94,.15);border-radius:10px;margin-top:12px;flex-wrap:wrap}.linked-pos-label{font-size:12px;color:#4ade80;font-weight:600;display:flex;align-items:center;gap:6px}.linked-po-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:6px;font-size:12px;font-weight:500;color:#4ade80;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s}.linked-po-link:hover{background:#22c55e26;border-color:#22c55e4d}.lines-section .lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.lines-section .lines-header h2{margin:0;font-size:1rem;font-weight:600;color:#e2e8f0}.lines-section .lines-table{width:100%;border-collapse:collapse;background:var(--bg-secondary, #1e293b);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.lines-section .lines-table th{padding:14px 16px;text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);font-weight:600;background:#0003;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.lines-section .lines-table td{padding:14px 16px;font-size:.9rem;color:var(--text-primary, #f1f5f9);border-bottom:1px solid rgba(255,255,255,.1)}.lines-section .lines-table tr:last-child td{border-bottom:none}.lines-section .lines-table tr:hover td{background:#ffffff05}.lines-section .lines-table .col-qty,.lines-section .lines-table .actions-cell{text-align:center}.lines-section .lines-table .empty-message{text-align:center;color:#64748b;font-style:italic;padding:24px}.split-award-premium{background:#0f172a66;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:24px;margin-top:24px}.split-award-premium .comparison-matrix-wrapper{overflow-x:auto;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0f172a80}.split-award-premium .comparison-matrix{width:100%;border-collapse:collapse;min-width:800px}.split-award-premium .comparison-matrix th{padding:14px 16px;text-align:left;background:#0f172acc;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:1}.split-award-premium .comparison-matrix th.supplier-col{text-align:center;min-width:180px}.split-award-premium .comparison-matrix th .supplier-header{display:flex;flex-direction:column;gap:6px;align-items:center}.split-award-premium .comparison-matrix th .supplier-header strong{color:#e2e8f0;font-size:13px}.split-award-premium .comparison-matrix th .supplier-currency-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#8b5cf626;border-radius:4px;font-size:11px;color:#a78bfa}.split-award-premium .comparison-matrix th .supplier-meta{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#64748b;font-weight:400}.split-award-premium .comparison-matrix td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;color:#e2e8f0;vertical-align:middle}.split-award-premium .comparison-matrix tr:hover td{background:#ffffff05}.split-award-premium .comparison-matrix .qty-cell{text-align:center;font-weight:500;color:#94a3b8}.split-award-premium .comparison-matrix tfoot tr{background:#0f172acc}.split-award-premium .comparison-matrix tfoot td{padding:16px;font-weight:600;border-top:2px solid rgba(139,92,246,.2)}.split-award-premium .comparison-matrix .supplier-total{text-align:center;color:#e2e8f0;font-family:JetBrains Mono,monospace}.split-award-premium .comparison-matrix .split-total{text-align:center;color:#4ade80;font-family:JetBrains Mono,monospace;font-size:15px}.split-award-premium .lines-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.split-award-premium .lines-header h2{margin:0;font-size:1.1rem;font-weight:600;color:#e2e8f0;display:flex;align-items:center;gap:10px}.split-award-premium .lines-header h2 svg{color:#a78bfa}.split-summary-strip{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);border-radius:8px}.split-summary-strip .summary-item{display:flex;align-items:center;gap:8px}.split-summary-strip .summary-icon{color:#a78bfa;display:flex;align-items:center}.split-summary-strip .summary-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.split-summary-strip .summary-value{font-size:14px;font-weight:600;color:#e2e8f0;font-family:JetBrains Mono,monospace}.split-summary-strip .summary-item.total .summary-value{color:#4ade80;font-size:16px}.split-summary-strip .summary-divider{width:1px;height:24px;background:#8b5cf64d}.split-award-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#3b82f614;border:1px solid rgba(59,130,246,.15);border-radius:8px;margin-bottom:20px}.split-award-info svg{color:#60a5fa;flex-shrink:0}.split-award-info span{font-size:13px;color:#94a3b8}.award-breakdown-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.section-subheader{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-subheader svg{color:#a78bfa}.section-subheader h3{margin:0;font-size:.95rem;font-weight:600;color:#e2e8f0}.supplier-award-cards{display:flex;gap:16px;flex-wrap:wrap}.supplier-award-card{flex:1;min-width:200px;max-width:280px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px;transition:all .2s}.supplier-award-card:hover{background:#ffffff0d;border-color:#8b5cf64d}.supplier-award-card .card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}.supplier-award-card .card-header svg{color:#a78bfa}.supplier-award-card .supplier-name{font-size:14px;font-weight:600;color:#e2e8f0}.supplier-award-card .card-metrics{display:flex;justify-content:space-between;align-items:center}.supplier-award-card .metric{display:flex;flex-direction:column;gap:2px}.supplier-award-card .metric-value{font-size:18px;font-weight:700;color:#e2e8f0;font-family:JetBrains Mono,monospace}.supplier-award-card .metric.total .metric-value{color:#4ade80}.supplier-award-card .metric-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.split-award-action-bar{margin-top:20px;background:#8b5cf60d;border:1px solid rgba(139,92,246,.15);border-radius:10px;padding:16px 20px}.split-award-action-bar .action-bar-status{display:flex;align-items:center;gap:8px;font-size:14px;color:#e2e8f0;font-weight:500}.split-award-action-bar .action-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:1024px){.dashboard-hero{flex-direction:column;gap:20px}.hero-main{flex-direction:column;align-items:flex-start;gap:16px}.hero-amount{font-size:2rem}.dashboard-quick-info{flex-wrap:wrap;gap:16px}.quick-divider{display:none}.quick-item{padding:0}}@media(max-width:768px){.purchasing-dashboard{padding:0 16px 16px}.dashboard-action-bar{flex-direction:column;align-items:stretch}.action-bar-left,.action-bar-right{justify-content:flex-start}}.table-container{background:linear-gradient(180deg,#1e293b66,#0f172a99);border-radius:16px;border:1px solid rgba(255,255,255,.06);overflow:hidden;box-shadow:0 4px 24px #0003}.table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.table-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:#e2e8f0}.table-title svg{color:#60a5fa}.table-actions{display:flex;gap:8px}.table-scroll{overflow-x:auto}.table-scroll::-webkit-scrollbar{height:6px}.table-scroll::-webkit-scrollbar-track{background:#ffffff05}.table-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.premium-table{width:100%;border-collapse:separate;border-spacing:0 8px;background:transparent}.premium-table thead th{background:transparent;color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:8px 16px;border:none}.premium-table tbody tr{background:linear-gradient(135deg,#1e293b99,#0f172acc);border-radius:10px;transition:all .2s ease}.premium-table tbody tr:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.premium-table tbody td{padding:14px 16px;border:none;color:#e2e8f0}.premium-table tbody td:first-child{border-radius:10px 0 0 10px}.premium-table tbody td:last-child{border-radius:0 10px 10px 0}.stock-summary{display:flex;flex-direction:column;gap:20px;padding:20px 24px;background:var(--bg-primary, #0f0f1a);min-height:100%}.stock-summary.loading{display:flex;align-items:center;justify-content:center;min-height:400px}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary)}.loading-spinner svg.spin{animation:spin 1s linear infinite}.stock-summary-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.header-title{display:flex;align-items:center;gap:16px}.header-title svg{color:#22c55e}.header-title h1{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.header-title .subtitle{display:block;font-size:.85rem;color:#64748b;margin-top:4px}.btn-refresh{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;cursor:pointer;transition:all .2s ease}.btn-refresh:hover{background:#22c55e26;border-color:#22c55e4d;color:#22c55e;transform:scale(1.05)}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#ef4444}.location-cards{display:flex;gap:12px;flex-wrap:wrap;padding:4px;align-items:stretch}.location-card{flex:1;min-width:180px;max-width:260px;display:flex;gap:14px;padding:16px 18px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:14px;cursor:pointer;transition:all .2s ease}.location-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.location-card.active{background:linear-gradient(135deg,#22c55e26,#22c55e0d);border-color:#22c55e66;box-shadow:0 0 30px #22c55e1a}.location-card .card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;flex-shrink:0}.location-card.all .card-icon{background:linear-gradient(135deg,#8b5cf633,#8b5cf60d);border:1px solid rgba(139,92,246,.3);color:#a78bfa}.location-card.vessel .card-icon{background:linear-gradient(135deg,#3b82f633,#3b82f60d);border:1px solid rgba(59,130,246,.3);color:#60a5fa}.location-card.shore .card-icon{background:linear-gradient(135deg,#f59e0b33,#f59e0b0d);border:1px solid rgba(245,158,11,.3);color:#fbbf24}.location-card .card-content{flex:1;display:flex;flex-direction:column;gap:6px}.location-card .card-content h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary, #f8fafc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-card .card-stats{display:flex;flex-direction:column;gap:2px}.location-card .stat-items{font-size:.8rem;color:var(--text-secondary, #94a3b8)}.location-card .stat-value{font-size:1rem;font-weight:600;color:var(--green, #10b981)}.location-card .card-alert{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--yellow, #f59e0b);margin-top:4px}.vessel-card-container{display:flex;flex-direction:column;min-width:180px;max-width:260px;flex:1;position:relative}.vessel-card-container .location-card{max-width:none;position:relative;height:100%}.expand-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-tertiary, #475569);flex-shrink:0;align-self:flex-start;margin-top:2px;transition:transform .2s ease,color .15s ease}.location-card:hover .expand-indicator,.expand-indicator.expanded{color:var(--accent-primary, #60a5fa)}.expand-indicator.expanded svg{transform:rotate(180deg)}.location-breakdown{position:absolute;top:100%;left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:2px;margin-top:4px;padding:8px 10px;background:var(--bg-secondary, #1a1a2e);border-radius:10px;border:1px solid rgba(59,130,246,.25);box-shadow:0 12px 32px #00000080,0 0 0 1px #ffffff0a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:dropdownFadeIn .15s ease;min-width:220px}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.location-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.location-item:hover{background:#3b82f61a}.location-item.active{background:#3b82f626;border-left:3px solid var(--accent-primary)}.location-item .loc-name{font-size:.8rem;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.location-item .loc-stats{display:flex;align-items:center;gap:2px;flex-shrink:0}.location-item .loc-items{display:none}.location-item .loc-value{font-size:.78rem;color:var(--green, #10b981);font-weight:600;white-space:nowrap;text-align:right;font-family:JetBrains Mono,monospace}.stock-filters{display:flex;flex-direction:column;gap:12px}.stock-filters .filters-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:linear-gradient(135deg,#1e293b99,#0f172acc);border-radius:12px;border:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stock-filters .search-wrapper{display:flex;align-items:center;gap:10px;padding:0 14px;background:transparent;border:none;border-radius:8px;height:36px;min-width:280px;flex:1;max-width:400px}.stock-filters .search-wrapper:focus-within{border:none;box-shadow:none}.stock-filters .search-wrapper svg{color:var(--text-muted, #64748b);flex-shrink:0;width:16px;height:16px}.stock-filters .search-wrapper input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:13px}.stock-filters .search-wrapper input::placeholder{color:var(--text-muted, #64748b)}.stock-filters .clear-search{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ffffff1a;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-size:12px}.stock-filters .clear-search:hover{background:#ef44444d;color:#ef4444}.filter-summary{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.filter-summary strong{color:var(--text-primary)}.clear-filter{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ef444426;border:none;border-radius:4px;color:#ef4444;font-size:11px;cursor:pointer;transition:all .15s}.clear-filter:hover{background:#ef444440}.filter-dropdown{display:flex;align-items:center;gap:8px;padding:0 12px;background:transparent;border:none;border-radius:8px;height:36px;color:var(--text-secondary)}.filter-dropdown:hover{border:none}.filter-dropdown svg{width:16px;height:16px;color:var(--text-muted, #64748b)}.filter-dropdown select{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:13px;cursor:pointer;padding-right:8px;min-width:100px}.filter-dropdown select option{background:#1e293b;color:var(--text-primary)}.filter-dropdown.location-filter{border:none;background:transparent}.filter-dropdown.location-filter:hover{border:none}.filter-dropdown.location-filter svg{color:#60a5fa}.stock-table-container{flex:1;overflow-x:auto;background:var(--bg-secondary, #1e1e2f);border-radius:12px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.stock-table{width:100%;border-collapse:collapse;font-size:.875rem}.stock-table th{padding:14px 16px;text-align:left;font-weight:600;color:var(--text-secondary, #94a3b8);background:var(--bg-tertiary, #2a2a3d);border-bottom:1px solid var(--border-color);white-space:nowrap;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.stock-table th.sorted{color:var(--accent-primary)}.stock-table th:first-child{border-top-left-radius:12px}.stock-table th:last-child{border-top-right-radius:12px}.stock-table td{padding:12px 16px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06));color:var(--text-primary, #f8fafc);vertical-align:middle}.stock-table tbody tr:hover{background:#ffffff08}.stock-table tbody tr:last-child td{border-bottom:none}.stock-table .empty-state{text-align:center;padding:48px 24px;color:var(--text-tertiary)}.stock-table .empty-state span{display:block;margin-top:12px}.stock-table .group-header{background:linear-gradient(135deg,#3b82f61a,#8b5cf614)!important;border-left:3px solid var(--accent-primary)}.stock-table .group-header:hover{background:linear-gradient(135deg,#3b82f626,#8b5cf61a)!important}.stock-table .group-header td{padding:10px 16px;border-bottom:1px solid rgba(59,130,246,.2)}.group-header-content{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600}.group-header-content .group-icon{flex-shrink:0}.group-header-content .group-icon.vessel{color:#60a5fa}.group-header-content .group-icon.warehouse{color:#fbbf24}.group-header-content .group-vessel{color:var(--text-primary)}.group-header-content .group-separator{color:var(--text-tertiary);font-size:14px}.group-header-content .group-location{color:#a78bfa;font-weight:500}.group-header-content .group-count{margin-left:auto;font-size:.75rem;color:var(--text-tertiary);font-weight:400;background:#0003;padding:2px 8px;border-radius:10px}.stock-table .item-code code{padding:4px 8px;background:#3b82f61a;border-radius:4px;color:#60a5fa;font-family:JetBrains Mono,monospace;font-size:.8rem}.stock-table .item-name{font-weight:500;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-table .category{color:var(--text-secondary);font-size:.8rem}.stock-table .location-cell{font-size:.8rem}.stock-table .location-name{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);padding:3px 8px;background:#8b5cf61a;border-radius:4px}.stock-table .location-name svg{color:var(--purple, #a78bfa)}.stock-table .qty,.stock-table .min-qty,.stock-table .unit-cost,.stock-table .value{text-align:right;font-family:JetBrains Mono,monospace;font-size:.85rem}.stock-table .qty.below-min{color:var(--red, #ef4444);font-weight:600}.stock-table .uom{text-align:center;color:var(--text-secondary);font-size:.8rem}.stock-table .status{text-align:center}.location-type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.status-badge.ok{background:#10b98126;color:var(--green, #10b981)}.status-badge.warning{background:#ef444426;color:var(--red, #ef4444)}.stock-footer{display:flex;gap:32px;padding:16px 20px;background:var(--bg-secondary, #1e1e2f);border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.footer-stat{display:flex;align-items:center;gap:8px}.footer-stat .label{font-size:.875rem;color:var(--text-secondary)}.footer-stat .value{font-size:1rem;font-weight:600;color:var(--text-primary)}.footer-stat .value.highlight{color:var(--green, #10b981);font-size:1.1rem}.footer-stat .value.warning{color:var(--red, #ef4444)}.reorder-section{margin-top:24px;background:var(--surface-secondary, rgba(30, 41, 59, .5));border-radius:12px;overflow:hidden}.reorder-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f59e0b1a;flex-wrap:wrap;gap:12px}.reorder-title{display:flex;align-items:center;gap:10px}.reorder-title h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.reorder-count{font-size:.75rem;color:var(--text-secondary);background:#0003;padding:3px 10px;border-radius:12px}.reorder-budget{display:flex;align-items:center;gap:12px}.budget-label{font-size:.875rem;color:var(--text-secondary)}.budget-value{font-size:1.25rem;font-weight:700;color:var(--warning, #f59e0b);font-family:JetBrains Mono,monospace}.reorder-table-container{overflow-x:auto}.reorder-table{width:100%;border-collapse:collapse}.reorder-table th{padding:12px 16px;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary, #64748b);background:var(--surface-tertiary, rgba(15, 23, 42, .5));border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,color .15s ease}.reorder-table th:hover{background:#ffffff14;color:var(--text-secondary, #94a3b8)}.reorder-table th.sorted{color:var(--warning, #f59e0b)}.reorder-table th .sort-indicator{opacity:.8;font-size:.75rem}.reorder-table td{padding:12px 16px;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.04)}.reorder-table tbody tr:hover{background:#ffffff08}.reorder-table .item-code code{padding:4px 8px;background:#6366f126;border-radius:4px;color:var(--primary-light, #818cf8);font-family:JetBrains Mono,monospace;font-size:.8rem}.reorder-table .qty-needed,.reorder-table .restock-cost{text-align:right;font-weight:600;color:var(--warning, #f59e0b);font-family:JetBrains Mono,monospace}.reorder-table .qty,.reorder-table .min-qty,.reorder-table .unit-cost{text-align:right;font-family:JetBrains Mono,monospace}.reorder-table tfoot .totals-row{background:#f59e0b14;font-weight:600}.reorder-table tfoot .totals-label{text-align:right;font-size:.85rem;color:var(--text-primary)}.reorder-table tfoot .restock-cost.total{font-size:1rem;color:var(--warning, #f59e0b)}@media(max-width:768px){.stock-summary{padding:16px}.location-cards{flex-direction:column}.location-card{max-width:none}.stock-filters{flex-direction:column;align-items:stretch}.stock-filters .search-wrapper{min-width:100%}.stock-footer{flex-wrap:wrap;gap:16px}}.pr-manager{display:flex;flex-direction:column;height:100%;padding:20px 24px;gap:20px;background:var(--bg-primary, #0f0f1a)}.pr-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.pr-title{display:flex;align-items:center;gap:16px}.pr-title svg{color:#22c55e}.pr-title h1{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.pr-subtitle{display:block;font-size:.85rem;color:#64748b;margin-top:4px}.pr-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.pr-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;color:var(--text-secondary, #94a3b8);cursor:pointer;font-size:.875rem;font-weight:500;border-bottom:2px solid transparent;transition:all .2s}.pr-tab:hover{color:var(--text-primary, #f8fafc)}.pr-tab.active{color:var(--accent-primary, #3b82f6);border-bottom-color:var(--accent-primary, #3b82f6)}.pr-content{flex:1;overflow:auto;padding:24px}.pr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--text-secondary, #94a3b8)}.pr-loading .spin{animation:spin 1s linear infinite}.pr-section{display:flex;flex-direction:column;gap:20px}.pr-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.pr-filters{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.pr-filters select,.pr-filters input{height:38px;padding:0 12px;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary, #f8fafc);font-size:.875rem;cursor:pointer;min-width:200px}.pr-filters select:hover,.pr-filters input:hover{border-color:var(--accent-primary, #3b82f6)}.pr-filters input:focus{border-color:var(--accent-primary, #3b82f6);outline:none}.pr-filters .search-input{min-width:180px}.clear-filters{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary, rgba(255, 255, 255, .05));border:none;border-radius:4px;color:var(--text-secondary, #94a3b8);font-size:.75rem;cursor:pointer}.clear-filters:hover{background:var(--bg-hover, rgba(255, 255, 255, .1));color:var(--text-primary, #f8fafc)}@media(max-width:768px){.pr-filters{flex-wrap:wrap}}.pr-table-container{background:linear-gradient(180deg,#1e293b99,#0f172acc);border-radius:12px;border:1px solid rgba(255,255,255,.08);overflow:hidden;box-shadow:0 4px 20px #00000040,inset 0 1px #ffffff0d}.pr-table{width:100%;border-collapse:separate;border-spacing:0}.pr-table th{padding:14px 16px;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;background:linear-gradient(135deg,#3b82f61f,#1e293be6);border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.pr-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease,color .2s ease}.pr-table th.sortable:hover{background:linear-gradient(135deg,#3b82f640,#1e293be6);color:var(--accent-primary, #3b82f6)}.pr-table th .sort-indicator{margin-left:4px;font-size:.7rem;color:var(--accent-primary, #3b82f6)}.pr-table td{padding:14px 16px;font-size:.875rem;color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;vertical-align:middle}.pr-table tbody tr{cursor:pointer;transition:all .2s ease}.pr-table tbody tr:hover{background:linear-gradient(90deg,#3b82f614,#3b82f60a)}.pr-table tbody tr:hover td{color:#f1f5f9}.pr-table code{font-family:JetBrains Mono,SF Mono,monospace;padding:3px 8px;background:linear-gradient(135deg,#3b82f626,#3b82f614);border-radius:6px;color:#60a5fa;font-size:.8rem;font-weight:500}.pr-table .no-data{text-align:center;padding:60px 24px;color:var(--text-secondary, #94a3b8)}.pr-table .no-data span{display:block;margin-top:8px}.priority-badge{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500}.pr-table .actions{display:flex;gap:6px}.action-btn{padding:6px;background:#ffffff0d;border:none;border-radius:4px;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .15s}.action-btn:hover{background:#3b82f633;color:var(--accent-primary, #3b82f6)}.action-btn.submit:hover{background:#3b82f633;color:#3b82f6}.action-btn.approve:hover{background:#10b98133;color:#10b981}.action-btn.delete:hover{background:#ef444433;color:#ef4444}.pr-detail-panel{position:fixed;right:0;top:0;bottom:0;width:420px;background:var(--bg-secondary, #1a1a2e);border-left:1px solid var(--border-color, rgba(255, 255, 255, .1));z-index:100;display:flex;flex-direction:column;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.pr-detail-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.pr-detail-header h3{margin:0;font-size:1.1rem;color:var(--text-primary, #f8fafc)}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #94a3b8);cursor:pointer}.pr-detail-body{flex:1;overflow:auto;padding:20px 24px}.pr-detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05))}.pr-detail-row strong{color:var(--text-primary, #f8fafc)}.pr-lines{margin-top:24px}.pr-lines h4{margin:0 0 12px;font-size:.875rem;color:var(--text-secondary, #94a3b8)}.pr-lines-table{width:100%;border-collapse:collapse;font-size:.8rem}.pr-lines-table th,.pr-lines-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05))}.pr-lines-table th{color:var(--text-secondary, #94a3b8);font-weight:600}.pr-actions{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.pr-create-form{background:var(--bg-secondary, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));padding:24px}.pr-create-form h3{margin:0 0 24px;font-size:1.1rem;color:var(--text-primary, #f8fafc)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.form-group label{font-size:.8rem;font-weight:500;color:var(--text-secondary, #94a3b8)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;background:var(--bg-primary, #0f0f1a);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary, #f8fafc);font-size:.875rem}.pr-lines-section{margin-bottom:24px}.pr-lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.pr-lines-header h4{margin:0;color:var(--text-primary, #f8fafc)}.no-lines{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;color:var(--text-secondary, #94a3b8);border:2px dashed var(--border-color, rgba(255, 255, 255, .1));border-radius:8px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent-primary, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffff0d;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary, #f8fafc);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-success{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#10b981;border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer}.btn-success:hover{background:#059669}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#ef4444;border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal-content{background:var(--bg-secondary, #1a1a2e);border-radius:12px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));width:90%;max-width:600px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.modal-header h3{margin:0;color:var(--text-primary, #f8fafc)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #94a3b8);cursor:pointer}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.form-divider{text-align:center;color:var(--text-secondary, #94a3b8);font-size:.75rem;margin:16px 0}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.pr-create-form{background:var(--bg-secondary, #1e293b);border-radius:12px;padding:24px;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.pr-create-form h3{margin:0 0 20px;font-size:1.1rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}.form-grid .form-group.full-width{grid-column:1 / -1}.pr-create-form .form-group label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);margin-bottom:6px}.pr-create-form .form-group input,.pr-create-form .form-group select,.pr-create-form .form-group textarea{width:100%;padding:10px 12px;background:var(--bg-tertiary, rgba(0, 0, 0, .2));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease}.pr-create-form .form-group input:focus,.pr-create-form .form-group select:focus,.pr-create-form .form-group textarea:focus{outline:none;border-color:var(--accent-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.pr-create-form .form-group input::placeholder,.pr-create-form .form-group textarea::placeholder{color:var(--text-tertiary, #64748b)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary, #1e293b);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0006;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #94a3b8);cursor:pointer;line-height:1}.modal-close:hover{color:var(--text-primary, #f1f5f9)}.modal-body .form-group label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);margin-bottom:6px}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:10px 12px;background:var(--bg-tertiary, rgba(0, 0, 0, .2));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.875rem}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:var(--accent-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.modal-body .form-group input::placeholder,.modal-body .form-group textarea::placeholder{color:var(--text-tertiary, #64748b)}.modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.form-divider{text-align:center;color:var(--text-tertiary, #64748b);font-size:.8rem;margin:12px 0}.inline-add-line-form{background:var(--bg-tertiary, rgba(0, 0, 0, .2));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;padding:16px;margin-bottom:16px}.add-line-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.inline-add-line-form .form-group label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);margin-bottom:4px}.inline-add-line-form .form-group input,.inline-add-line-form .form-group select{width:100%;padding:8px 10px;background:var(--bg-secondary, #1e293b);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary, #f1f5f9);font-size:.85rem}.inline-add-line-form .form-group input:focus,.inline-add-line-form .form-group select:focus{outline:none;border-color:var(--accent-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.inline-add-line-form .form-group input::placeholder{color:var(--text-tertiary, #64748b)}.add-line-actions{display:flex;align-items:flex-end;justify-content:flex-end}.add-line-actions .btn-primary{white-space:nowrap}.inline-edit-input{width:100%;padding:6px 8px;background:var(--bg-tertiary, rgba(0, 0, 0, .2));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:4px;color:var(--text-primary, #f1f5f9);font-size:.85rem;text-align:right}.inline-edit-input:focus{outline:none;border-color:var(--accent-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.inline-edit-input::placeholder{color:var(--text-tertiary, #64748b)}.inline-edit-input.qty-input{width:70px}.inline-edit-input.cost-input{width:90px}.pr-detail-panel{position:fixed;top:0;right:0;width:480px;max-width:90vw;height:100vh;background:var(--bg-secondary, #1e293b);border-left:1px solid var(--border-color, rgba(255, 255, 255, .1));box-shadow:-4px 0 20px #0006;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.pr-detail-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,var(--accent-primary, #3b82f6) 0%,#1e40af 100%);border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.pr-detail-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.pr-detail-header .close-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:6px;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s}.pr-detail-header .close-btn:hover{background:#ffffff4d}.pr-detail-body{flex:1;overflow-y:auto;padding:20px 24px}.pr-detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .05))}.pr-detail-row span:first-child{color:var(--text-secondary, #94a3b8);font-size:.875rem}.pr-detail-row strong{color:var(--text-primary, #f8fafc);font-weight:600}.pr-detail-row p{margin:0;color:var(--text-primary, #f8fafc);font-size:.875rem;text-align:right;max-width:280px}.pr-lines{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.pr-lines h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:var(--text-primary, #f8fafc)}.pr-lines-table{width:100%;border-collapse:collapse;font-size:.85rem}.pr-lines-table th{text-align:left;padding:8px 10px;background:var(--bg-tertiary, rgba(0, 0, 0, .2));color:var(--text-secondary, #94a3b8);font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.5px}.pr-lines-table td{padding:10px;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .05));color:var(--text-primary, #f8fafc)}.pr-lines-table td:first-child{width:30px;text-align:center;color:var(--text-secondary, #94a3b8)}.pr-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.btn-rfq{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-rfq:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 2px 8px #f59e0b4d}.btn-cancel{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}.pr-table td:nth-child(7){text-align:right}.rfq-manager{padding:20px 24px;display:flex;flex-direction:column;gap:20px;background:var(--bg-primary, #0f0f1a);min-height:100%}.rfq-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d;gap:20px;flex-wrap:wrap}.rfq-title{display:flex;align-items:center;gap:16px}.rfq-title svg{color:#22c55e}.rfq-title h1{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.rfq-subtitle{display:block;font-size:.85rem;color:#64748b;margin-top:4px}.message{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;animation:slideIn .3s ease}.message.success{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:1px solid rgba(16,185,129,.3);color:#10b981}.message.error{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.3);color:#ef4444}.message button{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.7}.message button:hover{opacity:1}.rfq-filters{display:flex;gap:12px;margin-bottom:20px;align-items:center;flex-wrap:nowrap}.rfq-filters button{white-space:nowrap}.rfq-filters .search-wrapper{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:6px;border:none;background:transparent;min-width:180px}.rfq-filters .search-wrapper:focus-within{border:none}.rfq-filters .search-wrapper svg{color:var(--text-secondary, #94a3b8);flex-shrink:0}.rfq-filters .search-wrapper input{border:none;background:transparent;color:var(--text-primary, #f1f5f9);font-size:14px;width:100%;outline:none}.rfq-filters .search-wrapper input::placeholder{color:var(--text-tertiary, #64748b)}.rfq-filters select{height:38px;padding:0 12px;border-radius:6px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));background:var(--bg-secondary, #1a1a2e);color:var(--text-primary, #f1f5f9);font-size:.875rem;min-width:200px;cursor:pointer;transition:border-color .2s ease}.rfq-filters select:hover{border-color:var(--accent-primary, #3b82f6)}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-draft{background:#64748b26;color:#64748b}.status-info{background:#3b82f626;color:#3b82f6}.status-success{background:#10b98126;color:#10b981}.status-cancelled{background:#ef444426;color:#ef4444}.status-closed{background:#6b728026;color:#6b7280}.inline-form-slot{margin-bottom:16px}.inline-form-card{background:var(--bg-secondary, #1e293b);border-radius:12px;box-shadow:0 2px 8px #00000026;border:1px solid var(--border-color, rgba(255, 255, 255, .1));overflow:hidden}.inline-form-header{padding:12px 16px;background:#3b82f61a;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.inline-form-header h4{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary, #f1f5f9)}.inline-form-body{padding:16px}.inline-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px}.inline-form-grid .form-group{margin-bottom:0}.inline-form-grid .form-group label{color:var(--text-secondary, #94a3b8);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:block}.inline-form-grid .form-group input,.inline-form-grid .form-group select,.inline-form-grid .form-group textarea{width:100%;padding:10px 12px;background:var(--bg-tertiary, rgba(0, 0, 0, .2));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease}.inline-form-grid .form-group input:focus,.inline-form-grid .form-group select:focus,.inline-form-grid .form-group textarea:focus{outline:none;border-color:var(--accent-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.inline-form-grid .form-group input::placeholder{color:var(--text-tertiary, #64748b)}.inline-form-grid .form-group.full-width{grid-column:1 / -1}.inline-form-actions{display:flex;justify-content:flex-end;padding-top:12px;margin-top:12px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.empty-message{text-align:center;color:var(--text-secondary, #64748b);padding:40px!important;font-style:italic}.btn-primary,.btn-secondary,.btn-success{padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-tertiary, #334155);color:var(--text-primary, #e2e8f0);border:1px solid var(--border-color, rgba(255, 255, 255, .08))}.btn-secondary:hover{background:var(--bg-secondary, #475569)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857)}.rfq-detail-view{animation:fadeIn .3s ease}.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.detail-header h3{margin:0;font-size:20px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:24px}.detail-card{background:var(--bg-primary, #1e293b);border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.06)}.detail-card h4{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--text-primary, #e2e8f0)}.info-row{display:flex;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.info-row span{flex:0 0 140px;color:var(--text-secondary, #64748b)}.actions-card{display:flex;flex-direction:column;gap:12px}.actions-card h4{margin-bottom:8px}.detail-section{margin-bottom:24px}.detail-section h4{margin:0 0 12px;color:var(--text-primary, #e2e8f0)}.quotes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.quote-card{background:var(--bg-primary, #1e293b);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.06);transition:all .2s ease}.quote-card:hover{border-color:#ffffff1f;transform:translateY(-1px)}.quote-card.selected{border-color:#10b981;background:linear-gradient(135deg,#10b9810d,#10b98105)}.quote-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.selected-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.quote-info{margin-bottom:16px;font-size:14px;color:var(--text-secondary, #64748b)}.quote-info>div{margin-bottom:4px}.quote-total{font-size:16px;font-weight:600;color:var(--text-primary, #e2e8f0);margin:8px 0}.quote-lines-table{width:100%;margin-bottom:12px;font-size:13px}.quote-lines-table th{padding:6px;background:var(--bg-tertiary, #334155)}.quote-lines-table td{padding:6px}.btn-select{width:100%;justify-content:center;margin-top:8px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{background:var(--bg-primary, #1e293b);border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.08);animation:slideUp .3s ease}.modal.modal-large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h3{margin:0}.btn-close{width:32px;height:32px;border:none;background:var(--bg-tertiary, #334155);border-radius:6px;cursor:pointer;font-size:18px;color:var(--text-secondary, #94a3b8)}.btn-close:hover{background:var(--bg-secondary, #475569)}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid rgba(255,255,255,.08)}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary, #e2e8f0);font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color, #334155);border-radius:8px;font-size:14px;background:var(--bg-primary, #1e293b);color:var(--text-primary, #e2e8f0);transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.loading-spinner{text-align:center;padding:40px;color:var(--text-secondary, #64748b)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.split-award-section{background:#1e293b;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000004d}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.section-header-row h4{margin:0;color:#f8fafc;font-size:18px;font-weight:600}.split-award-summary{display:flex;align-items:center;gap:8px;background:#3b82f61a;padding:8px 16px;border-radius:8px;font-size:14px}.summary-label{color:#94a3b8}.summary-value{color:#f8fafc;font-weight:600}.summary-total{color:#10b981;font-size:16px}.summary-divider{color:#475569}.split-award-hint{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:13px;margin-bottom:16px;padding:8px 12px;background:#64748b1a;border-radius:6px;border-left:3px solid #3b82f6}.comparison-matrix-wrapper{overflow-x:auto;margin-bottom:20px;border-radius:8px;border:1px solid #334155}.comparison-matrix{width:100%;border-collapse:collapse;min-width:600px}.comparison-matrix th,.comparison-matrix td{padding:12px;text-align:left;border-bottom:1px solid #334155}.comparison-matrix th{background:#334155;font-weight:600;font-size:13px;color:#f8fafc;position:sticky;top:0}.comparison-matrix .item-col{min-width:180px}.comparison-matrix .qty-col{min-width:80px;text-align:center}.comparison-matrix .supplier-col{min-width:150px;text-align:center}.comparison-matrix .selected-col{min-width:140px;background:#10b9811a}.supplier-header{display:flex;flex-direction:column;gap:4px}.supplier-header strong{color:#f8fafc;font-size:14px}.supplier-meta{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#f1f5f9}.comparison-matrix .item-name{font-weight:500;color:#f1f5f9}.comparison-matrix .qty-cell{text-align:center;color:#e2e8f0;font-size:13px;font-weight:500}.price-cell{text-align:center;padding:8px 12px!important;position:relative;transition:all .2s ease;cursor:default}.price-cell.clickable{cursor:pointer}.price-cell.clickable:hover{background:#3b82f626}.price-cell .unit-price{display:block;font-weight:600;font-size:15px;color:#f1f5f9}.price-cell .line-total{display:block;font-size:12px;color:#f1f5f9;margin-top:2px;opacity:.85}.price-cell .unit-price.original-currency{color:#f1f5f9;font-weight:600}.price-cell .line-total.converted-total{display:block;font-size:11px;color:#94a3b8;margin-top:4px;padding-top:4px;border-top:1px dashed rgba(255,255,255,.1)}.price-cell.lowest-price{background:#10b9811a}.price-cell.lowest-price .unit-price{color:#10b981}.price-cell .lowest-badge{display:inline-block;font-size:9px;background:#10b981;color:#fff;padding:2px 6px;border-radius:10px;margin-top:4px;text-transform:uppercase;font-weight:600}.price-cell.selected-price{background:#3b82f633;border:2px solid #3b82f6}.price-cell .selected-check{position:absolute;top:4px;right:4px;background:#3b82f6;color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.price-cell .no-quote{color:#64748b}.selected-supplier-cell{background:#10b9810d}.selected-info{display:flex;flex-direction:column;gap:2px}.selected-supplier-name{font-size:12px;color:#10b981;font-weight:500}.selected-amount{font-size:14px;font-weight:600;color:#f8fafc}.not-selected{color:#94a3b8;font-size:12px;font-style:italic}.comparison-matrix tfoot td{background:#1e293b;border-top:2px solid #334155;padding:12px}.totals-row .supplier-total{text-align:center;color:#f1f5f9}.totals-row .split-total{background:#10b98126;color:#10b981;text-align:center}.split-award-breakdown{margin-top:20px;padding-top:20px;border-top:1px solid #334155}.split-award-breakdown h5{margin:0 0 12px;color:#f8fafc;font-size:14px}.breakdown-cards{display:flex;gap:12px;flex-wrap:wrap}.breakdown-card{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:12px 16px;min-width:160px}.breakdown-supplier{font-weight:600;color:#f8fafc;margin-bottom:4px}.breakdown-details{display:flex;justify-content:space-between;font-size:13px;color:#94a3b8}.breakdown-amount{color:#10b981;font-weight:600}.split-award-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #334155}.split-award-actions .btn-success:disabled{opacity:.5;cursor:not-allowed}.quote-card .quote-header strong{color:#f8fafc;font-size:16px}.quote-card .quote-info{color:#cbd5e1}.quote-card .quote-info>div{color:#94a3b8}.quote-card .quote-total{color:#f8fafc!important}.detail-section h4{color:#f8fafc;font-size:16px;font-weight:600}.detail-card h4{color:#f8fafc}button.btn-icon[class*=btn-]{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border-width:1px!important;border-style:solid!important;border-radius:6px!important;box-shadow:none!important}button.btn-icon.btn-primary{border-color:#3b82f6!important;color:#3b82f6!important}button.btn-icon.btn-primary:hover{background-color:#3b82f626!important}button.btn-icon.btn-secondary{border-color:#a78bfa!important;color:#a78bfa!important}button.btn-icon.btn-secondary:hover{background-color:#a78bfa26!important}button.btn-icon.btn-danger{border-color:#ef4444!important;color:#ef4444!important}button.btn-icon.btn-danger:hover{background-color:#ef444426!important}button.btn-icon.btn-send{border-color:#10b981!important;color:#10b981!important}button.btn-icon.btn-send:hover{background-color:#10b98126!important}button.btn-icon svg{width:14px!important;height:14px!important;fill:currentColor!important;color:inherit!important}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309)}button.btn-icon.btn-warning{color:#f59e0b!important}button.btn-icon.btn-warning:hover{background-color:#f59e0b26!important;color:#d97706!important}.edit-price-inline{display:flex;align-items:center;gap:4px;padding:4px}.price-edit-input{width:80px;padding:4px 8px;border:1px solid var(--accent-primary, #3b82f6);border-radius:4px;background:var(--bg-tertiary, #0f172a);color:var(--text-primary, #f1f5f9);font-size:.85rem;text-align:right}.price-edit-input:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}.price-cell .btn-edit-price{opacity:0;transition:opacity .2s ease;padding:2px;margin-left:4px;color:var(--text-secondary, #94a3b8)!important}.price-cell:hover .btn-edit-price{opacity:1}.btn-edit-price:hover{color:var(--accent-primary, #3b82f6)!important;background:#3b82f61a!important}button.btn-icon.btn-save{color:#10b981!important;padding:4px}button.btn-icon.btn-save:hover{background:#10b98126!important}button.btn-icon.btn-cancel{color:#ef4444!important;padding:4px}button.btn-icon.btn-cancel:hover{background:#ef444426!important}.supplier-currency-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;background:#3b82f626;color:#60a5fa;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px}.supplier-currency-badge .exchange-rate{color:#10b981;font-weight:500}.unit-price.converted{color:#f8fafc;font-weight:600}.original-price{display:block;font-size:10px;color:#64748b;margin-top:2px;font-weight:400}.price-cell[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1e293b;color:#f8fafc;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;z-index:10;box-shadow:0 2px 8px #0000004d}.supplier-header .exchange-rate-indicator{display:flex;align-items:center;gap:4px;font-size:10px;color:#94a3b8;margin-top:2px}.supplier-header .exchange-rate-indicator .rate-value{color:#10b981;font-weight:500}.qty-allocation{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.15)}.qty-allocation label{font-size:11px;color:#94a3b8;font-weight:500}.qty-allocation .qty-input{width:55px;padding:4px 6px;text-align:center;font-size:14px;font-weight:600;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#f8fafc;transition:all .2s ease}.qty-allocation .qty-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.qty-allocation .qty-input::-webkit-inner-spin-button,.qty-allocation .qty-input::-webkit-outer-spin-button{opacity:1}.qty-allocation .qty-max{font-size:11px;color:#64748b}.split-allocation{padding:8px}.allocation-line{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px dotted rgba(255,255,255,.1)}.allocation-line:last-of-type{border-bottom:none}.allocation-supplier{font-size:11px;color:#10b981;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allocation-qty{font-size:13px;font-weight:600;color:#f8fafc}.allocation-total{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.15);font-size:14px;font-weight:700;color:#f8fafc;text-align:center}.allocation-warning{margin-top:4px;font-size:11px;color:#f59e0b;font-style:italic;text-align:center}.qty-limited{color:#f59e0b;font-weight:600;font-size:10px}.dt-table td:nth-child(7),.dt-table td:nth-child(8),.dt-table td:nth-child(9){text-align:right}.dt-table th:nth-child(7),.dt-table th:nth-child(8),.dt-table th:nth-child(9){text-align:right}.po-manager{padding:20px 24px;display:flex;flex-direction:column;gap:20px;background:var(--bg-primary);min-height:100%}.po-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.po-title{display:flex;align-items:center;gap:16px}.po-title svg{color:#22c55e}.po-title h1{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.po-subtitle{display:block;font-size:.85rem;color:#64748b;margin-top:4px}.po-manager .message{padding:12px 16px;border-radius:6px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.po-manager .message.success{background:#10b98126;border:1px solid var(--green);color:var(--green)}.po-manager .message.error{background:#ef444426;border:1px solid var(--red);color:var(--red)}.po-manager .message button{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px}.po-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.po-filters .filter-group{display:flex;flex-direction:row;align-items:center;gap:8px}.po-filters label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.po-filters select{height:38px;padding:0 12px;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary);font-size:.875rem;min-width:200px;cursor:pointer;transition:border-color .2s ease}.po-filters select:hover{border-color:var(--accent-primary, #3b82f6)}.po-filters select:focus{outline:none;border-color:var(--accent-primary, #3b82f6)}.po-filters .search-group{flex:0 0 auto}.po-filters .search-input{padding:10px 14px;background:transparent;border:none;border-radius:6px;color:var(--text-primary);font-size:13px;width:220px;height:40px;box-sizing:border-box}.po-filters .search-input:focus{outline:none;border:none}.po-filters .search-input::placeholder{color:var(--text-muted)}.po-table-container{background:#1e293b;border-radius:12px;overflow:hidden}.po-table{width:100%;border-collapse:collapse}.po-table th{background:#1e293be6;padding:14px 16px;text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap;transition:all .2s ease}.po-table th:hover{color:#f1f5f9;background:#3b82f626}.po-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);color:#e2e8f0}.po-table tbody tr{transition:background .15s ease}.po-table .clickable-row{cursor:pointer}.po-table .clickable-row:hover{background:#3b82f60f}.po-table .po-number{font-family:JetBrains Mono,SF Mono,monospace;font-weight:600;color:#60a5fa}.po-table .amount{font-family:JetBrains Mono,SF Mono,monospace;text-align:right;color:#34d399}.po-table .empty-state{text-align:center;padding:40px;color:#64748b;font-style:italic}.po-table .actions{display:flex;gap:8px}.btn-approve,.btn-send{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.btn-approve{background:#3b82f633;color:#3b82f6}.btn-approve:hover{background:#3b82f64d}.btn-send{background:#f59e0b33;color:#f59e0b}.btn-send:hover{background:#f59e0b4d}.po-detail-view{display:flex;flex-direction:column;gap:20px}.actions-card .btn-primary,.actions-card .btn-success{padding:12px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.lines-table{width:100%;border-collapse:collapse;table-layout:auto;margin-top:8px}.lines-table th{background:#0003;padding:14px 16px;text-align:left;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.lines-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.9rem;color:var(--text-primary, #f1f5f9)}.lines-table .qty,.lines-table .price,.lines-table .total{font-family:JetBrains Mono,monospace;text-align:right}.lines-table .price,.lines-table .total{color:var(--accent)}.lines-table .discount{color:var(--red)}.lines-table tfoot td{background:var(--bg-tertiary);font-weight:600}.lines-table tfoot .totals-label{text-align:right;color:var(--text-muted)}.lines-table tfoot .grand-total td{font-size:15px;color:var(--text-primary)}.lines-table tfoot .grand-total .total{color:var(--green)}.remarks-text{color:var(--text-primary);line-height:1.5;margin:0}.grn-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grn-label{font-size:12px;color:var(--text-muted)}.grn-badge{display:inline-block;padding:4px 8px;background:#10b98126;border:1px solid var(--green);border-radius:4px;font-size:11px;color:var(--green);font-family:JetBrains Mono,monospace}.modal.grn-modal{background:var(--bg-secondary);border-radius:12px;width:90%;max-width:1100px;max-height:85vh;display:flex;flex-direction:column;border:1px solid var(--border-color);box-shadow:0 20px 60px #0006}.grn-header-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.grn-header-fields .form-group{display:flex;flex-direction:column;gap:6px}.grn-header-fields label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.grn-header-fields select,.grn-header-fields input{padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px}.grn-header-fields select:focus,.grn-header-fields input:focus{outline:none;border-color:var(--accent)}.grn-lines-table{width:100%;border-collapse:collapse;table-layout:auto}.grn-lines-table th{background:var(--bg-tertiary);padding:10px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.grn-lines-table td{padding:12px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:13px}.grn-lines-table .qty{font-family:JetBrains Mono,monospace;text-align:center}.grn-lines-table .qty-input{width:80px;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:JetBrains Mono,monospace;text-align:center}.grn-lines-table .qty-input:focus{outline:none;border-color:var(--accent)}.grn-lines-table .condition-select{padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:12px}.location-row{display:flex;gap:8px;align-items:center}.location-row select{flex:1}.location-actions{display:flex;gap:4px}.btn-icon{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:6px 8px;cursor:pointer;font-size:14px;transition:all .15s}.btn-icon:hover{background:var(--bg-hover);border-color:var(--accent)}.btn-icon.btn-danger:hover{background:#ef444426;border-color:#ef4444}.grn-history-card{margin-top:16px}.grn-history-table .grn-number{font-family:SF Mono,Monaco,monospace;font-weight:600;color:var(--accent)}.grn-history-table .actions{display:flex;gap:6px}.btn-small{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer;transition:all .15s}.btn-small.btn-primary{background:var(--accent);color:#fff}.btn-small.btn-primary:hover{background:var(--accent-hover)}.btn-small.btn-danger{background:#ef444426;color:#ef4444;border:1px solid #ef4444}.btn-small.btn-danger:hover{background:#ef4444;color:#fff}.grn-edit-modal{max-width:1100px}.grn-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;padding:16px;background:var(--bg-secondary);border-radius:8px}.grn-info-grid .info-item{display:flex;flex-direction:column;gap:4px}.grn-info-grid .info-item label{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.grn-info-grid .info-item span{font-size:14px;color:var(--text-primary)}.grn-lines-table .qty-input,.grn-lines-table .notes-input{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.grn-lines-table .qty-input{width:80px;text-align:center}.grn-lines-table .condition-select{padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.modal-footer .btn-danger{margin-right:auto}.grn-edit-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;min-width:200px}.location-type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.location-type-badge.vessel{background:#3b82f626;color:#60a5fa}.location-type-badge.warehouse{background:#f59e0b26;color:#fbbf24}.location-type-badge svg{flex-shrink:0}.po-table td.amount,.po-table td:nth-child(5){text-align:right}.grn-manager{padding:20px 24px;display:flex;flex-direction:column;gap:20px;background:var(--bg-primary);min-height:100%}.grn-page-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.grn-title{display:flex;align-items:center;gap:16px}.grn-title svg{color:#22c55e}.grn-title h1{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.grn-subtitle{display:block;font-size:.85rem;color:#64748b;margin-top:4px}.grn-manager .message{padding:12px 16px;border-radius:6px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.grn-manager .message.success{background:#10b98126;border:1px solid var(--green);color:var(--green)}.grn-manager .message.error{background:#ef444426;border:1px solid var(--red);color:var(--red)}.grn-manager .message button{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px}.grn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.grn-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.btn-create{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s}.btn-create:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.grn-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.grn-filters .filter-group{display:flex;flex-direction:row;align-items:center;gap:8px}.grn-filters label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.grn-filters select{height:38px;padding:0 12px;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary);font-size:.875rem;min-width:180px;cursor:pointer;transition:border-color .2s ease}.grn-filters select:hover,.grn-filters select:focus{border-color:var(--accent-primary, #3b82f6);outline:none}.grn-filters .search-input{padding:10px 14px;background:transparent;border:none;border-radius:6px;color:var(--text-primary);font-size:13px;width:220px;height:40px;box-sizing:border-box}.grn-filters .search-input:focus{outline:none;border:none}.grn-table-container{background:#1e293b;border-radius:12px;overflow:hidden}.grn-table{width:100%;border-collapse:collapse}.grn-table th{background:#1e293be6;padding:14px 16px;text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.grn-table th:hover{color:#f1f5f9;background:#3b82f626}.grn-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);color:#e2e8f0}.grn-table tbody tr{transition:background .15s ease}.grn-table .clickable-row{cursor:pointer}.grn-table .clickable-row:hover{background:#3b82f60f}.grn-table .grn-number{font-family:JetBrains Mono,SF Mono,monospace;font-weight:600;color:#34d399}.grn-table .po-number{font-family:JetBrains Mono,SF Mono,monospace;font-weight:500;color:#60a5fa}.grn-table .empty-state{text-align:center;padding:40px;color:#64748b;font-style:italic}.grn-table .actions{display:flex;gap:8px}.grn-detail-view{display:flex;flex-direction:column;gap:20px}.detail-header{display:flex;align-items:center;gap:16px}.detail-header h3{margin:0;font-size:20px;font-family:JetBrains Mono,monospace;color:var(--text-primary)}.btn-back{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.btn-back:hover{background:var(--bg-hover);color:var(--text-primary)}.detail-grid{display:grid;grid-template-columns:1fr 300px;gap:20px}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}.detail-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.detail-card h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-item label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.info-item span{font-size:14px;color:var(--text-primary)}.actions-card .action-buttons{display:flex;flex-direction:column;gap:10px}.actions-card .btn-primary,.actions-card .btn-success,.actions-card .btn-danger{padding:12px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.actions-card .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.actions-card .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.actions-card .btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.actions-card .btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.actions-card .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.actions-card .btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.actions-card .btn-secondary{background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-color);padding:12px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .15s}.actions-card .btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.lines-card{grid-column:1 / -1}.lines-table{width:100%;border-collapse:collapse;margin-top:8px}.lines-table th{background:var(--bg-tertiary);padding:10px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.lines-table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);font-size:13px}.lines-table .item-code{display:block;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted)}.lines-table .item-desc{display:block;color:var(--text-primary)}.lines-table .qty{font-family:JetBrains Mono,monospace;text-align:right}.condition-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.condition-badge.condition-ok{background:#10b98133;color:#10b981}.condition-badge.condition-partial{background:#f59e0b33;color:#f59e0b}.condition-badge.condition-damaged{background:#ef444433;color:#ef4444}.condition-badge.condition-rejected{background:#6b728033;color:#6b7280;text-decoration:line-through}.golden-thread{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle)}.golden-thread h5{margin:0 0 10px;font-size:12px;color:var(--text-muted);text-transform:uppercase}.golden-thread .btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.golden-thread .btn-link:hover{color:var(--accent-light)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.create-grn-modal{background:var(--bg-secondary);border-radius:12px;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;border:1px solid var(--border-color);box-shadow:0 20px 60px #0006}.modal-header h3{margin:0;font-size:18px;color:var(--text-primary)}.modal-header .close-btn{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:4px 8px}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.modal-footer .btn-secondary,.modal-footer .btn-success{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.modal-footer .btn-secondary{background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-color)}.modal-footer .btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-footer .btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.modal-footer .btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.form-group select,.form-group input,.form-group textarea{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;box-sizing:border-box}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.loading-spinner{text-align:center;padding:40px;color:var(--text-muted)}.grn-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center}.stat-card .stat-value{font-size:24px;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--text-primary)}.stat-card .stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;margin-top:4px}.stat-card.draft .stat-value{color:#9ca3af}.stat-card.posted .stat-value{color:#10b981}.stat-card.pending .stat-value{color:#f59e0b}@media(max-width:768px){.grn-stats{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}}.ap-invoice-manager{padding:20px 24px;display:flex;flex-direction:column;gap:20px;min-height:500px;background:var(--bg-primary, #0f0f1a)}.ap-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.ap-title{display:flex;align-items:center;gap:16px}.ap-title svg{color:#22c55e}.ap-title h1{margin:0;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.ap-subtitle{display:block;font-size:.85rem;color:#64748b;margin-top:4px}.ap-invoice-manager .message{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.ap-invoice-manager .message.success{background:#10b98126;border:1px solid var(--success-color);color:var(--success-color)}.ap-invoice-manager .message.error{background:#ef444426;border:1px solid var(--error-color);color:var(--error-color)}.ap-invoice-manager .message button{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;opacity:.7}.ap-invoice-manager .message button:hover{opacity:1}.match-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px;margin-top:8px}.match-stats .stat-card{background:linear-gradient(135deg,#1e293bcc,#0f172ae6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:28px 24px;text-align:center;position:relative;overflow:hidden;transition:all .3s ease}.match-stats .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.3),transparent)}.match-stats .stat-card:hover{transform:translateY(-2px);border-color:#ffffff26;box-shadow:0 8px 24px #0000004d}.match-stats .stat-value{font-size:36px;font-weight:700;color:var(--text-primary);margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .2s ease}.match-stats .stat-card:hover .stat-value{transform:scale(1.05)}.match-stats .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:500}.match-stats .stat-card.matched{border-left:none;background:linear-gradient(135deg,#10b9811a,#0f172ae6)}.match-stats .stat-card.matched:before{background:linear-gradient(90deg,transparent,var(--success-color),transparent)}.match-stats .stat-card.matched .stat-value{color:var(--success-color);text-shadow:0 2px 12px rgba(16,185,129,.4)}.match-stats .stat-card.pending{border-left:none;background:linear-gradient(135deg,#f59e0b1a,#0f172ae6)}.match-stats .stat-card.pending:before{background:linear-gradient(90deg,transparent,var(--warning-color),transparent)}.match-stats .stat-card.pending .stat-value{color:var(--warning-color);text-shadow:0 2px 12px rgba(245,158,11,.4)}.match-stats .stat-card.mismatch{border-left:none;background:linear-gradient(135deg,#ef44441a,#0f172ae6)}.match-stats .stat-card.mismatch:before{background:linear-gradient(90deg,transparent,var(--error-color),transparent)}.match-stats .stat-card.mismatch .stat-value{color:var(--error-color);text-shadow:0 2px 12px rgba(239,68,68,.4)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.list-header h3{font-size:18px;font-weight:600;color:var(--text-primary)}.btn-create{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-create:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.filters-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:nowrap;align-items:center;background:linear-gradient(135deg,#1e293b99,#0f172acc);padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.filters-row .search-input{flex:1;min-width:180px;max-width:280px}.filters-row input,.filters-row select{padding:10px 14px;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary);font-size:13px;transition:all .2s ease}.filters-row input:focus,.filters-row select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f626}.filters-row input::placeholder{color:var(--text-muted)}.filters-row select{min-width:130px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.filters-row select:hover{border-color:#fff3}.ap-invoice-table{width:100%;border-collapse:collapse;background:#1e293b;border-radius:12px;overflow:hidden}.ap-invoice-table th{background:#1e293be6;padding:14px 16px;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;position:relative;white-space:nowrap}.ap-invoice-table th:hover{background:#3b82f626;color:#f1f5f9}.ap-invoice-table th.sortable{padding-right:28px}.ap-invoice-table th .sort-indicator{position:absolute;right:10px;top:50%;transform:translateY(-50%);opacity:.4;font-size:10px;transition:opacity .2s ease}.ap-invoice-table th:hover .sort-indicator{opacity:.7}.ap-invoice-table th.sorted .sort-indicator{opacity:1;color:#60a5fa}.ap-invoice-table th.sorted{color:#60a5fa}.ap-invoice-table td{padding:14px 16px;font-size:.875rem;color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.08)}.ap-invoice-table tbody tr:last-child td{border-bottom:none}.ap-invoice-table .clickable-row{cursor:pointer;transition:all .15s ease}.ap-invoice-table .clickable-row:hover{background:linear-gradient(90deg,rgba(59,130,246,.08),transparent)}.ap-invoice-table .invoice-number{font-weight:600;color:var(--primary-color)}.ap-invoice-table .amount{font-family:JetBrains Mono,monospace;font-weight:500}.ap-invoice-table .loading,.ap-invoice-table .empty{text-align:center;padding:40px!important;color:var(--text-muted)}.ap-invoice-table .actions{text-align:center}.btn-icon{background:none;border:none;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.btn-icon:hover{background:var(--hover-bg)}.match-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.match-badge.badge-matched{background:#10b98126;color:var(--success-color);border:1px solid var(--success-color)}.match-badge.badge-pending{background:#f59e0b26;color:var(--warning-color);border:1px solid var(--warning-color)}.match-badge.badge-mismatch{background:#ef444426;color:var(--error-color);border:1px solid var(--error-color)}.match-badge.badge-error{background:#ef444440;color:#ff6b6b;border:1px solid #ff6b6b}.ap-invoice-detail{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.detail-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--table-header-bg);border-bottom:1px solid var(--border-color)}.detail-header h3{flex:1;font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.btn-back{background:var(--btn-secondary-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px}.btn-back:hover{background:var(--hover-bg)}.detail-actions{display:flex;gap:8px}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--btn-secondary-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;cursor:pointer;font-size:13px}.btn-secondary:hover{background:var(--hover-bg)}.btn-danger{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ef444426;border:1px solid var(--error-color);color:var(--error-color);border-radius:8px;cursor:pointer;font-size:13px}.btn-danger:hover{background:#ef444440}.detail-content{padding:24px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.detail-section{background:var(--bg-secondary);border-radius:10px;padding:16px;border:1px solid var(--border-color)}.detail-section h4{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.detail-row .label{color:var(--text-muted)}.detail-row.total{font-weight:600;font-size:16px;border-top:1px solid var(--border-color);margin-top:8px;padding-top:12px}.link-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;text-decoration:underline}.link-btn:hover{color:var(--primary-hover)}.lines-section{margin-top:24px}.lines-section h4{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.lines-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:10px;overflow:hidden;border:1px solid var(--border-color)}.lines-table th{background:var(--table-header-bg);padding:12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.lines-table td{padding:12px;font-size:13px;border-bottom:1px solid var(--border-color)}.lines-table .qty,.lines-table .price{text-align:right;font-family:JetBrains Mono,monospace}.lines-table .mismatch-row{background:#ef444414}.variance-notes{margin-top:16px;padding:12px;background:#ef444414;border-radius:8px;border:1px solid rgba(239,68,68,.3)}.variance-notes h5{font-size:13px;font-weight:600;color:var(--error-color);margin:0 0 8px}.variance-note{font-size:13px;color:var(--text-secondary);margin:4px 0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color);box-shadow:0 20px 40px #00000080}.modal-content.large{max-width:1400px;width:95vw}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.close-btn{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer}.close-btn:hover{color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-muted)}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px}.form-lines-table{width:100%;border-collapse:collapse;margin-top:12px}.form-lines-table th{background:var(--table-header-bg);padding:10px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.form-lines-table td{padding:10px;font-size:13px;border-bottom:1px solid var(--border-color)}.form-lines-table input{width:80px;padding:6px 8px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;text-align:right}.totals-section{margin-top:20px;padding:16px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-color)}.total-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.total-row input{width:100px;padding:6px 10px;text-align:right}.total-row.grand{font-size:18px;font-weight:600;color:var(--primary-color);border-top:1px solid var(--border-color);margin-top:8px;padding-top:12px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.btn-primary{padding:10px 24px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}@media(max-width:768px){.match-stats{grid-template-columns:repeat(2,1fr)}.detail-grid,.form-grid{grid-template-columns:1fr}.filters-row{flex-direction:column}.filters-row input,.filters-row select{width:100%}}.form-group.has-error input,.form-group.has-error select,.error-input{border-color:var(--error-color)!important;background:#ef444414!important}.field-error{font-size:11px;color:var(--error-color);margin-top:2px}.btn-success{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#10b98126;border:1px solid var(--success-color);color:var(--success-color);border-radius:8px;cursor:pointer;font-size:13px}.btn-success:hover{background:#10b98140}.btn-warning{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#f59e0b26;border:1px solid var(--warning-color);color:var(--warning-color);border-radius:8px;cursor:pointer;font-size:13px}.match-badge.badge-approved{background:#10b98133;color:var(--success-color);border:1px solid var(--success-color)}.match-badge.badge-disputed{background:#ef444433;color:var(--error-color);border:1px solid var(--error-color)}.lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lines-header h4{margin:0}.btn-add-line{padding:6px 12px;background:#3b82f626;border:1px solid var(--primary-color);color:var(--primary-color);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.btn-add-line:hover{background:#3b82f640}.btn-remove-line{width:24px;height:24px;padding:0;background:#ef444426;border:1px solid var(--error-color);color:var(--error-color);border-radius:4px;font-size:16px;cursor:pointer;line-height:1}.btn-remove-line:hover{background:#ef444440}.manual-line{background:#3b82f60d}.manual-line td input[type=text]{width:100%;min-width:150px}.no-lines{color:var(--text-muted);font-style:italic;text-align:center;padding:20px;background:var(--bg-secondary);border-radius:8px;border:1px dashed var(--border-color)}.form-lines-table th.cost-account-col{min-width:280px;white-space:nowrap}.form-lines-table td.cost-account-cell{min-width:280px;padding:4px 8px}.form-lines-table td.cost-account-cell .cost-account-selector{width:100%}.form-lines-table td.cost-account-cell .selector-row{gap:4px}.form-lines-table td.cost-account-cell .type-selector{flex:0 0 100px}.form-lines-table td.cost-account-cell .type-selector select{height:32px;padding:4px 8px;font-size:11px;min-width:90px}.form-lines-table td.cost-account-cell .account-input{height:32px;padding:0 8px}.form-lines-table td.cost-account-cell .selected-value code{font-size:10px;padding:2px 4px}.form-lines-table td.cost-account-cell .selected-value .name{font-size:11px;max-width:100px}.form-lines-table td.cost-account-cell .clear-btn{width:24px;height:32px}.cost-account-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:500}.cost-account-badge.voyage{background:#3b82f626;color:#60a5fa}.cost-account-badge.running{background:#10b98126;color:#34d399}.cost-account-badge.admin{background:#f59e0b26;color:#fbbf24}.cost-account-badge .cost-type{font-weight:600}.cost-account-badge .cost-code{background:#ffffff1a;padding:1px 5px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:10px}.erp-preview-modal{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:95%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0009}.erp-preview-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-bottom:1px solid rgba(255,255,255,.08)}.erp-preview-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.erp-preview-modal .close-btn{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1}.erp-preview-modal .close-btn:hover{color:var(--text-primary)}.erp-preview-body{padding:24px;overflow-y:auto;flex:1}.preview-hint{font-size:13px;color:var(--text-muted);margin-bottom:20px;padding:12px 16px;background:#3b82f61a;border-radius:8px;border:1px solid rgba(59,130,246,.2)}.preview-hint strong{color:#60a5fa}.preview-section{margin-bottom:24px}.preview-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.preview-table{width:100%;border-collapse:collapse;font-size:12px}.preview-table th{text-align:left;padding:10px 12px;background:#0f172a99;color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.08)}.preview-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-primary);vertical-align:middle}.preview-table tr.has-value{background:#22c55e08}.preview-table tr.no-value{background:#64748b0d}.preview-table code{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:#f97316;background:#f973161a;padding:3px 8px;border-radius:4px}.preview-table .field-value{font-family:JetBrains Mono,monospace;font-size:11px}.preview-table .field-desc{color:var(--text-muted);font-size:11px}.preview-table .needs-lookup{color:#a78bfa;background:#a78bfa1a;padding:2px 6px;border-radius:4px;font-size:10px}.preview-table .unmapped{color:#fbbf24;background:#f59e0b26;padding:2px 6px;border-radius:4px;font-size:10px}.preview-table .status-mapped{font-size:12px}.preview-table .status-empty{font-size:12px;opacity:.5}.lines-table td.number{font-family:JetBrains Mono,monospace;text-align:right;font-size:11px}.lines-table td.line-desc{max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lines-table td.cost-ref{font-size:10px}.lines-table .project-ref{color:#60a5fa;background:#3b82f61a;padding:2px 6px;border-radius:4px}.lines-table .center-ref{color:#34d399;background:#22c55e1a;padding:2px 6px;border-radius:4px}.lines-table .no-ref{color:var(--text-muted);opacity:.5}.lines-table td.stock-ref{font-size:10px}.preview-totals{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:16px;background:#0f172a66;border-radius:8px;margin-bottom:16px}.preview-totals .total-row{display:flex;gap:24px;font-size:13px}.preview-totals .total-row span{color:var(--text-muted);min-width:80px;text-align:right}.preview-totals .total-row strong{min-width:120px;text-align:right;font-family:JetBrains Mono,monospace}.preview-totals .total-row.grand{padding-top:8px;border-top:1px solid rgba(255,255,255,.1);font-size:15px}.preview-totals .total-row.grand strong{color:#22c55e}.preview-note{padding:12px 16px;background:#f59e0b1a;border-radius:8px;border:1px solid rgba(245,158,11,.2)}.preview-note p{margin:0;font-size:12px;color:#fbbf24}.preview-note .needs-lookup{color:#a78bfa;background:#a78bfa1a;padding:2px 6px;border-radius:4px;font-size:11px}.btn-info{padding:8px 16px;background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);border:1px solid rgba(139,92,246,.3);border-radius:8px;color:#a78bfa;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-info:hover{background:linear-gradient(135deg,#8b5cf64d,#8b5cf633);border-color:#8b5cf680;transform:translateY(-1px)}.cost-account-wrapper{display:flex;flex-direction:column;gap:6px}.cost-account-wrapper .voyage-selector{padding:4px 8px;font-size:11px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:var(--text-primary);cursor:pointer}.cost-account-wrapper .voyage-selector:focus{border-color:#a78bfa;outline:none;box-shadow:0 0 0 2px #8b5cf633}.cost-account-wrapper .voyage-selector option{background:var(--bg-secondary, #1a1a2e);color:var(--text-primary)}.btn-erp-send{padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-erp-send:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #8b5cf666}.btn-erp-send:disabled{opacity:.5;cursor:not-allowed}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.status-badge.warning{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.status-badge.success{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-badge.danger{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.modal-content.small{max-width:480px}.send-to-erp-body{display:flex;flex-direction:column;gap:20px}.send-erp-summary{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.send-erp-summary .summary-row{display:flex;justify-content:space-between;align-items:center}.send-erp-summary .label{color:#94a3b8;font-size:13px}.send-erp-summary strong{color:var(--text-primary);font-weight:600}.erp-company-select{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.erp-company-select:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #8b5cf633}.erp-company-select option{background:var(--bg-secondary, #1a1a2e);color:var(--text-primary)}.warning-box{padding:14px 16px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:10px;color:#fbbf24;font-size:13px}.info-box{padding:14px 16px;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:10px;color:#94a3b8;font-size:13px}.info-box p{margin:0 0 8px}.info-box p:last-child{margin-bottom:0}.info-box strong{color:#60a5fa}.invoice-detail-premium{display:flex;flex-direction:column;gap:24px;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.invoice-hero-header{position:relative;border-radius:20px;overflow:hidden;min-height:140px}.hero-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#1e3a5f,#0c1929 40%,#1a1a2e,#0f0a1a);z-index:0}.hero-backdrop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 30%,rgba(59,130,246,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(139,92,246,.1) 0%,transparent 40%)}.hero-backdrop:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.hero-content{position:relative;z-index:1;padding:24px 32px}.hero-back-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;padding:8px 14px;border-radius:10px;font-size:13px;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.hero-back-btn:hover{background:#ffffff1f;color:#fff;transform:translate(-2px)}.hero-title-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.hero-title-group{display:flex;align-items:center;gap:16px}.invoice-icon-wrapper{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#3b82f633,#8b5cf633);border:1px solid rgba(59,130,246,.3);display:flex;align-items:center;justify-content:center;color:#60a5fa;box-shadow:0 8px 24px #3b82f626}.hero-invoice-number{margin:0;font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.hero-vendor{margin:4px 0 0;font-size:.95rem;color:#64748b}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.action-btn span{display:inline}.action-btn.action-submit{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-color:#22c55e;box-shadow:0 4px 16px #22c55e4d}.action-btn.action-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.action-btn.action-match{background:linear-gradient(135deg,#3b82f6e6,#2563ebe6);color:#fff;border-color:#3b82f680;box-shadow:0 4px 16px #3b82f640}.action-btn.action-match:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f659}.action-btn.action-erp{background:#8b5cf626;color:#a78bfa;border-color:#8b5cf64d}.action-btn.action-erp:hover{background:#8b5cf640;transform:translateY(-2px)}.action-btn.action-delete{background:#ef44441a;color:#f87171;border-color:#ef44444d}.action-btn.action-delete:hover{background:#ef444433;transform:translateY(-2px)}.invoice-detail-body{display:grid;grid-template-columns:1fr 340px;gap:24px}.info-column{display:flex;flex-direction:column;gap:20px}.amounts-column{display:flex;flex-direction:column}.glass-card{background:linear-gradient(135deg,#1e293bb3,#0f172ad9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:0;overflow:hidden;transition:all .3s ease}.glass-card:hover{border-color:#ffffff1f;box-shadow:0 8px 32px #0003}.info-card .card-header,.amounts-card .card-header{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.card-header h3{margin:0;font-size:14px;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.8px}.card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.card-icon.blue{background:linear-gradient(135deg,#3b82f633,#3b82f61a);color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.card-icon.green{background:linear-gradient(135deg,#22c55e33,#22c55e1a);color:#4ade80;border:1px solid rgba(34,197,94,.3)}.card-icon.amber{background:linear-gradient(135deg,#f59e0b33,#f59e0b1a);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.card-icon.red{background:linear-gradient(135deg,#ef444433,#ef44441a);color:#f87171;border:1px solid rgba(239,68,68,.3)}.card-icon.purple{background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.card-content{padding:16px 20px 20px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.info-item:last-child{border-bottom:none}.info-label{font-size:13px;color:#64748b}.info-value{font-size:14px;color:#e2e8f0;font-weight:500;text-align:right}.info-value.highlight{color:#60a5fa;font-weight:600}.info-value.overdue{color:#f87171}.info-value.due-soon{color:#fbbf24}.due-indicator{display:inline-block;margin-left:8px;padding:2px 8px;background:#ffffff0d;border-radius:6px;font-size:11px;font-weight:500}.info-value.overdue .due-indicator{background:#ef444426;color:#f87171}.info-value.due-soon .due-indicator{background:#f59e0b26;color:#fbbf24}.status-pill{display:inline-block;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pill.draft{background:#64748b33;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.status-pill.submitted{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.status-pill.approved{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.status-pill.paid{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.po-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#60a5fa;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.po-link:hover{color:#93c5fd;text-decoration:underline}.match-actions{display:flex;gap:10px;padding:14px 20px;background:#0003;border-top:1px solid rgba(255,255,255,.06)}.match-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.match-action-btn.accept{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}.match-action-btn.accept:hover{background:#22c55e40;transform:translateY(-1px)}.match-action-btn.dispute{background:#ef44441a;color:#f87171;border-color:#ef44444d}.match-action-btn.dispute:hover{background:#ef444433;transform:translateY(-1px)}.amounts-card{position:sticky;top:20px}.amounts-content{padding:20px}.amount-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.amount-label{font-size:14px;color:#64748b}.amount-value{font-size:15px;font-family:JetBrains Mono,SF Mono,monospace;color:#e2e8f0;font-weight:500}.amount-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);margin:8px 0}.amount-row.total{padding-top:16px}.amount-row.total .amount-label{font-weight:600;color:#94a3b8}.amount-value.total{font-size:1.35rem;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.erp-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:13px;font-weight:500;border-top:1px solid rgba(255,255,255,.06)}.erp-indicator.pending{background:#f59e0b1a;color:#fbbf24}.erp-indicator.sent{background:#22c55e1a;color:#4ade80}.erp-indicator.failed{background:#ef44441a;color:#f87171}.erp-send-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;margin:0;background:linear-gradient(135deg,#8b5cf6e6,#7c3aede6);color:#fff;border:none;border-radius:0 0 16px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.erp-send-btn:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed);transform:translateY(-1px)}.line-items-section{padding:0}.line-items-section .section-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.06)}.line-items-section .section-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:600;color:#ffffffe6}.line-items-section .section-header h3 svg{color:#60a5fa}.item-count{font-size:12px;color:#64748b;padding:4px 10px;background:#ffffff0d;border-radius:20px}.table-wrapper{overflow-x:auto}.premium-lines-table{width:100%;border-collapse:collapse}.premium-lines-table th{padding:14px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#64748b;background:#0003;border-bottom:1px solid rgba(255,255,255,.06)}.premium-lines-table th.center{text-align:center}.premium-lines-table th.right{text-align:right}.premium-lines-table td{padding:14px 16px;font-size:13px;color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s ease}.premium-lines-table tbody tr:hover td{background:#3b82f60a}.premium-lines-table tbody tr:last-child td{border-bottom:none}.premium-lines-table .description-cell{max-width:280px;font-weight:500}.premium-lines-table td.center{text-align:center}.premium-lines-table td.right{text-align:right}.premium-lines-table .qty,.premium-lines-table .price{font-family:JetBrains Mono,monospace;color:#94a3b8}.premium-lines-table .price.highlight{color:#60a5fa;font-weight:600}.premium-lines-table .mismatch-row{background:#ef44440f}.premium-lines-table .mismatch-row td{border-bottom-color:#ef44441a}.cost-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:12px}.cost-badge.running{background:#22c55e1f;border:1px solid rgba(34,197,94,.25)}.cost-badge.running .cost-type-label{color:#4ade80;font-weight:500}.cost-badge.running .cost-code-label{color:#4ade80b3;padding:2px 6px;background:#22c55e26;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:10px}.cost-badge.voyage{background:#3b82f61f;border:1px solid rgba(59,130,246,.25)}.cost-badge.voyage .cost-type-label{color:#60a5fa;font-weight:500}.cost-badge.voyage .cost-code-label{color:#60a5fab3;padding:2px 6px;background:#3b82f626;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:10px}.variance-alert{margin:16px 24px 24px;padding:16px;background:linear-gradient(135deg,#ef444414,#ef44440a);border:1px solid rgba(239,68,68,.2);border-radius:12px}.variance-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#f87171;margin-bottom:12px}.variance-list{display:flex;flex-direction:column;gap:8px}.variance-item{font-size:13px;color:#cbd5e1}.variance-desc{font-weight:500;margin-right:6px}.variance-note{color:#94a3b8}@media(max-width:1024px){.invoice-detail-body{grid-template-columns:1fr}.amounts-column{order:-1}.amounts-card{position:static}.hero-title-row{flex-direction:column;align-items:flex-start}.hero-actions{width:100%}}@media(max-width:768px){.hero-content{padding:20px}.action-btn span{display:none}.action-btn{padding:10px 12px}.premium-lines-table{font-size:12px}.premium-lines-table th,.premium-lines-table td{padding:10px 12px}}.invoice-dashboard{display:flex;flex-direction:column;gap:0;animation:dashboardFadeIn .3s ease-out}@keyframes dashboardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;padding:8px 0;margin-bottom:12px;transition:color .15s ease}.dashboard-back:hover{color:#94a3b8}.invoice-hero{display:flex;justify-content:space-between;align-items:flex-start;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:0}.hero-main{display:flex;align-items:center;gap:32px}.hero-amount-section{display:flex;align-items:baseline;gap:8px}.hero-currency{font-size:1.25rem;font-weight:500;color:#64748b;letter-spacing:.05em}.hero-amount{font-size:3rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace;background:linear-gradient(135deg,#fff,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.hero-meta{display:flex;flex-direction:column;gap:4px}.hero-invoice-id{margin:0;font-size:1.5rem;font-weight:600;color:#e2e8f0;letter-spacing:-.01em}.hero-vendor-name{font-size:.95rem;color:#64748b}.hero-status-group{display:flex;gap:10px;align-items:center}.status-badge{padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.draft{background:#64748b33;color:#94a3b8}.status-badge.submitted{background:#3b82f626;color:#60a5fa}.status-badge.approved{background:#22c55e26;color:#4ade80}.status-badge.paid{background:#8b5cf626;color:#a78bfa}.hero-match-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:500}.hero-match-badge.matched{background:#22c55e1f;color:#4ade80}.hero-match-badge.mismatch{background:#ef44441f;color:#f87171}.hero-match-badge.pending{background:#f59e0b1f;color:#fbbf24}.invoice-quick-info{display:flex;align-items:center;gap:0;border-bottom:1px solid rgba(255,255,255,.06);background:#0f172a4d;margin:0 -24px;padding:20px 24px}.quick-item{display:flex;flex-direction:column;gap:4px;padding:0 24px}.quick-item:first-child{padding-left:0}.quick-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#475569;font-weight:500}.quick-value{font-size:14px;color:#e2e8f0;font-weight:500;display:flex;align-items:center;gap:8px}.quick-value.mono{font-family:JetBrains Mono,monospace}.quick-value.muted{color:#64748b}.quick-value.text-red{color:#f87171}.quick-value.text-amber{color:#fbbf24}.quick-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.quick-badge.badge-red{background:#ef444426;color:#f87171}.quick-badge.badge-amber{background:#f59e0b26;color:#fbbf24}.quick-badge.badge-green{background:#22c55e26;color:#4ade80}.quick-divider{width:1px;height:32px;background:#ffffff14}.quick-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#60a5fa;font-size:14px;font-weight:500;cursor:pointer;padding:0}.quick-link:hover{color:#93c5fd;text-decoration:underline}.invoice-action-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06);gap:16px;flex-wrap:wrap}.action-bar-left,.action-bar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.action-primary.green{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e40}.action-primary.green:hover{transform:translateY(-1px);box-shadow:0 6px 16px #22c55e59}.action-primary.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf640}.action-primary.purple:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf659}.action-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#60a5fa;transition:all .2s ease}.action-secondary:hover{background:#3b82f633;transform:translateY(-1px)}.action-secondary.purple{background:#8b5cf61a;border-color:#8b5cf64d;color:#a78bfa}.action-secondary.purple:hover{background:#8b5cf633}.action-text{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:transparent;border:none;transition:all .15s ease}.action-text.green{color:#4ade80}.action-text.green:hover{background:#22c55e1a}.action-text.amber{color:#fbbf24}.action-text.amber:hover{background:#f59e0b1a}.action-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:transparent;border:1px solid rgba(255,255,255,.1);color:#94a3b8;transition:all .15s ease}.action-ghost:hover{background:#ffffff0d;border-color:#fff3;color:#e2e8f0}.action-danger{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:6px;cursor:pointer;background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#f87171;transition:all .15s ease}.action-danger:hover{background:#ef444433;border-color:#ef444466}.erp-status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500}.erp-status.pending{background:#f59e0b1a;color:#fbbf24}.erp-status.sent{background:#22c55e1a;color:#4ade80}.erp-status.failed{background:#ef44441a;color:#f87171}.invoice-lines-section{margin-top:24px}.lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.lines-header h2{margin:0;font-size:1.1rem;font-weight:600;color:#e2e8f0}.lines-count{font-size:12px;color:#64748b;padding:4px 10px;background:#ffffff0d;border-radius:4px}.lines-table-container{background:#0f172a66;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.invoice-lines-table{width:100%;border-collapse:collapse}.invoice-lines-table th{padding:14px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#475569;background:#0003;border-bottom:1px solid rgba(255,255,255,.06)}.invoice-lines-table .col-description{text-align:left}.invoice-lines-table .col-qty,.invoice-lines-table .col-price,.invoice-lines-table .col-total,.invoice-lines-table .col-tax{text-align:right}.invoice-lines-table .col-match{text-align:center;width:60px}.invoice-lines-table td{padding:14px 16px;font-size:13px;color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.04)}.invoice-lines-table td.col-qty,.invoice-lines-table td.col-price,.invoice-lines-table td.col-total,.invoice-lines-table td.col-tax{text-align:right;font-family:JetBrains Mono,monospace}.invoice-lines-table td.col-total{color:#60a5fa;font-weight:600}.invoice-lines-table td.muted{color:#64748b}.invoice-lines-table tbody tr:hover td{background:#3b82f60a}.invoice-lines-table tbody tr:last-child td{border-bottom:none}.invoice-lines-table .row-mismatch{background:#ef44440d}.invoice-lines-table .row-mismatch td{border-bottom-color:#ef44441a}.account-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.account-tag.running{background:#22c55e1a;color:#4ade80}.account-tag.voyage{background:#3b82f61a;color:#60a5fa}.account-tag code{font-family:JetBrains Mono,monospace;font-size:10px;padding:2px 5px;background:#0003;border-radius:3px}.match-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px}.match-indicator.matched{background:#22c55e26;color:#4ade80}.match-indicator.pending{background:#64748b26;color:#94a3b8}.match-indicator.qty-mismatch,.match-indicator.price-mismatch,.match-indicator.mismatch{background:#ef444426;color:#f87171}.variance-banner{display:flex;gap:14px;padding:16px 20px;margin-top:16px;background:linear-gradient(135deg,#ef444414,#ef44440a);border:1px solid rgba(239,68,68,.2);border-radius:10px}.variance-banner>svg{color:#f87171;flex-shrink:0;margin-top:2px}.variance-content{flex:1}.variance-content strong{display:block;font-size:13px;color:#f87171;margin-bottom:8px}.variance-content p{margin:4px 0;font-size:13px;color:#94a3b8}.variance-content p span{color:#cbd5e1;font-weight:500}@media(max-width:1200px){.hero-main{flex-direction:column;align-items:flex-start;gap:16px}.hero-amount{font-size:2.5rem}}@media(max-width:900px){.invoice-quick-info{flex-wrap:wrap;gap:16px}.quick-divider{display:none}.quick-item{padding:8px 16px;background:#ffffff08;border-radius:8px}}@media(max-width:768px){.invoice-hero{flex-direction:column;gap:16px}.hero-amount{font-size:2rem}.action-bar-left,.action-bar-right{width:100%;justify-content:flex-start}.invoice-lines-table{font-size:12px}.invoice-lines-table th,.invoice-lines-table td{padding:10px 12px}}.erp-manager{padding:24px;min-height:600px}.erp-manager.loading{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.erp-manager .message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.erp-manager .message-success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#22c55e}.erp-manager .message-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444}.erp-manager .message-info{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#3b82f6}.erp-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:24px 32px;margin-bottom:24px;background:linear-gradient(135deg,#1e3a5f,#0c1929,#1a1a2e);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff0d}.erp-title{display:flex;align-items:center;gap:16px;font-size:28px;color:#22c55e}.erp-title h1{font-size:26px;font-weight:700;background:linear-gradient(135deg,#60a5fa,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.erp-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px;display:block}.erp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.erp-header h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.company-selector{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1e293bcc,#0f172ae6);padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.company-selector label{font-size:13px;color:var(--text-muted);white-space:nowrap}.company-selector select{padding:8px 12px;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);font-size:13px;min-width:200px}.company-selector select:focus{outline:none;border-color:var(--primary-color)}.erp-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:4px}.erp-tabs .tab{padding:10px 20px;background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;border-radius:8px 8px 0 0;transition:all .2s ease}.erp-tabs .tab:hover{background:#ffffff0d;color:var(--text-primary)}.erp-tabs .tab.active{background:linear-gradient(135deg,#3b82f626,#3b82f60d);color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.erp-content{background:linear-gradient(135deg,#1e293b99,#0f172acc);border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:24px}.mapping-section h3,.jobs-section h3,.references-section h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.mapping-description,.reference-description{color:var(--text-muted);font-size:13px;margin-bottom:20px}.mapping-table,.jobs-table{width:100%;border-collapse:collapse;font-size:13px}.mapping-table th,.jobs-table th{text-align:left;padding:12px 16px;background:#0f172a99;color:var(--text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.08)}.mapping-table th.sortable{cursor:pointer;transition:all .2s ease}.mapping-table th.sortable:hover{background:#ffffff0d;color:var(--text-secondary)}.mapping-table th.sortable.active{color:#60a5fa}.mapping-table th.sortable span{display:inline-flex;align-items:center;gap:4px}.mapping-table td,.jobs-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-primary)}.mapping-table tr.unmapped{background:#f59e0b08}.mapping-table tr.mapped{background:#22c55e08}.mapping-table .vendor-name,.mapping-table .vessel-name{font-weight:500}.mapping-table td.empty,.jobs-table td.empty{text-align:center;color:var(--text-muted);padding:40px}.mapping-table select,.mapping-table input[type=text]{padding:6px 10px;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);font-size:12px;min-width:200px;display:block}.mapping-table select{margin-bottom:8px}.mapping-table select:focus,.mapping-table input:focus{outline:none;border-color:var(--primary-color)}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase}.badge-success{background:#22c55e26;color:#22c55e}.badge-warning{background:#f59e0b26;color:#f59e0b}.badge-error{background:#ef444426;color:#ef4444}.badge-info{background:#3b82f626;color:#3b82f6}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,var(--primary-color),#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{padding:8px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1f}.btn-icon{padding:6px 10px;background:transparent;border:none;cursor:pointer;font-size:14px;border-radius:6px;transition:all .2s ease}.btn-icon:hover{background:#ffffff1a}.btn-icon.btn-danger:hover{background:#ef444426}.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.reference-card{background:#0f172a80;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.reference-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.reference-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.reference-header .count{font-size:12px;color:var(--text-muted);background:#ffffff14;padding:4px 10px;border-radius:12px}.reference-list{padding:12px;max-height:300px;overflow-y:auto}.reference-item{display:flex;gap:12px;padding:8px 12px;border-radius:6px;margin-bottom:4px}.reference-item:hover{background:#ffffff0d}.reference-item code{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--primary-color);background:#3b82f61a;padding:2px 6px;border-radius:4px;white-space:nowrap}.reference-item span{font-size:13px;color:var(--text-secondary)}.reference-more{text-align:center;padding:12px;color:var(--text-muted);font-size:12px}.no-companies{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#1e293b99,#0f172acc);border-radius:12px;border:1px solid rgba(255,255,255,.06)}.no-companies p{color:var(--text-muted);margin-bottom:20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:700px;box-shadow:0 20px 40px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.modal-header .close-btn{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:0;line-height:1}.modal-header .close-btn:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.modal-body .form-group{margin-bottom:16px}.modal-body .form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.modal-body .form-group input,.modal-body .form-group select{width:100%;padding:10px 12px;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary);font-size:14px}.modal-body .form-group input:focus,.modal-body .form-group select:focus{outline:none;border-color:var(--primary-color)}.modal-body .form-group input:disabled{opacity:.6;cursor:not-allowed}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.08)}.filter-bar{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap;padding:12px 16px;background:#0f172a66;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.search-box{position:relative;flex:1;min-width:200px;max-width:400px}.search-box input{width:100%;padding:10px 36px 10px 14px;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary);font-size:13px;transition:border-color .2s ease}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus{outline:none;border-color:var(--primary-color)}.search-box .clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:all .2s ease}.search-box .clear-search:hover{color:var(--text-primary);background:#ffffff1a}.filter-pills{display:flex;gap:8px;flex-wrap:wrap}.filter-pill{padding:8px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.filter-pill:hover{background:#ffffff1a;border-color:#ffffff26;color:var(--text-primary)}.filter-pill.active{background:linear-gradient(135deg,#3b82f633,#3b82f61a);border-color:#3b82f666;color:var(--primary-color)}.filter-pill.mapped.active{background:linear-gradient(135deg,#22c55e33,#22c55e1a);border-color:#22c55e66;color:#22c55e}.filter-pill.unmapped.active{background:linear-gradient(135deg,#f59e0b33,#f59e0b1a);border-color:#f59e0b66;color:#f59e0b}.pill-count{background:#ffffff1a;padding:2px 8px;border-radius:10px;font-size:11px}.filter-pill.active .pill-count{background:#ffffff26}.badge-primary{background:#8b5cf626;color:#8b5cf6}.mapping-table td.more-rows{text-align:center;color:var(--text-muted);font-size:12px;font-style:italic;padding:16px;background:#3b82f60d}.mapping-table code{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--primary-color);background:#3b82f61a;padding:2px 6px;border-radius:4px}.btn-add{font-size:18px;font-weight:600;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f633,#3b82f61a);border:1px solid rgba(59,130,246,.3);color:var(--primary-color)}.btn-add:hover{background:linear-gradient(135deg,var(--primary-color),#2563eb);color:#fff}.form-divider{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.form-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-label{display:flex;align-items:center;gap:14px;cursor:pointer;padding:12px 16px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08;transition:all .2s ease;min-height:48px}.checkbox-label:hover{background:#ffffff0f;border-color:#ffffff1a}.checkbox-label:has(input:checked){background:#3b82f61a;border-color:#3b82f64d}.checkbox-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:24px;background:#ffffff26;border-radius:12px;position:relative;cursor:pointer;transition:all .3s ease;flex-shrink:0}.checkbox-label input[type=checkbox]:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#ffffff80;border-radius:50%;transition:all .3s ease}.checkbox-label input[type=checkbox]:checked{background:linear-gradient(135deg,#3b82f6,#2563eb)}.checkbox-label input[type=checkbox]:checked:before{transform:translate(20px);background:#fff}.checkbox-text{color:var(--text-primary);font-size:14px;font-weight:500}.demo-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:1px solid rgba(251,191,36,.3);border-radius:10px;color:#fbbf24;font-size:13px;margin-bottom:20px}.demo-mode-text{display:flex;align-items:center;gap:8px}.demo-mode-actions{display:flex;gap:10px;flex-shrink:0}.btn-demo{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#fbbf2433,#f59e0b26);border:1px solid rgba(251,191,36,.4);border-radius:6px;color:#fbbf24;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-demo:hover{background:linear-gradient(135deg,#fbbf2459,#f59e0b40);border-color:#fbbf2499;transform:translateY(-1px)}.btn-demo:active{transform:translateY(0)}@media(max-width:768px){.erp-header{flex-direction:column;align-items:flex-start}.company-selector{flex-wrap:wrap}.erp-tabs{overflow-x:auto}.mapping-table{font-size:12px}.mapping-table th,.mapping-table td{padding:8px}.filter-bar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.filter-pills{justify-content:flex-start}}.sub-tabs{display:flex;gap:8px;margin-bottom:16px;padding:4px;background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.sub-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.sub-tab:hover{background:#ffffff0d;color:var(--text-secondary)}.sub-tab.active{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.sub-tab .tab-count{background:#ffffff1a;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.sub-tab.active .tab-count{background:#3b82f64d}.sub-tab .mapped-indicator{font-size:10px;color:#22c55e;opacity:.8}.sub-description{font-size:12px;color:var(--text-muted);margin:0 0 12px;font-style:italic}.empty-state{text-align:center;padding:40px 20px;background:#0003;border-radius:12px;border:1px dashed rgba(255,255,255,.1)}.empty-state p{margin:0 0 8px;color:var(--text-muted)}.empty-state .hint{font-size:12px;color:#60a5fa;opacity:.8}.schema-section{padding:4px 0}.schema-section h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.schema-description{color:var(--text-muted);font-size:13px;margin-bottom:20px}.schema-description code{font-family:JetBrains Mono,monospace;font-size:12px;color:#22c55e;background:#22c55e26;padding:3px 8px;border-radius:4px}.schema-info{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 16px;background:linear-gradient(135deg,#0f172a99,#1e293b66);border-radius:8px;border:1px solid rgba(255,255,255,.06);margin-bottom:16px}.schema-table-name{font-size:14px;color:var(--text-secondary)}.schema-table-name code{font-family:JetBrains Mono,monospace;font-size:13px;color:#60a5fa;background:#3b82f626;padding:4px 10px;border-radius:4px;margin-left:8px}.schema-table-desc{font-size:13px;color:var(--text-muted);font-style:italic}.schema-legend{display:flex;gap:16px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.schema-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:24px}.schema-table th{text-align:left;padding:12px 14px;background:#0f172a99;color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.08)}.schema-table td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-primary);vertical-align:middle}.schema-table tr.has-mapping{background:#22c55e0a}.schema-table tr.no-mapping{background:transparent}.schema-table tr:hover{background:#ffffff08}.field-indicator{text-align:center;font-size:10px}.required-dot,.optional-dot{font-size:10px}.field-name{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#f97316;background:#f973161a;padding:3px 8px;border-radius:4px}.field-type{font-size:12px;color:#8b5cf6}.field-size{font-size:11px;color:var(--text-muted);margin-left:4px}.field-desc{font-size:12px;color:var(--text-secondary)}.field-mapping{min-width:180px}.mapping-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.mapping-badge.mapped{background:#22c55e26;color:#22c55e}.mapping-badge.unmapped{background:#64748b26;color:#64748b}.field-notes{font-size:11px;color:var(--text-muted);font-style:italic;max-width:200px}.mapping-rules{background:linear-gradient(135deg,#1e293b99,#0f172acc);border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:20px;margin-top:24px}.mapping-rules h4{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.rule-card{background:#0f172a80;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px 16px}.rule-header{font-size:13px;font-weight:600;color:#60a5fa;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.rule-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px}.rule-flow code{font-family:JetBrains Mono,monospace;font-size:10px;color:#f97316;background:#f973161a;padding:3px 6px;border-radius:4px}.rule-flow .arrow{color:var(--text-muted)}.rule-flow .mapping-table{color:#a78bfa;font-size:10px}@media(max-width:1024px){.schema-table{font-size:12px}.schema-table th,.schema-table td{padding:8px 10px}.field-notes{max-width:150px}}@media(max-width:768px){.schema-info{flex-direction:column;align-items:flex-start}.schema-table{display:block;overflow-x:auto}.rule-grid{grid-template-columns:1fr}}.jobs-section{display:flex;flex-direction:column;gap:16px}.jobs-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.jobs-header h3{margin:0}.jobs-description{color:var(--text-muted);font-size:13px;margin:0}.jobs-layout{display:grid;grid-template-columns:1fr 400px;gap:20px;min-height:400px}.jobs-list{overflow-x:auto}.jobs-table{width:100%}.jobs-table tr{cursor:pointer;transition:all .15s ease}.jobs-table tbody tr:hover{background:#3b82f614}.jobs-table tr.selected{background:#3b82f626!important;border-left:3px solid #3b82f6}.jobs-table tr.status-pending{border-left:3px solid #f59e0b}.jobs-table tr.status-failed{border-left:3px solid #ef4444}.jobs-table tr.status-completed{border-left:3px solid #22c55e}.job-type{font-size:12px;font-weight:500;text-transform:capitalize}.jobs-table .actions-cell{display:flex;gap:4px;justify-content:flex-end}.jobs-table .btn-cancel{font-size:12px}.payload-panel{background:linear-gradient(135deg,#0f172ae6,#0a0f1ef2);border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column;min-height:400px;max-height:600px;overflow:hidden}.payload-panel.visible{animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.payload-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.08);background:#22c55e0d}.payload-header h4{margin:0;font-size:14px;font-weight:600;color:#22c55e}.payload-meta{padding:16px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:8px}.meta-row{display:flex;align-items:center;gap:12px;font-size:12px}.meta-label{color:var(--text-muted);min-width:70px}.meta-row code{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--primary-color);background:#3b82f61a;padding:2px 6px;border-radius:4px;word-break:break-all}.result-message{color:var(--text-secondary);font-size:12px;word-break:break-word}.payload-content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0}.payload-content h5{margin:0;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:#ffffff05}.json-viewer{flex:1;margin:0;padding:16px;background:#0000004d;color:#10b981;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;line-height:1.5;overflow:auto;white-space:pre;border-radius:0 0 12px 12px}.payload-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:10px}.payload-empty span{font-size:32px;opacity:.5}.payload-empty p{font-size:13px;margin:0}.invoice-link{color:#60a5fa;text-decoration:none;font-weight:500;transition:color .2s ease}.invoice-link:hover{color:#93c5fd;text-decoration:underline}.preview-warnings{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:12px;margin-top:8px;font-size:12px}.preview-warnings strong{color:#f59e0b;display:block;margin-bottom:6px}.preview-warnings ul{margin:0;padding-left:20px;color:#f59e0be6}.preview-warnings li{margin:4px 0}.loading-preview{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}@media(max-width:1100px){.jobs-layout{grid-template-columns:1fr}.payload-panel{min-height:300px}}.cost-type-manager{padding:24px;max-width:1400px;margin:0 auto}.cost-type-manager.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted)}.cost-type-manager .manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cost-type-manager .header-title{display:flex;align-items:center;gap:16px}.cost-type-manager .header-icon{font-size:32px;color:#22c55e;background:#22c55e1a;padding:12px;border-radius:12px}.cost-type-manager .header-title h2{margin:0;color:var(--text-primary)}.cost-type-manager .subtitle{margin:4px 0 0;color:var(--text-muted);font-size:13px}.cost-type-manager .message{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.cost-type-manager .message-error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.cost-type-manager .message-success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.cost-type-manager .message button{background:none;border:none;color:inherit;cursor:pointer;padding:4px}.cost-type-manager .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.cost-type-manager .stat-card{background:#0003;border-radius:12px;padding:20px;text-align:center;border:1px solid rgba(255,255,255,.05);position:relative}.cost-type-manager .stat-card .stat-icon{position:absolute;top:12px;right:12px;color:var(--text-muted);opacity:.5}.cost-type-manager .stat-value{font-size:28px;font-weight:700;color:var(--text-primary)}.cost-type-manager .stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;margin-top:4px}.cost-type-manager .filter-bar{display:flex;gap:12px;margin-bottom:24px;align-items:stretch}.cost-type-manager .search-box{flex:1;min-width:250px;max-width:400px;display:flex;align-items:center;gap:8px;background:#0003;border-radius:8px;padding:0 12px;border:1px solid rgba(255,255,255,.1)}.cost-type-manager .search-box input{flex:1;background:transparent;border:none;color:var(--text-primary);padding:10px 0;outline:none}.cost-type-manager .search-box input::placeholder{color:var(--text-muted)}.cost-type-manager .clear-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.cost-type-manager .filter-selects{display:flex;align-items:center;gap:8px}.cost-type-manager .filter-selects .filter-icon{color:var(--text-muted);font-size:16px}.cost-type-manager .filter-selects select{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);padding:10px 12px;cursor:pointer;min-width:130px;height:40px}.cost-type-manager .toggle-filter{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;white-space:nowrap;padding:0 14px;background:#0000004d;border-radius:6px;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);transition:all .2s ease;height:40px}.cost-type-manager .toggle-filter:hover{background:#0006;border-color:#ffffff26}.cost-type-manager .toggle-filter input[type=checkbox]{width:14px;height:14px;accent-color:#3b82f6;margin:0}.cost-type-manager .cost-group-section{background:#0003;border-radius:12px;margin-bottom:20px;border:1px solid rgba(255,255,255,.05);overflow:hidden}.cost-type-manager .group-header{display:flex;align-items:center;gap:12px;padding:16px 20px;margin:0;background:#0003;border-bottom:1px solid rgba(255,255,255,.05)}.cost-type-manager .type-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase}.cost-type-manager .type-badge.running{background:#3b82f633;color:#60a5fa}.cost-type-manager .type-badge.admin{background:#a855f733;color:#c084fc}.cost-type-manager .group-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500}.cost-type-manager .group-badge.technical{background:#0ea5e926;color:#38bdf8}.cost-type-manager .group-badge.administrative{background:#eab30826;color:#facc15}.cost-type-manager .group-badge.operational{background:#22c55e26;color:#4ade80}.cost-type-manager .group-badge.administrative-expenses{background:#a855f726;color:#c084fc}.cost-type-manager .group-header .count{margin-left:auto;background:#ffffff1a;padding:2px 8px;border-radius:10px;font-size:11px;color:var(--text-muted)}.cost-type-manager .cost-type-table{width:100%;border-collapse:collapse}.cost-type-manager .cost-type-table th,.cost-type-manager .cost-type-table td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.cost-type-manager .cost-type-table th{color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;background:#0000001a}.cost-type-manager .cost-type-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.cost-type-manager .cost-type-table th.sortable:hover{background:#ffffff0d;color:var(--text-secondary)}.cost-type-manager .cost-type-table th.sortable.active{color:#60a5fa}.cost-type-manager .cost-type-table th .header-content{display:inline-flex;align-items:center;gap:4px}.cost-type-manager .cost-type-table th .header-content svg{font-size:14px}.cost-type-manager .cost-type-table td{color:var(--text-secondary);font-size:13px}.cost-type-manager .cost-type-table tr:hover{background:#ffffff05}.cost-type-manager .cost-type-table tr.inactive{opacity:.5}.cost-type-manager .cost-type-table code{font-family:Fira Code,monospace;font-size:12px;background:#0000004d;padding:2px 6px;border-radius:4px}.cost-type-manager .cost-type-table .actions{display:flex;gap:4px}.cost-type-manager .readonly-hint{font-size:11px;color:var(--text-muted);font-style:italic}.cost-type-manager .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.cost-type-manager .badge-info{background:#3b82f626;color:#60a5fa}.cost-type-manager .badge-success{background:#22c55e26;color:#4ade80}.cost-type-manager .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.cost-type-manager .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.cost-type-manager .btn-primary:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.cost-type-manager .btn-secondary{background:#ffffff1a;color:var(--text-secondary)}.cost-type-manager .btn-secondary:hover{background:#ffffff26}.cost-type-manager .btn-icon{background:#ffffff0d;border:none;color:var(--text-muted);padding:6px;border-radius:4px;cursor:pointer;transition:all .2s ease}.cost-type-manager .btn-icon:hover{background:#ffffff1a;color:var(--text-primary)}.cost-type-manager .btn-icon.btn-danger:hover{background:#ef444433;color:#ef4444}.cost-type-manager .empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.cost-type-manager .empty-state svg{font-size:48px;opacity:.3;margin-bottom:16px}.cost-type-manager .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.cost-type-manager .modal-content{background:var(--bg-secondary, #1e293b);border-radius:16px;width:90%;max-width:500px;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px #00000080}.cost-type-manager .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.cost-type-manager .modal-header h3{margin:0;color:var(--text-primary)}.cost-type-manager .modal-content form{padding:24px}.cost-type-manager .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cost-type-manager .form-group{margin-bottom:16px}.cost-type-manager .form-group label{display:block;margin-bottom:6px;font-size:12px;color:var(--text-muted);text-transform:uppercase}.cost-type-manager .form-group input,.cost-type-manager .form-group select,.cost-type-manager .form-group textarea{width:100%;padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary);font-size:14px}.cost-type-manager .form-group input:focus,.cost-type-manager .form-group select:focus,.cost-type-manager .form-group textarea:focus{outline:none;border-color:#3b82f6}.cost-type-manager .form-group textarea{resize:vertical;min-height:60px}.cost-type-manager .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:768px){.cost-type-manager .stats-row{grid-template-columns:repeat(2,1fr)}.cost-type-manager .filter-bar{flex-direction:column}.cost-type-manager .form-row{grid-template-columns:1fr}}.vp-dashboard{padding:0;min-height:100%;color:#e2e8f0;font-family:Inter,-apple-system,system-ui,sans-serif}.vp-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,.04)}.vp-header-left{display:flex;align-items:center;gap:14px}.vp-header-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#a855f726,#3b82f61f);border:1px solid rgba(168,85,247,.2);display:flex;align-items:center;justify-content:center;color:#a855f7}.vp-header h2{margin:0;font-size:1.15rem;font-weight:600;color:#f1f5f9;letter-spacing:-.01em}.vp-header p{margin:2px 0 0;font-size:.78rem;color:#64748b}.vp-header-actions{display:flex;gap:8px}.vp-refresh-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#94a3b8;font-size:.78rem;cursor:pointer;transition:all .2s}.vp-refresh-btn:hover{background:#ffffff0f;color:#e2e8f0;border-color:#ffffff1f}.vp-refresh-btn.spinning svg{animation:vp-spin .8s linear infinite}@keyframes vp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vp-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:16px 24px}.vp-kpi-card{background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:16px 18px;position:relative;overflow:hidden;transition:all .25s}.vp-kpi-card:hover{border-color:#ffffff1a;transform:translateY(-1px);box-shadow:0 4px 24px #00000026}.vp-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:.6}.vp-kpi-card:nth-child(1):before{background:linear-gradient(90deg,#a855f7,transparent)}.vp-kpi-card:nth-child(2):before{background:linear-gradient(90deg,#3b82f6,transparent)}.vp-kpi-card:nth-child(3):before{background:linear-gradient(90deg,#10b981,transparent)}.vp-kpi-card:nth-child(4):before{background:linear-gradient(90deg,#f59e0b,transparent)}.vp-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:6px}.vp-kpi-value{font-size:1.6rem;font-weight:700;color:#f1f5f9;line-height:1.1;font-variant-numeric:tabular-nums}.vp-kpi-sub{font-size:.72rem;color:#475569;margin-top:4px}.vp-content{display:grid;grid-template-columns:1fr 340px;gap:16px;padding:0 24px 24px}.vp-scorecard-panel{background:#ffffff04;border:1px solid rgba(255,255,255,.05);border-radius:14px;overflow:hidden}.vp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.04)}.vp-panel-title{font-size:.85rem;font-weight:600;color:#cbd5e1;display:flex;align-items:center;gap:8px}.vp-panel-badge{font-size:.68rem;padding:2px 8px;border-radius:10px;background:#a855f71f;color:#c084fc;font-weight:500}.vp-table{width:100%;border-collapse:collapse}.vp-table thead th{padding:10px 14px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;text-align:left;border-bottom:1px solid rgba(255,255,255,.04);background:#ffffff03;font-weight:600;white-space:nowrap}.vp-table thead th.right{text-align:right}.vp-table tbody tr{cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.025)}.vp-table tbody tr:hover{background:#a855f70a}.vp-table tbody tr.active{background:#a855f714;border-left:2px solid #a855f7}.vp-table tbody td{padding:12px 14px;font-size:.8rem;color:#cbd5e1;vertical-align:middle}.vp-table tbody td.right{text-align:right;font-variant-numeric:tabular-nums}.vp-supplier-cell{display:flex;align-items:center;gap:10px}.vp-supplier-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.vp-supplier-avatar.rating-A{background:linear-gradient(135deg,#10b9812e,#10b98114);border:1px solid rgba(16,185,129,.3);color:#34d399}.vp-supplier-avatar.rating-B{background:linear-gradient(135deg,#3b82f62e,#3b82f614);border:1px solid rgba(59,130,246,.3);color:#60a5fa}.vp-supplier-avatar.rating-C{background:linear-gradient(135deg,#f59e0b2e,#f59e0b14);border:1px solid rgba(245,158,11,.3);color:#fbbf24}.vp-supplier-avatar.rating-D{background:linear-gradient(135deg,#ef44442e,#ef444414);border:1px solid rgba(239,68,68,.3);color:#f87171}.vp-supplier-info{display:flex;flex-direction:column;gap:1px}.vp-supplier-name{font-weight:600;color:#e2e8f0;font-size:.82rem}.vp-supplier-pos{font-size:.7rem;color:#64748b}.vp-score-ring{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center}.vp-score-ring svg{position:absolute;top:0;left:0;transform:rotate(-90deg)}.vp-score-ring .vp-ring-track{fill:none;stroke:#ffffff0f;stroke-width:3}.vp-score-ring .vp-ring-fill{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset 1s ease}.vp-score-ring .vp-ring-fill.grade-A{stroke:#10b981}.vp-score-ring .vp-ring-fill.grade-B{stroke:#3b82f6}.vp-score-ring .vp-ring-fill.grade-C{stroke:#f59e0b}.vp-score-ring .vp-ring-fill.grade-D{stroke:#ef4444}.vp-score-value{font-size:.72rem;font-weight:700;color:#f1f5f9;z-index:1}.vp-metric-bar-container{display:flex;align-items:center;gap:6px}.vp-metric-bar{width:60px;height:5px;border-radius:3px;background:#ffffff0f;overflow:hidden}.vp-metric-bar-fill{height:100%;border-radius:3px;transition:width .8s ease}.vp-metric-bar-fill.high{background:linear-gradient(90deg,#10b981,#34d399)}.vp-metric-bar-fill.mid{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.vp-metric-bar-fill.low{background:linear-gradient(90deg,#ef4444,#f87171)}.vp-metric-pct{font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.vp-metric-pct.high{color:#34d399}.vp-metric-pct.mid{color:#fbbf24}.vp-metric-pct.low{color:#f87171}.vp-spend-cell{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.vp-spend-amount{font-weight:600;color:#e2e8f0;font-size:.82rem;font-variant-numeric:tabular-nums}.vp-spend-pct{font-size:.68rem;color:#64748b}.vp-delay-cell{display:flex;align-items:center;gap:4px}.vp-delay-cell.on-time{color:#34d399}.vp-delay-cell.early{color:#60a5fa}.vp-delay-cell.late{color:#f87171}.vp-delay-cell.unknown{color:#475569}.vp-sidebar{display:flex;flex-direction:column;gap:14px}.vp-chart-card{background:#ffffff04;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:16px;overflow:hidden}.vp-chart-title{font-size:.78rem;font-weight:600;color:#94a3b8;margin-bottom:12px;display:flex;align-items:center;gap:6px}.vp-detail-drawer{background:linear-gradient(180deg,#a855f708,#0f172a05);border:1px solid rgba(255,255,255,.06);border-radius:14px;margin:0 24px 24px;overflow:hidden;animation:vp-slide-in .3s ease}@keyframes vp-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.vp-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.04)}.vp-drawer-title{font-size:.92rem;font-weight:600;color:#f1f5f9;display:flex;align-items:center;gap:10px}.vp-drawer-close{width:28px;height:28px;border-radius:6px;border:none;background:#ffffff0a;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.vp-drawer-close:hover{background:#ffffff14;color:#e2e8f0}.vp-drawer-content{display:grid;grid-template-columns:280px 1fr;gap:18px;padding:18px}.vp-breakdown{display:flex;flex-direction:column;gap:12px}.vp-breakdown-item{display:flex;flex-direction:column;gap:4px}.vp-breakdown-label{display:flex;justify-content:space-between;font-size:.72rem;color:#94a3b8}.vp-breakdown-score{font-weight:600;font-variant-numeric:tabular-nums}.vp-breakdown-bar{height:6px;border-radius:3px;background:#ffffff0f;overflow:hidden}.vp-breakdown-fill{height:100%;border-radius:3px;transition:width .6s ease}.vp-breakdown-fill.delivery{background:linear-gradient(90deg,#8b5cf6,#a855f7)}.vp-breakdown-fill.quality{background:linear-gradient(90deg,#10b981,#34d399)}.vp-breakdown-fill.responsiveness{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.vp-breakdown-fill.value{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.vp-radar-wrapper{display:flex;align-items:center;justify-content:center;min-height:220px}.vp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#475569}.vp-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.vp-empty h3{margin:0 0 4px;font-size:.92rem;color:#64748b}.vp-empty p{font-size:.78rem;margin:0}.vp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:12px;color:#64748b;font-size:.82rem}.vp-loading .vp-spinner{width:32px;height:32px;border:3px solid rgba(168,85,247,.15);border-top-color:#a855f7;border-radius:50%;animation:vp-spin .8s linear infinite}.vp-dashboard .recharts-text{fill:#64748b;font-size:.68rem}.vp-dashboard .recharts-polar-angle-axis-tick-value{fill:#94a3b8;font-size:.7rem}.vp-dashboard .recharts-tooltip-wrapper .recharts-default-tooltip{background:#1e293b!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:8px!important;box-shadow:0 8px 32px #0000004d!important}.vp-dashboard .recharts-tooltip-item{color:#e2e8f0!important;font-size:.78rem!important}.vp-dashboard .recharts-tooltip-label{color:#94a3b8!important;font-size:.72rem!important}@media(max-width:1100px){.vp-content{grid-template-columns:1fr}.vp-sidebar{flex-direction:row}.vp-chart-card{flex:1}.vp-kpi-strip{grid-template-columns:repeat(2,1fr)}.vp-drawer-content{grid-template-columns:1fr}}.sa-dashboard{padding:0;min-height:100%;animation:sa-fadeIn .4s ease}@keyframes sa-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sa-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:0 2px}.sa-header-left{display:flex;align-items:center;gap:12px}.sa-header-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 14px #3b82f64d}.sa-header h2{font-size:1.15rem;font-weight:700;color:var(--text-primary, #f1f5f9);margin:0}.sa-header p{font-size:.75rem;color:var(--text-secondary, #94a3b8);margin:2px 0 0}.sa-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.sa-kpi-card{background:#1e293b8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px 16px;transition:all .2s ease}.sa-kpi-card:hover{border-color:#3b82f633;background:#1e293bb3}.sa-kpi-label{font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #94a3b8);margin-bottom:6px}.sa-kpi-value{font-size:1.35rem;font-weight:700;color:var(--text-primary, #f1f5f9);line-height:1.1}.sa-kpi-sub{font-size:.65rem;color:var(--text-secondary, #64748b);margin-top:3px}.sa-tabs{display:flex;gap:4px;margin-bottom:18px;background:#0f172a66;border-radius:8px;padding:3px;width:fit-content}.sa-tab-btn{padding:7px 16px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary, #94a3b8);font-size:.78rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.sa-tab-btn:hover{color:var(--text-primary, #e2e8f0);background:#ffffff0d}.sa-tab-btn.active{background:#3b82f626;color:#60a5fa;font-weight:600}.sa-content{display:grid;grid-template-columns:1fr 340px;gap:16px}.sa-main{min-width:0}.sa-sidebar{display:flex;flex-direction:column;gap:14px}.sa-panel{background:#1e293b80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden}.sa-panel-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:space-between}.sa-panel-title{font-size:.82rem;font-weight:600;color:var(--text-primary, #e2e8f0);display:flex;align-items:center;gap:8px}.sa-panel-badge{font-size:.6rem;background:#3b82f626;color:#60a5fa;padding:2px 7px;border-radius:10px;font-weight:600}.sa-spend-list{padding:0}.sa-spend-row{display:flex;align-items:center;padding:10px 16px;gap:12px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s}.sa-spend-row:hover{background:#ffffff05}.sa-spend-row:last-child{border-bottom:none}.sa-spend-rank{width:22px;height:22px;border-radius:50%;background:#3b82f61f;color:#60a5fa;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sa-spend-info{flex:1;min-width:0}.sa-spend-name{font-size:.78rem;font-weight:500;color:var(--text-primary, #e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-spend-sub{font-size:.65rem;color:var(--text-secondary, #64748b)}.sa-spend-bar-wrap{flex:0 0 120px}.sa-spend-bar{height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden}.sa-spend-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.sa-spend-bar-fill.vessel{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.sa-spend-bar-fill.category{background:linear-gradient(90deg,#10b981,#34d399)}.sa-spend-bar-fill.supplier{background:linear-gradient(90deg,#a855f7,#c084fc)}.sa-spend-bar-fill.item{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.sa-spend-amount{text-align:right;flex-shrink:0}.sa-spend-value{font-size:.78rem;font-weight:600;color:var(--text-primary, #e2e8f0)}.sa-spend-pct{font-size:.6rem;color:var(--text-secondary, #64748b)}.sa-chart-card{background:#1e293b80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:16px}.sa-chart-title{font-size:.78rem;font-weight:600;color:var(--text-primary, #e2e8f0);margin-bottom:12px;display:flex;align-items:center;gap:7px}.sa-items-table{width:100%;border-collapse:collapse}.sa-items-table th{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b);padding:8px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.sa-items-table th.right,.sa-items-table td.right{text-align:right}.sa-items-table td{padding:8px 12px;font-size:.75rem;color:var(--text-primary, #e2e8f0);border-bottom:1px solid rgba(255,255,255,.03)}.sa-items-table tbody tr:hover{background:#ffffff05}.sa-item-desc{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 20px;font-size:.85rem;color:var(--text-secondary, #94a3b8)}.sa-spinner{width:20px;height:20px;border:2px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:sa-spin .7s linear infinite}@keyframes sa-spin{to{transform:rotate(360deg)}}.sa-empty{text-align:center;padding:60px 20px;color:var(--text-secondary, #94a3b8)}.sa-empty-icon{font-size:2.5rem;margin-bottom:10px}.sa-empty h3{font-size:1rem;color:var(--text-primary, #e2e8f0);margin:0 0 6px}.sa-empty p{font-size:.8rem}@media(max-width:900px){.sa-kpi-strip{grid-template-columns:repeat(2,1fr)}.sa-content{grid-template-columns:1fr}}.tech-ops-hub{display:flex;flex-direction:column;height:100%;background:var(--bg-primary, #0f0f1a)}.module-switcher{display:flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(180deg,#1e293bf2,#0f172afa);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 2px 8px #0003}.module-group{display:flex;gap:4px}.module-group.primary{flex:1}.module-group.secondary{flex-shrink:0}.module-divider{width:1px;height:28px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.15),transparent);margin:0 12px}.module-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted, #64748b);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.module-btn:hover{background:#3b82f614;color:var(--text-primary, #f8fafc)}.module-btn.active{background:linear-gradient(135deg,#3b82f626,#3b82f614);border-color:#3b82f666;color:var(--accent-primary, #3b82f6);box-shadow:0 0 12px #3b82f626}.module-btn svg{flex-shrink:0;opacity:.8}.module-btn.active svg{opacity:1}.module-label{transition:opacity .2s ease}.module-content{flex:1;overflow:hidden}.module-content>div{height:100%}@media(max-width:1200px){.module-btn{padding:8px 10px}.module-label{display:none}.module-btn:hover .module-label,.module-btn.active .module-label{display:inline}}@media(max-width:900px){.module-switcher{padding:8px 12px;gap:4px;overflow-x:auto}.module-btn{padding:8px}.module-label{display:none!important}.module-divider{margin:0 6px}}.crew-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.crew-form-modal{width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 25px 50px #00000080;overflow:hidden}.crew-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.08)}.crew-form-header .header-left{display:flex;align-items:center;gap:1rem}.crew-form-header .header-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:10px;color:#fff}.crew-form-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#f8fafc}.crew-form-header .edit-name{font-size:.875rem;color:#94a3b8}.crew-form-header .close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:none;border-radius:8px;color:#94a3b8;font-size:1.5rem;cursor:pointer;transition:all .2s}.crew-form-header .close-btn:hover{background:#ef444433;color:#ef4444}.crew-form-tabs{display:flex;gap:.5rem;padding:1rem 1.5rem;background:#0000001a;border-bottom:1px solid rgba(255,255,255,.06)}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:1px solid transparent;border-radius:8px;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#ffffff0d;color:#94a3b8}.tab-btn.active{background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}.tab-btn .tab-icon{font-size:1rem}.crew-form-body{flex:1;overflow-y:auto;padding:1.5rem}.form-tab-content{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.25rem}.section-title{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field.large{grid-column:1 / -1}.form-field label{font-size:.8125rem;font-weight:500;color:#94a3b8}.form-field label .required{color:#ef4444;margin-left:2px}.form-field input,.form-field select,.form-field textarea{padding:.625rem .875rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:.875rem;transition:all .2s}.form-field input::placeholder,.form-field textarea::placeholder{color:#475569}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.form-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:2.5rem}.form-field textarea{resize:vertical;min-height:80px}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:#ef4444}.form-field .error-text{font-size:.75rem;color:#ef4444}.hint-box{display:flex;align-items:flex-start;gap:.75rem;background:#3b82f61a;border-color:#3b82f633}.hint-box .hint-icon{font-size:1.25rem}.hint-box p{margin:0;font-size:.875rem;color:#94a3b8;line-height:1.5}.hint-box strong{color:#60a5fa}.crew-form-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#0003;border-top:1px solid rgba(255,255,255,.08)}.btn-cancel{padding:.625rem 1.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#ffffff1a;color:#e2e8f0}.btn-save{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-save .spinning{animation:spin 1s linear infinite}@media(max-width:600px){.crew-form-overlay{padding:1rem}.crew-form-modal{max-height:95vh}.crew-form-tabs{overflow-x:auto;padding:.75rem 1rem}.tab-btn .tab-label{display:none}.form-grid{grid-template-columns:1fr}}.photo-section{display:flex;justify-content:center;padding:1.5rem}.photo-upload-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.photo-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;background:#0000004d;border:3px solid rgba(139,92,246,.3);display:flex;align-items:center;justify-content:center}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#64748b}.photo-placeholder span{font-size:.75rem}.photo-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem}.btn-upload{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-upload:hover{background:linear-gradient(135deg,#a78bfa,#8b5cf6);transform:translateY(-1px)}.btn-remove-photo{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#f87171;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-remove-photo:hover{background:#ef44441a;border-color:#ef444480}.crew-certificate-manager{padding:0}.crew-certificate-manager .cert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#8b5cf614,#a855f70a);border-radius:12px;border:1px solid rgba(139,92,246,.15)}.cert-header .header-left{display:flex;align-items:center;gap:14px;color:var(--purple-accent, #a855f7)}.cert-header .header-left h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.cert-header .header-left p{margin:2px 0 0;font-size:.8rem;color:var(--text-secondary)}.cert-header .header-right{display:flex;gap:10px}.cert-header .btn-refresh{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.cert-header .btn-refresh:hover{background:#33415599;color:var(--text-primary)}.cert-header .btn-add{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cert-header .btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #a855f766}.cert-stats{display:flex;gap:12px;margin-bottom:20px}.cert-stats .stat-card{flex:1;padding:14px 18px;background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:center}.cert-stats .stat-card:hover{background:#1e293bb3}.cert-stats .stat-card.active{border-color:var(--blue-accent);background:#3b82f61a}.cert-stats .stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.cert-stats .stat-card .stat-label{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.cert-stats .stat-card.valid .stat-value{color:#22c55e}.cert-stats .stat-card.expiring .stat-value{color:#eab308}.cert-stats .stat-card.expired .stat-value{color:#ef4444}.cert-type-cell{display:flex;flex-direction:column;gap:2px}.cert-type-cell .cert-name{font-weight:600;color:var(--text-primary)}.cert-type-cell .cert-code{font-size:.75rem;color:var(--text-muted)}.expiry-cell{display:flex;flex-direction:column;gap:2px}.expiry-cell .expiry-date{font-weight:500}.expiry-cell .expiry-days{font-size:.7rem;font-weight:600}.expiry-cell .status-valid{color:#22c55e}.expiry-cell .status-warning{color:#eab308}.expiry-cell .status-critical{color:#f97316}.expiry-cell .status-expired{color:#ef4444}.expiry-cell .status-no-expiry{color:var(--text-secondary)}.status-badge.verification-verified{background:#22c55e26;color:#22c55e;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.verification-pending{background:#eab30826;color:#eab308;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.verification-rejected{background:#ef444426;color:#ef4444;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.crew-certificate-manager .action-buttons{display:flex;gap:5px}.crew-certificate-manager .action-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease}.crew-certificate-manager .action-btn.verify{background:#22c55e1a;color:#22c55e}.crew-certificate-manager .action-btn.verify:hover{background:#22c55e33}.crew-certificate-manager .action-btn.edit{background:#3b82f61a;color:#60a5fa}.crew-certificate-manager .action-btn.edit:hover{background:#3b82f633}.crew-certificate-manager .action-btn.delete{background:#ef44441a;color:#f87171}.crew-certificate-manager .action-btn.delete:hover{background:#ef444433}.cert-form-modal{max-width:600px;width:95vw}.cert-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.1)}.cert-form-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.cert-form-modal .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px}.cert-form-modal .close-btn:hover{background:#ef44441a;color:#f87171}.cert-form-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.cert-form-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cert-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.cert-form-modal .form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.cert-form-modal .form-group input,.cert-form-modal .form-group select,.cert-form-modal .form-group textarea{padding:10px 12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-primary);font-size:.9rem}.cert-form-modal .form-group input:focus,.cert-form-modal .form-group select:focus,.cert-form-modal .form-group textarea:focus{outline:none;border-color:var(--purple-accent, #a855f7);box-shadow:0 0 0 3px #a855f71a}.cert-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid rgba(148,163,184,.1)}.cert-form-modal .btn-cancel{padding:10px 18px;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-secondary);font-weight:500;cursor:pointer}.cert-form-modal .btn-cancel:hover{background:#33415599;color:var(--text-primary)}.cert-form-modal .btn-save{padding:10px 18px;background:linear-gradient(135deg,#a855f7,#9333ea);border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer}.cert-form-modal .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #a855f74d}.cert-header .btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#33415580;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cert-header .btn-secondary:hover{background:#334155b3;color:var(--text-primary);border-color:#94a3b84d}.import-modal{max-width:700px;width:95vw}.import-modal .import-instructions{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#3b82f61a;border-radius:8px;border:1px solid rgba(59,130,246,.2)}.import-modal .import-instructions p{margin:0;font-size:.9rem;color:var(--text-secondary)}.import-modal .btn-link{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--blue-accent);font-size:.85rem;font-weight:500;cursor:pointer;text-decoration:underline}.import-modal .btn-link:hover{color:#60a5fa}.import-modal .import-upload{margin:16px 0}.import-modal .upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;background:#1e293b80;border:2px dashed rgba(148,163,184,.3);border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.import-modal .upload-area:hover{background:#1e293bb3;border-color:var(--purple-accent);color:var(--text-primary)}.import-modal .import-errors{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px}.import-modal .error-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.85rem;color:#f87171}.import-modal .import-preview{margin-top:16px}.import-modal .import-preview h4{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary)}.import-modal .preview-table-wrapper{max-height:280px;overflow-y:auto;border:1px solid rgba(148,163,184,.1);border-radius:8px}.import-modal .preview-table{width:100%;border-collapse:collapse}.import-modal .preview-table th{padding:10px 12px;background:#1e293bcc;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);text-align:left;position:sticky;top:0}.import-modal .preview-table td{padding:10px 12px;font-size:.85rem;color:var(--text-primary);border-bottom:1px solid rgba(148,163,184,.08)}.import-modal .preview-table tr.valid td{background:#22c55e0d}.import-modal .preview-table tr.invalid td{background:#eab30814}.import-modal .text-success{color:#22c55e}.import-modal .text-warning{color:#eab308}.cert-form-modal .document-section{margin-top:.5rem}.cert-form-modal .document-upload .upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;background:#1e293b80;border:2px dashed rgba(148,163,184,.3);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.cert-form-modal .document-upload .upload-area:hover{background:#3b82f61a;border-color:#3b82f666;color:var(--text-primary)}.cert-form-modal .document-upload .upload-area span{font-size:.9rem;font-weight:500}.cert-form-modal .document-upload .upload-area small{font-size:.75rem;color:var(--text-muted)}.cert-form-modal .document-preview{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px}.cert-form-modal .document-info{display:flex;align-items:center;gap:12px}.cert-form-modal .pdf-icon{color:#ef4444}.cert-form-modal .document-thumbnail{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid rgba(148,163,184,.2)}.cert-form-modal .document-name{font-size:.9rem;color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-form-modal .document-actions{display:flex;gap:8px}.cert-form-modal .btn-view-doc{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.8rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s}.cert-form-modal .btn-view-doc:hover{background:#3b82f640}.cert-form-modal .btn-remove-doc{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.cert-form-modal .btn-remove-doc:hover{background:#ef44441a;border-color:#ef444480}.crew-contract-manager{padding:0}.crew-contract-manager .contract-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#22c55e14,#10b9810a);border-radius:12px;border:1px solid rgba(34,197,94,.15)}.contract-header .header-left{display:flex;align-items:center;gap:14px;color:#22c55e}.contract-header .header-left h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.contract-header .header-left p{margin:2px 0 0;font-size:.8rem;color:var(--text-secondary)}.contract-header .header-right{display:flex;gap:10px}.contract-header .btn-refresh{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.contract-header .btn-refresh:hover{background:#33415599;color:var(--text-primary)}.contract-header .btn-add{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.contract-header .btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e66}.active-contract-card{margin-bottom:20px;background:linear-gradient(135deg,#22c55e0f,#10b98108);border:1px solid rgba(34,197,94,.2);border-radius:12px;overflow:hidden}.active-contract-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#22c55e1a;color:#22c55e;font-weight:600;font-size:.9rem;border-bottom:1px solid rgba(34,197,94,.1)}.active-contract-card .card-header-left{display:flex;align-items:center;gap:10px}.active-contract-card .card-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:16px}.active-contract-card .contract-detail{display:flex;flex-direction:column;gap:4px}.active-contract-card .contract-detail .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.active-contract-card .contract-detail .value{font-size:.9rem;color:var(--text-primary);font-weight:500}.contract-number-cell{display:flex;flex-direction:column;gap:2px}.contract-number-cell .contract-num{font-weight:600;color:var(--text-primary);font-family:Fira Code,monospace;font-size:.85rem}.contract-number-cell .contract-type{font-size:.7rem;color:var(--text-muted)}.vessel-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#3b82f61a;border-radius:4px;font-size:.8rem;color:#60a5fa}.status-badge.contract-active{background:#22c55e26;color:#22c55e;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.contract-pending{background:#3b82f626;color:#3b82f6;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.contract-expiring{background:#eab30826;color:#eab308;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.contract-expired{background:#ef444426;color:#ef4444;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.contract-terminated{background:#6b728026;color:#6b7280;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.crew-contract-manager .action-buttons{display:flex;gap:5px}.crew-contract-manager .action-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease}.crew-contract-manager .action-btn.renew{background:#22c55e1a;color:#22c55e}.crew-contract-manager .action-btn.renew:hover{background:#22c55e33}.crew-contract-manager .action-btn.edit{background:#3b82f61a;color:#60a5fa}.crew-contract-manager .action-btn.edit:hover{background:#3b82f633}.crew-contract-manager .action-btn.terminate{background:#ef44441a;color:#f87171}.crew-contract-manager .action-btn.terminate:hover{background:#ef444433}.contract-form-modal{max-width:650px;width:95vw}.contract-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.1)}.contract-form-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.contract-form-modal .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px}.contract-form-modal .close-btn:hover{background:#ef44441a;color:#f87171}.contract-form-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px;max-height:65vh;overflow-y:auto}.contract-form-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contract-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.contract-form-modal .form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.contract-form-modal .form-group input,.contract-form-modal .form-group select,.contract-form-modal .form-group textarea{padding:10px 12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-primary);font-size:.9rem}.contract-form-modal .form-group input:focus,.contract-form-modal .form-group select:focus,.contract-form-modal .form-group textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.contract-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid rgba(148,163,184,.1)}.contract-form-modal .btn-cancel{padding:10px 18px;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-secondary);font-weight:500;cursor:pointer}.contract-form-modal .btn-cancel:hover{background:#33415599;color:var(--text-primary)}.contract-form-modal .btn-save{padding:10px 18px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer}.contract-form-modal .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.crew-bank-account-manager{padding:0}.crew-bank-account-manager .bank-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#3b82f614,#2563eb0a);border-radius:12px;border:1px solid rgba(59,130,246,.15)}.bank-header .header-left{display:flex;align-items:center;gap:14px;color:#3b82f6}.bank-header .header-left h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.bank-header .header-left p{margin:2px 0 0;font-size:.8rem;color:var(--text-secondary)}.bank-header .header-right{display:flex;gap:10px}.bank-header .btn-refresh{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);cursor:pointer}.bank-header .btn-refresh:hover{background:#33415599;color:var(--text-primary)}.bank-header .btn-add{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer}.bank-header .btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.account-type-cell{display:flex;align-items:center;gap:8px}.primary-badge{color:#eab308;font-size:1rem}.bank-cell{display:flex;flex-direction:column;gap:2px}.bank-cell .bank-name{font-weight:600;color:var(--text-primary)}.bank-cell .bank-branch{font-size:.75rem;color:var(--text-muted)}.account-number{font-family:Fira Code,monospace;color:var(--text-secondary)}.crew-bank-account-manager .action-buttons{display:flex;gap:5px}.crew-bank-account-manager .action-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease}.crew-bank-account-manager .action-btn.primary{background:#eab3081a;color:#eab308}.crew-bank-account-manager .action-btn.primary:hover{background:#eab30833}.crew-bank-account-manager .action-btn.edit{background:#3b82f61a;color:#60a5fa}.crew-bank-account-manager .action-btn.edit:hover{background:#3b82f633}.crew-bank-account-manager .action-btn.delete{background:#ef44441a;color:#f87171}.crew-bank-account-manager .action-btn.delete:hover{background:#ef444433}.bank-form-modal{max-width:700px;width:95vw}.bank-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.1)}.bank-form-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.bank-form-modal .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.bank-form-modal .close-btn:hover{background:#ef44441a;color:#f87171}.modal-tabs{display:flex;gap:4px;padding:12px 20px;background:#1e293b4d;border-bottom:1px solid rgba(148,163,184,.1)}.modal-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-tab:hover{background:#33415566;color:var(--text-primary)}.modal-tab.active{background:#3b82f626;border-color:#3b82f64d;color:var(--blue-accent)}.bank-form-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px;max-height:55vh;overflow-y:auto}.bank-form-modal .info-box{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#3b82f614;border:1px solid rgba(59,130,246,.15);border-radius:8px;color:var(--text-secondary);font-size:.85rem}.bank-form-modal .info-box svg{color:#60a5fa;flex-shrink:0}.bank-form-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bank-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.bank-form-modal .form-group.checkbox-group{justify-content:center}.bank-form-modal .form-group.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.bank-form-modal .form-group.checkbox-group input[type=checkbox]{width:18px;height:18px}.bank-form-modal .form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.bank-form-modal .form-group input,.bank-form-modal .form-group select,.bank-form-modal .form-group textarea{padding:10px 12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-primary);font-size:.9rem}.bank-form-modal .form-group input:focus,.bank-form-modal .form-group select:focus,.bank-form-modal .form-group textarea:focus{outline:none;border-color:var(--blue-accent);box-shadow:0 0 0 3px #3b82f61a}.bank-form-modal .input-with-addon{display:flex;gap:4px}.bank-form-modal .input-with-addon .currency-select{width:80px;flex-shrink:0}.bank-form-modal .input-with-addon input{flex:1}.bank-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid rgba(148,163,184,.1)}.bank-form-modal .btn-cancel{padding:10px 18px;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-secondary);font-weight:500;cursor:pointer}.bank-form-modal .btn-cancel:hover{background:#33415599;color:var(--text-primary)}.bank-form-modal .btn-save{padding:10px 18px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer}.bank-form-modal .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.crew-assignment-manager{padding:0}.crew-assignment-manager .assignment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#0ea5e914,#06b6d40a);border-radius:12px;border:1px solid rgba(14,165,233,.15)}.assignment-header .header-left{display:flex;align-items:center;gap:14px;color:#0ea5e9}.assignment-header .header-left h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.assignment-header .header-left p{margin:2px 0 0;font-size:.8rem;color:var(--text-secondary)}.assignment-header .header-right{display:flex;gap:10px}.assignment-header .btn-refresh{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);cursor:pointer}.assignment-header .btn-refresh:hover{background:#33415599;color:var(--text-primary)}.assignment-header .btn-add{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer}.assignment-header .btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e966}.current-assignment-card{margin-bottom:20px;background:linear-gradient(135deg,#0ea5e90f,#06b6d408);border:1px solid rgba(14,165,233,.2);border-radius:12px;overflow:hidden}.current-assignment-card .card-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#0ea5e91a;color:#0ea5e9;font-weight:600;font-size:.9rem;border-bottom:1px solid rgba(14,165,233,.1)}.current-assignment-card .status-badge.onboard{margin-left:auto;padding:4px 10px;background:#22c55e26;color:#22c55e;border-radius:12px;font-size:.75rem;font-weight:600}.current-assignment-card .card-body{display:flex;flex-wrap:wrap;gap:20px;padding:16px;align-items:center}.current-assignment-card .assignment-detail{display:flex;flex-direction:column;gap:4px}.current-assignment-card .assignment-detail .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.current-assignment-card .assignment-detail .value{font-size:.95rem;color:var(--text-primary);font-weight:600}.current-assignment-card .btn-signoff{margin-left:auto;display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.current-assignment-card .btn-signoff:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f9731666}.vessel-name{font-weight:600;color:var(--text-primary)}.date-cell{display:flex;flex-direction:column;gap:2px}.date-cell .port-name{font-size:.7rem;color:var(--text-muted)}.status-onboard{color:#22c55e;font-weight:600;font-size:.85rem}.crew-assignment-manager .action-buttons{display:flex;gap:5px}.crew-assignment-manager .action-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease}.crew-assignment-manager .action-btn.signoff{background:#f973161a;color:#f97316}.crew-assignment-manager .action-btn.signoff:hover{background:#f9731633}.crew-assignment-manager .action-btn.edit{background:#3b82f61a;color:#60a5fa}.crew-assignment-manager .action-btn.edit:hover{background:#3b82f633}.crew-assignment-manager .action-btn.delete{background:#ef44441a;color:#f87171}.crew-assignment-manager .action-btn.delete:hover{background:#ef444433}.assignment-form-modal,.signoff-form-modal{max-width:550px;width:95vw}.assignment-form-modal .modal-header,.signoff-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.1)}.assignment-form-modal .modal-header h3,.signoff-form-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.assignment-form-modal .close-btn,.signoff-form-modal .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.assignment-form-modal .close-btn:hover,.signoff-form-modal .close-btn:hover{background:#ef44441a;color:#f87171}.assignment-form-modal .modal-body,.signoff-form-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.signoff-summary{padding:14px;background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:8px}.signoff-summary p{margin:4px 0;font-size:.9rem;color:var(--text-secondary)}.signoff-summary strong{color:var(--text-primary)}.assignment-form-modal .form-row,.signoff-form-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.assignment-form-modal .form-group,.signoff-form-modal .form-group{display:flex;flex-direction:column;gap:6px}.assignment-form-modal .form-group label,.signoff-form-modal .form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.assignment-form-modal .form-group input,.assignment-form-modal .form-group select,.assignment-form-modal .form-group textarea,.signoff-form-modal .form-group input,.signoff-form-modal .form-group select,.signoff-form-modal .form-group textarea{padding:10px 12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-primary);font-size:.9rem}.assignment-form-modal .form-group input:focus,.assignment-form-modal .form-group select:focus,.assignment-form-modal .form-group textarea:focus,.signoff-form-modal .form-group input:focus,.signoff-form-modal .form-group select:focus,.signoff-form-modal .form-group textarea:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.assignment-form-modal .modal-footer,.signoff-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid rgba(148,163,184,.1)}.assignment-form-modal .btn-cancel,.signoff-form-modal .btn-cancel{padding:10px 18px;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:6px;color:var(--text-secondary);font-weight:500;cursor:pointer}.assignment-form-modal .btn-cancel:hover,.signoff-form-modal .btn-cancel:hover{background:#33415599;color:var(--text-primary)}.assignment-form-modal .btn-save{padding:10px 18px;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer}.assignment-form-modal .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e94d}.signoff-form-modal .btn-signoff-confirm{padding:10px 18px;background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer}.signoff-form-modal .btn-signoff-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f973164d}.crew-member-appraisals{padding:1rem 0}.appraisals-loading,.appraisals-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--text-secondary, #a0a0b0);text-align:center}.appraisals-loading .spinning{animation:spin 1s linear infinite}.appraisals-empty svg{opacity:.3;margin-bottom:1rem}.appraisals-empty span{font-size:.85rem;opacity:.7}.appraisals-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}.appraisal-card{background:var(--bg-tertiary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:10px;padding:1rem;transition:all .2s}.appraisal-card:hover{border-color:var(--primary, #6366f1);transform:translateY(-2px)}.appraisal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.appraisal-type{font-weight:600;font-size:.95rem;color:var(--text-primary, #fff);text-transform:capitalize}.appraisal-period{font-size:.8rem;color:var(--text-secondary, #a0a0b0);margin-bottom:.75rem}.appraisal-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rating-stars{color:#eab308;font-size:1.1rem;letter-spacing:2px}.rating-value{font-size:.9rem;font-weight:600;color:var(--text-primary, #fff)}.recommendation-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:.75rem}.appraisal-detail{margin-bottom:.5rem}.appraisal-detail label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #a0a0b0);margin-bottom:.2rem}.appraisal-detail p{font-size:.85rem;color:var(--text-primary, #fff);margin:0;line-height:1.4}.appraisal-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-secondary, #a0a0b0);margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .06))}.status-badge{display:inline-flex;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.crew-member-detail{padding:20px;min-height:100vh;background:var(--bg-primary)}.crew-member-detail.loading,.crew-member-detail.error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary)}.crew-member-detail .spinning{animation:spin 1s linear infinite}.crew-member-detail .detail-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding:20px 24px;background:linear-gradient(135deg,#3b82f61a,#8b5cf60d);border-radius:16px;border:1px solid rgba(59,130,246,.15)}.detail-header .btn-back{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.detail-header .btn-back:hover{background:#33415599;color:var(--text-primary)}.detail-header .header-info{display:flex;align-items:center;gap:16px;flex:1}.detail-header .avatar{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:14px;color:#fff;font-size:1.2rem;font-weight:700}.detail-header .header-text h1{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary)}.detail-header .header-meta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:.9rem;color:var(--text-secondary)}.detail-header .header-meta .separator{color:var(--text-muted)}.detail-header .header-meta .status{padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:600}.detail-header .header-meta .status.onboard{background:#22c55e26;color:#22c55e}.detail-header .header-meta .status.available{background:#0ea5e926;color:#0ea5e9}.detail-header .header-meta .status.on-leave{background:#eab30826;color:#eab308}.detail-header .header-meta .status.sick-leave{background:#ef444426;color:#f87171}.detail-header .header-actions{display:flex;gap:10px}.detail-header .btn-edit{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.detail-header .btn-edit:hover{background:#3b82f640}.crew-member-detail .detail-tabs{display:flex;gap:6px;margin-bottom:20px;padding:6px;background:#1e293b80;border-radius:12px;border:1px solid rgba(148,163,184,.1)}.detail-tabs .tab{display:flex;align-items:center;gap:8px;padding:12px 18px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.detail-tabs .tab:hover{background:#33415566;color:var(--text-primary)}.detail-tabs .tab.active{background:linear-gradient(135deg,#3b82f633,#8b5cf626);color:var(--blue-accent)}.crew-member-detail .detail-content{background:#1e293b4d;border:1px solid rgba(148,163,184,.1);border-radius:12px;padding:20px}.overview-tab{display:flex;flex-direction:column;gap:24px}.info-section{padding:20px;background:#1e293b66;border:1px solid rgba(148,163,184,.1);border-radius:12px}.info-section h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.1);font-size:1rem;font-weight:600;color:var(--text-primary)}.info-section h3 svg{color:var(--blue-accent)}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.info-item .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.info-item .value{font-size:.95rem;color:var(--text-primary);font-weight:500}.info-item .value.expired{color:#ef4444}.info-item .value.critical{color:#f97316}.info-item .value.warning{color:#eab308}@media(max-width:768px){.crew-member-detail .detail-header{flex-direction:column;text-align:center}.detail-header .header-info{flex-direction:column}.detail-header .header-meta{flex-wrap:wrap;justify-content:center}.crew-member-detail .detail-tabs{flex-wrap:wrap}.detail-tabs .tab{flex:1;min-width:120px;justify-content:center}}.bulk-import-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.bulk-import-modal .modal-content{width:100%;max-width:800px;max-height:90vh;background:linear-gradient(145deg,#1e293bfa,#0f172afc);border:1px solid rgba(56,189,248,.15);border-radius:16px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden}.bulk-import-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.1)}.bulk-import-modal .modal-header h2{display:flex;align-items:center;gap:.75rem;color:#f1f5f9;font-size:1.25rem;margin:0}.bulk-import-modal .modal-header h2 svg{color:#38bdf8}.bulk-import-modal .btn-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.bulk-import-modal .btn-close:hover{background:#ef444433;color:#ef4444}.bulk-import-modal .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.upload-step{display:flex;flex-direction:column;gap:1.5rem}.upload-instructions h3{color:#e2e8f0;font-size:1.1rem;margin:0 0 .5rem}.upload-instructions p{color:#94a3b8;margin:0}.expected-columns{margin-top:1rem;padding:1rem;background:#0f172a99;border:1px solid rgba(148,163,184,.1);border-radius:8px}.expected-columns h4{color:#e2e8f0;font-size:.9rem;margin:0 0 .75rem}.expected-columns ul{margin:0;padding-left:1.25rem;color:#94a3b8;font-size:.85rem}.expected-columns li{margin-bottom:.25rem}.expected-columns strong{color:#38bdf8}.btn-template{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;background:transparent;border:1px solid rgba(56,189,248,.3);border-radius:6px;color:#38bdf8;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-template:hover{background:#38bdf81a;border-color:#38bdf880}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#0f172a66;border:2px dashed rgba(148,163,184,.3);border-radius:12px;cursor:pointer;transition:all .2s ease}.upload-zone:hover{background:#38bdf80d;border-color:#38bdf866}.upload-zone svg{color:#64748b;margin-bottom:1rem}.upload-zone p{color:#94a3b8;margin:0}.upload-zone small{color:#64748b;margin-top:.5rem}.preview-step{display:flex;flex-direction:column;gap:1.5rem}.preview-header h3{color:#e2e8f0;font-size:1.1rem;margin:0 0 .25rem}.preview-header p{color:#64748b;font-size:.875rem;margin:0}.validation-errors{padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px}.validation-errors h4{display:flex;align-items:center;gap:.5rem;color:#ef4444;font-size:.9rem;margin:0 0 .75rem}.error-list{max-height:150px;overflow-y:auto}.error-item{display:flex;gap:.5rem;padding:.375rem 0;font-size:.8rem;border-bottom:1px solid rgba(239,68,68,.1)}.error-item:last-child{border-bottom:none}.error-item .row-num{color:#fbbf24;font-weight:600;flex-shrink:0}.error-item .error-msg{color:#f87171}.more-errors{color:#f87171;font-size:.8rem;margin:.5rem 0 0}.preview-summary{display:flex;gap:1rem}.summary-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:1.25rem;background:#0f172a99;border-radius:8px;border:1px solid rgba(148,163,184,.1)}.summary-stat.valid{border-color:#22c55e4d}.summary-stat.valid svg{color:#22c55e}.summary-stat.invalid{border-color:#ef44444d}.summary-stat.invalid svg{color:#ef4444}.summary-stat .stat-value{font-size:2rem;font-weight:700;color:#f1f5f9;margin:.5rem 0 .25rem}.summary-stat .stat-label{color:#94a3b8;font-size:.8rem}.preview-table{max-height:250px;overflow:auto;border:1px solid rgba(148,163,184,.1);border-radius:8px}.preview-table table{width:100%;border-collapse:collapse;font-size:.85rem}.preview-table th{background:#1e293bcc;color:#e2e8f0;padding:.75rem;text-align:left;font-weight:600;position:sticky;top:0}.preview-table td{padding:.625rem .75rem;color:#cbd5e1;border-bottom:1px solid rgba(148,163,184,.1)}.preview-table tr:nth-child(2n) td{background:#0f172a66}.more-rows{color:#64748b;font-size:.8rem;text-align:center;padding:.75rem;margin:0}.importing-step{display:flex;flex-direction:column;align-items:center;padding:3rem}.importing-step h3{color:#e2e8f0;margin:1.5rem 0 .5rem}.importing-step p{color:#94a3b8}.complete-step{display:flex;flex-direction:column;align-items:center;padding:2rem}.result-icon{margin-bottom:1rem}.result-icon.success svg{color:#22c55e}.result-icon.partial svg{color:#fbbf24}.complete-step h3{color:#e2e8f0;font-size:1.5rem;margin:0 0 1.5rem}.result-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.result-stats .stat{display:flex;flex-direction:column;align-items:center}.result-stats .stat .value{font-size:2.5rem;font-weight:700}.result-stats .stat.success .value{color:#22c55e}.result-stats .stat.failed .value{color:#ef4444}.result-stats .stat .label{color:#94a3b8;font-size:.9rem}.import-errors{width:100%;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px}.import-errors h4{color:#ef4444;font-size:.9rem;margin:0 0 .5rem}.import-errors ul{margin:0;padding-left:1.25rem;color:#f87171;font-size:.85rem}.spinner{width:24px;height:24px;border:3px solid rgba(56,189,248,.2);border-top-color:#38bdf8;border-radius:50%;animation:spin 1s linear infinite}.spinner.large{width:48px;height:48px}.bulk-import-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid rgba(148,163,184,.1)}.btn-import{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-import:hover:not(:disabled){background:linear-gradient(135deg,#38bdf8,#0ea5e9)}.btn-import:disabled{opacity:.5;cursor:not-allowed}.btn-done{padding:.625rem 2rem;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-done:hover{background:linear-gradient(135deg,#4ade80,#22c55e)}.crew-member-list{height:100%;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0}.crew-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.crew-header-left{display:flex;align-items:center;gap:1rem}.crew-header-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:12px;color:#fff}.crew-title{font-size:1.5rem;font-weight:700;color:#f8fafc;margin:0}.crew-subtitle{font-size:.875rem;color:#94a3b8;margin:0}.crew-header-right{display:flex;gap:.75rem}.btn-refresh{width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s}.btn-refresh svg{width:22px!important;height:22px!important;font-size:22px!important;color:#fff}.btn-refresh:hover:not(:disabled){background:#ffffff1a;color:#fff}.btn-refresh:hover:not(:disabled) svg{color:#fff}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.btn-refresh .spinning{animation:spin 1s linear infinite}.btn-add{width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-add svg{color:inherit}.btn-add:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#94a3b81a;border:1px solid rgba(148,163,184,.3);border-radius:8px;color:#94a3b8;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#94a3b833;color:#e2e8f0;border-color:#94a3b880}.crew-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.stat-card{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s;cursor:pointer}.stat-card:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px)}.stat-card.active{background:#ffffff14;border-color:#fff3;box-shadow:0 4px 12px #0003}.stat-card .stat-icon{font-size:1.25rem;margin-bottom:.25rem}.stat-card .stat-value{font-size:1.75rem;font-weight:700;color:#f8fafc}.stat-card .stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.stat-card.total{border-left:3px solid #3b82f6}.stat-card.total.active{background:#3b82f61a;border-color:#3b82f64d}.stat-card.onboard{border-left:3px solid #22c55e}.stat-card.onboard.active{background:#22c55e1a;border-color:#22c55e4d}.stat-card.available{border-left:3px solid #06b6d4}.stat-card.available.active{background:#06b6d41a;border-color:#06b6d44d}.stat-card.on-leave{border-left:3px solid #f59e0b}.stat-card.on-leave.active{background:#f59e0b1a;border-color:#f59e0b4d}.stat-card.expiring{border-left:3px solid #ef4444}.crew-filters{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.75rem 1rem}.filter-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.filter-row.horizontal{flex-wrap:wrap}.search-box{position:relative;flex:1 1 200px;min-width:180px;max-width:280px}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b}.search-box input{width:100%;padding:.5rem .75rem .5rem 2.25rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:.8rem}.search-box input::placeholder{color:#64748b}.search-box input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.filter-row select,.filter-row .filter-select{padding:.5rem 2rem .5rem .75rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:.8rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;white-space:nowrap;flex:0 0 auto}.filter-row select:focus,.filter-row .filter-select:focus{outline:none;border-color:#3b82f6}.btn-clear-filters{padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.75rem;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.crew-table-wrapper{flex:1;min-height:0;overflow:hidden}.crew-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden}.crew-avatar img{width:100%;height:100%;object-fit:cover}.crew-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-size:.75rem;font-weight:600}.crew-name-cell{display:flex;flex-direction:column;gap:2px}.crew-full-name{font-weight:600;color:#f8fafc}.crew-id{font-size:.75rem;color:#64748b;font-family:monospace}.crew-rank-cell{display:flex;flex-direction:column;gap:4px}.rank-name{color:#e2e8f0}.dept-badge{display:inline-block;width:fit-content;padding:2px 8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;background:#64748b33;color:#94a3b8}.dept-badge[data-dept=deck]{background:#3b82f633;color:#60a5fa}.dept-badge[data-dept=engine]{background:#f59e0b33;color:#fbbf24}.dept-badge[data-dept=catering]{background:#8b5cf633;color:#a78bfa}.dept-badge[data-dept=radio]{background:#06b6d433;color:#22d3ee}.nationality-badge{display:inline-block;padding:4px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-size:.75rem;font-weight:600;color:#94a3b8}.vessel-badge{display:inline-block;padding:4px 8px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:4px;font-size:.8rem;color:#4ade80}.status-badge{display:inline-block;padding:4px 10px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:20px}.status-badge.status-onboard{background:#22c55e26;color:#4ade80}.status-badge.status-available{background:#06b6d426;color:#22d3ee}.status-badge.status-on-leave{background:#f59e0b26;color:#fbbf24}.status-badge.status-terminated,.status-badge.status-inactive{background:#ef444426;color:#f87171}.status-badge.status-unknown{background:#64748b26;color:#94a3b8}.cert-badge{display:inline-block;padding:4px 8px;font-size:.75rem;font-weight:500;border-radius:4px}.cert-badge.cert-valid{background:#22c55e1a;color:#4ade80}.cert-badge.cert-expiring{background:#f59e0b1a;color:#fbbf24}.cert-badge.cert-expired{background:#ef444426;color:#f87171}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn.view{background:#06b6d41a;color:#22d3ee}.action-btn.view:hover{background:#06b6d433}.action-btn.edit{background:#3b82f61a;color:#60a5fa}.action-btn.edit:hover{background:#3b82f633}.action-btn.delete{background:#ef44441a;color:#f87171}.action-btn.delete:hover{background:#ef444433}.action-btn.reactivate{background:#22c55e1a;color:#4ade80}.action-btn.reactivate:hover{background:#22c55e33}.action-btn.permanent-delete{background:#dc262626;color:#dc2626}.action-btn.permanent-delete:hover{background:#dc262640}.show-inactive-toggle{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#64748b1a;border:1px solid rgba(100,116,139,.2);border-radius:8px;color:#94a3b8;font-size:.8rem;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.show-inactive-toggle:hover{background:#64748b26;border-color:#64748b4d}.show-inactive-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#3b82f6;cursor:pointer}.show-inactive-toggle:has(input:checked){background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}@media(max-width:1200px){.crew-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.crew-stats{grid-template-columns:repeat(2,1fr)}.filter-row{flex-direction:column}.search-box{width:100%;max-width:none}.filter-row select{width:100%}}.vessel-manning-matrix{padding:24px}.manning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.manning-header .header-left{display:flex;align-items:center;gap:14px;color:var(--purple-accent, #a855f7)}.manning-header .header-left h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.manning-header .header-left p{margin:2px 0 0;font-size:.85rem;color:var(--text-secondary)}.manning-header .header-right{display:flex;align-items:center;gap:12px}.manning-header .vessel-select{padding:10px 14px;background:#1e293b99;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:var(--text-primary);font-size:.9rem;min-width:200px}.manning-header .vessel-select:focus{outline:none;border-color:var(--purple-accent)}.manning-header .btn-refresh{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.manning-header .btn-refresh:hover:not(:disabled){background:#33415599;color:var(--text-primary)}.manning-header .btn-edit{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.manning-header .btn-edit:hover{background:#3b82f633}.manning-header .btn-edit.active{background:#3b82f633;border-color:#3b82f680}.compliance-banner{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:12px;margin-bottom:20px}.compliance-banner.compliant{background:linear-gradient(135deg,#22c55e1a,#16a34a0d);border:1px solid rgba(34,197,94,.3)}.compliance-banner.non-compliant{background:linear-gradient(135deg,#ef44441a,#dc26260d);border:1px solid rgba(239,68,68,.3)}.compliance-banner .banner-left{display:flex;align-items:center;gap:12px}.compliance-banner .vessel-name{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.compliance-banner .vessel-type{font-size:.85rem;color:var(--text-secondary);padding:4px 10px;background:#94a3b81a;border-radius:4px}.compliance-banner .compliance-status{display:flex;align-items:center;gap:8px;font-weight:600}.compliance-banner.compliant .compliance-status{color:#22c55e}.compliance-banner.non-compliant .compliance-status{color:#ef4444}.manning-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.manning-stats .stat-card{display:flex;flex-direction:column;align-items:center;padding:20px;background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:12px;text-align:center}.manning-stats .stat-card .stat-icon{font-size:1.5rem;margin-bottom:8px}.manning-stats .stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.manning-stats .stat-card .stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.manning-stats .stat-card.required{border-color:#3b82f64d;background:#3b82f60d}.manning-stats .stat-card.actual .stat-value{color:#60a5fa}.manning-stats .stat-card.variance.positive .stat-value{color:#22c55e}.manning-stats .stat-card.variance.negative .stat-value{color:#ef4444}.manning-stats .stat-card.gaps.warning .stat-value{color:#eab308}.manning-stats .stat-card.gaps.success .stat-value{color:#22c55e}.matrix-table-wrapper{background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:12px;overflow:hidden}.matrix-table{width:100%;border-collapse:collapse}.matrix-table th{padding:14px 16px;background:#1e293bcc;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:left}.matrix-table th.center{text-align:center}.matrix-table td{padding:14px 16px;font-size:.9rem;color:var(--text-primary);border-bottom:1px solid rgba(148,163,184,.08)}.matrix-table td.center{text-align:center}.matrix-table tbody tr:hover{background:#3b82f60d}.matrix-table tbody tr.undermanned{background:#ef444408}.matrix-table tbody tr.undermanned:hover{background:#ef444414}.rank-cell{display:flex;flex-direction:column;gap:2px}.rank-cell .rank-name{font-weight:600;color:var(--text-primary)}.rank-cell .rank-code{font-size:.75rem;color:var(--text-muted)}.dept-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.req-input{width:60px;padding:6px 10px;background:#1e293bcc;border:1px solid rgba(59,130,246,.4);border-radius:6px;color:var(--text-primary);text-align:center;font-size:.9rem;font-weight:600}.req-input:focus{outline:none;border-color:var(--purple-accent);box-shadow:0 0 0 3px #8b5cf633}.req-value,.actual-value{font-weight:600;font-size:1rem}.variance-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.85rem;font-weight:700}.variance-badge.positive{background:#22c55e26;color:#22c55e}.variance-badge.negative{background:#ef444426;color:#ef4444}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.compliant{background:#22c55e26;color:#22c55e}.status-badge.undermanned{background:#ef444426;color:#ef4444}.totals-row{background:#1e293b99}.totals-row td{border-bottom:none;font-size:.95rem}.text-success{color:#22c55e}.text-danger{color:#ef4444}.edit-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 0;margin-top:16px;border-top:1px solid rgba(148,163,184,.1)}.edit-footer .btn-cancel{padding:10px 20px;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);font-weight:500;cursor:pointer}.edit-footer .btn-cancel:hover{background:#33415599;color:var(--text-primary)}.edit-footer .btn-save{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer}.edit-footer .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}@media(max-width:768px){.manning-stats{grid-template-columns:repeat(2,1fr)}.manning-header{flex-direction:column;align-items:flex-start;gap:16px}.manning-header .header-right{width:100%;flex-wrap:wrap}.manning-header .vessel-select{flex:1;min-width:unset}}.crew-pool-view{padding:24px}.pool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.pool-header .header-left{display:flex;align-items:center;gap:14px;color:var(--cyan-accent, #22d3d1)}.pool-header .header-left h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.pool-header .header-left p{margin:2px 0 0;font-size:.85rem;color:var(--text-secondary)}.pool-header .header-right{display:flex;gap:10px}.pool-header .btn-refresh,.pool-header .btn-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.pool-header .btn-refresh:hover,.pool-header .btn-close:hover{background:#33415599;color:var(--text-primary)}.pool-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.pool-stats .stat-card{display:flex;flex-direction:column;align-items:center;padding:20px;background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:12px;text-align:center;cursor:pointer;transition:all .2s}.pool-stats .stat-card:hover{background:#1e293bb3;transform:translateY(-2px)}.pool-stats .stat-card .stat-icon{font-size:1.5rem;margin-bottom:8px}.pool-stats .stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.pool-stats .stat-card .stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.pool-stats .stat-card.total .stat-value{color:#22d3d1}.pool-stats .stat-card.deck .stat-value{color:#60a5fa}.pool-stats .stat-card.engine .stat-value{color:#fbbf24}.pool-stats .stat-card.catering .stat-value{color:#a78bfa}.pool-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.pool-filters .search-box{flex:1;min-width:250px;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary)}.pool-filters .search-box input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.9rem}.pool-filters .search-box input::placeholder{color:var(--text-muted)}.pool-filters .search-box input:focus{outline:none}.pool-filters .filter-select{padding:10px 14px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-primary);font-size:.9rem;min-width:150px}.pool-filters .filter-select:focus{outline:none;border-color:var(--cyan-accent)}.pool-filters .view-toggle{display:flex;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px;overflow:hidden}.pool-filters .view-toggle button{padding:10px 14px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.pool-filters .view-toggle button:hover{background:#94a3b81a}.pool-filters .view-toggle button.active{background:var(--cyan-accent);color:#fff}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.crew-card{display:flex;flex-direction:column;align-items:center;padding:20px;background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:12px;cursor:pointer;transition:all .2s}.crew-card:hover{background:#1e293bb3;border-color:#22d3d14d;transform:translateY(-2px)}.crew-card .card-avatar{width:64px;height:64px;border-radius:50%;background:#22d3d11a;border:2px solid rgba(34,211,209,.3);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);overflow:hidden;margin-bottom:12px}.crew-card .card-avatar img{width:100%;height:100%;object-fit:cover}.crew-card .card-info{text-align:center;margin-bottom:12px}.crew-card .card-info h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.crew-card .card-info .rank{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.crew-card .card-details{display:flex;gap:16px;font-size:.8rem;color:var(--text-muted);margin-bottom:12px}.crew-card .card-details span{display:flex;align-items:center;gap:4px}.crew-card .btn-select-card{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#22d3d1,#14b8a6);border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.crew-card .btn-select-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22d3d14d}.dept-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.dept-badge.deck{background:#3b82f626;color:#60a5fa}.dept-badge.engine{background:#f59e0b26;color:#fbbf24}.dept-badge.catering{background:#8b5cf626;color:#a78bfa}.dept-badge.other{background:#94a3b826;color:var(--text-secondary)}.crew-table-wrapper{background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:12px;overflow:hidden}.crew-name-cell{display:flex;align-items:center;gap:12px}.crew-name-cell .crew-avatar{width:36px;height:36px;border-radius:50%;background:#22d3d11a;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);overflow:hidden}.crew-name-cell .crew-avatar img{width:100%;height:100%;object-fit:cover}.crew-name-cell .crew-info{display:flex;flex-direction:column}.crew-name-cell .crew-info .name{font-weight:600;color:var(--text-primary)}.crew-name-cell .crew-info .emp-no{font-size:.75rem;color:var(--text-muted)}.rank-cell{display:flex;flex-direction:column;gap:4px}.rank-cell .rank-name{font-weight:500}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.available{background:#22c55e26;color:#22c55e}.status-badge.onboard{background:#3b82f626;color:#60a5fa}.status-badge.on_leave{background:#f59e0b26;color:#fbbf24}.btn-select{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#22d3d1,#14b8a6);border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-select:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22d3d14d}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center}.empty-state h3,.loading-state h3{margin:16px 0 8px;font-size:1.2rem;color:var(--text-primary)}.empty-state p,.loading-state p{margin:0;font-size:.9rem;color:var(--text-muted)}@media(max-width:768px){.pool-stats{grid-template-columns:repeat(2,1fr)}.crew-grid{grid-template-columns:1fr}.pool-filters{flex-direction:column}.pool-filters .search-box{min-width:unset}}.assign-modal{max-width:480px;width:90vw}.crew-info-banner{display:flex;align-items:center;gap:14px;padding:16px;background:#22d3d114;border:1px solid rgba(34,211,209,.2);border-radius:10px;margin-bottom:20px}.crew-info-banner .crew-avatar{width:48px;height:48px;border-radius:50%;background:#22d3d126;display:flex;align-items:center;justify-content:center;color:var(--cyan-accent);overflow:hidden}.crew-info-banner .crew-avatar img{width:100%;height:100%;object-fit:cover}.crew-info-banner>div:last-child{display:flex;flex-direction:column}.crew-info-banner strong{font-size:1rem;color:var(--text-primary)}.crew-info-banner span{font-size:.85rem;color:var(--text-secondary)}.crew-assignment-timeline{padding:24px;position:relative}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.timeline-header .header-left{display:flex;align-items:center;gap:14px;color:var(--cyan-accent, #22d3d1)}.timeline-header .header-left h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.timeline-header .header-left p{margin:2px 0 0;font-size:.85rem;color:var(--text-secondary)}.timeline-header .header-right{display:flex;align-items:center;gap:12px}.vessel-select{padding:10px 14px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-primary);font-size:.9rem;min-width:180px}.vessel-select:focus{outline:none;border-color:var(--cyan-accent)}.year-nav{display:flex;align-items:center;gap:8px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px;padding:4px 8px}.year-nav button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.year-nav button:hover{background:#94a3b81a;color:var(--text-primary)}.year-nav span{font-size:.85rem;font-weight:500;color:var(--text-primary);min-width:90px;text-align:center}.btn-today{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#22d3d1,#14b8a6);border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-today:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22d3d14d}.btn-refresh{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#33415566;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-refresh:hover{background:#33415599;color:var(--text-primary)}.timeline-legend{display:flex;gap:20px;margin-bottom:16px;padding:12px 16px;background:#1e293b66;border-radius:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:3px}.legend-dot.active{background:linear-gradient(135deg,#22c55e,#16a34a)}.legend-dot.completed{background:linear-gradient(135deg,#64748b,#475569)}.legend-dot.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);text-align:center;background:#1e293b4d;border-radius:12px}.loading-state h3,.empty-state h3{margin:16px 0 8px;font-size:1.2rem;color:var(--text-primary)}.loading-state p,.empty-state p{margin:0;font-size:.9rem;color:var(--text-muted)}.timeline-container{background:#1e293b66;border:1px solid rgba(148,163,184,.1);border-radius:12px;overflow:hidden}.timeline-scroll{overflow-x:auto;overflow-y:hidden}.timeline-scroll::-webkit-scrollbar{height:8px}.timeline-header-row{display:flex;background:#1e293bcc;border-bottom:1px solid rgba(148,163,184,.15);min-height:50px}.timeline-data-row{display:flex;border-bottom:1px solid rgba(148,163,184,.05)}.timeline-data-row:nth-child(odd){background:#94a3b805}.timeline-data-row:hover{background:#94a3b80d}.timeline-label-cell{flex-shrink:0;width:180px;min-width:180px;padding:0 16px;display:flex;flex-direction:column;justify-content:center;background:#1e293bf2;border-right:1px solid rgba(148,163,184,.15);position:sticky;left:0;z-index:5}.timeline-label-cell.header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex-direction:row;align-items:center}.timeline-label-cell .crew-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-label-cell .crew-rank{font-size:.7rem;color:var(--text-secondary)}.timeline-bars-cell{position:relative;flex-shrink:0}.timeline-bars-cell.header{position:relative}.row-grid-lines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.row-grid-lines .grid-line{position:absolute;top:0;bottom:0;width:1px;background:#94a3b81a}.today-line-segment{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:3}.timeline-scroll::-webkit-scrollbar-track{background:#0003}.timeline-scroll::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}.timeline-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b880}.timeline-scroll::-webkit-scrollbar-corner{background:#0003}.timeline-content{position:relative;min-height:400px}.month-headers{position:relative;height:100%;display:flex}.month-marker{position:absolute;top:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(148,163,184,.1);padding:8px 4px}.month-marker.year-start{border-right:2px solid rgba(148,163,184,.3);background:#94a3b808}.month-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);letter-spacing:.3px}.year-label{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-top:4px}.grid-lines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.grid-line{position:absolute;top:60px;bottom:0;width:1px;background:#94a3b80d}.grid-line.year-line{background:#94a3b826}.today-line{position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#ef4444,#dc2626);z-index:3}.today-label{position:absolute;top:8px;left:6px;padding:2px 6px;background:#ef4444;border-radius:3px;font-size:.65rem;font-weight:600;color:#fff;white-space:nowrap}.assignment-rows{position:relative}.assignment-row{position:absolute;left:0;right:0;border-bottom:1px solid rgba(148,163,184,.05)}.assignment-row:nth-child(odd){background:#94a3b805}.assignment-bar-wrapper{position:absolute;top:8px;height:24px;display:flex;align-items:stretch;cursor:pointer;z-index:2}.assignment-bar-wrapper:hover{transform:scaleY(1.15);z-index:4}.assignment-bar-wrapper:hover .assignment-bar{box-shadow:0 4px 12px #0000004d}.assignment-bar{height:24px;border-radius:4px;display:flex;align-items:center;padding:0 8px;transition:all .2s}.expected-extension{height:24px;background:repeating-linear-gradient(90deg,rgba(34,197,94,.3) 0px,rgba(34,197,94,.3) 4px,transparent 4px,transparent 8px);border:1px dashed rgba(34,197,94,.5);border-left:none;border-radius:0 4px 4px 0;margin-left:-2px}.bar-label{font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.3)}.assignment-tooltip{position:fixed;width:280px;background:#1e293bfa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000080;z-index:1000;pointer-events:none}.tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(148,163,184,.15)}.tooltip-header strong{font-size:.9rem;color:var(--text-primary)}.tooltip-header .status-badge{padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:600}.tooltip-header .status-badge.active{background:#22c55e26;color:#22c55e}.tooltip-header .status-badge.completed{background:#64748b26;color:#94a3b8}.tooltip-row{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary);margin-bottom:8px}.tooltip-row:last-child{margin-bottom:0}.tooltip-row.notes{font-style:italic;opacity:.8}.tooltip-row.expected{color:#22c55e;font-weight:500}@media(max-width:768px){.timeline-header{flex-direction:column;gap:16px;align-items:stretch}.timeline-header .header-right{flex-wrap:wrap;justify-content:center}.timeline-labels{width:140px}.vessel-select{min-width:120px}}.crew-availability-calendar{display:flex;flex-direction:column;gap:16px}.calendar-header{display:flex;flex-direction:column;gap:14px;background:linear-gradient(135deg,#1e293bf2,#0f172afa);border:1px solid rgba(100,116,139,.2);border-radius:12px;padding:20px 24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.calendar-title-row{display:flex;justify-content:space-between;align-items:center}.calendar-title{display:flex;align-items:center;gap:10px;color:var(--text-primary, #e2e8f0)}.calendar-title h2{margin:0;font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.calendar-title svg{color:#38bdf8}.view-toggle{display:flex;gap:2px;background:#0f172a99;border-radius:8px;padding:3px;border:1px solid rgba(71,85,105,.3)}.toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{color:#e2e8f0;background:#47556933}.toggle-btn.active{background:#38bdf826;color:#38bdf8;box-shadow:0 0 8px #38bdf81a}.calendar-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.calendar-nav{display:flex;align-items:center;gap:8px}.nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(71,85,105,.3);border-radius:6px;background:#1e293b99;color:#94a3b8;cursor:pointer;transition:all .2s ease}.nav-btn:hover{background:#38bdf81a;border-color:#38bdf84d;color:#38bdf8}.month-year{font-size:1.1rem;font-weight:600;color:#e2e8f0;min-width:180px;text-align:center}.btn-today{padding:5px 14px;border:1px solid rgba(56,189,248,.3);border-radius:6px;background:#38bdf814;color:#38bdf8;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-today:hover{background:#38bdf833}.calendar-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-box{position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:10px;color:#64748b;pointer-events:none}.search-box input{padding:6px 10px 6px 30px;border:1px solid rgba(71,85,105,.3);border-radius:6px;background:#0f172a99;color:#e2e8f0;font-size:.8rem;width:160px;outline:none;transition:all .2s ease}.search-box input:focus{border-color:#38bdf866;box-shadow:0 0 0 2px #38bdf814}.search-box input::placeholder{color:#475569}.calendar-filters select{padding:6px 10px;border:1px solid rgba(71,85,105,.3);border-radius:6px;background:#0f172a99;color:#e2e8f0;font-size:.8rem;cursor:pointer;outline:none;max-width:140px}.calendar-filters select:focus{border-color:#38bdf866}.status-summary-strip{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#0f172a80;border:1px solid rgba(71,85,105,.15);border-radius:8px;overflow-x:auto;flex-wrap:wrap}.summary-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;border:1px solid rgba(71,85,105,.2);background:#1e293b66;white-space:nowrap}.summary-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.summary-label{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.summary-count{font-size:.82rem;font-weight:700}.summary-total{margin-left:auto;border-color:#64748b4d}.summary-total .summary-count{color:#e2e8f0}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#64748b}.calendar-loading .spinner{width:32px;height:32px;border:3px solid rgba(56,189,248,.15);border-top-color:#38bdf8;border-radius:50%;animation:spin .8s linear infinite}.calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:#475569}.calendar-empty svg{opacity:.4}.calendar-empty h3{margin:0;font-size:1rem;color:#64748b}.calendar-empty p{margin:0;font-size:.82rem}.roster-container{border:1px solid rgba(71,85,105,.15);border-radius:10px;overflow:hidden;background:#0f172a4d}.roster-scroll-wrapper{overflow-x:auto;overflow-y:auto;max-height:55vh}.roster-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.roster-table thead{position:sticky;top:0;z-index:5}.roster-crew-header{position:sticky;left:0;z-index:10;width:200px;min-width:200px;max-width:200px;padding:8px 12px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;background:#0f172afa;border-bottom:2px solid rgba(56,189,248,.15)}.roster-day-header{width:32px;min-width:32px;padding:4px 2px;text-align:center;font-size:.65rem;color:#64748b;background:#0f172afa;border-bottom:2px solid rgba(56,189,248,.15)}.roster-day-header .day-letter{display:block;font-weight:400;font-size:.6rem;color:#475569}.roster-day-header .day-num{display:block;font-weight:600;font-size:.72rem;color:#94a3b8}.roster-day-header.today{background:#38bdf81f}.roster-day-header.today .day-num{color:#38bdf8}.roster-day-header.weekend{background:#4755691a}.roster-day-header.weekend .day-num{color:#475569}.roster-table tbody tr{transition:background .15s ease;cursor:pointer}.roster-table tbody tr:hover{background:#38bdf80a}.roster-crew-cell{position:sticky;left:0;z-index:4;padding:4px 10px;background:#0f172aeb;border-bottom:1px solid rgba(71,85,105,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.roster-table tbody tr:hover .roster-crew-cell{background:#1e293bf2}.crew-mini-card{display:flex;align-items:center;gap:8px;min-width:170px}.crew-avatar-sm{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#e2e8f0;background:linear-gradient(135deg,#1e3a5f,#0d9488);flex-shrink:0}.crew-mini-info{display:flex;flex-direction:column;min-width:0}.crew-mini-info .crew-name{font-size:.78rem;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-mini-info .crew-rank{font-size:.65rem;color:#64748b;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-status-cell{padding:3px 1px;border-bottom:1px solid rgba(71,85,105,.07);vertical-align:middle}.roster-status-cell.today{background:#38bdf80f}.roster-status-cell.weekend{background:#4755690a}.status-bar{width:100%;height:22px;border-radius:3px;opacity:.85;transition:opacity .15s ease}.roster-table tbody tr:hover .status-bar{opacity:1}.calendar-container{border:1px solid rgba(71,85,105,.15);border-radius:10px;overflow:hidden;background:#0f172a4d}.calendar-day-headers{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid rgba(71,85,105,.15)}.day-header{padding:10px;text-align:center;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b;background:#1e293b80}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:80px;padding:6px 8px;border-right:1px solid rgba(71,85,105,.08);border-bottom:1px solid rgba(71,85,105,.08);transition:background .15s ease}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover:not(.empty){background:#38bdf80a}.calendar-cell.empty{background:#0f172a33}.calendar-cell.today{background:#38bdf80f;box-shadow:inset 0 2px #38bdf8}.calendar-cell.weekend{background:#4755690a}.cell-date{font-size:.78rem;font-weight:600;color:#94a3b8;margin-bottom:4px}.calendar-cell.today .cell-date{color:#38bdf8}.cell-crew{display:flex;flex-wrap:wrap;gap:3px}.crew-dot{width:10px;height:10px;border-radius:50%;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.crew-dot:hover{transform:scale(1.5);box-shadow:0 0 8px currentColor}.more-crew{font-size:.6rem;color:#64748b;padding:0 3px;font-weight:500}.calendar-legend{display:flex;align-items:center;gap:16px;padding:10px 14px;background:#0f172a4d;border:1px solid rgba(71,85,105,.1);border-radius:8px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#94a3b8}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.crew-detail-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.crew-detail-popup{width:420px;max-width:92vw;max-height:85vh;overflow-y:auto;background:linear-gradient(145deg,#1e293bfa,#0f172afc);border:1px solid rgba(100,116,139,.25);border-radius:16px;box-shadow:0 20px 60px #00000080,0 0 40px #38bdf80d;animation:popIn .25s ease}@keyframes popIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 14px;border-bottom:1px solid rgba(71,85,105,.15)}.popup-header-info{display:flex;gap:12px;align-items:center}.crew-avatar-lg{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#e2e8f0;background:linear-gradient(135deg,#1e3a5f,#0d9488);flex-shrink:0}.popup-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#e2e8f0}.popup-subtitle{font-size:.78rem;color:#64748b}.popup-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(71,85,105,.2);border-radius:6px;background:#1e293b80;color:#64748b;cursor:pointer;transition:all .2s ease}.popup-close:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.popup-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:16px}.popup-section h5{margin:0 0 10px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.detail-grid{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#0f172a66;border-radius:6px;border:1px solid rgba(71,85,105,.08)}.detail-row .label{font-size:.75rem;color:#64748b;font-weight:500}.detail-row .value{font-size:.8rem;color:#e2e8f0;font-weight:500;display:flex;align-items:center;gap:6px}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.contract-list{display:flex;flex-direction:column;gap:6px}.contract-chip{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0f172a66;border:1px solid rgba(71,85,105,.12);border-radius:8px;transition:all .2s ease}.contract-chip.active{border-color:#0d94884d;background:#0d94880f}.contract-dates{font-size:.78rem;color:#94a3b8}.contract-status{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;border-radius:4px}.contract-status.active{background:#0d948826;color:#0d9488}.contract-status.draft{background:#64748b26;color:#64748b}.contract-status.completed,.contract-status.terminated{background:#47556926;color:#475569}.work-rest-tracker{display:flex;flex-direction:column;height:100%;padding:1.5rem;gap:1.5rem}.tracker-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.tracker-header .header-left{display:flex;align-items:center;gap:.75rem}.tracker-header .header-left h2{margin:0;font-size:1.25rem;color:#fff}.tracker-header .header-left p{margin:0;font-size:.8rem;color:#94a3b8}.tracker-header .header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.tracker-header .vessel-select,.tracker-header .date-input{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem;min-width:180px}.tracker-header .date-input{min-width:160px}.tracker-header .btn-refresh{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s}.tracker-header .btn-refresh:hover:not(:disabled){background:#ffffff1a;color:#fff}.view-toggle{display:flex;background:#ffffff0d;border-radius:8px;overflow:hidden}.view-toggle button{padding:.5rem .75rem;background:transparent;border:none;color:#94a3b8;cursor:pointer;transition:all .2s}.view-toggle button.active{background:#3b82f633;color:#60a5fa}.tracker-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.tracker-stats .stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;text-align:center}.tracker-stats .stat-card .stat-icon{font-size:1.5rem;margin-bottom:.25rem}.tracker-stats .stat-card .stat-value{font-size:1.75rem;font-weight:700;color:#fff}.tracker-stats .stat-card .stat-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.tracker-stats .stat-card.compliant{border-color:#22c55e4d}.tracker-stats .stat-card.non-compliant.warning{border-color:#ef44444d;background:#ef44440d}.empty-state,.loading-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;gap:1rem;padding:3rem}.empty-state h3,.loading-state h3{margin:0;color:#94a3b8}.empty-state p{margin:0;font-size:.9rem}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.crew-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.crew-card:hover{background:#ffffff0f;border-color:#ffffff26}.crew-card.compliant{border-left:3px solid #22c55e}.crew-card.non-compliant{border-left:3px solid #ef4444;background:#ef44440d}.crew-card.no-record{border-left:3px solid #64748b}.crew-card .crew-info{display:flex;flex-direction:column;gap:.25rem}.crew-card .crew-name{font-weight:600;color:#fff}.crew-card .crew-rank{font-size:.8rem;color:#94a3b8}.crew-card .crew-hours{display:flex;align-items:center;gap:.75rem}.crew-card .hours-summary{display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem}.crew-card .hours-summary .work{color:#f59e0b}.crew-card .hours-summary .rest{color:#22c55e}.crew-card .compliance-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.crew-card .compliance-badge.ok{background:#22c55e33;color:#22c55e}.crew-card .compliance-badge.fail{background:#ef444433;color:#ef4444}.crew-card .no-data{font-size:.8rem;color:#64748b;font-style:italic}.crew-table-wrapper{overflow-x:auto}.crew-table{width:100%;border-collapse:collapse;font-size:.9rem}.crew-table th,.crew-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.crew-table th{color:#94a3b8;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;background:#ffffff05}.crew-table th.center,.crew-table td.center{text-align:center}.crew-table tr:hover{background:#ffffff08}.crew-table tr.compliant td:first-child{border-left:3px solid #22c55e}.crew-table tr.non-compliant td:first-child{border-left:3px solid #ef4444}.crew-table .status-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:20px}.crew-table .status-badge.success{background:#22c55e26;color:#22c55e}.crew-table .status-badge.danger{background:#ef444426;color:#ef4444}.crew-table .status-badge.neutral{background:#64748b26;color:#94a3b8}.crew-table .btn-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#94a3b8;cursor:pointer;transition:all .2s}.crew-table .btn-icon:hover{background:#ffffff1a;color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.hour-entry-modal{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;padding:1.5rem}.hour-entry-modal .modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.hour-entry-modal .modal-header h3{margin:0;font-size:1.1rem;color:#fff}.hour-entry-modal .modal-date{color:#94a3b8;font-size:.9rem}.hour-entry-modal .btn-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#64748b;cursor:pointer;margin-left:auto}.hour-entry-modal .btn-close:hover{color:#fff}.hour-legend{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.hour-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#94a3b8}.hour-legend .color-box{width:16px;height:16px;border-radius:4px}.hour-legend .legend-item.rest .color-box{background:#22c55e}.hour-legend .legend-item.work .color-box{background:#f59e0b}.hour-legend .legend-item.overtime .color-box{background:#ef4444}.hour-legend .legend-hint{font-size:.8rem;color:#64748b;font-style:italic;margin:0 0 0 auto}.hour-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:1.5rem}.hour-cell{aspect-ratio:1.5;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.hour-cell .hour-label{font-size:.7rem;font-weight:500}.hour-cell.rest{background:#22c55e40;color:#22c55e;border:1px solid rgba(34,197,94,.4)}.hour-cell.work{background:#f59e0b40;color:#f59e0b;border:1px solid rgba(245,158,11,.4)}.hour-cell.overtime{background:#ef444440;color:#ef4444;border:1px solid rgba(239,68,68,.4)}.hour-cell:hover{transform:scale(1.05)}.compliance-summary{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.compliance-summary .summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.compliance-summary .stat{display:flex;justify-content:space-between;font-size:.85rem}.compliance-summary .stat .label{color:#94a3b8}.compliance-summary .stat .value{color:#fff;font-weight:500}.compliance-summary .stat .value.ok{color:#22c55e}.compliance-summary .stat .value.fail{color:#ef4444}.compliance-result{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:8px;font-weight:600}.compliance-result.compliant{background:#22c55e26;color:#22c55e}.compliance-result.non-compliant{background:#ef444426;color:#ef4444}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-actions .btn-secondary{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s}.modal-actions .btn-secondary:hover{background:#ffffff1a;color:#fff}.modal-actions .btn-primary{padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.modal-actions .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.spinning{animation:spin 1s linear infinite}@media(max-width:768px){.tracker-stats{grid-template-columns:repeat(2,1fr)}.hour-grid{grid-template-columns:repeat(4,1fr)}.compliance-summary .summary-stats{grid-template-columns:1fr}}.date-navigation{display:flex;align-items:center;gap:.5rem}.date-navigation .btn-nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s}.date-navigation .btn-nav:hover{background:#ffffff1a;color:#fff;border-color:#ffffff40}.modal-date-input{padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;text-align:center;min-width:150px}.modal-date-input::-webkit-calendar-picker-indicator{filter:invert(.7)}.modal-actions .btn-success{padding:.5rem 1rem;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.modal-actions .btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.pending-submissions-container{background:var(--surface-primary, rgba(15, 23, 42, .6));border-radius:12px;border:1px solid rgba(148,163,184,.1);overflow:hidden}.tabs-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#1e293b80;border-bottom:1px solid rgba(148,163,184,.1)}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:1px solid transparent;border-radius:8px;color:#94a3b8;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:#94a3b81a;color:#e2e8f0}.tab-btn.active{background:#38bdf826;border-color:#38bdf84d;color:#38bdf8}.tab-btn .badge{padding:.125rem .5rem;background:#ef4444;border-radius:10px;color:#fff;font-size:.75rem;font-weight:600}.tab-actions{margin-left:auto}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:linear-gradient(135deg,#38bdf8,#0ea5e9);transform:translateY(-1px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#94a3b8}.loading-state .spinner{width:40px;height:40px;border:3px solid rgba(56,189,248,.2);border-top-color:#38bdf8;border-radius:50%;margin-bottom:1rem;animation:spin 1s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state svg{color:#475569;margin-bottom:1.5rem}.empty-state h3{color:#e2e8f0;font-size:1.25rem;margin:0 0 .5rem}.empty-state p{color:#94a3b8;font-size:.95rem;margin:0 0 1.5rem;max-width:300px}.status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:#22c55e26;color:#22c55e}.status-badge.used{background:#94a3b826;color:#94a3b8}.status-badge.expired{background:#ef444426;color:#ef4444}.action-buttons{display:flex;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#94a3b81a;border:1px solid rgba(148,163,184,.2);border-radius:6px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:#94a3b833;color:#e2e8f0}.btn-icon.copy:hover,.btn-icon.view:hover{background:#38bdf833;border-color:#38bdf84d;color:#38bdf8}.btn-icon.approve:hover{background:#22c55e33;border-color:#22c55e4d;color:#22c55e}.btn-icon.delete:hover{background:#ef444433;border-color:#ef44444d;color:#ef4444}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{width:100%;max-width:500px;background:linear-gradient(145deg,#1e293bfa,#0f172afc);border:1px solid rgba(56,189,248,.15);border-radius:16px;box-shadow:0 25px 50px -12px #00000080;max-height:90vh;overflow-y:auto}.modal-content.review-modal{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.1)}.modal-header h2{color:#f1f5f9;font-size:1.25rem;margin:0}.btn-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.btn-close:hover{background:#ef444433;color:#ef4444}.modal-body{padding:1.5rem}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group label{display:block;color:#94a3b8;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:.75rem 1rem;background:#0f172a99;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#f1f5f9;font-size:.95rem}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:#38bdf880}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid rgba(148,163,184,.1)}.btn-cancel{padding:.625rem 1.25rem;background:transparent;border:1px solid rgba(148,163,184,.3);border-radius:8px;color:#94a3b8;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#94a3b81a;color:#e2e8f0}.btn-save{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-save:hover{background:linear-gradient(135deg,#38bdf8,#0ea5e9)}.submission-details h3,.approval-section h3{color:#e2e8f0;font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(148,163,184,.1)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{color:#64748b;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.detail-item span{color:#f1f5f9;font-size:.95rem}.approval-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(148,163,184,.1)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.btn-reject{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-right:auto}.btn-reject:hover{background:#ef444440}.btn-approve{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-approve:hover{background:linear-gradient(135deg,#4ade80,#22c55e)}@media(max-width:600px){.tabs-header{flex-wrap:wrap}.tab-actions{width:100%;margin-top:.75rem}.tab-actions .btn-primary{width:100%;justify-content:center}.detail-grid,.form-grid{grid-template-columns:1fr}}.submission-review-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0f1419,#1a2332,#0d1117);z-index:1000;overflow-y:auto;display:flex;flex-direction:column}.review-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#1e293bcc;border-bottom:1px solid rgba(148,163,184,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.review-header-left{display:flex;align-items:center;gap:1.5rem}.btn-back-review{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:transparent;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#94a3b8;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-back-review:hover{background:#94a3b81a;color:#e2e8f0}.review-header h1{color:#f1f5f9;font-size:1.5rem;margin:0}.review-header-right{display:flex;align-items:center;gap:1rem}.submission-date{color:#64748b;font-size:.875rem}.review-header .btn-reject,.review-header .btn-approve{padding:.625rem 1.25rem}.review-header .btn-approve:disabled{opacity:.5;cursor:not-allowed}.review-content{flex:1;display:grid;grid-template-columns:1fr 340px;gap:2rem;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.review-main{display:flex;flex-direction:column;gap:1.5rem}.applicant-profile-header{display:flex;gap:1.5rem;padding:1.5rem;background:linear-gradient(145deg,#1e293bcc,#0f172ae6);border:1px solid rgba(56,189,248,.15);border-radius:16px}.profile-photo-container{flex-shrink:0}.profile-photo{width:120px;height:150px;object-fit:cover;border-radius:10px;border:2px solid rgba(56,189,248,.3)}.profile-photo-placeholder{width:120px;height:150px;display:flex;align-items:center;justify-content:center;background:#1e293bcc;border:2px dashed rgba(148,163,184,.2);border-radius:10px;color:#64748b}.profile-info{display:flex;flex-direction:column;gap:.5rem}.profile-info h2{color:#f1f5f9;font-size:1.75rem;margin:0}.position-applied{display:flex;align-items:center;gap:.5rem;color:#38bdf8;font-size:1rem;margin:0}.profile-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.profile-badges .badge{padding:.375rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500}.badge.nationality{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.badge.experience{background:#a855f726;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.badge.available{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.review-section{padding:1.5rem;background:#1e293b99;border:1px solid rgba(148,163,184,.1);border-radius:12px}.review-section h3{display:flex;align-items:center;gap:.5rem;color:#e2e8f0;font-size:1.1rem;font-weight:600;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:1px solid rgba(148,163,184,.1)}.review-section h3 svg{color:#38bdf8}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.info-grid.info-grid-3{grid-template-columns:repeat(3,1fr)}.info-item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.info-item.full-width{grid-column:1 / -1}.info-item label{color:#64748b;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.info-item span{color:#f1f5f9;font-size:.95rem;word-break:break-word;overflow-wrap:break-word}.documents-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.document-card{padding:1rem;background:#0f172a80;border:1px solid rgba(148,163,184,.1);border-radius:10px}.document-header{display:flex;align-items:center;gap:.5rem;color:#38bdf8;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(148,163,184,.1)}.document-details{display:flex;flex-direction:column;gap:.5rem}.doc-row{display:flex;justify-content:space-between;gap:.5rem}.doc-row label{color:#64748b;font-size:.85rem}.doc-row span{color:#f1f5f9;font-size:.9rem;text-align:right}.doc-row span.expired{color:#ef4444;font-weight:600}.certificates-table{overflow-x:auto}.certificates-table table{width:100%;border-collapse:collapse}.certificates-table th{padding:.75rem 1rem;background:#0f172a99;color:#94a3b8;font-size:.8rem;font-weight:600;text-transform:uppercase;text-align:left;border-bottom:1px solid rgba(148,163,184,.1)}.certificates-table td{padding:.75rem 1rem;color:#f1f5f9;font-size:.9rem;border-bottom:1px solid rgba(148,163,184,.05)}.certificates-table td.expired{color:#ef4444;font-weight:600}.certificates-table tbody tr:hover{background:#38bdf80d}.empty-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;color:#64748b;text-align:center}.empty-section p{margin:0;color:#94a3b8}.review-sidebar{display:flex;flex-direction:column;gap:1.5rem}.approval-panel{padding:1.5rem;background:linear-gradient(145deg,#1e293bf2,#0f172afa);border:1px solid rgba(56,189,248,.15);border-radius:16px;position:sticky;top:90px}.approval-panel h3{color:#f1f5f9;font-size:1.15rem;margin:0 0 .25rem}.approval-hint{color:#64748b;font-size:.875rem;margin:0 0 1.5rem}.approval-panel .form-group{margin-bottom:1rem}.approval-panel .form-group label{display:block;color:#94a3b8;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.approval-panel .form-group select,.approval-panel .form-group input{width:100%;padding:.75rem 1rem;background:#0f172a99;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#f1f5f9;font-size:.95rem}.approval-panel .form-group select:focus,.approval-panel .form-group input:focus{outline:none;border-color:#38bdf880}.approval-panel .form-group select.required{border-color:#fbbf2466}.approval-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.btn-approve-full,.btn-reject-full{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-approve-full{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;color:#fff}.btn-approve-full:hover:not(:disabled){background:linear-gradient(135deg,#4ade80,#22c55e);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.btn-approve-full:disabled{opacity:.5;cursor:not-allowed}.btn-reject-full{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444}.btn-reject-full:hover{background:#ef444440}.quick-stats-panel{padding:1.25rem;background:linear-gradient(145deg,#1e293bcc,#0f172ae6);border:1px solid rgba(56,189,248,.1);border-radius:12px}.quick-stats-panel h4{color:#e2e8f0;font-size:1rem;font-weight:600;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.quick-stats-panel h4:before{content:"";width:4px;height:16px;background:linear-gradient(180deg,#38bdf8,#0ea5e9);border-radius:2px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;margin-bottom:.625rem;background:#0f172a66;border-radius:8px;border:1px solid rgba(148,163,184,.05)}.stat-item:last-child{margin-bottom:0}.stat-label{color:#94a3b8;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.stat-value{color:#f1f5f9;font-size:.9rem;font-weight:600}@media(max-width:1024px){.review-content{grid-template-columns:1fr}.review-sidebar{order:-1}.approval-panel{position:relative;top:0}.info-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.review-header{flex-direction:column;gap:1rem;padding:1rem}.review-header-left,.review-header-right{width:100%;justify-content:space-between}.review-content{padding:1rem}.applicant-profile-header{flex-direction:column;align-items:center;text-align:center}.profile-badges{justify-content:center}.info-grid,.documents-grid{grid-template-columns:1fr}.certificates-table{font-size:.85rem}}.crew-payroll-manager{background:var(--bg-secondary, #1a1a2e);border-radius:12px;padding:1.5rem;min-height:600px}.section-tab .badge{background:#fff3;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.section-tab.active .badge{background:#ffffff4d}.section-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dt-table tbody tr:hover{background:var(--bg-tertiary, rgba(255, 255, 255, .03))}.dt-table tbody tr.recovered{opacity:.6}.amount,.net-pay{font-family:JetBrains Mono,monospace;font-weight:600}.net-pay{color:var(--success, #10b981)}.status-rejected{background:#ef444426;color:#ef4444}.status-paid{background:#3b82f626;color:#3b82f6}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;transition:all .2s;margin-right:.25rem}.btn-approve{background:#10b98126;color:#10b981}.btn-approve:hover{background:#10b9814d}.btn-reject{background:#ef444426;color:#ef4444}.btn-reject:hover{background:#ef44444d}.btn-recover{background:#3b82f626;color:#3b82f6}.btn-recover:hover{background:#3b82f64d}.form-group select{cursor:pointer}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.filter-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary, rgba(255, 255, 255, .02));border-radius:8px;flex-wrap:wrap}.filter-toolbar .search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;flex:1;min-width:200px;max-width:300px}.filter-toolbar .search-box svg{color:var(--text-secondary, #a0a0b0);flex-shrink:0}.filter-toolbar .search-box input{border:none;background:transparent;color:var(--text-primary, #fff);font-size:.875rem;flex:1;outline:none}.filter-toolbar .search-box input::placeholder{color:var(--text-secondary, #a0a0b0)}.filter-toolbar .search-box .clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#ffffff1a;border:none;border-radius:50%;color:var(--text-secondary, #a0a0b0);cursor:pointer}.filter-toolbar .search-box .clear-btn:hover{background:#fff3;color:var(--text-primary, #fff)}.filter-toolbar select{padding:.5rem .75rem;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary, #fff);font-size:.875rem;cursor:pointer;min-width:120px}.filter-toolbar select:focus{outline:none;border-color:var(--primary, #6366f1)}.btn-clear-filters{padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#ef4444;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-clear-filters:hover{background:#ef444433}.result-count{font-size:.8rem;color:var(--text-secondary, #a0a0b0);margin-left:auto}.dt-table tbody tr.clickable-row{cursor:pointer;transition:background .15s ease}.dt-table tbody tr.clickable-row:hover{background:var(--bg-tertiary, rgba(255, 255, 255, .05))}.payroll-detail-modal{max-width:560px;border-radius:16px;overflow:hidden}.pd-hero{position:relative;background:linear-gradient(135deg,#6366f140,#8b5cf626);padding:1.5rem;border-bottom:1px solid rgba(99,102,241,.2)}.pd-close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#ffffff14;border:none;border-radius:8px;color:var(--text-secondary, #a0a0b0);cursor:pointer;transition:all .2s}.pd-close:hover{background:#ffffff26;color:#fff}.pd-hero-inner{display:flex;align-items:center;gap:1rem}.pd-avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:1px;flex-shrink:0;box-shadow:0 4px 12px #6366f14d}.pd-hero-info{flex:1;min-width:0}.pd-hero-info h3{margin:0 0 .35rem;font-size:1.15rem;font-weight:700;color:#fff}.pd-hero-meta{display:flex;flex-wrap:wrap;gap:.75rem}.pd-hero-meta span{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--text-secondary, #a0a0b0)}.pd-hero-status{flex-shrink:0}.pd-body{padding:1.25rem 1.5rem}.pd-period-cards{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:1.25rem}.pd-card{display:flex;align-items:center;gap:.625rem;padding:.75rem;background:var(--bg-tertiary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .06));border-radius:10px;transition:border-color .2s}.pd-card:hover{border-color:#6366f133}.pd-card svg{color:var(--primary, #6366f1);flex-shrink:0;opacity:.7}.pd-card div{display:flex;flex-direction:column;gap:.15rem}.pd-card-label{font-size:.7rem;color:var(--text-secondary, #a0a0b0);text-transform:uppercase;letter-spacing:.3px}.pd-card-value{font-size:.9rem;font-weight:600;color:var(--text-primary, #fff)}.pd-section{margin-bottom:1rem;border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .06));overflow:hidden}.pd-section-header{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.pd-earnings .pd-section-header{background:#10b9810f;border-bottom:1px solid rgba(16,185,129,.1)}.pd-earnings .pd-section-header svg{color:#10b981}.pd-deductions .pd-section-header{background:#ef44440f;border-bottom:1px solid rgba(239,68,68,.1)}.pd-deductions .pd-section-header svg{color:#ef4444}.pd-line-items{padding:.25rem 0}.pd-line{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;transition:background .15s}.pd-line:hover{background:#ffffff05}.pd-line-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary, #fff)}.pd-line-label svg{color:var(--text-secondary, #a0a0b0);opacity:.6;flex-shrink:0}.pd-line-amount{font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600;color:var(--text-primary, #fff)}.pd-deduction{color:#ef4444!important}.pd-line-subtotal{border-top:1px dashed rgba(255,255,255,.08);margin-top:.25rem;padding-top:.625rem}.pd-line-subtotal .pd-line-label{font-weight:700}.pd-line-subtotal .pd-line-amount{font-weight:700;color:#10b981}.pd-net-pay-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#10b9811f,#34d39914);border:1px solid rgba(16,185,129,.2);border-radius:12px;margin-top:.5rem}.pd-net-label{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:#fff}.pd-net-label svg{color:#10b981}.pd-net-amount{font-size:1.5rem;font-weight:800;font-family:JetBrains Mono,monospace;color:#10b981;letter-spacing:-.5px}.pd-footer{display:flex;justify-content:flex-end;gap:.625rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08))}.form-info{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:8px;color:var(--text-secondary, #a0a0b0);font-size:.85rem;margin-bottom:1rem}.form-info svg{color:var(--primary, #6366f1);flex-shrink:0}.btn-danger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.crew-appraisal-manager{background:var(--bg-secondary, #1a1a2e);border-radius:12px;padding:1.5rem;min-height:600px}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.manager-header h3{display:flex;align-items:center;gap:.75rem;font-size:1.2rem;font-weight:600;color:var(--text-primary, #fff);margin:0}.crew-appraisal-manager .dt-table{width:100%;border-collapse:collapse;background:var(--bg-tertiary, rgba(255, 255, 255, .02));border-radius:10px;overflow:hidden}.crew-appraisal-manager .dt-table th,.crew-appraisal-manager .dt-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}.crew-appraisal-manager .dt-table th{background:var(--bg-tertiary, rgba(255, 255, 255, .04));font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.crew-appraisal-manager .dt-table td{font-size:.9rem;color:var(--text-primary, #fff)}.crew-name{font-weight:500}.rating{font-size:1rem;letter-spacing:2px}.rating-1{color:#ef4444}.rating-2{color:#f97316}.rating-3{color:#eab308}.rating-4{color:#84cc16}.rating-5{color:#22c55e}.type-badge{display:inline-flex;padding:.2rem .5rem;background:#6366f126;color:#818cf8;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-draft{background:#9ca3af26;color:#9ca3af}.status-pending{background:#f59e0b26;color:#f59e0b}.status-approved{background:#10b98126;color:#10b981}.recommendation-badge{display:inline-flex;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.rec-promote{background:#22c55e26;color:#22c55e}.rec-good{background:#10b98126;color:#10b981}.rec-warning{background:#f59e0b26;color:#f59e0b}.rec-danger{background:#ef444426;color:#ef4444}.actions{display:flex;gap:.25rem}.btn-view{background:#3b82f626;color:#3b82f6}.btn-view:hover{background:#3b82f64d}.filter-bar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary, rgba(255, 255, 255, .02));border-radius:8px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;flex:1;min-width:200px;background:var(--bg-secondary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:6px;padding:.5rem .75rem;color:var(--text-secondary, #a0a0b0)}.search-box input{flex:1;background:transparent;border:none;color:var(--text-primary, #fff);font-size:.875rem;outline:none}.search-box input::placeholder{color:var(--text-secondary, #a0a0b0)}.filter-bar select{padding:.5rem .75rem;background:var(--bg-secondary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:6px;color:var(--text-primary, #fff);font-size:.875rem;cursor:pointer}.btn-clear{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#ef44441a;color:#ef4444;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-clear:hover{background:#ef444433}.modal-confirm{max-width:400px}.modal-body{padding:1rem 1.5rem}.modal-body p{margin:0 0 .5rem;color:var(--text-primary, #fff)}.warning-text{color:#ef4444!important;font-size:.875rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08))}.btn-secondary{padding:.5rem 1rem;background:var(--bg-tertiary, rgba(255, 255, 255, .05));color:var(--text-primary, #fff);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#ffffff1a}.btn-danger{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626}.btn-primary:hover{background:var(--primary-hover, #5558e8);transform:translateY(-1px)}.empty-state span{font-size:.9rem;opacity:.7;margin-top:.5rem}.modal-content{background:var(--bg-secondary, #1a1a2e);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-large{max-width:1000px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1));position:sticky;top:0;background:var(--bg-secondary, #1a1a2e);z-index:1}.modal-content form{padding:.75rem 1rem}.form-section{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h4{font-size:.8rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}.form-group{margin-bottom:.5rem}.form-group label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary, #a0a0b0);margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.4rem .6rem;background:var(--bg-tertiary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary, #fff);font-size:.85rem;transition:all .2s}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.7;cursor:not-allowed}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.assessment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.assessment-grid textarea{resize:vertical;min-height:50px}.ratings-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:.5rem}.ratings-grid-compact{display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-start}.rating-item-compact{display:flex;align-items:center;gap:.35rem;background:var(--bg-tertiary, rgba(255, 255, 255, .03));padding:.3rem .4rem;border-radius:4px}.rating-item-compact.overall{background:#eab3081a;border:1px solid rgba(234,179,8,.3)}.rating-item-compact label{font-size:.65rem;color:var(--text-secondary, #a0a0b0);white-space:nowrap;margin:0}.rating-item-compact.overall label{color:#eab308}.rating-selector-compact{display:flex;gap:.15rem}.rating-btn-sm{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:3px;color:var(--text-secondary, #a0a0b0);font-size:.65rem;font-weight:600;cursor:pointer;transition:all .15s}.rating-btn-sm:hover:not(:disabled){background:#6366f126;border-color:var(--primary, #6366f1)}.rating-btn-sm.active{background:var(--primary, #6366f1);border-color:var(--primary, #6366f1);color:#fff}.rating-btn-sm.star.active{background:#eab308;border-color:#eab308}.rating-btn-sm:disabled{cursor:not-allowed;opacity:.7}.rating-item{background:var(--bg-tertiary, rgba(255, 255, 255, .03));padding:.4rem .5rem;border-radius:6px}.rating-item label{display:block;font-size:.7rem;color:var(--text-secondary, #a0a0b0);margin-bottom:.25rem}.rating-selector{display:flex;gap:.25rem}.rating-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:4px;color:var(--text-secondary, #a0a0b0);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.rating-btn:hover:not(:disabled){background:#6366f11a;border-color:var(--primary, #6366f1)}.rating-btn.active{background:var(--primary, #6366f1);border-color:var(--primary, #6366f1);color:#fff}.rating-btn:disabled{cursor:not-allowed;opacity:.7}.overall-rating-section{background:var(--bg-tertiary, rgba(255, 255, 255, .03));padding:.5rem;border-radius:6px;text-align:center}.overall-rating-section label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary, #a0a0b0);margin-bottom:.4rem}.rating-selector.large{justify-content:center;gap:.5rem}.rating-selector.large .rating-btn{width:44px;height:36px;flex-direction:column;gap:.15rem}.rating-selector.large .star{font-size:1.2rem;color:#eab308}.rating-selector.large .value{font-size:.8rem}.recommendation-options{display:flex;flex-wrap:wrap;gap:.5rem}.recommendation-btn{padding:.35rem .75rem;background:var(--bg-tertiary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-secondary, #a0a0b0);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.recommendation-btn:hover:not(:disabled){background:var(--bg-tertiary, rgba(255, 255, 255, .1))}.recommendation-btn.active{border-width:2px}.recommendation-btn.active.rec-promote{background:#22c55e26;border-color:#22c55e;color:#22c55e}.recommendation-btn.active.rec-re_employ,.recommendation-btn.active.rec-extend_contract{background:#10b98126;border-color:#10b981;color:#10b981}.recommendation-btn.active.rec-training_required{background:#f59e0b26;border-color:#f59e0b;color:#f59e0b}.recommendation-btn.active.rec-do_not_re_employ{background:#ef444426;border-color:#ef4444;color:#ef4444}.recommendation-btn:disabled{cursor:not-allowed;opacity:.7}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.appraisal-detail-modal{max-width:600px;border-radius:16px;overflow:hidden}.appraisal-form-modal{max-width:720px;border-radius:16px;overflow:hidden}.ad-hero{position:relative;background:linear-gradient(135deg,#14b8a640,#06b6d426);padding:1.5rem;border-bottom:1px solid rgba(20,184,166,.2)}.ad-close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#ffffff14;border:none;border-radius:8px;color:var(--text-secondary, #a0a0b0);cursor:pointer;transition:all .2s}.ad-close:hover{background:#ffffff26;color:#fff}.ad-hero-inner{display:flex;align-items:center;gap:1rem}.ad-avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#14b8a6,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:1px;flex-shrink:0;box-shadow:0 4px 12px #14b8a64d}.ad-hero-info{flex:1;min-width:0}.ad-hero-info h3{margin:0 0 .35rem;font-size:1.15rem;font-weight:700;color:#fff}.ad-hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ad-hero-meta span{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--text-secondary, #a0a0b0)}.ad-hero-meta .type-badge{font-size:.7rem}.ad-hero-status{flex-shrink:0}.ad-body{padding:1.25rem 1.5rem}.ad-period-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.625rem;margin-bottom:1.25rem}.ad-card{display:flex;align-items:center;gap:.625rem;padding:.75rem;background:var(--bg-tertiary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .06));border-radius:10px;transition:border-color .2s}.ad-card:hover{border-color:#14b8a633}.ad-card svg{color:#14b8a6;flex-shrink:0;opacity:.7}.ad-card div{display:flex;flex-direction:column;gap:.15rem}.ad-card-label{font-size:.7rem;color:var(--text-secondary, #a0a0b0);text-transform:uppercase;letter-spacing:.3px}.ad-card-value{font-size:.9rem;font-weight:600;color:var(--text-primary, #fff)}.ad-section{margin-bottom:1rem;border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .06));overflow:hidden}.ad-section-header{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);background:#14b8a60f;border-bottom:1px solid rgba(20,184,166,.1)}.ad-section-header svg{color:#14b8a6}.ad-ratings{padding:.75rem 1rem}.ad-rating-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0}.ad-rating-label{width:130px;flex-shrink:0;font-size:.85rem;color:var(--text-primary, #fff)}.ad-rating-bar-track{flex:1;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.ad-rating-bar-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.ad-bar-overall{background:linear-gradient(90deg,#eab308,#f59e0b)!important}.ad-rating-value{width:24px;text-align:center;font-size:.9rem;font-weight:700;font-family:JetBrains Mono,monospace}.ad-val-overall{color:#eab308!important}.ad-rating-overall{margin-top:.5rem;padding-top:.625rem;border-top:1px dashed rgba(255,255,255,.08)}.ad-rating-overall .ad-rating-label{font-weight:700;color:#eab308}.ad-assessment-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;padding:.75rem 1rem}.ad-assessment-card{padding:.75rem;background:var(--bg-tertiary, rgba(255, 255, 255, .02));border-radius:8px;border-left:3px solid rgba(255,255,255,.1)}.ad-assess-strengths{border-left-color:#22c55e}.ad-assess-improve{border-left-color:#f97316}.ad-assess-training{border-left-color:#6366f1}.ad-assess-comments{border-left-color:#8b5cf6}.ad-assess-title{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary, #a0a0b0);margin-bottom:.4rem}.ad-assess-strengths .ad-assess-title svg{color:#22c55e}.ad-assess-improve .ad-assess-title svg{color:#f97316}.ad-assess-training .ad-assess-title svg{color:#6366f1}.ad-assess-comments .ad-assess-title svg{color:#8b5cf6}.ad-assessment-card p{margin:0;font-size:.85rem;color:var(--text-primary, #fff);line-height:1.5}.ad-recommendation-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-radius:12px;margin-top:.5rem;border:1px solid rgba(255,255,255,.1);background:#ffffff08}.ad-rec-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-secondary, #a0a0b0)}.ad-rec-value{font-size:1rem;font-weight:700;letter-spacing:.5px}.rec-banner-promote{background:#22c55e1a;border-color:#22c55e40}.rec-banner-promote .ad-rec-label svg{color:#22c55e}.rec-banner-promote .ad-rec-value{color:#22c55e}.rec-banner-re_employ,.rec-banner-extend_contract{background:#10b9811a;border-color:#10b98140}.rec-banner-re_employ .ad-rec-label svg,.rec-banner-extend_contract .ad-rec-label svg{color:#10b981}.rec-banner-re_employ .ad-rec-value,.rec-banner-extend_contract .ad-rec-value{color:#10b981}.rec-banner-training_required{background:#f59e0b1a;border-color:#f59e0b40}.rec-banner-training_required .ad-rec-label svg{color:#f59e0b}.rec-banner-training_required .ad-rec-value{color:#f59e0b}.rec-banner-do_not_re_employ{background:#ef44441a;border-color:#ef444440}.rec-banner-do_not_re_employ .ad-rec-label svg{color:#ef4444}.rec-banner-do_not_re_employ .ad-rec-value{color:#ef4444}.ad-footer{display:flex;justify-content:flex-end;gap:.625rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08))}.af-header{position:relative;background:linear-gradient(135deg,#14b8a633,#06b6d41a);padding:1.25rem 1.5rem;border-bottom:1px solid rgba(20,184,166,.15)}.af-header-inner{display:flex;align-items:center;gap:.875rem}.af-header-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#14b8a6,#06b6d4);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #14b8a64d}.af-header-icon svg{color:#fff}.af-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#fff}.af-header-sub{font-size:.78rem;color:var(--text-secondary, #a0a0b0);margin-top:.15rem;display:block}.af-body{padding:1rem 1.5rem;max-height:65vh;overflow-y:auto}.af-section{margin-bottom:1rem;border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .06));overflow:hidden}.af-section-header{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);background:#14b8a60d;border-bottom:1px solid rgba(20,184,166,.08)}.af-section-header svg{color:#14b8a6}.af-section-hint{margin-left:auto;font-size:.68rem;font-weight:400;text-transform:none;letter-spacing:normal;opacity:.6}.af-section-content{padding:.875rem 1rem}.af-ratings-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.af-rating-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;border-radius:6px;background:#ffffff05;transition:background .15s}.af-rating-item:hover{background:#ffffff0a}.af-rating-item label{font-size:.82rem;color:var(--text-primary, #fff);white-space:nowrap;margin:0}.af-rating-buttons{display:flex;gap:.25rem}.af-rating-btn{width:30px;height:28px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--text-secondary, #a0a0b0);border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.af-rating-btn:hover{background:#14b8a626;border-color:#14b8a64d;color:#14b8a6}.af-rating-btn.filled{background:#14b8a61a;border-color:#14b8a633;color:#14b8a6}.af-rating-btn.active{background:#14b8a640;border-color:#14b8a6;color:#fff;box-shadow:0 0 8px #14b8a633}.af-overall-rating{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.af-overall-rating label{font-size:.9rem;font-weight:700;color:#eab308;margin:0}.af-overall-buttons{gap:.35rem}.af-star-btn{width:36px;height:34px;font-size:1.1rem}.af-star-btn.filled{background:#eab3081a;border-color:#eab30840;color:#eab308}.af-star-btn.active{background:#eab30840;border-color:#eab308;color:#fbbf24;box-shadow:0 0 10px #eab30833}.af-overall-score{font-size:.9rem;font-weight:700;color:#eab308;margin-left:.5rem;font-family:JetBrains Mono,monospace}.af-assessment-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.af-assess-field{border-left:3px solid rgba(255,255,255,.08);padding-left:.75rem}.af-assess-field label{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;margin-bottom:.35rem;color:var(--text-secondary, #a0a0b0)}.af-field-strengths{border-left-color:#22c55e}.af-field-improve{border-left-color:#f97316}.af-field-training{border-left-color:#6366f1}.af-field-comments{border-left-color:#8b5cf6}.af-field-strengths label svg{color:#22c55e}.af-field-improve label svg{color:#f97316}.af-field-training label svg{color:#6366f1}.af-field-comments label svg{color:#8b5cf6}.af-assess-field textarea{width:100%;background:var(--bg-tertiary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:8px;color:var(--text-primary, #fff);padding:.5rem .625rem;font-size:.82rem;resize:vertical;transition:border-color .2s}.af-assess-field textarea:focus{outline:none;border-color:#14b8a666}.af-recommendation-grid{display:flex;flex-wrap:wrap;gap:.5rem}.af-rec-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .875rem;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--text-secondary, #a0a0b0);border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;text-transform:capitalize}.af-rec-btn:hover{background:#ffffff0f;border-color:#ffffff26}.af-rec-promote.active{background:#22c55e26;border-color:#22c55e66;color:#22c55e}.af-rec-re_employ.active{background:#10b98126;border-color:#10b98166;color:#10b981}.af-rec-extend_contract.active{background:#06b6d426;border-color:#06b6d466;color:#06b6d4}.af-rec-training_required.active{background:#f59e0b26;border-color:#f59e0b66;color:#f59e0b}.af-rec-do_not_re_employ.active{background:#ef444426;border-color:#ef444466;color:#ef4444}.af-footer{display:flex;justify-content:flex-end;gap:.625rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08))}.af-footer .btn-primary{display:inline-flex;align-items:center;gap:.4rem}.crew-visa-manager{background:var(--bg-secondary, #1a1a2e);border-radius:12px;padding:1.5rem;min-height:600px}.section-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.section-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-secondary, #a0a0b0);cursor:pointer;transition:all .2s ease}.section-tab:hover{background:var(--bg-tertiary, rgba(255, 255, 255, .05));color:var(--text-primary, #fff)}.section-tab.active{background:var(--primary, #6366f1);border-color:var(--primary, #6366f1);color:#fff}.crew-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary, rgba(255, 255, 255, .03));border-radius:8px}.crew-selector label{font-size:.9rem;font-weight:500;color:var(--text-secondary, #a0a0b0);white-space:nowrap}.crew-selector select{flex:1;max-width:400px;padding:.625rem .875rem;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-primary, #fff);font-size:.9rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h3{font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff);margin:0}.visa-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.visa-card{background:var(--bg-tertiary, rgba(255, 255, 255, .03));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:10px;padding:1rem;transition:all .2s}.visa-card:hover{border-color:var(--primary, #6366f1);box-shadow:0 4px 12px #0003}.visa-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}.visa-country{display:flex;flex-direction:column}.country-code{font-size:1.5rem;font-weight:700;color:var(--text-primary, #fff);letter-spacing:1px}.country-name{font-size:.8rem;color:var(--text-secondary, #a0a0b0)}.expiry-status{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.status-valid{background:#10b98126;color:#10b981}.status-caution{background:#eab30826;color:#eab308}.status-warning{background:#f59e0b26;color:#f59e0b}.status-expired{background:#ef444426;color:#ef4444}.status-unknown{background:#9ca3af26;color:#9ca3af}.visa-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;font-size:.85rem}.detail-row .label{color:var(--text-secondary, #a0a0b0)}.detail-row .value{color:var(--text-primary, #fff);font-weight:500}.detail-row .value.mono{font-family:JetBrains Mono,monospace}.visa-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:.75rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .06))}.dt-table{width:100%;border-collapse:collapse;background:var(--bg-tertiary, rgba(255, 255, 255, .02));border-radius:10px;overflow:hidden}.dt-table th,.dt-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}.dt-table th{background:var(--bg-tertiary, rgba(255, 255, 255, .04));font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.dt-table td{font-size:.9rem;color:var(--text-primary, #fff)}.badge{display:inline-flex;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.badge-required{background:#f59e0b26;color:#f59e0b}.badge-not-required{background:#10b98126;color:#10b981}.check-form{background:var(--bg-tertiary, rgba(255, 255, 255, .03));padding:1.25rem;border-radius:10px;margin-bottom:1.5rem}.check-form .form-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:1rem;align-items:end}.check-form .form-group{margin:0}.check-form .form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary, #a0a0b0);margin-bottom:.5rem}.check-form .form-group input,.check-form .form-group select{width:100%;padding:.625rem .875rem;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-primary, #fff);font-size:.9rem}.check-results{animation:fadeIn .3s ease}.check-results h4{font-size:1rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 1rem}.result-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.result-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:10px}.result-ok{background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.result-danger{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.result-icon{display:flex;align-items:center;justify-content:center}.icon-success{color:#10b981}.icon-danger{color:#ef4444}.icon-unknown{color:#9ca3af}.result-details{flex:1}.result-country{font-size:1.1rem;font-weight:700;color:var(--text-primary, #fff)}.result-status{font-size:.8rem;color:var(--text-secondary, #a0a0b0)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.btn-edit{background:#6366f126;color:#818cf8}.btn-edit:hover{background:#6366f14d}.btn-delete{background:#ef444426;color:#ef4444}.btn-delete:hover{background:#ef44444d}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--primary, #6366f1);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-hover, #5558e8)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;color:var(--text-secondary, #a0a0b0);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-tertiary, rgba(255, 255, 255, .05));color:var(--text-primary, #fff)}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary, #a0a0b0);text-align:center}.empty-state svg{opacity:.3;margin-bottom:1rem}.empty-state span{font-size:.85rem;opacity:.7;margin-top:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal-content{background:var(--bg-secondary, #1a1a2e);border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff)}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-secondary, #a0a0b0);cursor:pointer;border-radius:6px;transition:all .2s}.btn-close:hover{background:var(--bg-tertiary, rgba(255, 255, 255, .05));color:var(--text-primary, #fff)}.modal-content form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary, #a0a0b0);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;background:var(--bg-tertiary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-primary, #fff);font-size:.9rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.training-matrix{display:flex;flex-direction:column;gap:20px;padding:0}.tm-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.tm-kpi-card{background:var(--card-bg, #1e2a3a);border:1px solid var(--border-color, #2d3748);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,box-shadow .2s}.tm-kpi-card:hover{border-color:var(--accent-color, #60a5fa);box-shadow:0 0 20px #60a5fa14}.tm-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #94a3b8);font-weight:600}.tm-kpi-value{font-size:1.7rem;font-weight:700;color:var(--text-primary, #e2e8f0);line-height:1.1}.tm-kpi-value.success{color:#4ade80}.tm-kpi-value.warning{color:#fbbf24}.tm-kpi-value.danger{color:#f87171}.tm-kpi-value.info{color:#60a5fa}.tm-kpi-sub{font-size:.7rem;color:var(--text-secondary, #94a3b8)}.tm-top-gaps{margin-top:2px}.tm-top-gaps-row{display:flex;justify-content:space-between;padding:3px 0;font-size:.75rem;color:var(--text-secondary, #94a3b8);border-bottom:1px solid var(--border-color, #2d3748)}.tm-top-gaps-row:last-child{border-bottom:none}.tm-top-gaps-count{color:#f87171;font-weight:600}.tm-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tm-toolbar select,.tm-toolbar input{background:var(--card-bg, #1e2a3a);border:1px solid var(--border-color, #2d3748);border-radius:6px;color:var(--text-primary, #e2e8f0);padding:7px 12px;font-size:.82rem;min-width:160px}.tm-toolbar select:focus,.tm-toolbar input:focus{outline:none;border-color:var(--accent-color, #60a5fa)}.tm-view-toggle{display:flex;gap:2px;margin-left:auto;background:var(--card-bg, #1e2a3a);border-radius:6px;padding:2px;border:1px solid var(--border-color, #2d3748)}.tm-view-btn{padding:6px 14px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #94a3b8);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s}.tm-view-btn.active{background:var(--accent-color, #3b82f6);color:#fff}.tm-compliance-table{width:100%;border-collapse:collapse;font-size:.82rem}.tm-compliance-table thead th{background:var(--card-bg, #1e2a3a);color:var(--text-secondary, #94a3b8);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;padding:10px 12px;text-align:left;border-bottom:2px solid var(--border-color, #2d3748);position:sticky;top:0;z-index:1}.tm-compliance-table tbody tr{border-bottom:1px solid var(--border-color, #1e293b);transition:background .15s}.tm-compliance-table tbody tr:hover{background:#60a5fa0a}.tm-compliance-table td{padding:10px 12px;color:var(--text-primary, #e2e8f0);vertical-align:middle}.tm-crew-info{display:flex;flex-direction:column;gap:2px}.tm-crew-name{font-weight:600;color:var(--text-primary, #e2e8f0)}.tm-crew-rank{font-size:.72rem;color:var(--text-secondary, #94a3b8)}.tm-compliance-bar-wrapper{display:flex;align-items:center;gap:8px;min-width:140px}.tm-compliance-bar{flex:1;height:6px;background:var(--border-color, #2d3748);border-radius:3px;overflow:hidden}.tm-compliance-fill{height:100%;border-radius:3px;transition:width .4s ease}.tm-compliance-pct{font-size:.78rem;font-weight:700;min-width:38px;text-align:right}.tm-gap-badges{display:flex;gap:6px;flex-wrap:wrap}.tm-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600}.tm-badge.missing{background:#f8717126;color:#f87171}.tm-badge.expired{background:#fbbf2426;color:#fbbf24}.tm-badge.expiring{background:#60a5fa26;color:#60a5fa}.tm-gap-details{background:var(--card-bg, #1a2332)}.tm-gap-list{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}.tm-gap-chip{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:.72rem;border:1px solid var(--border-color, #2d3748);background:#0003}.tm-gap-chip .reason{font-weight:700;font-size:.65rem;text-transform:uppercase;padding:1px 5px;border-radius:3px}.tm-gap-chip .reason.MISSING{background:#f8717133;color:#f87171}.tm-gap-chip .reason.EXPIRED{background:#fbbf2433;color:#fbbf24}.tm-gap-chip .reason.EXPIRING_SOON{background:#60a5fa33;color:#60a5fa}.tm-matrix-wrapper{overflow-x:auto;border:1px solid var(--border-color, #2d3748);border-radius:8px}.tm-matrix-table{width:100%;border-collapse:collapse;font-size:.72rem}.tm-matrix-table th,.tm-matrix-table td{padding:6px 8px;text-align:center;border:1px solid var(--border-color, #1e293b)}.tm-matrix-table thead th{background:var(--card-bg, #1e2a3a);color:var(--text-secondary, #94a3b8);font-weight:600;position:sticky;top:0;z-index:2;white-space:nowrap}.tm-matrix-table thead th.rank-header{writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);height:100px;font-size:.68rem;padding:8px 4px}.tm-matrix-table tbody th{text-align:left;font-weight:500;color:var(--text-primary, #e2e8f0);background:var(--card-bg, #1a2332);white-space:nowrap;position:sticky;left:0;z-index:1;padding:6px 10px;min-width:200px}.tm-matrix-cell{width:28px;height:28px;cursor:default}.tm-matrix-cell.required{background:#60a5fa2e;color:#60a5fa}.tm-matrix-cell.not-required{background:transparent;color:transparent}.tm-matrix-cell .dot{display:inline-block;width:10px;height:10px;border-radius:50%}.tm-matrix-cell .dot.required{background:#60a5fa}.tm-matrix-cell .dot.not{background:transparent;border:1px solid var(--border-color, #334155)}.tm-category-row th{background:#60a5fa14!important;color:var(--accent-color, #60a5fa)!important;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;padding:8px 10px}.tm-weight{display:inline-flex;gap:1px;margin-left:6px}.tm-weight-dot{width:5px;height:5px;border-radius:50%;background:var(--border-color, #475569)}.tm-weight-dot.active{background:#f87171}.tm-dept-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.68rem;font-weight:600;text-transform:uppercase}.tm-dept-badge.DECK{background:#60a5fa26;color:#60a5fa}.tm-dept-badge.ENGINE{background:#fbbf2426;color:#fbbf24}.tm-dept-badge.CATERING{background:#4ade8026;color:#4ade80}.tm-dept-badge.RADIO{background:#a855f726;color:#a855f7}.tm-loading{display:flex;justify-content:center;padding:60px;color:var(--text-secondary, #94a3b8);font-size:.9rem}.tm-empty{text-align:center;padding:40px;color:var(--text-secondary, #94a3b8)}@media(min-width:1440px){.crew-management-hub .tab-content{padding:0 4px}}.crew-travel-manager{display:flex;flex-direction:column;gap:16px;padding:0}.ct-section-tabs{display:flex;gap:2px;background:var(--card-bg, #1e2a3a);border-radius:8px;padding:3px;border:1px solid var(--border-color, #2d3748);width:fit-content}.ct-section-tab{display:flex;align-items:center;gap:6px;padding:7px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #94a3b8);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s}.ct-section-tab:hover{color:var(--text-primary, #e2e8f0);background:#ffffff0a}.ct-section-tab.active{background:var(--accent-color, #3b82f6);color:#fff;box-shadow:0 2px 8px #3b82f640}.ct-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ct-kpi-card{background:var(--card-bg, #1e2a3a);border:1px solid var(--border-color, #2d3748);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.ct-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:10px 10px 0 0;background:linear-gradient(90deg,transparent,var(--accent-color, #3b82f6),transparent);opacity:0;transition:opacity .2s}.ct-kpi-card:hover{border-color:var(--accent-color, #60a5fa);box-shadow:0 0 20px #60a5fa14}.ct-kpi-card:hover:before{opacity:1}.ct-kpi-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#60a5fa1a;color:#60a5fa;flex-shrink:0}.ct-kpi-icon.warning{background:#fbbf241a;color:#fbbf24}.ct-kpi-icon.success{background:#4ade801a;color:#4ade80}.ct-kpi-icon.danger{background:#f871711a;color:#f87171}.ct-kpi-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #94a3b8);font-weight:600}.ct-kpi-value{font-size:1.6rem;font-weight:700;color:var(--text-primary, #e2e8f0);line-height:1.1}.ct-kpi-value.info{color:#60a5fa}.ct-kpi-value.warning{color:#fbbf24}.ct-kpi-value.success{color:#4ade80}.ct-kpi-value.danger{color:#f87171}.ct-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ct-toolbar select,.ct-toolbar input[type=text]{background:var(--card-bg, #1e2a3a);border:1px solid var(--border-color, #2d3748);border-radius:6px;color:var(--text-primary, #e2e8f0);padding:7px 12px;font-size:.8rem;height:34px}.ct-toolbar select{min-width:160px}.ct-toolbar input[type=text]{min-width:200px}.ct-toolbar select:focus,.ct-toolbar input:focus{outline:none;border-color:var(--accent-color, #60a5fa);box-shadow:0 0 0 2px #60a5fa26}.ct-toolbar .btn-primary{margin-left:auto;height:34px;display:flex;align-items:center;gap:6px;font-size:.8rem}.ct-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:10px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.ct-status.REQUESTED{background:#60a5fa26;color:#60a5fa}.ct-status.APPROVED{background:#4ade8026;color:#4ade80}.ct-status.BOOKED{background:#a855f726;color:#a855f7}.ct-status.IN_TRANSIT{background:#fbbf2426;color:#fbbf24}.ct-status.COMPLETED{background:#94a3b826;color:#94a3b8}.ct-status.CANCELLED{background:#f8717126;color:#f87171}.ct-status.DRAFT{background:#94a3b81f;color:#64748b}.ct-status.CONFIRMED{background:#4ade8026;color:#4ade80}.ct-status.CHECKED_IN{background:#fbbf2426;color:#fbbf24}.ct-status.NO_SHOW{background:#f8717126;color:#f87171}.ct-priority{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.ct-priority.URGENT{background:#f8717133;color:#f87171}.ct-priority.NORMAL{background:#60a5fa26;color:#60a5fa}.ct-priority.LOW{background:#94a3b81f;color:#94a3b8}.ct-type-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap;background:#60a5fa1f;color:#94a3b8}.ct-type-badge.SIGN_ON{background:#4ade8024;color:#4ade80}.ct-type-badge.SIGN_OFF{background:#f8717124;color:#f87171}.ct-type-badge.REPATRIATION{background:#a855f724;color:#a855f7}.ct-type-badge.CREW_CHANGE{background:#60a5fa24;color:#60a5fa}.ct-type-badge.MEDICAL{background:#fbbf2424;color:#fbbf24}.ct-type-badge.TRAINING{background:#38bdf824;color:#38bdf8}.ct-type-badge.OTHER{background:#94a3b81f;color:#94a3b8}.ct-type-badge.FLIGHT{background:#60a5fa26;color:#60a5fa}.ct-type-badge.HOTEL{background:#a855f726;color:#a855f7}.ct-type-badge.LAUNCH{background:#4ade8026;color:#4ade80}.ct-type-badge.TAXI{background:#fbbf2426;color:#fbbf24}.ct-type-badge.FERRY{background:#38bdf826;color:#38bdf8}.ct-type-badge.TRAIN{background:#f472b626;color:#f472b6}.ct-expand-btn{background:none;border:none;color:var(--text-secondary, #94a3b8);cursor:pointer;padding:2px;transition:all .2s;border-radius:3px}.ct-expand-btn:hover{color:var(--text-primary, #e2e8f0);background:#ffffff0d}.ct-expand-btn.open{transform:rotate(90deg);color:var(--accent-color, #60a5fa)}.ct-booking-subrow{background:#0000001f}.ct-booking-subrow td{padding:8px 12px!important;border-bottom:1px solid rgba(255,255,255,.03)}.ct-booking-pills{display:flex;flex-direction:column;gap:6px;padding:4px 0}.ct-booking-pill{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-color, #2d3748);background:#00000026;font-size:.78rem;color:var(--text-primary, #e2e8f0);transition:border-color .15s}.ct-booking-pill:hover{border-color:#60a5fa4d}.ct-booking-pill .pill-label{color:var(--text-secondary, #94a3b8);font-size:.72rem;min-width:120px}.ct-booking-pill .pill-cost{font-weight:700;color:#4ade80;margin-left:auto}.ct-dashboard-section{display:flex;flex-direction:column;gap:10px}.ct-dashboard-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #94a3b8);padding-bottom:4px;border-bottom:1px solid var(--border-color, #2d3748)}.ct-cost-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.ct-cost-item{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:var(--card-bg, #1e2a3a);border-radius:8px;border:1px solid var(--border-color, #2d3748);transition:border-color .15s}.ct-cost-item:hover{border-color:#60a5fa40}.ct-cost-item .cost-label{font-size:.68rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;font-weight:600;letter-spacing:.03em}.ct-cost-item .cost-value{font-size:1.05rem;font-weight:700;color:var(--text-primary, #e2e8f0)}.ct-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ctFadeIn .15s ease}@keyframes ctFadeIn{0%{opacity:0}to{opacity:1}}@keyframes ctSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ct-modal{background:var(--card-bg, #1e2a3a);border:1px solid var(--border-color, #2d3748);border-radius:12px;width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff08;animation:ctSlideUp .2s ease}.ct-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #2d3748)}.ct-modal-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary, #e2e8f0)}.ct-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.ct-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ct-form-group{display:flex;flex-direction:column;gap:4px}.ct-form-group label{font-size:.7rem;font-weight:600;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.04em}.ct-form-group input,.ct-form-group select,.ct-form-group textarea{background:#0003;border:1px solid var(--border-color, #2d3748);border-radius:6px;color:var(--text-primary, #e2e8f0);padding:8px 12px;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.ct-form-group input:focus,.ct-form-group select:focus,.ct-form-group textarea:focus{outline:none;border-color:var(--accent-color, #60a5fa);box-shadow:0 0 0 2px #60a5fa1f}.ct-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border-color, #2d3748)}.ct-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:60px;color:var(--text-secondary, #94a3b8);font-size:.85rem}.ct-empty{text-align:center;padding:60px 20px;color:var(--text-secondary, #94a3b8)}.ct-empty svg{opacity:.2;margin-bottom:12px}.ct-empty div{font-size:.9rem}.ct-actions{display:flex;gap:2px}.ct-actions .btn-icon{padding:5px;border:none;background:none;color:var(--text-secondary, #94a3b8);cursor:pointer;border-radius:4px;transition:all .15s}.ct-actions .btn-icon:hover{color:var(--text-primary, #e2e8f0);background:#ffffff0f}.ct-actions .btn-icon.danger:hover{color:#f87171;background:#f871711a}.ct-route{display:flex;align-items:center;gap:5px;font-size:.78rem;white-space:nowrap}.ct-route svg{color:var(--accent-color, #60a5fa);flex-shrink:0}.ct-route .arrow{color:var(--text-secondary, #64748b);font-size:.72rem}.ct-mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:.76rem;letter-spacing:.02em}.ct-crew-name{font-weight:600;color:var(--text-primary, #e2e8f0);line-height:1.3}.ct-crew-rank{color:var(--text-secondary, #94a3b8);font-weight:400;font-size:.72rem;display:block}.ct-cost-cell{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary, #e2e8f0);font-size:.8rem}.ct-cost-cell.zero{color:var(--text-secondary, #64748b);font-weight:400}.ct-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.ct-status-card{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--card-bg, #1e2a3a);border:1px solid var(--border-color, #2d3748);border-radius:8px}.ct-status-card .status-count{font-size:1.2rem;font-weight:700;color:var(--text-primary, #e2e8f0);min-width:30px}.ct-status-card .status-label{font-size:.72rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;font-weight:600;letter-spacing:.03em}.ct-toast{position:fixed;bottom:24px;right:24px;z-index:2000;padding:10px 20px;border-radius:8px;color:#fff;font-size:.82rem;font-weight:600;box-shadow:0 4px 20px #0006;animation:ctSlideUp .2s ease}.ct-toast.success{background:#166534}.ct-toast.error{background:#991b1b}.mlc-welfare-dashboard{padding:0}.mlc-welfare-dashboard .welfare-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#6366f114,#8b5cf60f);border:1px solid rgba(99,102,241,.15);border-radius:10px}.mlc-welfare-dashboard .welfare-header .header-left{display:flex;align-items:center;gap:12px}.mlc-welfare-dashboard .welfare-header .header-left svg{color:var(--accent-primary, #6366f1)}.mlc-welfare-dashboard .welfare-header h2{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0}.mlc-welfare-dashboard .welfare-header h2+p{font-size:.78rem;color:var(--text-secondary);margin:2px 0 0}.mlc-welfare-dashboard .welfare-header .header-actions{display:flex;gap:8px;align-items:center}.mlc-welfare-dashboard .welfare-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.mlc-welfare-dashboard .welfare-kpi-card{background:var(--bg-secondary, #1e1e2e);border:1px solid var(--border-color, #2d2d3d);border-radius:10px;padding:16px 18px;display:flex;align-items:center;gap:14px;transition:border-color .2s,box-shadow .2s}.mlc-welfare-dashboard .welfare-kpi-card:hover{border-color:#6366f14d;box-shadow:0 2px 12px #6366f114}.mlc-welfare-dashboard .welfare-kpi-card .kpi-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mlc-welfare-dashboard .welfare-kpi-card.onboard .kpi-icon{background:#6366f11f;color:#818cf8}.mlc-welfare-dashboard .welfare-kpi-card.max-service .kpi-icon{background:#fbbf241f;color:#fbbf24}.mlc-welfare-dashboard .welfare-kpi-card.overdue .kpi-icon{background:#f871711f;color:#f87171}.mlc-welfare-dashboard .welfare-kpi-card.no-contract .kpi-icon{background:#fb923c1f;color:#fb923c}.mlc-welfare-dashboard .welfare-kpi-card .kpi-value{font-size:1.6rem;font-weight:700;color:var(--text-primary);line-height:1}.mlc-welfare-dashboard .welfare-kpi-card .kpi-label{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.mlc-welfare-dashboard .welfare-kpi-card .kpi-sublabel{font-size:.68rem;color:var(--text-tertiary);margin-top:1px}.mlc-welfare-dashboard .welfare-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mlc-welfare-dashboard .welfare-content-grid.full-width{grid-template-columns:1fr}.mlc-welfare-dashboard .welfare-card{background:var(--bg-secondary, #1e1e2e);border:1px solid var(--border-color, #2d2d3d);border-radius:10px;overflow:hidden}.mlc-welfare-dashboard .welfare-card.alerts-card{grid-column:1 / -1}.mlc-welfare-dashboard .welfare-card .card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color, #2d2d3d);font-size:.85rem;font-weight:600;color:var(--text-primary)}.mlc-welfare-dashboard .welfare-card .card-header svg{color:var(--accent-primary, #6366f1);flex-shrink:0}.mlc-welfare-dashboard .welfare-card .card-header .badge{margin-left:auto;background:#f8717126;color:#f87171;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600}.mlc-welfare-dashboard .welfare-card .card-header .badge.clean{background:#34d39926;color:#34d399}.mlc-welfare-dashboard .welfare-card .card-body{padding:0;max-height:420px;overflow-y:auto}.mlc-welfare-dashboard .welfare-alert-table{width:100%;border-collapse:collapse;font-size:.78rem}.mlc-welfare-dashboard .welfare-alert-table thead th{position:sticky;top:0;background:var(--bg-tertiary, #161624);padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-color);white-space:nowrap;z-index:1}.mlc-welfare-dashboard .welfare-alert-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}.mlc-welfare-dashboard .welfare-alert-table tbody tr:hover{background:#ffffff08}.mlc-welfare-dashboard .welfare-alert-table td{padding:8px 12px;color:var(--text-primary);white-space:nowrap}.mlc-welfare-dashboard .severity-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.mlc-welfare-dashboard .severity-badge.CRITICAL{background:#f8717126;color:#f87171}.mlc-welfare-dashboard .severity-badge.WARNING{background:#fbbf2426;color:#fbbf24}.mlc-welfare-dashboard .severity-badge.INFO{background:#60a5fa26;color:#60a5fa}.mlc-welfare-dashboard .service-progress{display:flex;align-items:center;gap:8px;min-width:140px}.mlc-welfare-dashboard .service-progress .progress-bar{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.mlc-welfare-dashboard .service-progress .progress-fill{height:100%;border-radius:3px;transition:width .3s}.mlc-welfare-dashboard .service-progress .progress-fill.safe{background:linear-gradient(90deg,#34d399,#6ee7b7)}.mlc-welfare-dashboard .service-progress .progress-fill.warning{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.mlc-welfare-dashboard .service-progress .progress-fill.critical{background:linear-gradient(90deg,#f87171,#ef4444)}.mlc-welfare-dashboard .service-progress .progress-label{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;min-width:48px;text-align:right}.mlc-welfare-dashboard .service-table{width:100%;border-collapse:collapse;font-size:.78rem}.mlc-welfare-dashboard .service-table thead th{position:sticky;top:0;background:var(--bg-tertiary, #161624);padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-color);white-space:nowrap;z-index:1}.mlc-welfare-dashboard .service-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}.mlc-welfare-dashboard .service-table tbody tr:hover{background:#ffffff08}.mlc-welfare-dashboard .service-table td{padding:8px 12px;color:var(--text-primary);white-space:nowrap}.mlc-welfare-dashboard .empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:var(--text-tertiary)}.mlc-welfare-dashboard .empty-state svg{opacity:.4}.mlc-welfare-dashboard .empty-state p{font-size:.82rem;margin:0}.mlc-welfare-dashboard .loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--text-secondary)}.mlc-welfare-dashboard .loading-state .spinning{animation:spin 1s linear infinite}@media(max-width:1100px){.mlc-welfare-dashboard .welfare-kpi-grid{grid-template-columns:repeat(2,1fr)}.mlc-welfare-dashboard .welfare-content-grid{grid-template-columns:1fr}}.crew-management-hub{display:flex;flex-direction:column;height:100%;background:var(--card-bg);overflow:hidden}.crew-management-hub .hub-header{padding:1.5rem 2rem 1rem;background:linear-gradient(135deg,rgba(20,184,166,.05) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.crew-management-hub .header-title{display:flex;align-items:center;gap:1rem}.crew-management-hub .header-title>svg{flex-shrink:0;padding:.75rem;background:linear-gradient(135deg,#14b8a626,#14b8a614);border:1px solid rgba(20,184,166,.2);border-radius:12px;color:#5eead4}.crew-management-hub .header-title h1{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.crew-management-hub .header-title p{margin:0;font-size:.85rem;color:#94a3b8}.crew-management-hub .tab-switcher{display:flex;align-items:flex-start;gap:0;padding:.625rem 2rem;background:#00000026;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap;flex-shrink:0}.crew-management-hub .tab-group{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap}.crew-management-hub .tab-group-label{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b880;padding:.5rem .5rem .5rem .25rem;white-space:nowrap;-webkit-user-select:none;user-select:none}.crew-management-hub .tab-group-divider{width:1px;height:28px;background:#ffffff14;margin:.4rem .5rem;align-self:center;flex-shrink:0}.crew-management-hub .tab-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:1px solid transparent;border-radius:8px;color:#94a3b8;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.crew-management-hub .tab-btn:hover{background:#ffffff0d;color:#cbd5e1}.crew-management-hub .tab-btn.active{background:linear-gradient(135deg,#14b8a626,#14b8a60d);border-color:#14b8a64d;color:#5eead4}.crew-management-hub .tab-btn .tab-label{font-weight:500}.crew-management-hub .tab-content{flex:1;overflow:auto;background:var(--card-bg)}.crew-management-hub .tab-content>div{height:100%}@media(max-width:768px){.crew-management-hub .hub-header{padding:1rem 1rem .75rem}.crew-management-hub .header-title h1{font-size:1.2rem}.crew-management-hub .tab-switcher{padding:.5rem 1rem;overflow-x:auto}.crew-management-hub .tab-btn{padding:.5rem .75rem;font-size:.8rem}}.crew-management-hub .tab-content::-webkit-scrollbar{width:8px}.crew-management-hub .tab-content::-webkit-scrollbar-track{background:#0003}.crew-management-hub .tab-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.crew-management-hub .tab-content::-webkit-scrollbar-thumb:hover{background:#ffffff40}.audit-manager{display:flex;flex-direction:column;gap:16px}.sh-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.sh-form-modal{background:linear-gradient(145deg,#1e293bf7,#0f172afa);border:1px solid rgba(148,163,184,.15);border-radius:14px;box-shadow:0 25px 60px #00000080,0 0 40px #3b82f60f;max-width:560px;width:92%;max-height:85vh;display:flex;flex-direction:column;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sh-form-modal.audit-form,.sh-form-modal.finding-form{max-width:640px;width:95%}.sh-form-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(148,163,184,.1)}.sh-form-header h3{margin:0;font-size:1.05rem;font-weight:600;color:#e2e8f0}.sh-form-close{background:none;border:none;color:#94a3b8;font-size:1.4rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.sh-form-close:hover{color:#f87171}.sh-form-body{padding:16px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.sh-form-row{display:flex;flex-direction:column;gap:4px}.sh-form-row label{font-size:.76rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.sh-form-row input,.sh-form-row select,.sh-form-row textarea{background:#0000004d;border:1px solid rgba(148,163,184,.15);color:#e2e8f0;padding:9px 12px;border-radius:8px;font-size:.84rem;font-family:inherit;transition:all .2s;width:100%;box-sizing:border-box}.sh-form-row input:focus,.sh-form-row select:focus,.sh-form-row textarea:focus{outline:none;border-color:#3b82f673;box-shadow:0 0 0 2px #3b82f61a}.sh-form-row input::placeholder,.sh-form-row textarea::placeholder{color:#475569}.sh-form-row select option{background:#1e293b;color:#e2e8f0}.sh-form-row textarea{resize:vertical;min-height:60px}.sh-form-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid rgba(148,163,184,.1)}.sh-form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sh-form-section-label{font-size:.78rem;font-weight:700;color:#a78bfa;text-transform:uppercase;letter-spacing:.06em;margin-top:12px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid rgba(167,139,250,.2)}.audit-detail-panel{background:#1e293ba6;border:1px solid rgba(148,163,184,.12);border-radius:10px;padding:20px;margin-top:4px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideDown .25s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.audit-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px;flex-wrap:wrap}.audit-detail-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.audit-detail-title h3{margin:0;font-size:1.05rem;font-weight:600;color:#e2e8f0}.audit-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.result-actions{display:flex;align-items:center;gap:6px}.result-select{background:#1e293bcc;border:1px solid rgba(148,163,184,.2);color:#e2e8f0;padding:5px 8px;border-radius:6px;font-size:.78rem}.result-select option{background:#1e293b;color:#e2e8f0}.audit-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;padding:12px;background:#0f172a59;border-radius:8px;border:1px solid rgba(148,163,184,.08)}.meta-item{display:flex;flex-direction:column;gap:3px}.meta-item label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.meta-item span{font-size:.84rem;color:#e2e8f0;font-weight:500}.findings-section{border-top:1px solid rgba(148,163,184,.1);padding-top:14px}.findings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.findings-header h4{margin:0;font-size:.92rem;font-weight:600;color:#e2e8f0;display:flex;align-items:center;gap:6px}.findings-empty{text-align:center;padding:24px;color:#64748b;font-size:.84rem;font-style:italic}.findings-table{max-height:360px;overflow-y:auto}.sh-table tbody tr.selected-row{background:#3b82f61a;border-left:3px solid #3b82f6}.sh-table tbody tr{cursor:pointer}.audit-type-badge{font-size:.72rem;padding:2px 8px;border-radius:4px;background:#6366f11f;color:#a5b4fc;white-space:nowrap;font-weight:500}.finding-type-badge{font-size:.72rem;padding:2px 8px;border-radius:4px;background:#f59e0b1a;color:#fbbf24;white-space:nowrap;font-weight:500}.finding-count{font-size:.78rem;display:flex;align-items:center;gap:4px}.finding-open{color:#f87171;font-weight:600}.finding-total{color:#94a3b8}.overdue-date{color:#f87171!important;font-weight:600}.sh-action-btn.verify{color:#34d399}.sh-action-btn.verify:hover{background:#34d39926}.sh-mono-blue{color:#60a5fa;background:#3b82f614;padding:1px 6px;border-radius:4px;font-family:JetBrains Mono,SF Mono,monospace;font-size:.78rem;font-weight:500}.sh-mono-green{color:#4ade80;background:#22c55e14;padding:1px 6px;border-radius:4px;font-family:JetBrains Mono,SF Mono,monospace;font-size:.78rem;font-weight:500;margin-left:4px}.btn-sm{padding:4px 10px;font-size:.76rem;border-radius:5px;cursor:pointer}.btn-warning{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.btn-warning:hover{background:#f59e0b40}.btn-success{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.btn-ghost{background:transparent;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.btn-ghost:hover{background:#94a3b81a}.defect-list{display:flex;flex-direction:column;gap:16px;padding:20px}.defect-list.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-secondary)}.defect-list.loading .spin{animation:spin 1s linear infinite}.defect-tabs{display:flex;gap:8px;margin-bottom:8px}.defect-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.defect-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.defect-tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.defect-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.defect-filters{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.defect-filters .search-input{height:38px;padding:0 12px;min-width:180px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;outline:none}.defect-filters .search-input:focus{border-color:var(--accent-primary)}.defect-filters .filter-select{height:38px;padding:0 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.defect-filters .filter-select:hover{border-color:var(--accent-primary)}.defect-filters .clear-filters{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-secondary);font-size:.75rem;cursor:pointer}.defect-filters .clear-filters:hover{background:var(--bg-hover);color:var(--text-primary)}.defect-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.875rem}.defect-inline-form{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:16px;margin-bottom:16px}.inline-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.inline-form-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.inline-form-row{display:flex;gap:12px;flex-wrap:nowrap;align-items:flex-end;overflow-x:auto;padding-bottom:4px}.form-field{display:flex;flex-direction:column;gap:4px;min-width:130px;flex-shrink:0}.form-field input,.form-field select{height:36px;padding:0 10px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.85rem}.form-actions{display:flex;gap:8px;flex-shrink:0}.btn-cancel{height:36px;padding:0 14px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer}.btn-save{height:36px;padding:0 14px;background:var(--accent-primary);border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer}.defect-number code,.ncr-number code{font-family:JetBrains Mono,Consolas,monospace;font-size:.8rem;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;color:var(--accent-primary)}.defect-title,.ncr-title{max-width:320px}.location,.ncr-type{color:var(--text-secondary);font-size:.8rem}.overdue{color:#dc2626;font-weight:600}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.severity-badge{display:inline-block;padding:4px 10px;background:color-mix(in srgb,var(--severity-color) 15%,transparent);color:var(--severity-color);font-size:.75rem;font-weight:600;border-radius:4px;text-transform:uppercase}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.defect-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:16px}.dt-table tbody tr.actions-row{background:#0f172a66}.ncr-actions-panel{padding:16px 20px;display:flex;flex-direction:column;gap:16px}.ncr-section h5{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.85rem;font-weight:600;color:var(--text-primary)}.ncr-section h5 svg{color:var(--accent-primary)}.ncr-section p{margin:0;font-size:.85rem;color:var(--text-secondary);background:var(--bg-secondary);padding:10px 14px;border-radius:6px;border-left:3px solid var(--accent-primary)}.loading-text,.empty-text{color:var(--text-tertiary);font-size:.85rem;padding:10px;font-style:italic}.action-status{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.action-status.completed{background:#10b98126;color:#10b981}.action-status.pending{background:#f59e0b26;color:#f59e0b}.action-status.open{background:#3b82f626;color:#3b82f6}.action-status.overdue{background:#ef444426;color:#ef4444}.action-btn-sm{width:24px;height:24px;padding:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.action-btn-sm.action-btn-success{background:#10b98126;border-color:#10b981;color:#10b981}.action-btn-sm.action-btn-success:hover{background:#10b981;color:#fff}.action-buttons{display:flex;gap:4px;white-space:nowrap;flex-wrap:nowrap;min-width:110px}.inline-input{height:28px;padding:0 8px;background:var(--bg-primary);border:1px solid var(--accent-primary);border-radius:4px;color:var(--text-primary);font-size:.75rem;width:100%}.inline-input:focus{outline:none;border-color:var(--accent-secondary);box-shadow:0 0 0 2px #3b82f633}.dt-table tbody tr.editing-row{background:#3b82f61a}.dt-table tbody tr.editing-row:hover{background:#3b82f626}.action-status.in_progress{background:#3b82f626;color:#3b82f6}.golden-thread-badges{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.gt-links{white-space:nowrap;min-width:80px}.gt-links:empty:after{content:"—";color:var(--text-tertiary)}.gt-badge.gt-ncr{background:#8b5cf633;color:#8b5cf6}.gt-badge.gt-ncr:hover{background:#8b5cf659}.gt-badge.gt-defect{background:#f9731633;color:#f97316}.gt-badge.gt-defect:hover{background:#f9731659}.ncr-actions-footer{border-top:1px solid var(--border-subtle);padding-top:12px;margin-top:12px;display:flex;justify-content:flex-start}.btn-create-wo{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-right:auto}.btn-create-wo:hover{background:linear-gradient(135deg,#ea580c,#c2410c);transform:translateY(-1px);box-shadow:0 4px 12px #f973164d}.linked-items-container{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-subtle)}.linked-items-container.compact{padding:8px;gap:6px}.linked-items-container.inline{display:inline-flex;padding:4px 8px;background:transparent;border:none}.linked-items-header{width:100%;display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.linked-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:20px;font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;text-decoration:none}.linked-item:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.linked-item .link-icon{opacity:.7;transition:opacity .2s}.linked-item:hover .link-icon{opacity:1}.linked-item .link-type{font-size:.65rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;margin-right:2px}.linked-item.type-wo .link-type{background:#3b82f633;color:#3b82f6}.linked-item.type-ra .link-type{background:#f59e0b33;color:#f59e0b}.linked-item.type-ptw .link-type{background:#ef444433;color:#ef4444}.linked-item.type-defect .link-type{background:#a855f733;color:#a855f7}.linked-item.type-ncr .link-type{background:#dc262633;color:#dc2626}.linked-item.type-survey .link-type{background:#10b98133;color:#10b981}.linked-item.type-jp .link-type{background:#6366f133;color:#6366f1}.linked-item .link-status{width:8px;height:8px;border-radius:50%;margin-left:4px}.linked-item .link-status.status-draft{background:#6b7280}.linked-item .link-status.status-open{background:#f59e0b}.linked-item .link-status.status-in-progress{background:#3b82f6}.linked-item .link-status.status-approved,.linked-item .link-status.status-completed{background:#10b981}.linked-item .link-status.status-closed{background:#6b7280}.linked-item .link-status.status-high{background:#ef4444}.linked-item .link-status.status-critical{background:#dc2626}.linked-items-empty{display:flex;align-items:center;gap:6px;padding:8px 12px;color:var(--text-tertiary);font-size:.8rem;font-style:italic}.add-link-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:1px dashed var(--border-primary);border-radius:20px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.add-link-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary)}.linked-items-card{background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden}.linked-items-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.linked-items-card-header h5{margin:0;font-size:.85rem;font-weight:600;color:var(--text-primary)}.linked-items-card-header .count-badge{padding:2px 8px;background:var(--accent-primary);color:#fff;font-size:.7rem;font-weight:600;border-radius:10px}.linked-items-card-body{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.linked-item-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border-radius:8px;transition:background .15s ease}.linked-item-row:hover{background:var(--bg-hover)}.linked-item-row .item-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.linked-item-row .item-icon.icon-wo{background:#3b82f626;color:#3b82f6}.linked-item-row .item-icon.icon-ra{background:#f59e0b26;color:#f59e0b}.linked-item-row .item-icon.icon-ptw{background:#ef444426;color:#ef4444}.linked-item-row .item-icon.icon-defect{background:#a855f726;color:#a855f7}.linked-item-row .item-icon.icon-ncr{background:#dc262626;color:#dc2626}.linked-item-row .item-icon.icon-survey{background:#10b98126;color:#10b981}.linked-item-row .item-icon.icon-jp{background:#6366f126;color:#6366f1}.linked-item-row .item-info{flex:1;min-width:0}.linked-item-row .item-number{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent-primary);margin-bottom:2px}.linked-item-row .item-title{font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linked-item-row .item-status{padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.linked-item-row .item-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.linked-item-row .item-action:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}@media(max-width:768px){.linked-items-container{flex-direction:column}.linked-item{width:100%;justify-content:flex-start}}.ra-list{display:flex;flex-direction:column;gap:16px;padding:20px}.ra-list.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-secondary)}.ra-list.loading .spin{animation:spin 1s linear infinite}.ra-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.ra-filters{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.ra-filters .search-input{height:38px;padding:0 12px;min-width:140px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;outline:none}.ra-filters .search-input:focus{border-color:var(--accent-primary)}.ra-filters .filter-select{height:38px;padding:0 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.ra-filters .filter-select:hover{border-color:var(--accent-primary)}.ra-filters .clear-filters{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-secondary);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:all .15s ease}.ra-filters .clear-filters:hover{background:var(--bg-hover);color:var(--text-primary)}.ra-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.875rem}.ra-inline-form{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:20px;margin-bottom:16px}.inline-form-grid{display:flex;flex-direction:column;gap:12px}.form-row{display:flex;gap:12px;flex-wrap:nowrap}.form-field{display:flex;flex-direction:column;gap:4px;min-width:130px;flex:1}.form-field.flex-3{flex:3}.form-field input,.form-field select{height:38px;padding:0 12px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.875rem}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--accent-primary)}.dt-table tbody tr.extreme{border-left:3px solid #dc2626!important}.dt-table tbody tr.high{border-left:3px solid #ef4444!important}.dt-table tbody tr.medium{border-left:3px solid #f59e0b!important}.ra-number code{font-family:JetBrains Mono,Consolas,monospace;font-size:.8rem;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;color:var(--accent-primary)}.ra-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hazard-count{text-align:center;font-weight:600;color:var(--text-secondary)}.date{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.review-date{display:flex;align-items:center;gap:6px}.overdue-icon{color:#ef4444;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.risk-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.risk-cell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;border:2px solid;font-weight:700;font-size:.75rem}.ra-details-panel{padding:20px}.details-header{background:var(--bg-secondary);border-radius:8px;padding:14px;margin-bottom:16px;border:1px solid var(--border-subtle)}.details-header h5{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.details-header p{margin:0;font-size:.875rem;color:var(--text-primary);line-height:1.5}.hazards-section{background:var(--bg-secondary);border-radius:8px;padding:14px;border:1px solid var(--border-subtle)}.hazards-section h5{display:flex;align-items:center;gap:6px;margin:0;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.hazards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-add-hazard{display:flex;align-items:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-hazard:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}.hazard-form{background:var(--bg-tertiary);border:1px solid var(--accent-primary);border-radius:8px;padding:16px;margin-bottom:16px}.hazard-form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.hazard-form-row:last-child{margin-bottom:0}.hazard-form-field{display:flex;flex-direction:column;gap:4px;min-width:120px;flex:1}.hazard-form-field.flex-2{flex:2}.hazard-form-field label{font-size:.7rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.hazard-form-field input,.hazard-form-field select{height:34px;padding:0 10px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.85rem}.hazard-form-field input:focus,.hazard-form-field select:focus{outline:none;border-color:var(--accent-primary)}.hazard-form-actions{display:flex;gap:8px;margin-left:auto}.btn-cancel-sm,.btn-save-sm{height:34px;padding:0 14px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-cancel-sm{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary)}.btn-cancel-sm:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-save-sm{background:var(--accent-primary);border:none;color:#fff}.btn-save-sm:hover{background:#2563eb}.hazard-actions{display:flex;gap:4px;margin-left:8px}.action-btn-sm{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid var(--border-primary);border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.action-btn-sm.action-btn-danger:hover{background:#ef4444;border-color:#ef4444}.risk-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase}.hazards-list{display:flex;flex-direction:column;gap:12px}.hazard-card{background:var(--bg-tertiary);border-radius:8px;padding:14px;border-left:3px solid var(--accent-primary)}.hazard-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.hazard-num{font-weight:700;font-size:.8rem;color:var(--accent-primary)}.hazard-type{font-weight:600;color:var(--text-primary);font-size:.9rem}.risk-scores{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:.75rem;color:var(--text-secondary)}.hazard-desc{margin:0 0 10px;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.controls-list{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--border-subtle)}.controls-label{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:4px}.control-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-radius:4px;font-size:.8rem}.control-item.implemented{background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.ctrl-icon{font-size:1rem}.ctrl-desc{color:var(--text-primary)}.implemented-check{margin-left:auto;color:#10b981}.ra-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:16px}.linked-items-section{margin-top:16px;padding:16px;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-subtle)}.linked-items-section h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.85rem;font-weight:600;color:var(--text-primary)}.linked-items-section h5 svg{color:var(--accent-primary)}.no-links-text{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;background:#3b82f61a;border-radius:6px;font-size:.8rem;color:var(--text-secondary)}.no-links-text svg{flex-shrink:0;color:var(--accent-primary)}.btn-link-wo{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;background:linear-gradient(135deg,#3b82f633,#3b82f61a);border:1px dashed var(--accent-primary);border-radius:6px;color:var(--accent-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-link-wo:hover{background:#3b82f633;border-style:solid}.link-selector-panel{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px}.link-selector-panel .wo-select{flex:1;min-width:200px;max-width:400px;height:34px;padding:0 10px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.8rem}.link-selector-panel .wo-select:focus{outline:none;border-color:var(--accent-primary)}.btn-confirm-link{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--accent-primary);border:none;border-radius:6px;color:#fff;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-confirm-link:hover:not(:disabled){filter:brightness(1.1)}.btn-confirm-link:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-link{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-cancel-link:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.btn-unlink-wo{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:4px 8px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;font-size:.7rem;cursor:pointer;transition:all .15s ease}.btn-unlink-wo:hover{background:#ef44441a;border-color:#ef4444}.ptw-list{display:flex;flex-direction:column;gap:16px;padding:20px}.ptw-list.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-secondary)}.ptw-list.loading .spin{animation:spin 1s linear infinite}.ptw-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.ptw-filters{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.ptw-filters .search-input{height:38px;padding:0 12px;min-width:160px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;outline:none}.ptw-filters .search-input:focus{border-color:var(--accent-primary)}.ptw-filters .filter-select{height:38px;padding:0 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.ptw-filters .filter-select:hover{border-color:var(--accent-primary)}.ptw-filters .clear-filters{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-secondary);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:all .15s ease}.ptw-filters .clear-filters:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-create{display:flex;align-items:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-create:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.ptw-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.875rem}.ptw-inline-form{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:20px;margin-bottom:16px}.inline-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.inline-form-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.inline-form-header .close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer}.inline-form-header .close-btn:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.inline-form-grid{display:flex;flex-direction:column;gap:16px}.ptw-inline-form .form-row{display:flex;flex-wrap:wrap;gap:16px}.ptw-inline-form .form-field{display:flex;flex-direction:column;gap:6px;flex:1 1 180px;min-width:180px;max-width:300px}.ptw-inline-form .form-field.wide{flex:2 1 300px;max-width:500px}.ptw-inline-form .form-field.full-width{flex:1 1 100%;max-width:100%}.form-row.cols-3{grid-template-columns:repeat(3,1fr)}.form-row.cols-4{grid-template-columns:repeat(4,1fr)}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.span-2{grid-column:span 2}.form-field.flex-2{flex:2}.form-field.flex-1{flex:1}.form-field label{font-size:.7rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.form-field input,.form-field select,.form-field textarea{height:38px;padding:0 12px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.875rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent-primary)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle)}.btn-cancel{height:38px;padding:0 20px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer}.btn-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-save{height:38px;padding:0 20px;background:var(--accent-primary);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.btn-save:hover{background:#2563eb}.dt-table .no-data{text-align:center;padding:60px 20px;color:var(--text-tertiary)}.dt-table .no-data span{display:block;margin-top:12px}.dt-table tbody tr.pending_approval{border-left:3px solid #f59e0b!important}.dt-table tbody tr.in_progress{border-left:3px solid #3b82f6!important}.dt-table tbody tr.suspended{border-left:3px solid #ef4444!important}.expand-cell{width:30px;padding:0 8px!important}.expand-icon{transition:transform .2s ease;color:var(--text-tertiary)}.expand-icon.rotated{transform:rotate(90deg)}.permit-number code{font-family:JetBrains Mono,Consolas,monospace;font-size:.8rem;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;color:var(--accent-primary)}.permit-type{display:flex;align-items:center;gap:8px}.permit-type svg{color:var(--text-secondary)}.work-location{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datetime{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.duration{font-family:JetBrains Mono,Consolas,monospace;font-size:.8rem;color:var(--text-secondary)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.actions{display:flex;gap:4px}.action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.action-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.action-btn-danger:hover{background:#ef4444;border-color:#ef4444;color:#fff}.action-btn-submit{border-color:#f59e0b;color:#f59e0b}.action-btn-submit:hover{background:#f59e0b;color:#fff}.action-btn-approve{border-color:#10b981;color:#10b981}.action-btn-approve:hover{background:#10b981;color:#fff}.action-btn-start{border-color:#3b82f6;color:#3b82f6}.action-btn-start:hover{background:#3b82f6;color:#fff}.action-btn-complete{border-color:#059669;color:#059669}.action-btn-complete:hover{background:#059669;color:#fff}.action-btn-copy{border-color:#8b5cf6;color:#8b5cf6}.action-btn-copy:hover{background:#8b5cf6;color:#fff}.details-row td{padding:0!important;background:var(--bg-tertiary)}.permit-details-panel{padding:20px}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.detail-section{background:var(--bg-secondary);border-radius:8px;padding:14px;border:1px solid var(--border-subtle)}.detail-section h5{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.detail-section p{margin:0;font-size:.875rem;color:var(--text-primary);line-height:1.5}.isolations-section{background:var(--bg-secondary);border-radius:8px;padding:14px;border:1px solid var(--border-subtle)}.isolations-section h5{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.loading-text,.empty-text{color:var(--text-tertiary);font-size:.85rem;font-style:italic}.iso-type{font-weight:500;color:var(--accent-primary)}.lock-num,.tag-num{font-family:JetBrains Mono,Consolas,monospace;font-size:.75rem}.iso-status{display:inline-flex;align-items:center;gap:4px;font-size:.75rem}.iso-status.isolated{color:#ef4444}.iso-status.reinstated{color:#10b981}.iso-actions{display:flex;gap:4px}.action-btn-sm{width:24px;height:24px;padding:0;background:transparent;border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.action-btn-sm:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.action-btn-sm.action-btn-danger{border-color:#ef44444d;color:#ef4444}.action-btn-sm.action-btn-danger:hover{background:#ef4444;border-color:#ef4444;color:#fff}.action-btn-sm.action-btn-success{background:#10b981;border-color:#10b981;color:#fff}.action-btn-sm.action-btn-success:hover{background:#059669;border-color:#059669;color:#fff}.isolations-table .inline-input{width:100%;padding:4px 6px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:.75rem}.isolations-table .inline-input:focus{outline:none;border-color:var(--accent-primary)}.dt-table .editing-row{background:#14b8a60d}.ptw-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:16px}.pagination-info{font-size:.8rem;color:var(--text-tertiary)}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.pagination-controls button:hover:not(:disabled){background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.page-number{font-size:.8rem;color:var(--text-secondary);padding:0 8px}.gt-links{display:flex;gap:4px;flex-wrap:wrap}.gt-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:none;border-radius:4px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:all .15s ease}.gt-badge:hover{transform:scale(1.05);filter:brightness(1.1)}.gt-badge.gt-wo{background:#3b82f633;color:#3b82f6}.gt-badge.gt-wo:hover{background:#3b82f659}.gt-badge.gt-ra{background:#f59e0b33;color:#d97706}.gt-badge.gt-ra:hover{background:#f59e0b59}.golden-thread-row{background:#10b9810d;border:1px dashed rgba(16,185,129,.3);border-radius:8px;padding:12px;margin-top:8px}.golden-thread-row .form-field label{color:var(--accent-teal)}.golden-thread-row .form-field label svg{margin-right:4px;vertical-align:middle}.golden-thread-row select:disabled{opacity:.5;cursor:not-allowed}.hint{display:block;font-size:.75rem;color:var(--text-tertiary);margin-top:2px;font-style:italic}.checklist-manager{padding:1rem;min-height:100%;background:var(--bg-primary, #0f1419)}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.checklist-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary, #fff);margin:0;display:flex;align-items:center;gap:.5rem}.header-tabs{display:flex;gap:.5rem;background:#ffffff0d;padding:4px;border-radius:8px}.tab-btn{padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary, #9ca3af);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.tab-btn:hover{color:var(--text-primary, #fff);background:#ffffff0d}.tab-btn.active{color:var(--text-primary, #fff);background:var(--accent-primary, #0d9488)}.checklist-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.checklist-filters select{padding:.5rem 1rem;background:var(--bg-secondary, #1a1f2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-primary, #fff);font-size:.875rem;min-width:160px}.checklist-filters select:focus{outline:none;border-color:var(--accent-primary, #0d9488)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.checklist-card{background:var(--bg-secondary, #1a1f2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;padding:1.25rem;transition:all .2s ease}.checklist-card:hover{border-color:var(--accent-primary, #0d9488);transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.checklist-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.checklist-card-icon{font-size:1.5rem}.checklist-card-meta{display:flex;gap:.5rem;font-size:.75rem}.checklist-card-source,.checklist-card-type{padding:2px 6px;background:#ffffff0d;border-radius:4px}.checklist-card-title{font-size:1rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 .25rem;line-height:1.3}.checklist-card-code{font-size:.75rem;color:var(--text-tertiary, #6b7280);margin:0 0 .75rem;font-family:monospace}.checklist-card-stats{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-secondary, #9ca3af);margin-bottom:1rem}.checklist-mandatory{color:#ef4444;font-weight:500}.checklist-card-actions{display:flex;gap:.5rem}.checklist-card-actions button{flex:1;padding:.5rem;border-radius:6px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.25rem;transition:all .2s ease}.btn-secondary{background:#ffffff0d;border:1px solid var(--border-color, rgba(255, 255, 255, .1));color:var(--text-secondary, #9ca3af)}.btn-secondary:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.btn-primary{background:var(--accent-primary, #0d9488);border:1px solid var(--accent-primary, #0d9488);color:#fff}.btn-primary:hover{background:#0f766e}.checklist-execution{padding:1rem;min-height:100vh;background:var(--bg-primary, #0f1419)}.execution-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.btn-back{padding:.5rem 1rem;background:#ffffff0d;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:6px;color:var(--text-secondary, #9ca3af);cursor:pointer}.btn-back:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.execution-header h2{flex:1;margin:0;font-size:1.25rem;color:var(--text-primary, #fff)}.execution-code{font-family:monospace;color:var(--text-tertiary, #6b7280);font-size:.875rem}.execution-progress{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary, #1a1f2e);border-radius:8px}.progress-bar{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-primary, #0d9488);transition:width .3s ease}.execution-progress span{font-size:.875rem;color:var(--text-secondary, #9ca3af);white-space:nowrap}.execution-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.execution-section{background:var(--bg-secondary, #1a1f2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;overflow:hidden}.section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary, #9ca3af);padding:.75rem 1rem;background:#ffffff08;margin:0;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1));text-transform:uppercase;letter-spacing:.5px}.section-items{padding:.5rem}.execution-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:8px;transition:background .2s ease}.execution-item:hover{background:#ffffff08}.execution-item.critical{border-left:3px solid #ef4444}.item-content{display:flex;align-items:flex-start;gap:.5rem;flex:1}.item-number{color:var(--text-tertiary, #6b7280);min-width:24px;font-size:.875rem}.item-text{color:var(--text-primary, #fff);font-size:.9rem;line-height:1.4}.critical-badge{font-size:.65rem;padding:2px 6px;background:#ef444433;color:#ef4444;border-radius:4px;text-transform:uppercase;font-weight:600}.item-responses{display:flex;gap:.25rem;margin-left:1rem}.response-btn{padding:.4rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;background:#ffffff0d;color:var(--text-secondary, #9ca3af)}.response-btn:hover{background:#ffffff1a}.response-btn.selected.positive{background:#10b98133;border-color:#10b981;color:#10b981}.response-btn.selected.negative{background:#ef444433;border-color:#ef4444;color:#ef4444}.response-btn.selected.neutral{background:#6b728033;border-color:#6b7280;color:#9ca3af}.execution-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem;background:var(--bg-secondary, #1a1f2e);border-radius:12px;position:sticky;bottom:1rem}.btn-cancel{padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:8px;color:var(--text-secondary, #9ca3af);cursor:pointer;font-size:.875rem}.btn-complete{padding:.75rem 1.5rem;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.btn-complete:disabled{opacity:.5;cursor:not-allowed}.btn-complete:not(:disabled):hover{background:#059669}.responses-table{background:var(--bg-secondary, #1a1f2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;overflow:hidden}.responses-table table{width:100%;border-collapse:collapse}.responses-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;color:var(--text-secondary, #9ca3af);text-transform:uppercase;letter-spacing:.5px;background:#ffffff08;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.responses-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary, #fff);border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05))}.responses-table tr:hover td{background:#ffffff05}.responses-table strong{color:var(--text-primary, #fff)}.responses-table small{color:var(--text-tertiary, #6b7280);font-family:monospace}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-badge.in_progress{background:#3b82f626;color:#3b82f6}.status-badge.completed{background:#10b98126;color:#10b981}.progress-text{color:var(--text-secondary, #9ca3af)}.failed-count{margin-left:.5rem;color:#ef4444;font-size:.8rem}.btn-icon{background:transparent;border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;padding:.25rem;border-radius:4px}.btn-icon:hover{color:var(--text-primary, #fff);background:#ffffff1a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--bg-secondary, #1a1f2e);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.modal-header h2{flex:1;margin:0;font-size:1.125rem;color:var(--text-primary, #fff)}.modal-close{background:transparent;border:none;color:var(--text-secondary, #9ca3af);font-size:1.5rem;cursor:pointer;line-height:1}.modal-body{padding:1.5rem;overflow-y:auto}.template-meta,.response-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary, #9ca3af)}.template-description{color:var(--text-secondary, #9ca3af);margin-bottom:1rem;font-size:.875rem;line-height:1.5}.template-items,.response-items{margin-top:1rem}.item-section{margin-bottom:1.5rem}.item-section h4{font-size:.8rem;font-weight:600;color:var(--text-secondary, #9ca3af);text-transform:uppercase;margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.item-section ul{list-style:none;padding:0;margin:0}.item-section li{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0;font-size:.875rem;color:var(--text-primary, #fff)}.item-section li.critical{color:#ef4444}.item-section .item-num{color:var(--text-tertiary, #6b7280);min-width:24px}.item-section .item-text{flex:1}.critical-tag{font-size:.65rem;padding:2px 6px;background:#ef444433;color:#ef4444;border-radius:4px;text-transform:uppercase}.response-items table{width:100%;border-collapse:collapse}.response-items td{padding:.5rem 0;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .05))}.response-items .item-num{width:30px;color:var(--text-tertiary, #6b7280)}.response-items .item-result{width:60px;text-align:center;font-weight:500;font-size:.8rem}.response-items .item-result.passed{color:#10b981}.response-items .item-result.failed{color:#ef4444}.response-items .item-result.na{color:var(--text-tertiary, #6b7280)}.response-items tr.failed td{background:#ef44440d}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.loading-spinner{text-align:center;padding:3rem;color:var(--text-secondary, #9ca3af)}.error-message{text-align:center;padding:3rem;color:#ef4444}.empty-state{text-align:center;padding:3rem;color:var(--text-tertiary, #6b7280);grid-column:1 / -1}.document-control-manager{display:flex;flex-direction:column;height:100%;gap:0}.dcm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.dcm-header-left{display:flex;align-items:center;gap:.75rem;color:#5eead4}.dcm-header-left h2{margin:0;font-size:1.15rem;font-weight:600;color:#fff}.dcm-header-left p{margin:0;font-size:.75rem;color:#94a3b8}.dcm-header-actions{display:flex;gap:.5rem;align-items:center}.dcm-header-actions .btn-icon{padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s}.dcm-header-actions .btn-icon:hover{background:#ffffff0d;color:#fff}.btn-primary{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,#14b8a633,#14b8a61a);border:1px solid rgba(20,184,166,.3);border-radius:8px;color:#5eead4;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-primary:hover{background:#14b8a640}.btn-secondary{display:flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#94a3b8;font-size:.78rem;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:#ffffff0d;color:#fff}.btn-success{display:flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#22c55e;font-size:.78rem;font-weight:500;cursor:pointer}.btn-success:hover{background:#22c55e40}.btn-danger{display:flex;align-items:center;gap:.3rem;padding:.45rem .6rem;background:transparent;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#ef4444;font-size:.78rem;cursor:pointer}.btn-danger:hover{background:#ef44441a}.dcm-alert-banner{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.5rem;background:#f59e0b14;border-bottom:1px solid rgba(245,158,11,.15);color:#f59e0b;font-size:.8rem}.dcm-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:.75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.dcm-kpi-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px}.dcm-kpi-card .kpi-value{font-size:1.3rem;font-weight:700}.dcm-kpi-card .kpi-label{font-size:.68rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.dcm-filters{display:flex;gap:.5rem;padding:.6rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.dcm-filters input,.dcm-filters select{padding:.4rem .7rem;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.78rem}.dcm-filters input{flex:1;min-width:180px}.dcm-filters input::placeholder{color:#64748b}.dcm-body{display:flex;flex:1;overflow:hidden}.dcm-list-panel{flex:1;overflow-y:auto;min-width:0}.dcm-table{width:100%;border-collapse:collapse;font-size:.8rem}.dcm-table thead th{position:sticky;top:0;padding:.55rem .75rem;background:#0000004d;color:#94a3b8;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);z-index:1}.dcm-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;transition:background .12s}.dcm-table tbody tr:hover{background:#ffffff08}.dcm-table tbody tr.selected{background:#14b8a614}.dcm-table td{padding:.55rem .75rem;color:#cbd5e1;white-space:nowrap}.dcm-table .doc-number{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#94a3b8}.dcm-table .doc-title{white-space:normal;max-width:260px;color:#fff;font-weight:500}.dcm-table .center{text-align:center}.vessel-tag{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:4px;font-size:.65rem;color:#60a5fa}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.72rem;font-weight:600}.review-date{font-size:.75rem}.review-date.overdue{color:#ef4444;font-weight:600}.review-date.due-soon{color:#f59e0b}.dcm-detail-panel{width:380px;flex-shrink:0;border-left:1px solid rgba(255,255,255,.06);background:#00000026;overflow-y:auto;display:flex;flex-direction:column}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.detail-header h3{margin:0 0 .35rem;font-size:1rem;color:#fff;font-weight:600}.doc-num-badge{display:inline-block;margin-right:.4rem;padding:.1rem .4rem;background:#94a3b81a;border-radius:4px;font-size:.7rem;color:#94a3b8;font-family:JetBrains Mono,monospace}.detail-meta{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.06)}.detail-meta strong{color:#cbd5e1}.detail-desc{margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.04);font-size:.78rem;color:#94a3b8;line-height:1.5}.detail-actions{display:flex;gap:.4rem;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.new-version-form{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);background:#14b8a608}.new-version-form h4{margin:0 0 .5rem;font-size:.82rem;color:#5eead4}.new-version-form input,.new-version-form textarea{width:100%;box-sizing:border-box;margin-bottom:.4rem;padding:.4rem .6rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.78rem;font-family:inherit}.form-actions{display:flex;gap:.4rem;margin-top:.3rem}.detail-section{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.detail-section h4{display:flex;align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.82rem;color:#cbd5e1}.version-timeline{display:flex;flex-direction:column;gap:0;padding-left:.75rem;border-left:2px solid rgba(255,255,255,.08)}.version-item{display:flex;gap:.6rem;position:relative;padding:.5rem 0 .5rem .5rem}.version-marker{position:absolute;left:-.95rem;top:.65rem;width:8px;height:8px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.08)}.version-item.current .version-marker{background:#5eead4;border-color:#14b8a64d;box-shadow:0 0 6px #14b8a666}.version-content{flex:1}.version-header{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#fff}.current-badge{padding:.05rem .35rem;background:#14b8a626;border:1px solid rgba(20,184,166,.3);border-radius:4px;font-size:.62rem;color:#5eead4;font-weight:600;text-transform:uppercase}.version-date{font-size:.7rem;color:#64748b;margin-left:auto}.version-file{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:#60a5fa;margin-top:.15rem}.version-summary{font-size:.72rem;color:#94a3b8;margin-top:.15rem;line-height:1.4}.version-meta{display:flex;gap:.75rem;font-size:.68rem;color:#64748b;margin-top:.15rem}.ack-count{margin-left:auto;padding:.1rem .4rem;background:#ffffff0f;border-radius:4px;font-size:.7rem;color:#94a3b8}.btn-acknowledge{display:flex;align-items:center;gap:.4rem;width:100%;padding:.55rem;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:6px;color:#22c55e;font-size:.78rem;font-weight:500;cursor:pointer;justify-content:center;margin-bottom:.5rem;transition:background .15s}.btn-acknowledge:hover{background:#22c55e26}.ack-list{display:flex;flex-direction:column;gap:.25rem}.ack-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;background:#ffffff05;border-radius:4px;font-size:.75rem;color:#94a3b8}.ack-item .ack-name{color:#cbd5e1;font-weight:500}.ack-item .ack-date{margin-left:auto;font-size:.68rem;color:#64748b}.dcm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:#64748b;text-align:center}.document-control-manager .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.document-control-manager .modal-content{width:480px;max-width:90vw;max-height:85vh;overflow-y:auto;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h3{margin:0;color:#fff;font-size:1rem}.modal-form{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.75rem;color:#94a3b8;font-weight:600}.form-group input,.form-group select,.form-group textarea{padding:.45rem .7rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.82rem;font-family:inherit}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex-direction:row}.checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:#14b8a6}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06);margin-top:.5rem}.dcm-list-panel::-webkit-scrollbar,.dcm-detail-panel::-webkit-scrollbar{width:6px}.dcm-list-panel::-webkit-scrollbar-track,.dcm-detail-panel::-webkit-scrollbar-track{background:transparent}.dcm-list-panel::-webkit-scrollbar-thumb,.dcm-detail-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.psc-readiness{padding:0;color:#e2e8f0}.psc-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:linear-gradient(135deg,#1e293bf2,#0f172afa);border-bottom:1px solid rgba(99,102,241,.15)}.psc-header h2{font-size:1.1rem;font-weight:600;margin:0;display:flex;align-items:center;gap:8px;color:#f1f5f9}.psc-header h2 svg{color:#6366f1}.psc-header-controls{display:flex;align-items:center;gap:12px}.psc-vessel-select{background:#1e293bcc;border:1px solid rgba(99,102,241,.2);color:#e2e8f0;padding:6px 12px;border-radius:6px;font-size:.85rem;min-width:200px}.psc-vessel-select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f126}.psc-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:.8rem;font-weight:500;border:none;cursor:pointer;transition:all .2s}.psc-btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.psc-btn-primary:hover{background:linear-gradient(135deg,#818cf8,#6366f1);transform:translateY(-1px)}.psc-btn-outline{background:transparent;border:1px solid rgba(99,102,241,.3);color:#a5b4fc}.psc-btn-outline:hover{border-color:#6366f1;background:#6366f11a}.psc-score-section{display:flex;align-items:center;gap:32px;padding:20px 24px;background:linear-gradient(135deg,#0f172ab3,#1e293b80);border-bottom:1px solid rgba(99,102,241,.08)}.psc-gauge-container{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:130px}.psc-gauge{position:relative;width:120px;height:120px}.psc-gauge svg{transform:rotate(-90deg)}.psc-gauge-bg{fill:none;stroke:#6366f11a;stroke-width:8}.psc-gauge-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s ease,stroke .5s ease}.psc-gauge-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.psc-gauge-value{font-size:1.8rem;font-weight:700;line-height:1}.psc-gauge-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:3px}.psc-breakdown{display:flex;gap:12px;flex:1;flex-wrap:wrap}.psc-breakdown-card{flex:1;min-width:150px;padding:12px 16px;background:#1e293b99;border:1px solid rgba(99,102,241,.1);border-radius:8px;display:flex;flex-direction:column;gap:4px}.psc-breakdown-card.green{border-left:3px solid #10b981}.psc-breakdown-card.amber{border-left:3px solid #f59e0b}.psc-breakdown-card.red{border-left:3px solid #ef4444}.psc-breakdown-title{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}.psc-breakdown-value{font-size:1.4rem;font-weight:700;display:flex;align-items:baseline;gap:4px}.psc-breakdown-detail{font-size:.72rem;color:#64748b}.psc-content{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 20px}@media(max-width:1200px){.psc-content{grid-template-columns:1fr}}.psc-panel{background:#0f172a80;border:1px solid rgba(99,102,241,.1);border-radius:10px;overflow:hidden}.psc-panel-header{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;background:#1e293b80;border-bottom:1px solid rgba(99,102,241,.1)}.psc-panel-header h3{font-size:.9rem;font-weight:600;margin:0;display:flex;align-items:center;gap:8px;color:#e2e8f0}.psc-panel-body{padding:12px 16px;max-height:520px;overflow-y:auto}.psc-checklist-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(99,102,241,.06)}.psc-checklist-item:last-child{border-bottom:none}.psc-checklist-icon{min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.7rem;font-weight:600;margin-top:1px}.psc-checklist-icon.pass{background:#10b98126;color:#10b981}.psc-checklist-icon.warn{background:#f59e0b26;color:#f59e0b}.psc-checklist-icon.fail{background:#ef444426;color:#ef4444}.psc-checklist-content{flex:1}.psc-checklist-title{font-size:.82rem;font-weight:500;color:#e2e8f0}.psc-checklist-detail{font-size:.72rem;color:#64748b;margin-top:2px}.psc-checklist-badge{font-size:.68rem;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.psc-badge-green{background:#10b98126;color:#10b981}.psc-badge-amber{background:#f59e0b26;color:#f59e0b}.psc-badge-red{background:#ef444426;color:#ef4444}.psc-history-table{width:100%;border-collapse:collapse;font-size:.8rem}.psc-history-table th{text-align:left;padding:8px 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;border-bottom:1px solid rgba(99,102,241,.15);font-weight:600}.psc-history-table td{padding:8px 10px;border-bottom:1px solid rgba(99,102,241,.06);color:#cbd5e1}.psc-history-table tr:hover td{background:#6366f10a}.psc-result-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600}.psc-result-badge.no-deficiency{background:#10b98126;color:#10b981}.psc-result-badge.deficiency{background:#f59e0b26;color:#f59e0b}.psc-result-badge.detention{background:#ef444426;color:#ef4444}.psc-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.psc-modal{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(99,102,241,.2);border-radius:12px;width:580px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 50px #00000080}.psc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(99,102,241,.15)}.psc-modal-header h3{font-size:1rem;font-weight:600;margin:0;color:#f1f5f9}.psc-modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.2rem;padding:4px}.psc-modal-body{padding:16px 20px}.psc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.psc-form-group{display:flex;flex-direction:column;gap:4px}.psc-form-group.full-width{grid-column:1 / -1}.psc-form-group label{font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#94a3b8}.psc-form-group input,.psc-form-group select,.psc-form-group textarea{background:#0f172a99;border:1px solid rgba(99,102,241,.15);color:#e2e8f0;padding:6px 10px;border-radius:6px;font-size:.85rem}.psc-form-group input:focus,.psc-form-group select:focus,.psc-form-group textarea:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f126}.psc-form-group textarea{min-height:60px;resize:vertical}.psc-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid rgba(99,102,241,.1)}.psc-empty{text-align:center;padding:40px 20px;color:#64748b}.psc-empty svg{color:#475569;margin-bottom:12px}.psc-empty p{font-size:.9rem;margin:0}.psc-loading{text-align:center;padding:60px 20px;color:#94a3b8}.psc-loading-spinner{display:inline-block;width:28px;height:28px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:psc-spin .8s linear infinite;margin-bottom:12px}@keyframes psc-spin{to{transform:rotate(360deg)}}.psc-last-inspection{display:flex;align-items:center;gap:16px;padding:8px 16px;background:#1e293b66;border-radius:6px;font-size:.78rem;margin-top:8px}.psc-last-inspection strong{color:#a5b4fc}.psc-panel-body::-webkit-scrollbar{width:4px}.psc-panel-body::-webkit-scrollbar-track{background:transparent}.psc-panel-body::-webkit-scrollbar-thumb{background:#6366f126;border-radius:4px}.safety-observation-manager{padding:0}.obs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.obs-header h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:600;color:var(--text-primary, #f1f5f9);margin:0}.obs-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.obs-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.obs-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.obs-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.obs-btn-outline{background:transparent;color:var(--text-secondary, #94a3b8);border:1px solid rgba(148,163,184,.3)}.obs-btn-outline:hover{background:#94a3b81a;color:var(--text-primary, #f1f5f9)}.obs-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.obs-stat-card{background:#1e293b99;border:1px solid rgba(148,163,184,.1);border-radius:10px;padding:16px;text-align:center;transition:all .2s}.obs-stat-card:hover{border-color:#94a3b833;transform:translateY(-2px)}.obs-stat-card.open{border-left:3px solid #f59e0b}.obs-stat-card.near-miss{border-left:3px solid #ef4444}.obs-stat-card.recent{border-left:3px solid #3b82f6}.obs-stat-card.severity{border-left:3px solid #dc2626}.obs-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary, #f1f5f9)}.obs-stat-label{font-size:.75rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.obs-filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.obs-search{flex:1;min-width:200px;padding:8px 12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.85rem}.obs-search::placeholder{color:#94a3b880}.obs-filter-select{padding:8px 12px;background:#1e293b99;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.85rem;min-width:140px}.obs-search:focus,.obs-filter-select:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f626}.obs-category-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.obs-category-chip{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:20px;font-size:.8rem}.obs-chip-name{color:var(--text-secondary, #94a3b8)}.obs-chip-count{background:#3b82f633;color:#60a5fa;padding:1px 7px;border-radius:10px;font-weight:600;font-size:.75rem}.obs-table-container{background:#1e293b66;border:1px solid rgba(148,163,184,.08);border-radius:10px;overflow:hidden}.obs-table{width:100%;border-collapse:collapse}.obs-table thead th{padding:10px 12px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #94a3b8);background:#0f172a80;border-bottom:1px solid rgba(148,163,184,.1);text-align:left;font-weight:600}.obs-table tbody tr{border-bottom:1px solid rgba(148,163,184,.06);transition:background .15s}.obs-table tbody tr:hover{background:#3b82f60d}.obs-table tbody tr.high-severity-row{background:#dc262608}.obs-table tbody tr.high-severity-row:hover{background:#dc262612}.obs-table td{padding:10px 12px;font-size:.85rem;color:var(--text-primary, #f1f5f9);white-space:nowrap}.obs-ref{font-family:JetBrains Mono,monospace;color:#60a5fa!important;font-weight:600;font-size:.82rem!important}.obs-title-cell{white-space:normal!important;max-width:250px}.obs-anon-tag{display:inline-block;font-size:.7rem;color:#a78bfa;margin-left:6px}.obs-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.obs-badge.observation{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.obs-badge.near-miss{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.obs-severity{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.obs-severity.low{color:#10b981;background:#10b9811a}.obs-severity.medium{color:#f59e0b;background:#f59e0b1a}.obs-severity.high{color:#ef4444;background:#ef444426}.obs-status{display:inline-flex;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.obs-status.open{background:#f59e0b26;color:#fbbf24}.obs-status.in-review{background:#3b82f626;color:#60a5fa}.obs-status.closed{background:#10b98126;color:#10b981}.obs-cat-badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:600;color:#a78bfa;background:#a78bfa1a;border:1px solid rgba(167,139,250,.2)}.obs-actions{display:flex;gap:4px}.obs-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:#94a3b81a;color:var(--text-secondary, #94a3b8);cursor:pointer;transition:all .15s}.obs-action-btn:hover{background:#3b82f633;color:#60a5fa}.obs-action-btn.review:hover{background:#f59e0b33;color:#fbbf24}.obs-action-btn.close:hover{background:#10b98133;color:#10b981}.obs-action-btn.delete:hover{background:#ef444433;color:#ef4444}.obs-loading,.obs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-secondary, #94a3b8);gap:12px}.obs-loading-spinner{width:32px;height:32px;border:3px solid rgba(148,163,184,.2);border-top-color:#3b82f6;border-radius:50%;animation:obs-spin .8s linear infinite}@keyframes obs-spin{to{transform:rotate(360deg)}}.obs-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:obs-fadeIn .2s ease}@keyframes obs-fadeIn{0%{opacity:0}to{opacity:1}}.obs-modal{background:var(--bg-card, #1e293b);border:1px solid rgba(148,163,184,.15);border-radius:16px;width:90%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;animation:obs-slideUp .3s ease;box-shadow:0 20px 50px #00000080}@keyframes obs-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.obs-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(148,163,184,.1)}.obs-modal-header h3{margin:0;font-size:1.1rem;color:var(--text-primary, #f1f5f9)}.obs-modal-close{background:none;border:none;color:var(--text-secondary, #94a3b8);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:6px}.obs-modal-close:hover{background:#ef444426;color:#ef4444}.obs-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.obs-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid rgba(148,163,184,.1)}.obs-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.obs-form-group{display:flex;flex-direction:column;gap:4px}.obs-form-group.full-width{grid-column:1 / -1}.obs-form-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.03em}.obs-form-group input[type=text],.obs-form-group input[type=date],.obs-form-group select,.obs-form-group textarea{padding:8px 12px;background:#0f172a80;border:1px solid rgba(148,163,184,.15);border-radius:8px;color:var(--text-primary, #f1f5f9);font-size:.85rem;font-family:inherit}.obs-form-group input:focus,.obs-form-group select:focus,.obs-form-group textarea:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f626}.obs-form-group textarea{resize:vertical;min-height:60px}.obs-checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;cursor:pointer;text-transform:none!important;font-weight:500!important;color:var(--text-primary, #f1f5f9)!important}.obs-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.obs-hint{font-size:.72rem;color:var(--text-tertiary, #64748b);font-style:italic}@media(max-width:768px){.obs-stats{grid-template-columns:repeat(3,1fr)}.obs-filters{flex-direction:column}.obs-form-grid{grid-template-columns:1fr}.obs-table td,.obs-table th{padding:8px;font-size:.8rem}}.safety-hub{display:flex;flex-direction:column;height:100%;gap:0;background:linear-gradient(180deg,#060a14,#0c1220 40%,#0a0e1a)}.safety-hub .module-switcher{display:flex;align-items:center;gap:4px;padding:10px 20px;background:#00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.04);flex-wrap:wrap;position:relative}.safety-hub .module-switcher:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.25),rgba(245,158,11,.15),transparent)}.safety-hub .module-group{display:flex;gap:4px}.safety-hub .module-divider{width:1px;height:28px;background:#ffffff0f;margin:0 8px}.safety-hub .module-btn{display:flex;align-items:center;gap:7px;padding:7px 16px;border:1px solid transparent;border-radius:10px;background:transparent;color:#64748b;cursor:pointer;transition:all .25s ease;font-size:.82rem;font-weight:500;white-space:nowrap}.safety-hub .module-btn:hover{background:#ef44440f;color:#cbd5e1;border-color:#ef44441f}.safety-hub .module-btn.active{background:linear-gradient(135deg,#ef44441f,#ef44440f);color:#f87171;border-color:#ef444440;font-weight:600;box-shadow:0 0 20px #ef444414}.safety-hub .module-btn .module-label{font-size:.8rem}.safety-hub .module-content{flex:1;overflow:auto;padding:24px 28px}.safety-hub .module-content::-webkit-scrollbar{width:5px}.safety-hub .module-content::-webkit-scrollbar-track{background:transparent}.safety-hub .module-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.safety-hub .module-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.sh-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 26px;background:linear-gradient(135deg,#ef44440f,#0f172a80,#f59e0b0a);border-radius:16px;border:1px solid rgba(255,255,255,.05);box-shadow:0 2px 20px #00000040;position:relative;overflow:hidden}.sh-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.3),rgba(245,158,11,.2),transparent)}.sh-header-left{display:flex;align-items:center;gap:16px}.sh-header-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#ef444426,#ef44440d);border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;justify-content:center;color:#f87171}.sh-header h1{margin:0;font-size:1.35rem;font-weight:700;color:#e2e8f0;letter-spacing:-.01em}.sh-header p{margin:2px 0 0;font-size:.8rem;color:#475569}.sh-refresh-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sh-refresh-btn:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0;transform:translateY(-1px)}.safety-dashboard{display:flex;flex-direction:column;gap:24px}.safety-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1200px){.safety-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.safety-kpi-grid{grid-template-columns:1fr}}.safety-kpi-card{position:relative;background:#0000004d;border:1px solid rgba(255,255,255,.04);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;transition:all .3s ease;cursor:pointer;overflow:hidden}.safety-kpi-card:hover{transform:translateY(-3px);border-color:#ffffff14;box-shadow:0 8px 32px #00000059}.safety-kpi-card .kpi-glow{position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity .3s ease}.safety-kpi-card:hover .kpi-glow{opacity:1}.safety-kpi-card .kpi-header{display:flex;align-items:center;justify-content:space-between}.safety-kpi-card .kpi-label{font-size:.72rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.safety-kpi-card .kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid;flex-shrink:0}.safety-kpi-card .kpi-value{font-size:2rem;font-weight:700;color:#e2e8f0;line-height:1;letter-spacing:-.02em}.safety-kpi-card .kpi-subtitle{font-size:.72rem;color:#475569;font-weight:500}.safety-kpi-card.danger .kpi-glow{background:linear-gradient(90deg,#ef4444,transparent)}.safety-kpi-card.danger .kpi-icon{color:#ef4444;background:#ef44441a;border-color:#ef444426}.safety-kpi-card.warning .kpi-glow{background:linear-gradient(90deg,#d97706,transparent)}.safety-kpi-card.warning .kpi-icon{color:#d97706;background:#d977061a;border-color:#d9770626}.safety-kpi-card.success .kpi-glow{background:linear-gradient(90deg,#22c55e,transparent)}.safety-kpi-card.success .kpi-icon{color:#22c55e;background:#22c55e1a;border-color:#22c55e26}.safety-kpi-card.info .kpi-glow{background:linear-gradient(90deg,#3b82f6,transparent)}.safety-kpi-card.info .kpi-icon{color:#3b82f6;background:#3b82f61a;border-color:#3b82f626}.sh-panel{background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.04);overflow:hidden}.sh-panel-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.04);background:#ffffff03}.sh-panel-title{display:flex;align-items:center;gap:10px}.sh-panel-title svg{color:#475569}.sh-panel-title h2{margin:0;font-size:.95rem;font-weight:600;color:#e2e8f0}.sh-count-badge{font-size:.65rem;padding:3px 8px;border-radius:8px;font-weight:600;background:#ef44441f;color:#f87171}.safety-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:16px 22px;background:linear-gradient(135deg,#ef44440a,#0f172a66);border-radius:14px;border:1px solid rgba(255,255,255,.04)}.safety-section-header h2{font-size:1rem;font-weight:600;color:#e2e8f0;margin:0;display:flex;align-items:center;gap:10px}.safety-section-header h2 svg{color:#f87171}.sh-filters{display:flex;gap:10px;margin-bottom:20px}.sh-filters input,.sh-filters select{background:#00000059;color:#cbd5e1;border:1px solid rgba(255,255,255,.06);padding:9px 14px;border-radius:10px;font-size:.82rem;transition:all .2s}.sh-filters input{flex:1}.sh-filters input:focus,.sh-filters select:focus{outline:none;border-color:#ef444459;box-shadow:0 0 0 2px #ef444414}.sh-filters input::placeholder{color:#475569}.sh-filters select option{background:#1e293b;color:#e2e8f0}.safety-hub .sh-table-wrap{overflow-x:auto}.safety-hub .sh-table{width:100%;border-collapse:collapse}.safety-hub .sh-table th{position:sticky;top:0;background:#0a0e1af2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:11px 14px;font-size:.68rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);z-index:1}.safety-hub .sh-table td{padding:12px 14px;font-size:.82rem;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}.safety-hub .sh-table tbody tr{transition:background .15s ease}.safety-hub .sh-table tbody tr:hover{background:#ffffff05}.sh-mono{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.78rem;font-weight:600;letter-spacing:.01em}.sh-mono-red{color:#f87171}.sh-mono-blue{color:#60a5fa}.sh-mono-amber{color:#fbbf24}.safety-hub .status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.safety-hub .status-badge.reported{background:#3b82f61f;color:#60a5fa}.safety-hub .status-badge.investigating{background:#f59e0b1f;color:#fbbf24}.safety-hub .status-badge.action_taken{background:#a855f71f;color:#c084fc}.safety-hub .status-badge.closed{background:#0d94881f;color:#14b8a6}.safety-hub .status-badge.scheduled{background:#3b82f61f;color:#60a5fa}.safety-hub .status-badge.completed{background:#22c55e1f;color:#22c55e}.safety-hub .status-badge.cancelled{background:#64748b1f;color:#94a3b8}.safety-hub .status-badge.overdue{background:#ef444426;color:#f87171;animation:sh-pulse 2s ease-in-out infinite}@keyframes sh-pulse{0%,to{opacity:1}50%{opacity:.7}}.sh-severity{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:6px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.severity-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.sh-actions{display:flex;gap:6px}.sh-action-btn{display:flex;align-items:center;justify-content:center;padding:5px 9px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:7px;color:#64748b;cursor:pointer;transition:all .2s;font-size:.72rem;font-weight:600}.sh-action-btn:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0;transform:translateY(-1px)}.sh-action-btn.danger:hover{background:#ef44441a;border-color:#ef444440;color:#f87171}.sh-action-btn.escalate{color:#fbbf24;font-size:.68rem}.sh-action-btn.escalate:hover{background:#f59e0b1a;border-color:#f59e0b40;color:#fbbf24}.safety-hub .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:sh-fade-in .2s ease}@keyframes sh-fade-in{0%{opacity:0}to{opacity:1}}.safety-hub .modal-content{background:#0f121cf7;border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:28px;width:90%;max-width:720px;max-height:85vh;overflow-y:auto;box-shadow:0 24px 80px #00000080;animation:sh-slide-up .25s ease}@keyframes sh-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.safety-hub .modal-content::-webkit-scrollbar{width:5px}.safety-hub .modal-content::-webkit-scrollbar-track{background:transparent}.safety-hub .modal-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.safety-hub .modal-content h2{margin:0 0 24px;font-size:1.2rem;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:10px}.safety-hub .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.safety-hub .form-grid .full-width{grid-column:1 / -1}.safety-hub .form-group{display:flex;flex-direction:column;gap:5px}.safety-hub .form-group label{font-size:.72rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.safety-hub .form-group input,.safety-hub .form-group select,.safety-hub .form-group textarea{background:#00000059;border:1px solid rgba(255,255,255,.06);color:#e2e8f0;padding:9px 14px;border-radius:10px;font-size:.85rem;transition:all .2s}.safety-hub .form-group input:focus,.safety-hub .form-group select:focus,.safety-hub .form-group textarea:focus{outline:none;border-color:#ef444459;box-shadow:0 0 0 2px #ef444414}.safety-hub .form-group input::placeholder,.safety-hub .form-group textarea::placeholder{color:#475569}.safety-hub .form-group select option{background:#1e293b;color:#e2e8f0}.safety-hub .form-group textarea{min-height:80px;resize:vertical}.sh-form-divider{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.06);padding-top:14px;margin-top:4px}.sh-form-divider-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.sh-form-divider-label.red{color:#f87171}.sh-form-divider-label.blue{color:#60a5fa}.safety-hub .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.safety-hub .btn{padding:9px 22px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:all .25s ease;display:flex;align-items:center;gap:7px}.safety-hub .btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 12px #ef444433}.safety-hub .btn-primary:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 4px 20px #ef44444d}.safety-hub .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.safety-hub .btn-secondary{background:#ffffff08;color:#94a3b8;border:1px solid rgba(255,255,255,.07)}.safety-hub .btn-secondary:hover{background:#ffffff0f;color:#e2e8f0;border-color:#ffffff1f;transform:translateY(-1px)}.rating-stars{display:flex;gap:4px}.rating-star{cursor:pointer;color:#334155;transition:color .15s,transform .15s;font-size:1.4rem}.rating-star:hover{transform:scale(1.15)}.rating-star.filled{color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.3)}.sh-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:300px;color:#475569;font-size:.85rem}.sh-loading-ring{width:36px;height:36px;border:3px solid rgba(239,68,68,.12);border-top-color:#ef4444;border-radius:50%;animation:sh-spin .8s linear infinite}@keyframes sh-spin{to{transform:rotate(360deg)}}.safety-empty-state{text-align:center;padding:60px 24px;color:#334155}.safety-empty-state .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.25}.safety-empty-state h3{font-size:1.05rem;color:#64748b;margin:0 0 8px;font-weight:600}.safety-empty-state p{font-size:.82rem;margin:0;color:#475569}.sh-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1000px){.sh-two-col{grid-template-columns:1fr}}.activity-trail{padding:24px 28px;min-height:100%;background:linear-gradient(180deg,#060a14,#0c1220 40%,#0a0e1a)}.at-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;height:400px;color:#475569;font-size:.9rem}.at-loading-ring{width:40px;height:40px;border:3px solid rgba(139,92,246,.15);border-top-color:#8b5cf6;border-radius:50%;animation:at-spin .8s linear infinite}@keyframes at-spin{to{transform:rotate(360deg)}}.at-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 26px;background:linear-gradient(135deg,#8b5cf60f,#0f172a80,#3b82f60a);border-radius:16px;border:1px solid rgba(255,255,255,.05);box-shadow:0 2px 20px #00000040;position:relative;overflow:hidden}.at-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),rgba(59,130,246,.2),transparent)}.at-header-left{display:flex;align-items:center;gap:16px}.at-header-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#8b5cf626,#8b5cf60d);border:1px solid rgba(139,92,246,.2);display:flex;align-items:center;justify-content:center;color:#a78bfa}.at-header h1{margin:0;font-size:1.35rem;font-weight:700;color:#e2e8f0;letter-spacing:-.01em}.at-header p{margin:2px 0 0;font-size:.8rem;color:#475569}.at-refresh-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.at-refresh-btn:hover{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0;transform:translateY(-1px)}.at-refresh-btn.spinning svg{animation:at-spin .6s linear infinite}.at-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:1200px){.at-kpi-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.at-kpi-strip{grid-template-columns:1fr}}.at-kpi{position:relative;background:#0000004d;border-radius:14px;padding:20px 22px;border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;gap:16px;overflow:hidden;transition:all .3s ease}.at-kpi:hover{transform:translateY(-2px);border-color:#ffffff14;box-shadow:0 8px 32px #0000004d}.at-kpi-glow{position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity .3s ease}.at-kpi:hover .at-kpi-glow{opacity:1}.at-kpi-violet .at-kpi-glow{background:linear-gradient(90deg,#8b5cf6,transparent)}.at-kpi-violet .at-kpi-icon{color:#8b5cf6;background:#8b5cf61a;border-color:#8b5cf626}.at-kpi-blue .at-kpi-glow{background:linear-gradient(90deg,#3b82f6,transparent)}.at-kpi-blue .at-kpi-icon{color:#3b82f6;background:#3b82f61a;border-color:#3b82f626}.at-kpi-teal .at-kpi-glow{background:linear-gradient(90deg,#0d9488,transparent)}.at-kpi-teal .at-kpi-icon{color:#0d9488;background:#0d94881a;border-color:#0d948826}.at-kpi-amber .at-kpi-glow{background:linear-gradient(90deg,#d97706,transparent)}.at-kpi-amber .at-kpi-icon{color:#d97706;background:#d977061a;border-color:#d9770626}.at-kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid}.at-kpi-data{display:flex;flex-direction:column;gap:2px}.at-kpi-value{font-size:1.8rem;font-weight:700;color:#e2e8f0;line-height:1;letter-spacing:-.02em}.at-kpi-label{font-size:.72rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.at-content{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}@media(max-width:1100px){.at-content{grid-template-columns:1fr}}.at-filters{background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.04);overflow:hidden;position:sticky;top:24px}.at-filters-header{padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.04);background:#ffffff03;display:flex;align-items:center;justify-content:space-between}.at-filters-title{display:flex;align-items:center;gap:10px}.at-filters-title svg{color:#475569}.at-filters-title h2{margin:0;font-size:.95rem;font-weight:600;color:#e2e8f0}.at-clear-btn{background:none;border:none;color:#64748b;font-size:.72rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.at-clear-btn:hover{color:#e2e8f0;background:#ffffff0d}.at-filters-body{padding:20px 22px;display:flex;flex-direction:column;gap:20px}.at-filter-group label{display:block;font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.at-search-input{width:100%;background:#00000059;color:#e2e8f0;border:1px solid rgba(255,255,255,.06);padding:10px 14px 10px 36px;border-radius:10px;font-size:.82rem;transition:all .2s;outline:none;box-sizing:border-box}.at-search-input:focus{border-color:#8b5cf666;box-shadow:0 0 0 2px #8b5cf614}.at-search-input::placeholder{color:#475569}.at-search-wrap{position:relative}.at-search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#475569;pointer-events:none}.at-select{width:100%;background:#00000059;color:#cbd5e1;border:1px solid rgba(255,255,255,.06);padding:10px 14px;border-radius:10px;font-size:.82rem;cursor:pointer;transition:all .2s;outline:none;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.at-select:focus{border-color:#8b5cf666;box-shadow:0 0 0 2px #8b5cf614}.at-select option{background:#1e293b;color:#e2e8f0}.at-severity-pills{display:flex;gap:6px;flex-wrap:wrap}.at-pill{padding:6px 14px;border-radius:20px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.at-pill:hover{background:#ffffff0f;border-color:#ffffff1a}.at-pill.active{background:#8b5cf626;border-color:#8b5cf64d;color:#a78bfa}.at-pill-info.active{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.at-pill-warning.active{background:#d9770626;border-color:#d977064d;color:#f59e0b}.at-pill-error.active{background:#ef444426;border-color:#ef44444d;color:#f87171}.at-feed{background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.04);overflow:hidden}.at-feed-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.04);background:#ffffff03}.at-feed-title{display:flex;align-items:center;gap:10px}.at-feed-title svg{color:#475569}.at-feed-title h2{margin:0;font-size:.95rem;font-weight:600;color:#e2e8f0}.at-feed-count{font-size:.65rem;padding:3px 8px;border-radius:8px;font-weight:600;background:#8b5cf61f;color:#a78bfa}.at-feed-list{max-height:calc(100vh - 340px);overflow-y:auto}.at-feed-list::-webkit-scrollbar{width:5px}.at-feed-list::-webkit-scrollbar-track{background:transparent}.at-feed-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.at-feed-list::-webkit-scrollbar-thumb:hover{background:#ffffff26}.at-entry{display:flex;gap:14px;padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer;transition:all .15s ease;position:relative}.at-entry:hover{background:#ffffff05}.at-entry:last-child{border-bottom:none}.at-entry:before{content:"";position:absolute;left:38px;top:50px;bottom:0;width:1px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent);pointer-events:none}.at-entry:last-child:before{display:none}.at-entry-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;z-index:1}.at-icon-fleet{background:#0d94881f;color:#14b8a6}.at-icon-voyage{background:#3b82f61f;color:#60a5fa}.at-icon-commercial{background:#d977061f;color:#f59e0b}.at-icon-crew{background:#22c55e1f;color:#4ade80}.at-icon-pms{background:#8b5cf61f;color:#a78bfa}.at-icon-procurement{background:#ec48991f;color:#f472b6}.at-icon-inventory{background:#a855f71f;color:#c084fc}.at-icon-bunker{background:#fb923c1f;color:#fb923c}.at-icon-compliance{background:#22c55e1f;color:#22c55e}.at-icon-safety{background:#ef44441f;color:#f87171}.at-icon-finance{background:#d977061f;color:#d97706}.at-icon-admin{background:#64748b1f;color:#94a3b8}.at-icon-auth{background:#3b82f61f;color:#3b82f6}.at-icon-sysadmin{background:#8b5cf61f;color:#8b5cf6}.at-icon-default{background:#64748b1a;color:#64748b}.at-entry-body{flex:1;min-width:0}.at-entry-summary{font-size:.85rem;color:#cbd5e1;line-height:1.5;font-weight:500;margin-bottom:6px;word-break:break-word}.at-entry-summary strong{color:#e2e8f0;font-weight:600}.at-entry-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.at-entry-time{font-size:.72rem;color:#475569}.at-entry-module{font-size:.6rem;padding:2px 8px;border-radius:6px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:#ffffff0a;color:#64748b}.at-entry-source{font-size:.6rem;padding:2px 6px;border-radius:4px;font-weight:500;background:#8b5cf614;color:#a78bfa}.at-sev-badge{font-size:.55rem;padding:2px 7px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.at-sev-info{background:#3b82f61f;color:#60a5fa}.at-sev-warning{background:#d977061f;color:#f59e0b}.at-sev-error{background:#ef44441f;color:#f87171}.at-entry-chevron{flex-shrink:0;color:#334155;transition:all .2s ease;align-self:flex-start;margin-top:4px}.at-entry:hover .at-entry-chevron{color:#64748b}.at-entry-chevron.expanded{transform:rotate(90deg);color:#a78bfa}.at-detail{overflow:hidden;max-height:0;transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .25s ease;opacity:0}.at-detail.open{max-height:600px;opacity:1}.at-detail-inner{padding:0 22px 16px 70px}.at-detail-text{font-size:.82rem;color:#94a3b8;line-height:1.6;margin-bottom:14px;padding:12px 16px;background:#0003;border-radius:10px;border-left:3px solid rgba(139,92,246,.3)}.at-diff{width:100%;border-collapse:collapse;margin-bottom:12px;border-radius:10px;overflow:hidden}.at-diff th{padding:8px 14px;font-size:.68rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.04)}.at-diff td{padding:8px 14px;font-size:.8rem;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.03);font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem}.at-diff-field{color:#cbd5e1;font-weight:500;font-family:inherit;font-size:.78rem}.at-diff-old{color:#f87171;background:#ef44440a;text-decoration:line-through;text-decoration-color:#ef44444d}.at-diff-new{color:#4ade80;background:#22c55e0a}.at-detail-meta{display:flex;gap:12px;flex-wrap:wrap}.at-detail-tag{display:flex;align-items:center;gap:5px;font-size:.7rem;color:#475569;background:#ffffff08;padding:4px 10px;border-radius:6px}.at-detail-tag svg{opacity:.6}.at-load-more{padding:20px;text-align:center;border-top:1px solid rgba(255,255,255,.03)}.at-load-more-btn{padding:10px 28px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:10px;color:#a78bfa;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.at-load-more-btn:hover{background:#8b5cf62e;border-color:#8b5cf659;transform:translateY(-1px);box-shadow:0 4px 16px #8b5cf626}.at-load-more-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.at-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;color:#334155;gap:16px}.at-empty-icon{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#8b5cf614,#3b82f60a);border:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;color:#475569;margin-bottom:4px}.at-empty h3{margin:0;font-size:1.05rem;font-weight:600;color:#64748b}.at-empty p{margin:0;font-size:.85rem;color:#475569;max-width:340px;text-align:center;line-height:1.5}@media(max-width:1100px){.at-content{grid-template-columns:1fr}.at-filters{position:static;order:-1}}.login-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:9999;font-family:Inter,Segoe UI,system-ui,sans-serif}.login-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0a0a1a,#1a1a3e,#0d1b2a 60%,#0a0a1a);z-index:0}.login-backdrop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(124,58,237,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(6,182,212,.05) 0%,transparent 50%)}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:linear-gradient(145deg,#1e293bf2,#0f172afa);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:48px 40px;box-shadow:0 25px 50px #00000080,0 0 0 1px #ffffff08 inset,0 1px #ffffff0d inset;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:loginSlideIn .5s cubic-bezier(.16,1,.3,1)}@keyframes loginSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo{text-align:center;margin-bottom:36px}.login-logo-icon{font-size:48px;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(59,130,246,.2));animation:loginAnchorFloat 3s ease-in-out infinite}@keyframes loginAnchorFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.login-title{margin:0;font-size:1.8rem;font-weight:800;letter-spacing:4px;background:linear-gradient(135deg,#94a3b8,#e2e8f0 40%,#cbd5e1 60%,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{margin:6px 0 0;font-size:.8rem;color:#64748b;letter-spacing:2px;text-transform:uppercase;font-weight:500}.login-form{display:flex;flex-direction:column;gap:20px}.login-form-title{margin:0;color:#e2e8f0;font-size:1.1rem;font-weight:600}.login-form-desc{margin:-12px 0 4px;color:#64748b;font-size:.85rem;line-height:1.5}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:.8rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.login-field input{width:100%;padding:12px 16px;font-size:.95rem;color:#e2e8f0;background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:10px;outline:none;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.login-field input::placeholder{color:#475569}.login-field input:focus{border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a;background:#0f172acc}.login-field input:disabled{opacity:.5;cursor:not-allowed}.login-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#fca5a5;font-size:.85rem;line-height:1.4;animation:loginShake .4s cubic-bezier(.36,.07,.19,.97)}.login-error-icon{flex-shrink:0}@keyframes loginShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-success-msg{text-align:center;padding:20px 0}.login-success-icon{font-size:48px;margin-bottom:16px}.login-success-msg h3{margin:0 0 8px;color:#e2e8f0;font-size:1.1rem}.login-success-msg p{margin:0 0 24px;color:#64748b;font-size:.85rem;line-height:1.5}.login-btn{width:100%;padding:12px;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.login-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.login-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 6px 20px #3b82f666;transform:translateY(-1px)}.login-btn-primary:active{transform:translateY(0)}.login-btn-primary:disabled{opacity:.7;cursor:not-allowed}.login-btn-secondary{background:#ffffff0f;color:#94a3b8;border:1px solid rgba(255,255,255,.08)}.login-btn-secondary:hover{background:#ffffff1a;color:#e2e8f0}.login-btn-ghost{background:transparent;color:#64748b;padding:8px;font-size:.85rem;font-weight:500}.login-btn-ghost:hover{color:#94a3b8}.login-btn-loading{display:flex;align-items:center;justify-content:center;gap:8px}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:loginSpin .6s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{margin-top:32px;text-align:center;border-top:1px solid rgba(255,255,255,.05);padding-top:20px}.login-footer p{margin:0;font-size:.75rem;color:#475569;letter-spacing:.3px}@media(max-width:480px){.login-card{margin:16px;padding:36px 28px}}.external-quote-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.external-quote-container{background:#1e293bf2;border:1px solid rgba(255,255,255,.1);border-radius:16px;max-width:900px;width:100%;padding:40px;box-shadow:0 25px 50px -12px #00000080}.external-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}.external-header h1{color:#f1f5f9;font-size:28px;font-weight:600;margin:0 0 8px}.external-header .rfq-number{color:#3b82f6;font-size:18px;font-weight:500;margin:0}.rfq-info-section{background:#0f172a80;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:24px;margin-bottom:32px}.rfq-info-section h3{color:#94a3b8;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item .label{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.info-item .value{color:#e2e8f0;font-size:16px;font-weight:500}.info-item .vessel-imo{color:#64748b;font-size:13px;font-weight:400}.remarks{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05)}.remarks .label{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.remarks p{color:#cbd5e1;font-size:14px;margin:8px 0 0;line-height:1.5}.line-items-section{margin-bottom:32px}.line-items-section h3{color:#f1f5f9;font-size:18px;font-weight:600;margin:0 0 8px}.line-items-section .instruction{color:#94a3b8;font-size:14px;margin:0 0 20px}.line-items-table{width:100%;border-collapse:collapse;font-size:14px}.line-items-table thead th{background:#0f172acc;color:#94a3b8;font-weight:600;text-align:left;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);text-transform:uppercase;font-size:11px;letter-spacing:.5px}.line-items-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05)}.line-items-table tbody tr:hover{background:#3b82f60d}.line-items-table td{padding:16px;color:#e2e8f0;vertical-align:middle}.item-name{font-weight:500;color:#f1f5f9}.item-code{font-size:12px;color:#64748b;margin-top:2px}.qty-cell{font-weight:600;color:#3b82f6}.price-input,.qty-input{width:100%;max-width:120px;padding:10px 12px;background:#0f172acc;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f1f5f9;font-size:14px;transition:all .2s ease}.price-input:focus,.qty-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.price-input::placeholder,.qty-input::placeholder{color:#475569}.quote-details-section{background:#0f172a80;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:24px;margin-bottom:32px}.quote-details-section h3{color:#f1f5f9;font-size:18px;font-weight:600;margin:0 0 20px}.quote-inputs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group.full-width{grid-column:1 / -1}.input-group label{color:#94a3b8;font-size:13px;font-weight:500}.input-group .help-text{color:#64748b;font-size:11px}.form-input,.form-textarea{width:100%;padding:12px 14px;background:#0f172acc;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f1f5f9;font-size:14px;font-family:inherit;transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.form-input::placeholder,.form-textarea::placeholder{color:#475569}.form-textarea{resize:vertical;min-height:80px}.form-select{width:100%;padding:12px 36px 12px 14px;background:#0f172acc;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f1f5f9;font-size:14px;font-family:inherit;transition:all .2s ease;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10L6 8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.form-select option{background:#1e293b;color:#f1f5f9}.submit-section{display:flex;justify-content:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.submit-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:16px 48px;font-size:16px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #3b82f666}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.external-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.05)}.external-footer p{color:#475569;font-size:12px;margin:0}.loading-spinner{text-align:center;padding:60px 20px;color:#94a3b8;font-size:16px}.error-container{text-align:center;padding:60px 40px}.error-icon{font-size:48px;margin-bottom:16px}.error-container h2{color:#f87171;font-size:24px;margin:0 0 12px}.error-container p{color:#e2e8f0;font-size:16px;margin:0 0 8px}.error-hint{color:#64748b!important;font-size:14px!important}.success-container{text-align:center;padding:60px 40px}.success-icon{width:64px;height:64px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;margin:0 auto 24px}.success-container h2{color:#10b981;font-size:24px;margin:0 0 12px}.success-container p{color:#e2e8f0;font-size:16px;margin:0 0 8px}.success-hint{color:#64748b!important;font-size:14px!important}@media(max-width:768px){.external-quote-container{padding:24px}.external-header h1{font-size:22px}.info-grid{grid-template-columns:1fr 1fr}.line-items-table{font-size:12px}.line-items-table th,.line-items-table td{padding:10px 8px}.price-input,.qty-input{max-width:80px;padding:8px}}.crew-portal-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2rem;background:linear-gradient(135deg,#0f1419,#1a2332,#0d1117);background-attachment:fixed}.portal-card{width:100%;max-width:800px;margin:2rem 0;background:linear-gradient(145deg,#1e293bf2,#0f172afa);border:1px solid rgba(56,189,248,.15);border-radius:16px;box-shadow:0 25px 50px -12px #00000080,0 0 80px -20px #38bdf826;overflow:hidden}.portal-card.wizard-card{max-width:900px}.portal-card.loading-card{padding:4rem;text-align:center}.loading-spinner{width:48px;height:48px;border:3px solid rgba(56,189,248,.2);border-top-color:#38bdf8;border-radius:50%;margin:0 auto 1.5rem;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-card p{color:#94a3b8;font-size:1rem}.portal-card.error-card{padding:4rem 3rem;text-align:center}.error-icon{color:#ef4444;margin-bottom:1.5rem}.error-card h2{color:#f1f5f9;font-size:1.5rem;margin-bottom:1rem}.error-card p{color:#94a3b8;font-size:1rem;margin-bottom:.5rem}.error-card small{color:#64748b;font-size:.875rem}.portal-card.success-card{padding:4rem 3rem;text-align:center}.success-icon{color:#22c55e;margin-bottom:1.5rem;animation:successPop .5s ease-out}@keyframes successPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-card h2{color:#f1f5f9;font-size:1.75rem;margin-bottom:1rem}.success-card p{color:#94a3b8;font-size:1.1rem;margin-bottom:.5rem}.success-card .subtext{color:#64748b;font-size:.95rem}.submission-summary{margin-top:2rem;padding:1.5rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:12px;text-align:left}.submission-summary h4{color:#22c55e;margin:0 0 1rem;font-size:1rem}.submission-summary ul{margin:0;padding:0;list-style:none}.submission-summary li{padding:.5rem 0;color:#94a3b8;font-size:.9rem}.portal-header{padding:2rem;text-align:center;background:linear-gradient(180deg,rgba(56,189,248,.08) 0%,transparent 100%);border-bottom:1px solid rgba(56,189,248,.1)}.company-logo{color:#38bdf8;margin-bottom:.75rem}.portal-header h1{color:#f1f5f9;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.portal-header .company-name{color:#94a3b8;font-size:1rem;margin:0}.position-badge{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:20px;color:#22c55e;font-size:.875rem}.wizard-progress{display:flex;padding:1.5rem 2rem;background:#0003;border-bottom:1px solid rgba(56,189,248,.1);gap:.5rem;overflow-x:auto}.progress-step{flex:1;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1e293b80;border:1px solid rgba(148,163,184,.1);border-radius:10px;cursor:pointer;transition:all .2s ease;min-width:120px}.progress-step.active{background:#38bdf826;border-color:#38bdf866}.progress-step.completed{background:#22c55e26;border-color:#22c55e4d}.step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#94a3b833;border-radius:50%;color:#94a3b8;font-size:.85rem;font-weight:600;flex-shrink:0}.progress-step.active .step-number{background:#38bdf8;color:#0f1419}.progress-step.completed .step-number{background:#22c55e;color:#0f1419}.step-info{display:flex;flex-direction:column;gap:.125rem}.step-icon{font-size:.9rem}.step-label{font-size:.8rem;color:#94a3b8;font-weight:500}.progress-step.active .step-label{color:#38bdf8}.progress-step.completed .step-label{color:#22c55e}.wizard-content{padding:2rem;min-height:400px}.wizard-step{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.step-title{color:#f1f5f9;font-size:1.35rem;font-weight:600;margin:0 0 .5rem}.step-description{color:#94a3b8;font-size:.95rem;margin:0 0 2rem}.section-subtitle{display:flex;align-items:center;justify-content:space-between;color:#e2e8f0;font-size:1rem;font-weight:600;margin:1.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(148,163,184,.1)}.photo-upload-section{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;margin-bottom:2rem;background:#0f172a80;border:1px dashed rgba(148,163,184,.2);border-radius:12px}.photo-preview-box{width:100px;height:120px;border-radius:8px;overflow:hidden;background:#1e293bcc;border:2px solid rgba(148,163,184,.2);flex-shrink:0}.photo-preview-box img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:#64748b}.photo-placeholder span{font-size:.7rem;text-transform:uppercase}.photo-controls{display:flex;flex-direction:column;gap:.75rem}.btn-upload,.btn-remove{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-upload{background:#38bdf826;border:1px solid rgba(56,189,248,.3);color:#38bdf8}.btn-upload:hover{background:#38bdf840}.btn-remove{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444}.btn-remove:hover{background:#ef444440}.upload-hint{margin:0;color:#64748b;font-size:.8rem;font-style:italic}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group.full-width{grid-column:1 / -1}.form-group.has-error input,.form-group.has-error textarea,.form-group.has-error select{border-color:#ef4444}.form-group label{color:#94a3b8;font-size:.85rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;background:#0f172a99;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#f1f5f9;font-size:.95rem;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf81a;background:#0f172acc}.form-group input::placeholder,.form-group textarea::placeholder{color:#64748b}.form-group textarea{resize:vertical;min-height:60px}.error-text{color:#ef4444;font-size:.8rem;margin-top:.25rem}.btn-add-cert{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#22c55e;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-cert:hover{background:#22c55e40}.empty-certificates{text-align:center;padding:2rem;background:#0f172a80;border:1px dashed rgba(148,163,184,.2);border-radius:12px;color:#64748b}.empty-certificates svg{opacity:.5;margin-bottom:.75rem}.empty-certificates p{margin:0 0 .5rem;color:#94a3b8}.empty-certificates small{font-size:.85rem}.certificates-list{display:flex;flex-direction:column;gap:1rem}.certificate-card{padding:1.25rem;background:#0f172a80;border:1px solid rgba(148,163,184,.15);border-radius:10px}.cert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cert-number{color:#38bdf8;font-size:.85rem;font-weight:600}.btn-remove-cert{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;cursor:pointer;transition:all .2s ease}.btn-remove-cert:hover{background:#ef444440}.wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:#0003;border-top:1px solid rgba(56,189,248,.1)}.btn-back,.btn-next{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-back{background:#94a3b81a;border:1px solid rgba(148,163,184,.2);color:#94a3b8}.btn-back:hover:not(:disabled){background:#94a3b833}.btn-back:disabled{opacity:.4;cursor:not-allowed}.btn-next{background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;color:#fff}.btn-next:hover{background:linear-gradient(135deg,#38bdf8,#0ea5e9);transform:translateY(-1px);box-shadow:0 4px 12px #38bdf84d}.step-indicator{color:#64748b;font-size:.85rem}.btn-submit{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#4ade80,#22c55e);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.btn-submit .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.portal-footer{padding:1rem 2rem;text-align:center;background:#0000001a}.portal-footer p{display:inline-flex;align-items:center;gap:.5rem;color:#64748b;font-size:.8rem;margin:0}.portal-footer svg{color:#22c55e}@media(max-width:768px){.crew-portal-container{padding:1rem;align-items:flex-start}.portal-card{margin:1rem 0}.wizard-progress{padding:1rem}.progress-step{padding:.5rem .75rem;min-width:80px}.step-label{display:none}.wizard-content{padding:1.5rem}.wizard-footer{padding:1rem 1.5rem}.photo-upload-section{flex-direction:column;text-align:center}}:root{--primary: #0a192f;--secondary: #64748b;--bg-body: #f8fafc;--bg-card: #ffffff;--text-primary: #333333;--text-secondary: #7f8c8d;--border-color: #e2e8f0;--border-radius: 12px;--input-bg: rgba(0, 0, 0, .4);--input-text: #ffffff;--input-border: rgba(255, 255, 255, .15);--input-label: #9ca3af;--input-placeholder: #6b7280;--accent-primary: #14b8a6;--accent-primary-dark: #0d9488;--accent-primary-light: #2dd4bf;--accent-primary-rgb: 13, 148, 136;--accent-gradient: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);--accent-gradient-hover: linear-gradient(135deg, #14b8a6 0%, #2dd4bf 100%);--premium-card-bg: linear-gradient(180deg, rgba(30, 41, 59, .6) 0%, rgba(15, 23, 42, .6) 100%);--premium-card-border: rgba(255, 255, 255, .06);--premium-card-shadow: 0 4px 16px rgba(0, 0, 0, .15);--premium-header-bg: linear-gradient(135deg, rgba(13, 148, 136, .1) 0%, rgba(15, 23, 42, .8) 100%);--status-success: #14b8a6;--status-success-bg: rgba(13, 148, 136, .15);--status-success-border: rgba(13, 148, 136, .3);--status-warning: #fbbf24;--status-warning-bg: rgba(217, 119, 6, .15);--status-warning-border: rgba(217, 119, 6, .3);--status-error: #ef4444;--status-error-bg: rgba(239, 68, 68, .15);--status-error-border: rgba(239, 68, 68, .3);--status-info: #60a5fa;--status-info-bg: rgba(59, 130, 246, .15);--status-info-border: rgba(59, 130, 246, .3)}.btn-action{padding:6px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--btn-action-bg, rgba(30, 41, 59, .6));color:var(--btn-action-color, #94a3b8)}.btn-action:hover{background:var(--btn-action-hover-bg, rgba(51, 65, 85, .8));color:var(--btn-action-hover-color, #e2e8f0)}.btn-action-edit{background:var(--btn-edit-bg, rgba(30, 41, 59, .7));color:var(--btn-edit-color, #60a5fa);border-color:#60a5fa33}.btn-action-edit:hover{background:var(--btn-edit-hover-bg, rgba(37, 99, 235, .2));color:var(--btn-edit-hover-color, #93c5fd);border-color:#60a5fa66}.btn-action-delete{background:var(--btn-delete-bg, rgba(127, 29, 29, .15));color:var(--btn-delete-color, #f87171);border-color:#f8717133}.btn-action-delete:hover{background:var(--btn-delete-hover-bg, rgba(185, 28, 28, .25));color:var(--btn-delete-hover-color, #fca5a5);border-color:#f8717166}.btn-ghost{padding:6px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.btn-ghost-edit{background:#1e293bb3;color:#60a5fa;border-color:#60a5fa33}.btn-ghost-edit:hover{background:#2563eb33;color:#93c5fd;border-color:#60a5fa66}.btn-ghost-delete{background:#7f1d1d4d;color:#f87171;border-color:#f871714d}.btn-ghost-delete:hover{background:#b91c1c66;color:#fca5a5;border-color:#f8717180}.btn-toolbar{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;font-weight:600;font-size:.875rem}.btn-toolbar:active{transform:scale(.95)}.btn-toolbar-secondary{padding:8px;background:var(--btn-secondary-bg, rgba(255, 255, 255, .05));border-color:var(--btn-secondary-border, rgba(255, 255, 255, .1));color:var(--btn-secondary-color, #9ca3af)}.btn-toolbar-secondary:hover{background:var(--btn-secondary-hover-bg, rgba(255, 255, 255, .1));color:var(--btn-secondary-hover-color, #ffffff)}.btn-toolbar-primary{padding:8px 16px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 4px 12px #2563eb40;white-space:nowrap}.btn-toolbar-primary:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 6px 16px #2563eb59}.input-search{width:100%;padding:8px 16px;background:var(--input-search-bg, rgba(0, 0, 0, .4));border:1px solid var(--input-search-border, rgba(255, 255, 255, .1));border-radius:8px;font-size:.875rem;color:var(--input-search-color, #ffffff);outline:none;transition:all .15s ease}.input-search::placeholder{color:var(--input-search-placeholder, #6b7280)}.input-search:focus{border-color:var(--input-search-focus-border, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.pagination-container{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid var(--pagination-border, rgba(255, 255, 255, .1));background:var(--pagination-bg, rgba(0, 0, 0, .1))}.pagination-info{font-size:.75rem;color:var(--pagination-text, #9ca3af)}.pagination-highlight{color:var(--pagination-highlight, #ffffff);font-weight:500}.pagination-nav{display:flex;align-items:center;gap:8px}.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-btn{padding:6px;border-radius:8px;border:1px solid var(--pagination-btn-border, rgba(255, 255, 255, .1));background:var(--pagination-btn-bg, rgba(255, 255, 255, .05));color:var(--pagination-btn-color, #9ca3af);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:var(--pagination-btn-hover-bg, rgba(255, 255, 255, .1));color:var(--pagination-btn-hover-color, #ffffff)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-page{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:var(--pagination-page-bg, rgba(255, 255, 255, .05));color:var(--pagination-page-color, #9ca3af);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.pagination-page:hover:not(.active){background:var(--pagination-page-hover-bg, rgba(255, 255, 255, .1));color:var(--pagination-page-hover-color, #ffffff)}.pagination-page.active{background:var(--pagination-active-bg, #3b82f6);color:var(--pagination-active-color, #ffffff);border-color:transparent;box-shadow:0 4px 12px #3b82f64d}.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-submit:active{transform:scale(.98)}.btn-submit-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b98140}.btn-submit-primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 16px #10b98159}.btn-submit-secondary{background:var(--btn-cancel-bg, rgba(255, 255, 255, .05));color:var(--btn-cancel-color, #9ca3af);border:1px solid var(--btn-cancel-border, rgba(255, 255, 255, .1))}.btn-submit-secondary:hover{background:var(--btn-cancel-hover-bg, rgba(255, 255, 255, .1));color:var(--btn-cancel-hover-color, #ffffff)}.btn-submit-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-submit-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444459}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-body);color:var(--text-primary)}a{color:var(--link-font-color, #3b82f6);text-decoration:none;transition:color .2s ease}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width, 260px);background:linear-gradient(180deg,#0f1729,#1a1a2e,#0c1929);color:var(--text-sidebar, #a0aec0);display:flex;flex-direction:column;padding:20px;border-right:1px solid rgba(255,255,255,.06);box-shadow:4px 0 24px #0000004d}.sidebar-logo{background-color:var(--sidebar-logo-bg, transparent);padding:var(--sidebar-logo-padding, 0);border-radius:8px;font-size:1.2rem;font-weight:700;margin-bottom:40px;color:var(--info, #3b82f6)}.nav-item{padding:12px 16px;margin:4px 0;border-radius:12px;cursor:pointer;transition:all .2s ease;color:#64748b;display:flex;align-items:center;font-size:.9rem;font-weight:500;border:1px solid transparent}.nav-item:hover{background:#ffffff0a;color:#e2e8f0;border-color:#ffffff0f}.nav-item.active{background:linear-gradient(135deg,#22c55e26,#22c55e0d);color:#22c55e;font-weight:600;border-color:#22c55e4d;box-shadow:0 0 20px #22c55e1a}.nav-item.nav-parent{justify-content:flex-start}.nav-item.nav-parent.expanded{background:#ffffff08;border-color:#ffffff14}.nav-submenu{padding-left:12px;margin-left:8px;border-left:2px solid rgba(255,255,255,.08);animation:submenuSlide .2s ease-out}.nav-submenu.collapsed{padding-left:0;margin-left:0;border-left:none}@keyframes submenuSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-item.nav-child{padding:10px 14px;margin:2px 0;font-size:.85rem;color:#94a3b8}.nav-item.nav-child:hover{background:#ffffff0d;color:#e2e8f0}.nav-item.nav-child.active{background:linear-gradient(135deg,#22c55e1f,#22c55e0a);color:#22c55e;font-weight:600;border-color:#22c55e40}.main-content{flex:1;padding:12px;max-width:var(--max-content-width, 2000px);margin:0 auto;overflow-y:auto}.breadcrumb-link{color:var(--link-font-color, #3b82f6);background-color:var(--link-bg-color, transparent);padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px;font-weight:500}.breadcrumb-link:hover{filter:brightness(.9);background-color:#0000000d}.breadcrumb-separator{color:#cbd5e0;margin:0 4px}.card{background:var(--bg-card);color:var(--card-text);border-radius:var(--border-radius);border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--card-border);margin-bottom:24px}.glass-card{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border)}h1,h2,h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--input-label)}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--input-border)!important;border-radius:6px;font-size:1rem;box-sizing:border-box;background-color:var(--input-bg)!important;color:var(--input-text)!important}input::placeholder,textarea::placeholder{color:var(--input-placeholder, #6b7280)}select option{background-color:#1a1a2e;color:#fff}.asset-tree{list-style:none;padding-left:0}.asset-node{margin-bottom:8px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.asset-header{padding:12px 16px;background:#ffffff0d;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.asset-header:hover{background:#ffffff1a}.asset-info{display:flex;align-items:center;gap:12px}.asset-children{padding-left:24px;background:#fdfdfd;border-top:1px solid #f0f4f8}.criticality-dot{width:8px;height:8px;border-radius:50%}.criticality-Critical{background:#e53e3e;box-shadow:0 0 8px #e53e3e66}.criticality-Essential{background:#dd6b20}.criticality-Normal{background:#38a169}.runtime-badge{font-size:.75rem;background:#edf2f7;padding:2px 8px;border-radius:12px;color:#4a5568}input:focus{outline:none;border-color:var(--blue-accent);box-shadow:0 0 0 3px #3498db1a}.btn{padding:10px 20px;border-radius:10px;font-weight:600;cursor:pointer;border:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:8px}.btn-tertiary{background-color:var(--btn-tertiary-bg);color:var(--btn-tertiary-text);border:1px solid var(--btn-tertiary-border)}.btn-tertiary:hover{filter:brightness(.95)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{filter:brightness(.95)}.btn-ghost{background-color:var(--btn-ghost-bg);color:var(--btn-ghost-text);padding:8px;border-radius:12px;justify-content:center}.btn-ghost:hover{background-color:var(--btn-ghost-hover-bg)}.btn-ghost svg{color:var(--btn-ghost-text)!important}.btn-ghost.btn-danger{background-color:#ef44441a}.btn-ghost.btn-danger:hover{background-color:#ef444433}.btn-ghost.btn-danger svg{color:#ef4444!important}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)!important}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0aec0}.btn-ghost:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-ghost.btn-danger{background-color:var(--icon-bg-danger, #fef2f2)}.btn-ghost.btn-sm{width:42px;height:42px;padding:0}.btn-ghost>svg{transition:transform .2s ease}.btn-ghost:active{transform:scale(.95)}.btn-primary{background-color:var(--btn-primary-bg, var(--navy));color:var(--btn-primary-text, #ffffff)!important;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;border:1px solid rgba(255,255,255,.1);background-image:linear-gradient(#ffffff0d,#0000000d)}.btn-primary:hover{filter:brightness(1.2);box-shadow:0 7px 14px #0000001a,0 3px 6px #00000014;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-secondary{background-color:var(--btn-secondary-bg, #64748b);color:var(--btn-secondary-text, #ffffff)!important;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;background-image:linear-gradient(#ffffff0d,#0000000d)}.btn-secondary:hover{filter:brightness(1.15);box-shadow:0 7px 14px #0000001a,0 3px 6px #00000014;transform:translateY(-2px)}.btn-success{background-color:var(--btn-success-bg, #10b981);color:var(--btn-success-text, #ffffff)!important;box-shadow:0 4px 6px #10b98133,0 1px 3px #00000014;background-image:linear-gradient(#ffffff1a,#0000000d)}.btn-success:hover{filter:brightness(1.1);box-shadow:0 7px 14px #10b9814d,0 3px 6px #00000014;transform:translateY(-2px)}.badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;background-color:var(--badge-bg);color:var(--badge-text)}.badge-success{background:var(--icon-bg-success-color);color:var(--icon-success-color)}.badge-warning{background:var(--icon-bg-warning-color);color:var(--icon-warning-color)}.badge-danger{background:var(--icon-bg-danger-color);color:var(--icon-danger-color)}.badge-info{background:var(--icon-bg-action-color);color:var(--icon-action-color)}.badge-sm{padding:2px 6px;font-size:.65rem}.status-indicator{font-size:.875rem;display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.dot{width:8px;height:8px;border-radius:50%;background-color:#cbd5e0}.dot.saving{background-color:var(--blue-accent);animation:pulse 1.5s infinite}.dot.saved{background-color:#48bb78}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #3498dbb3}70%{transform:scale(1);box-shadow:0 0 0 10px #3498db00}to{transform:scale(.95);box-shadow:0 0 #3498db00}}.section-header{border-bottom:2px solid var(--border-color);padding-bottom:20px;margin-bottom:30px}.performance-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:20px}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.btn-danger{background-color:var(--icon-bg-danger, #fee2e2);color:var(--icon-danger-color, #ef4444)}.btn-danger:hover{filter:brightness(.95)}.info-message{padding:16px;background:#f0f9ff;border:1px solid #0284c7;border-radius:8px;color:#0c4a6e}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:modalOverlayFadeIn .2s ease}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-content,.modal{background:linear-gradient(180deg,#1e293bfa,#0f172afa);color:#e2e8f0;padding:0;border-radius:20px;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0d;max-width:95vw;min-width:500px;max-height:90vh;width:auto;overflow:hidden;border:1px solid rgba(255,255,255,.06);animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.modal-content.modal-sm,.modal.modal-sm{min-width:400px;max-width:480px}.modal-content.modal-lg,.modal.modal-lg,.modal.modal-large{min-width:700px;max-width:900px}.modal-content.modal-xl,.modal.modal-xl{min-width:900px;max-width:1200px}.modal-content.modal-fullscreen,.modal.modal-fullscreen{min-width:95vw;max-width:95vw;min-height:90vh;max-height:90vh}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px 24px;background:linear-gradient(135deg,rgba(13,148,136,.08) 0%,transparent 60%);border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;font-size:1.15rem;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:10px}.modal-header h2 svg,.modal-header h3 svg{color:#0d9488;opacity:.9}.modal-header .modal-subtitle{font-size:.8rem;color:#64748b;margin-top:4px;font-weight:400}.modal-close,.modal-header .close-btn,.modal-header button[aria-label=Close]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#64748b;cursor:pointer;transition:all .2s ease;flex-shrink:0}.modal-close:hover,.modal-header .close-btn:hover,.modal-header button[aria-label=Close]:hover{background:#ef44441a;border-color:#ef444433;color:#ef4444}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:#ffffff05}.modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff26}.modal-footer{padding:16px 24px;background:#00000026;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.modal-body .form-group{margin-bottom:20px}.modal-body .form-group:last-child{margin-bottom:0}.modal-body .form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:.85rem;color:#94a3b8}.modal-body .form-group label.required:after{content:" *";color:#ef4444}.modal-body .form-group input,.modal-body .form-group select,.modal-body .form-group textarea{width:100%;padding:12px 16px;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#e2e8f0;font-size:.9rem;transition:all .2s ease}.modal-body .form-group input:focus,.modal-body .form-group select:focus,.modal-body .form-group textarea:focus{outline:none;border-color:#0d948866;box-shadow:0 0 0 3px #0d94881a}.modal-body .form-group input::placeholder,.modal-body .form-group textarea::placeholder{color:#475569}.modal-body .form-group textarea{min-height:100px;resize:vertical}.modal-body .form-group select option{background:#1e293b;color:#e2e8f0}.modal-body .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.modal-body .form-row .form-group{margin-bottom:0}.modal-footer .btn,.modal-footer button{padding:10px 20px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.modal-footer .btn-primary,.modal-footer button.btn-primary,.modal-footer button[type=submit]{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;box-shadow:0 4px 12px #0d948840}.modal-footer .btn-primary:hover,.modal-footer button.btn-primary:hover,.modal-footer button[type=submit]:hover{background:linear-gradient(135deg,#14b8a6,#0d9488);transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.modal-footer .btn-secondary,.modal-footer button.btn-secondary{background:#ffffff0a;color:#94a3b8;border:1px solid rgba(255,255,255,.1)}.modal-footer .btn-secondary:hover,.modal-footer button.btn-secondary:hover{background:#ffffff14;color:#e2e8f0}.modal-footer .btn-ghost,.modal-footer button.btn-ghost{background:transparent;color:#64748b;border:none}.modal-footer .btn-ghost:hover,.modal-footer button.btn-ghost:hover{background:#ffffff0a;color:#94a3b8}.modal-footer .btn-danger,.modal-footer button.btn-danger{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.modal-footer .btn-danger:hover,.modal-footer button.btn-danger:hover{background:#ef444440}.modal-body h4,.modal-body .section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:24px 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.modal-body h4:first-child,.modal-body .section-title:first-child{margin-top:0}.modal-body .info-box{padding:14px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:10px;color:#60a5fa;font-size:.85rem;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px}.modal-body .warning-box{padding:14px 16px;background:#d977061a;border:1px solid rgba(217,119,6,.2);border-radius:10px;color:#fbbf24;font-size:.85rem;margin-bottom:20px}.modal-body .error-box{padding:14px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#f87171;font-size:.85rem;margin-bottom:20px}.modal-body .success-box{padding:14px 16px;background:#0d94881a;border:1px solid rgba(13,148,136,.2);border-radius:10px;color:#2dd4bf;font-size:.85rem;margin-bottom:20px}.modal-body table{width:100%;border-collapse:collapse;margin:16px 0}.modal-body table th{background:#0003;padding:12px 14px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid rgba(255,255,255,.06)}.modal-body table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.04);font-size:.85rem;color:#e2e8f0}.modal-body table tr:hover td{background:#ffffff05}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;color:#64748b}.modal-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#0d9488;border-radius:50%;animation:modalSpin .8s linear infinite;margin-bottom:16px}@keyframes modalSpin{to{transform:rotate(360deg)}}.modal-confirm{text-align:center;max-width:420px}.modal-confirm .modal-body{padding:32px 24px}.modal-confirm .confirm-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;border-radius:50%}.modal-confirm .confirm-icon.warning{background:#d9770626;color:#fbbf24}.modal-confirm .confirm-icon.danger{background:#ef444426;color:#ef4444}.modal-confirm .confirm-icon.info{background:#3b82f626;color:#60a5fa}.modal-confirm .confirm-message{font-size:.95rem;color:#94a3b8;line-height:1.6}.modal-confirm .modal-footer{justify-content:center}.vessel-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;display:flex;flex-direction:column;gap:16px}.vessel-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a;border-color:var(--blue-accent)}.vessel-card-header{display:flex;justify-content:space-between;align-items:flex-start}.vessel-card-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.vessel-card-actions{display:flex;gap:8px;opacity:.6;transition:opacity .2s}.vessel-card:hover .vessel-card-actions{opacity:1}.vessel-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}.vessel-info-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.vessel-info-label{font-weight:600;color:var(--text-primary);min-width:45px}.vessel-card-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.table{width:100%;border-collapse:collapse;background:#00000026;border-radius:12px;overflow:hidden}.table th{text-align:left;padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.06);background:#0000004d;color:#64748b;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.04);color:#cbd5e1;font-size:.875rem}.glass-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important}.status-indicator{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-secondary);padding:6px 14px;background:#ffffff14;border-radius:20px;box-shadow:0 2px 4px #0003}.dot{width:8px;height:8px;border-radius:50%;background:#cbd5e0}.dot.saving{background:var(--blue-accent);animation:pulse 1.5s infinite}.dot.saved{background:var(--success)}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #3498dbb3}70%{transform:scale(1);box-shadow:0 0 0 6px #3498db00}to{transform:scale(.95);box-shadow:0 0 #3498db00}}.badge{text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.5px}table{width:100%;border-collapse:collapse;background:#00000026;border-radius:12px;overflow:hidden}table thead{background:#0000004d!important;color:#64748b!important;font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.06em}table thead th{padding:14px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)!important;color:#64748b;font-weight:600}table tbody tr{background:#ffffff03!important;color:#e2e8f0!important;border-bottom:1px solid rgba(255,255,255,.04)!important;transition:all .15s ease}table tbody tr:hover{background:#ffffff0a!important}table tbody td{padding:12px;color:#cbd5e1;font-size:.875rem}table tbody tr.child-row{background:#0000001a!important;color:#94a3b8!important}table tbody tr.child-row:nth-child(2n){background:#0000001a!important}table tbody tr.child-row:hover{background:#ffffff08!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glass-tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--glass-tabs-bg, rgba(255, 255, 255, .5));-webkit-backdrop-filter:blur(var(--glass-tabs-blur, 12px));backdrop-filter:blur(var(--glass-tabs-blur, 12px));padding:6px;border-radius:16px;border:1px solid var(--glass-tabs-border, var(--border-color));margin-bottom:30px}.glass-tabs::-webkit-scrollbar{display:none}.tab-btn{padding:10px 20px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.825rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}.tab-btn:hover{background:#fffc;color:var(--text-primary);transform:translateY(-1px)}.tab-btn.active{background:var(--bg-card);color:var(--blue-accent, #2563eb);border-color:#2563eb1a;box-shadow:0 4px 12px #00000014}.tab-btn svg{opacity:.7;transition:opacity .2s}.tab-btn.active svg{opacity:1}.nav-mode-btn{border-radius:var(--nav-mode-radius, 14px);padding:var(--nav-mode-padding, 12px 28px);font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:10px;border:none;cursor:pointer;background:transparent;color:var(--nav-mode-text-inactive, var(--text-secondary));transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-mode-btn:hover{background:var(--nav-mode-hover-bg, rgba(255, 255, 255, .5));transform:translateY(-1px)}.nav-mode-btn.active{background:var(--nav-mode-bg-active, var(--blue-accent));color:var(--nav-mode-text-active, white);box-shadow:0 10px 20px #2563eb33}.master-data-container{animation:fadeIn .5s ease-out}.form-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:28px;box-shadow:0 4px 6px -1px #0000000a}.form-section h3{font-size:1rem;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:10px;color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.category-hub{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#0f172a66;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:18px;border:1px solid rgba(255,255,255,.05);margin-bottom:32px}.category-hub-btn{display:flex;align-items:center;gap:10px;padding:10px 20px;border-radius:14px;font-weight:700;font-size:.85rem;border:1px solid transparent;background:transparent;color:#94a3b8;cursor:pointer;transition:all .3s ease}.category-hub-btn:hover{background:#ffffff0d;color:#f1f5f9}.category-hub-btn.active{background:#ffffff14;color:#fff;border-color:#ffffff1a}.category-hub-btn.active .icon-box{color:#60a5fa}.master-data-table{width:100%;border-collapse:separate;border-spacing:0;background:#00000026;border-radius:12px;overflow:hidden}.master-data-table thead th{background:#0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#64748b;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;position:sticky;top:0;z-index:10;cursor:pointer;transition:all .2s;font-weight:600}.master-data-table thead th:hover{background:#0006;color:#94a3b8}.master-data-table tbody tr{transition:all .15s ease}.master-data-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;color:#cbd5e1;font-size:.875rem}.master-data-table tbody tr:hover{background:#ffffff0a}.tab-btn{padding:8px 16px!important;font-size:.8rem!important;border-radius:10px!important}.tab-btn.active{background:#ffffff1a!important;box-shadow:0 4px 12px #0003!important}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}}.w-full{width:100%}.w-4{width:1rem}.h-4{height:1rem}.h-full{height:100%}.h-fit{height:fit-content}.min-h-0{min-height:0}.max-h-full{max-height:100%}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-hidden{overflow:hidden}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-white\/5{background-color:#ffffff0d}.bg-white\/10{background-color:#ffffff1a}.bg-blue-400{background-color:#60a5fa}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/20{background-color:#3b82f633}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-rose-500\/20{background-color:#f43f5e33}.bg-green-500{background-color:#22c55e}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-600{--tw-gradient-from: #2563eb;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(37, 99, 235, 0))}.to-blue-500{--tw-gradient-to: #3b82f6}.border{border:1px solid transparent}.border-white\/10{border-color:#ffffff1a}.border-dashed{border-style:dashed}.border-amber-500\/20{border-color:#f59e0b33}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.text-white{color:#fff}.text-gray-200{color:#e5e7eb}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-blue-400{color:#60a5fa}.text-rose-400{color:#fb7185}.text-amber-500{color:#f59e0b}.text-emerald-400{color:#34d399}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-mono{font-family:monospace}.uppercase{text-transform:uppercase}.text-center{text-align:center}.text-right{text-align:right}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.group:hover .group-hover\:opacity-100{opacity:1}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-blue-500\/20:hover{background-color:#3b82f633}.hover\:bg-rose-500\/20:hover{background-color:#f43f5e33}.hover\:from-blue-500:hover{--tw-gradient-from: #3b82f6;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(59, 130, 246, 0))}.hover\:to-blue-400:hover{--tw-gradient-to: #60a5fa}.hover\:text-white:hover{color:#fff}.active\:scale-95:active{transform:scale(.95)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.shadow-blue-500\/20{box-shadow:0 10px 15px -3px #3b82f633,0 4px 6px -2px #3b82f61a}.whitespace-nowrap{white-space:nowrap}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.w-1\.5{width:.375rem}.h-1\.5{height:.375rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.rounded-xl{border-radius:.75rem}.gap-1\.5{gap:.375rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mb-6{margin-bottom:1.5rem}.leading-none{line-height:1}.tracking-wider{letter-spacing:.05em}.outline-none{outline:2px solid transparent;outline-offset:2px}.pl-9{padding-left:2.25rem}.pr-4{padding-right:1rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.-translate-y-1\/2{transform:translateY(-50%)}.focus\:ring-1:focus{box-shadow:0 0 0 1px var(--tw-ring-color)}.focus\:border-blue-500:focus{border-color:#3b82f6}.focus\:ring-blue-500\/30:focus{--tw-ring-color: rgba(59, 130, 246, .3)}.focus-within\:text-blue-400:focus-within{color:#60a5fa}.min-w-300{min-width:300px}.w-24{width:6rem}.w-32{width:8rem}.text-10{font-size:10px}.border-blue-500\/20{border-color:#3b82f633}.hidden{display:none}.sm\\:table-cell{display:table-cell}@media(min-width:640px){.sm\\:table-cell{display:table-cell}}.divide-y>:not([hidden])~:not([hidden]){border-top-width:1px}.divide-white\/5>:not([hidden])~:not([hidden]){border-color:#ffffff0d}.animate-fadeIn{animation:fadeIn .3s ease-in-out}.master-data-container{padding:2.5rem;max-width:1600px;margin:0 auto;animation:fadeIn .4s ease-out}.dt-table-container{background:#0f172a;border-radius:12px;overflow:hidden;overflow-x:hidden!important;border:1px solid rgba(255,255,255,.04)}.dt-table{width:100%;border-collapse:collapse;background:#0f172a;font-size:.9rem}.dt-table thead{position:sticky;top:0;z-index:5}.dt-table th{background:#0f172af2;padding:14px 16px;text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .2s ease}.dt-table th.sortable{cursor:pointer}.dt-table th.sortable:hover{background:#3b82f614;color:#60a5fa}.dt-table th .sort-indicator{margin-left:6px;font-size:.7rem;color:#60a5fa;opacity:.5;transition:all .2s ease;display:inline-flex}.dt-table th.sorted .sort-indicator{opacity:1}.dt-table th.sorted.desc .sort-indicator{transform:rotate(180deg)}.dt-table td{padding:12px 16px;font-size:.875rem;color:#cbd5e1;border-bottom:1px solid rgba(255,255,255,.02);vertical-align:middle;box-sizing:border-box;display:table-cell!important;line-height:1.5}.dt-table tbody tr{transition:background .15s ease}.dt-table tbody tr:hover{background:#1e293b80}.dt-table tbody tr:last-child td{border-bottom:none}.dt-table .clickable-row,.dt-table tbody tr.clickable{cursor:pointer}.dt-table tbody tr.clickable:hover{background:#3b82f60f}.dt-table tbody tr.overdue{background:#ef444414}.dt-table tbody tr.overdue:hover{background:#ef44441f}.dt-table tbody tr.has-predecessors{box-shadow:inset 4px 0 #f59e0b}.dt-table tbody tr.has-predecessors:hover{background:#f59e0b14}.dt-table tbody tr.has-successors{box-shadow:inset -4px 0 #06b6d4}.dt-table tbody tr.has-successors:hover{background:#06b6d414}.dt-table tbody tr.has-predecessors.has-successors{box-shadow:inset 4px 0 #f59e0b,inset -4px 0 #06b6d4}.dt-table tbody tr.has-predecessors.has-successors:hover{background:#8b5cf614}.dt-table tbody tr.severity-critical{border-left:4px solid #dc2626!important}.dt-table tbody tr.severity-high{border-left:4px solid #ef4444!important}.dt-table tbody tr.severity-medium{border-left:4px solid #f59e0b!important}.dt-table tbody tr.severity-low{border-left:4px solid #10b981!important}.dt-table tbody tr.expanded{background:#3b82f614}.dt-table tbody tr.secondary-row,.dt-table tbody tr.actions-row{background:#0f172a66}.dt-table tbody tr.secondary-row:hover,.dt-table tbody tr.actions-row:hover{background:#1e293b99}.dt-table .sub-table{width:96%;margin:10px auto;border:1px solid rgba(255,255,255,.05);background:#0f172a66;border-radius:8px;box-shadow:0 4px 6px -1px #0000004d;overflow:hidden}.dt-table .sub-table .col-number,.dt-table .sub-table .col-date,.dt-table .sub-table td:nth-child(1){text-align:center}.dt-table .sub-table .col-amount,.dt-table .sub-table .col-currency{text-align:right;font-variant-numeric:tabular-nums}.dt-table.sub-table .btn-icon{width:30px!important;height:30px!important;min-width:24px!important;min-height:24px!important;max-width:26px!important;max-height:26px!important;padding:2px!important;margin:0 1px!important;line-height:1!important;box-sizing:border-box!important;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.dt-table.sub-table .btn-icon svg{width:10px!important;height:10px!important}.dt-table .sub-table th,.dt-table .sub-table td{padding:10px 16px;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.04)}.dt-table .sub-table th{background:#0f172acc!important;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.dt-table .sub-table thead{background:transparent}.dt-table .sub-table tr:last-child td{border-bottom:none}.dt-table .col-id,.dt-table .col-number,.dt-table .mono{font-family:JetBrains Mono,SF Mono,monospace;font-weight:600;color:#60a5fa}.dt-table .col-id.green,.dt-table .col-number.green{color:#22c55e}.dt-table .col-date,.dt-table .col-number,.dt-table .col-center{color:#94a3b8;white-space:nowrap;text-align:center}.dt-table .col-currency,.dt-table .col-amount,.dt-table .col-price,.dt-table .col-total,.dt-table .col-right{font-family:JetBrains Mono,SF Mono,monospace;text-align:right;color:#34d399}.dt-table .col-qty{font-family:JetBrains Mono,SF Mono,monospace;text-align:right}.dt-table .col-status{text-align:center}.dt-table .col-actions{text-align:center;width:120px;padding:8px 12px}.dt-table code{font-family:JetBrains Mono,SF Mono,monospace;font-size:.8rem;background:#0003;padding:3px 6px;border-radius:4px;color:#60a5fa}.dt-table .empty-state,.dt-table .empty-message{text-align:center;padding:48px 24px;color:#475569;font-style:italic}.dt-table .actions,.dt-table .actions-cell{text-align:center;white-space:nowrap}.dt-table .action-btn,.dt-table .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#94a3b8;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin:0 3px;vertical-align:middle}.dt-table .action-btn:hover,.dt-table .btn-icon:hover{background:#ffffff1a;border-color:#ffffff40;color:#e2e8f0}.dt-table .action-btn svg,.dt-table .btn-icon svg{width:14px;height:14px}.dt-table .action-btn.btn-view:hover,.dt-table .btn-icon.btn-view:hover,.dt-table .btn-icon.btn-primary:hover{background:#3b82f626;border-color:#3b82f666;color:#60a5fa}.dt-table .action-btn.btn-edit:hover,.dt-table .btn-icon.btn-edit:hover{background:#f59e0b26;border-color:#f59e0b66;color:#fbbf24}.dt-table .action-btn.btn-delete:hover,.dt-table .btn-icon.btn-delete:hover,.dt-table .btn-icon.btn-danger:hover,.dt-table .action-btn-danger:hover{background:#ef444426;border-color:#ef444466;color:#f87171}.dt-table .action-btn.btn-success:hover,.dt-table .btn-icon.btn-success:hover,.dt-table .btn-icon.btn-send:hover{background:#10b98126;border-color:#10b98166;color:#34d399}.dt-table .btn-icon.btn-secondary:hover{background:#a78bfa26;border-color:#a78bfa66;color:#a78bfa}.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:3px 12px;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid transparent;transition:all .2s ease;background:#94a3b826;color:#94a3b8;border-color:#94a3b833}.status-badge svg{flex-shrink:0;width:12px;height:12px}.status-badge.success,.status-badge.approved,.status-badge.active,.status-badge.completed,.status-badge.verified,.status-badge.compliant,.status-badge.badge-approved,.status-badge.badge-completed{background:#10b98126;color:#34d399;border-color:#10b9814d}.status-badge.info,.status-badge.submitted,.status-badge.released,.status-badge.primary,.status-badge.sent,.status-badge.badge-sent,.status-badge.status-primary{background:#3b82f626;color:#60a5fa;border-color:#3b82f64d}.status-badge.warning,.status-badge.pending,.status-badge.planned,.status-badge.in_progress,.status-badge.in-progress,.status-badge.urgent,.status-badge.badge-pending,.status-badge.status-warning{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}.status-badge.danger,.status-badge.rejected,.status-badge.cancelled,.status-badge.critical,.status-badge.breakdown,.status-badge.overdue,.status-badge.failed,.status-badge.badge-cancelled,.status-badge.badge-rejected,.status-badge.status-critical{background:#ef444426;color:#f87171;border-color:#ef44444d}.status-badge.neutral,.status-badge.draft,.status-badge.closed,.status-badge.inactive,.status-badge.locked,.status-badge.badge-draft,.status-badge.badge-closed{background:#94a3b826;color:#94a3b8;border-color:#94a3b84d}.status-badge.type-vessel{background:#8b5cf626;color:#a78bfa;border-color:#8b5cf64d}.status-badge.type-shore{background:#0ea5e926;color:#38bdf8;border-color:#0ea5e94d}.btn-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#1e293bb3;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#64748b;cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-icon:hover{background:#334155cc;border-color:#ffffff26;color:#e2e8f0}.btn-icon svg{width:14px;height:14px;color:inherit!important;fill:currentColor!important}.btn-icon.danger{background:#7f1d1d33;border-color:#f8717133;color:#f87171}.btn-icon.danger:hover{background:#b91c1c4d;border-color:#f8717166;color:#fca5a5}.btn-icon.success{background:#14532d33;border-color:#4ade8033;color:#4ade80}.btn-icon.success:hover{background:#22c55e40;border-color:#4ade8066;color:#86efac}.btn-icon.warning,.btn-icon.edit{background:#78350f33;border-color:#fbbf2433;color:#fbbf24}.btn-icon.warning:hover,.btn-icon.edit:hover{background:#92400e4d;border-color:#fbbf2466;color:#fcd34d}.btn-icon.primary{background:#1e3a8a33;border-color:#60a5fa33;color:#60a5fa}.btn-icon.primary:hover{background:#2563eb40;border-color:#60a5fa66;color:#93c5fd}.actions-cell,.dt-actions-wrapper{display:flex;gap:6px;align-items:center;justify-content:center}.dt-table thead th,table.dt-table thead th,.data-table-container .dt-table thead th{border-bottom:1px solid rgba(255,255,255,.1)!important;border-top:none!important;border-left:none!important;border-right:none!important}.dt-table tbody tr,table.dt-table tbody tr,.data-table-container .dt-table tbody tr{border:none!important;background:transparent!important}.dt-table tbody td,table.dt-table tbody td,.data-table-container .dt-table tbody td{border-bottom:1px solid rgba(255,255,255,.1)!important;border-top:none!important;border-left:none!important;border-right:none!important}.dt-table tbody tr:last-child td,table.dt-table tbody tr:last-child td{border-bottom:none!important}.inv-header,.pms-header,.hub-header,.wo-header{background:var(--premium-header-bg)!important;border-bottom:1px solid var(--premium-card-border)!important}.inv-tab.active,.pms-tab.active,.hub-tab.active{color:var(--accent-primary)!important;border-bottom-color:var(--accent-primary)!important}.inv-tab.active svg,.pms-tab.active svg,.hub-tab.active svg{color:var(--accent-primary)!important}.inv-manager .btn-primary,.pms-manager .btn-primary,.purchasing-hub .btn-primary{background:var(--accent-gradient)!important;box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.25)!important}.inv-manager .btn-primary:hover,.pms-manager .btn-primary:hover,.purchasing-hub .btn-primary:hover{background:var(--accent-gradient-hover)!important;box-shadow:0 6px 16px rgba(var(--accent-primary-rgb),.35)!important}.inv-table .action-btn:hover,.pms-table .action-btn:hover,.action-btn:hover{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.inv-table tbody tr:hover,.pms-table tbody tr:hover{background:rgba(var(--accent-primary-rgb),.03)!important}.location-icon,.inv-table .status-ok,.status-ok{background:var(--status-success-bg)!important;color:var(--accent-primary)!important}.location-card:hover{border-color:var(--accent-primary)!important}.inv-title svg,.pms-title svg{color:var(--accent-primary)!important}.location-category-title svg{color:var(--accent-primary)!important}.inv-manager input:focus,.inv-manager select:focus,.pms-manager input:focus,.pms-manager select:focus,.purchasing-hub input:focus,.purchasing-hub select:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.15)!important}.pagination-btn:hover:not(:disabled){background:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.inv-tab .tab-badge,.pms-tab .tab-badge{background:var(--status-warning)!important}.inv-section,.pms-content,.hub-content{background:transparent!important}.inv-table-container{background:var(--premium-card-bg)!important;border:1px solid var(--premium-card-border)!important;box-shadow:var(--premium-card-shadow)!important;border-radius:14px!important}.btn-view-pr{background:var(--accent-gradient)!important}.btn-view-pr:hover{background:var(--accent-gradient-hover)!important;box-shadow:0 2px 8px rgba(var(--accent-primary-rgb),.3)!important}.action-btn-stock:hover{background:var(--status-success-bg)!important;border-color:var(--accent-primary)!important;color:var(--accent-primary)!important}.inv-table th.sortable:hover,.inv-table th .sort-indicator{color:var(--accent-primary)!important}.inv-filters .search-input:focus{border-color:var(--accent-primary)!important}.wo-dashboard .stat-card{background:var(--premium-card-bg)!important;border:1px solid var(--premium-card-border)!important}.wo-dashboard .stat-icon.success{background:var(--status-success-bg)!important;color:var(--accent-primary)!important}.job-plan-list .btn-primary{background:var(--accent-gradient)!important}.job-plan-list .btn-primary:hover{background:var(--accent-gradient-hover)!important}.inv-manager ::-webkit-scrollbar-thumb,.pms-manager ::-webkit-scrollbar-thumb,.purchasing-hub ::-webkit-scrollbar-thumb{background:rgba(var(--accent-primary-rgb),.3)!important}.inv-manager ::-webkit-scrollbar-thumb:hover,.pms-manager ::-webkit-scrollbar-thumb:hover,.purchasing-hub ::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-primary-rgb),.5)!important}
