.toast-container{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:10000;pointer-events:none;max-width:420px;width:100%}.toast-container>*{pointer-events:auto}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:10px;background:#0f172aeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(148,163,184,.12);box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d;color:#f1f5f9;font-size:.88rem;line-height:1.5;position:relative;overflow:hidden;min-width:300px;animation:toast-slide-in .35s cubic-bezier(.21,1.02,.73,1) forwards}.toast-container .toast{position:relative;top:auto;right:auto}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:10px 0 0 10px}.toast-success:before{background:#22c55e}.toast-error:before{background:#ef4444}.toast-warning:before{background:#f59e0b}.toast-info:before{background:#3b82f6}.toast-icon{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem;font-weight:700;margin-top:1px}.toast-success .toast-icon{background:#22c55e26;color:#22c55e}.toast-error .toast-icon{background:#ef444426;color:#ef4444}.toast-warning .toast-icon{background:#f59e0b26;color:#f59e0b}.toast-info .toast-icon{background:#3b82f626;color:#3b82f6}.toast-message{flex:1;padding-top:1px;word-break:break-word}.toast-close{flex-shrink:0;background:none;border:none;color:#94a3b880;font-size:1.1rem;cursor:pointer;padding:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s;margin-top:-2px}.toast-close:hover{color:#f1f5f9}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:480px){.toast-container{left:8px;right:8px;max-width:none}.toast{min-width:0}}.toast-success{box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d,0 0 20px #22c55e1f!important;border-color:#22c55e33!important}.toast-error{box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d,0 0 20px #ef44441f!important;border-color:#ef444433!important}.toast-warning{box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d,0 0 20px #f59e0b1f!important;border-color:#f59e0b33!important}.toast-info{box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff0d,0 0 20px #3b82f61f!important;border-color:#3b82f633!important}.toast:hover{transform:translate(-4px) scale(1.01);transition:transform .2s ease}.toast:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;opacity:.4;transform-origin:left;animation:toastDrain 5s linear forwards}@keyframes toastDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-success:after{background:#22c55e}.toast-error:after{background:#ef4444}.toast-warning:after{background:#f59e0b}.toast-info:after{background:#3b82f6}.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}.skeleton-pulse{background:linear-gradient(90deg,#ffffff0a,#ffffff14 40%,#ffffff0a);background-size:200% 100%;animation:skeletonShimmer 1.8s ease-in-out infinite;flex-shrink:0}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-page{padding:20px 24px;animation:skeletonFadeIn .3s ease-out}@keyframes skeletonFadeIn{0%{opacity:0}to{opacity:1}}.skeleton-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.04)}.skeleton-header-left{display:flex;align-items:center;gap:12px}.skeleton-header-right{display:flex;align-items:center;gap:8px}.skeleton-kpi-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.skeleton-kpi-card{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:8px;flex:1;min-width:120px}.skeleton-kpi-body{display:flex;flex-direction:column;gap:6px}.skeleton-tab-bar{display:flex;gap:6px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.04)}.skeleton-filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.skeleton-table{background:#ffffff04;border:1px solid rgba(255,255,255,.04);border-radius:8px;overflow:hidden}.skeleton-table-header{display:flex;align-items:center;gap:20px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.skeleton-table-row{display:flex;align-items:center;gap:20px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.02)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-row:nth-child(1) .skeleton-pulse{animation-delay:0s}.skeleton-table-row:nth-child(2) .skeleton-pulse{animation-delay:.05s}.skeleton-table-row:nth-child(3) .skeleton-pulse{animation-delay:.1s}.skeleton-table-row:nth-child(4) .skeleton-pulse{animation-delay:.15s}.skeleton-table-row:nth-child(5) .skeleton-pulse{animation-delay:.2s}.skeleton-table-row:nth-child(6) .skeleton-pulse{animation-delay:.25s}.skeleton-table-row:nth-child(7) .skeleton-pulse{animation-delay:.3s}.skeleton-table-row:nth-child(8) .skeleton-pulse{animation-delay:.35s}.skeleton-table-row:nth-child(9) .skeleton-pulse{animation-delay:.4s}.skeleton-table-row:nth-child(10) .skeleton-pulse{animation-delay:.45s}.skeleton-content-area{display:grid;grid-template-columns:1fr 1fr;gap:16px}.skeleton-content-card{padding:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:8px}.skeleton-module{min-height:400px}.skeleton-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.skeleton-stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:10px}.skeleton-dual-panels{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:4px}.skeleton-panel{background:#ffffff04;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:16px}.skeleton-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.04)}.skeleton-panel-row{padding:8px 0}.skeleton-hero{display:flex;align-items:center;justify-content:space-between;padding:20px;margin-bottom:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:10px}.skeleton-info-strip{display:flex;gap:24px;padding:14px 20px;background:#ffffff04;border:1px solid rgba(255,255,255,.04);border-radius:8px;flex-wrap:wrap}.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-tabs{display:flex;gap:2px}.notification-tab{background:none;border:none;padding:6px 12px;font-size:.78rem;font-weight:600;color:#64748b;cursor:pointer;border-radius:6px;transition:all .15s ease;display:flex;align-items:center;gap:5px}.notification-tab:hover{color:#94a3b8;background:#ffffff0a}.notification-tab.active{color:#e2e8f0;background:#3b82f61f}.notification-tab-badge{font-size:.6rem;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;border-radius:8px;padding:0 3px;font-weight:700}.notification-tab-badge-warn{background:#f59e0b}.notification-alert{cursor:default}.notification-alert-error{border-left-color:#ef4444!important;background:#ef44440a}.notification-alert-warning{border-left-color:#f59e0b!important;background:#f59e0b0a}.notification-alert-count{flex-shrink:0;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;border-radius:8px;color:#fff;background:#64748b}.notification-alert-count-error{background:#ef444433;color:#ef4444}.notification-alert-count-warning{background:#f59e0b33;color:#f59e0b}.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-alert-dismiss{background:none;border:1px solid rgba(255,255,255,.08);color:#64748b;cursor:pointer;font-size:.7rem;width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:all .15s ease}.notification-item:hover .notification-alert-dismiss{opacity:1}.notification-alert-dismiss:hover{background:#ef44441f;border-color:#ef444440;color:#ef4444}.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}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9998;display:flex;align-items:center;gap:10px;padding:8px 20px;background:linear-gradient(135deg,#f59e0bf2,#d97706f2);color:#fff;font-size:.78rem;animation:offline-slide-down .3s ease}@keyframes offline-slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.offline-banner-icon{font-size:1.1rem}.offline-banner-content{display:flex;align-items:center;gap:8px}.offline-banner-title{font-weight:700}.offline-banner-sub{opacity:.85;font-weight:400}.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}}.login-backdrop:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(ellipse at center,rgba(20,184,166,.04) 0%,transparent 70%);animation:loginOrbPulse 8s ease-in-out infinite;pointer-events:none}@keyframes loginOrbPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}@keyframes titleShimmer{0%{background-position:-200% center}to{background-position:200% center}}.login-title{background:linear-gradient(90deg,#94a3b8,#e2e8f0,#14b8a6,#e2e8f0,#94a3b8)!important;background-size:200% auto!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:titleShimmer 5s linear infinite!important}.login-card{box-shadow:0 25px 50px #00000080,0 0 0 1px #ffffff08 inset,0 1px #ffffff0d inset,0 0 60px #14b8a60a!important}.login-field input:focus{border-color:#14b8a680!important;box-shadow:0 0 0 3px #14b8a61a!important;background:#0f172acc!important}.login-btn-primary{background:linear-gradient(135deg,#0d9488,#0f766e,#0891b2)!important;box-shadow:0 4px 16px #14b8a659!important}.login-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#14b8a6,#0d9488,#0ea5e9)!important;box-shadow:0 8px 24px #14b8a673!important;transform:translateY(-2px)!important}.login-logo-icon{filter:drop-shadow(0 4px 16px rgba(20,184,166,.3))!important}.demo-setup-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:linear-gradient(135deg,#0a0e1a,#0d1526 40%,#0f1a35,#0a1020);display:flex;align-items:center;justify-content:center;overflow-y:auto;font-family:Inter,Segoe UI,sans-serif}.demo-setup-content{position:relative;z-index:1;width:100%;max-width:960px;padding:2rem 1.5rem 3rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.demo-setup-header{text-align:center}.demo-setup-anchor{font-size:3rem;margin-bottom:.5rem;display:block;animation:pulse-anchor 3s ease-in-out infinite}@keyframes pulse-anchor{0%,to{transform:scale(1) rotate(-5deg)}50%{transform:scale(1.12) rotate(5deg)}}.demo-setup-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;background:linear-gradient(135deg,#60a5fa,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem;letter-spacing:-.5px}.demo-setup-subtitle{font-size:1rem;color:#94a3b8;margin:0;max-width:580px;line-height:1.7}.demo-live-counter{text-align:center;padding:1rem 0}.demo-live-counter-number{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:900;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;letter-spacing:-1px;animation:counter-pulse 2s ease-in-out infinite}@keyframes counter-pulse{0%,to{opacity:1}50%{opacity:.85}}.demo-live-counter-label{font-size:.9rem;color:#64748b;margin-top:.3rem;font-weight:500}.demo-live-counter-total{color:#475569}.demo-live-counter-tables{font-size:.75rem;color:#475569;margin-top:.25rem}.demo-setup-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;width:100%}@media(max-width:720px){.demo-setup-stats{grid-template-columns:repeat(2,1fr)}}.demo-stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:1.1rem;text-align:center;opacity:0;transform:translateY(16px) scale(.95);transition:opacity .45s ease,transform .45s ease,background .6s ease,border-color .6s ease,box-shadow .6s ease}.demo-stat-card.visible{opacity:1;transform:translateY(0) scale(1)}.demo-stat-card.ready{background:#34d39912;border-color:#34d39959;box-shadow:0 0 18px #34d3991a}.demo-stat-card.ready .demo-stat-value{color:#34d399}.demo-stat-card.arriving{background:#fbbf240f;border-color:#fbbf2440;box-shadow:0 0 14px #fbbf2414}.demo-stat-card.arriving .demo-stat-value{color:#fbbf24}.demo-setup-status-arriving{color:#fbbf24;display:inline-flex;align-items:center;gap:.35rem}.demo-setup-status-dot.arriving{background:#fbbf24}.demo-stat-icon{font-size:1.6rem;margin-bottom:.35rem}.demo-stat-value{font-size:1.25rem;font-weight:800;color:#60a5fa;line-height:1.1;transition:color .5s ease}.demo-stat-label{font-size:.78rem;font-weight:600;color:#e2e8f0;margin-top:.2rem}.demo-stat-sub{font-size:.7rem;color:#64748b;margin-top:.2rem;line-height:1.3}.demo-stat-status{margin-top:.55rem;font-size:.72rem;font-weight:600}.demo-setup-status-ready{color:#34d399;display:inline-flex;align-items:center;gap:.3rem;animation:fadeIn .4s ease}.demo-setup-status-pending{color:#475569;display:inline-flex;align-items:center;gap:.35rem}.demo-setup-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#475569;animation:blink-dot 1.4s ease-in-out infinite}@keyframes blink-dot{0%,to{opacity:.3}50%{opacity:1}}.demo-activity-feed{width:100%;max-width:540px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.75rem 1rem;overflow:hidden}.demo-activity-feed-label{font-size:.68rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.8px;margin-bottom:.5rem}.demo-activity-feed-list{display:flex;flex-direction:column;gap:.3rem}.demo-activity-feed-item{display:flex;align-items:center;gap:.5rem;font-size:.76rem;color:#94a3b8;animation:feed-slide-in .3s ease-out both}@keyframes feed-slide-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.demo-activity-check{color:#34d399;font-size:.7rem;flex-shrink:0}.demo-activity-name{flex:1;color:#cbd5e1;font-weight:500}.demo-activity-count{color:#64748b;font-size:.7rem;font-variant-numeric:tabular-nums}.demo-current-table{font-size:.78rem;color:#60a5fa;display:flex;align-items:center;gap:.5rem}.demo-current-spinner{display:inline-block;width:10px;height:10px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin .8s linear infinite}.demo-setup-progress-wrap{width:100%;max-width:540px;text-align:center}.demo-progress-label{display:flex;justify-content:space-between;font-size:.78rem;color:#64748b;margin-bottom:.4rem}.demo-setup-progress-bar{height:5px;background:#ffffff0f;border-radius:4px;overflow:hidden;margin-bottom:.75rem}.demo-setup-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .8s ease}.demo-setup-progress-hint{font-size:.78rem;color:#475569;margin:0}.demo-setup-skip{background:none;border:1px solid rgba(255,255,255,.12);color:#64748b;font-size:.82rem;padding:.5rem 1.25rem;border-radius:6px;cursor:pointer;transition:all .2s;animation:fadeIn .6s ease}.demo-setup-skip:hover{color:#cbd5e1;border-color:#ffffff40}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.external-quote-page{min-height:100vh;background:var(--bg-body);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:#1e293b80;border:1px solid rgba(255,255,255,.08);border-radius:16px;max-width:900px;width:100%;padding:40px;box-shadow:0 32px 80px #0009,inset 0 1px #ffffff0a}.external-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}.external-header h1{font-size:28px;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,#94a3b8,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.external-header .rfq-number{color:#64748b;font-size:16px;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}.item-name{font-weight:500;color:#f1f5f9}.item-code{font-size:12px;color:#64748b;margin-top:2px}.qty-cell{font-weight:600;color:#0d9488}.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:#0d9488;box-shadow:0 0 0 3px #0d948833}.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:#0d9488;box-shadow:0 0 0 3px #0d948833}.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:#0d9488;box-shadow:0 0 0 3px #0d948833}.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,#0d9488,#14b8a6);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 #0d948866}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0d948880;background:linear-gradient(135deg,#0f766e,#0d9488)}.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}}.di{position:relative;display:block;width:100%}:where(.fin-filter-bar,.filter-bar,.fleet-filter-bar,.obs-filters,.inventory-page-toolbar,.erp-filter-bar,.crew-filter-bar,[class*=filter])>.di{width:auto;flex:1 1 auto;min-width:120px;max-width:200px}.di-text{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-primary, #e8eaed);font-size:inherit;white-space:nowrap;z-index:2;line-height:1}.di-ph{color:var(--text-quaternary, rgba(255, 255, 255, .35))}.di input[type=date],.di input[type=datetime-local]{color:transparent!important;background:transparent!important;width:100%;position:relative;z-index:1;box-sizing:border-box}.di input[type=date]::-webkit-datetime-edit-text,.di input[type=date]::-webkit-datetime-edit-month-field,.di input[type=date]::-webkit-datetime-edit-day-field,.di input[type=date]::-webkit-datetime-edit-year-field,.di input[type=datetime-local]::-webkit-datetime-edit-text,.di input[type=datetime-local]::-webkit-datetime-edit-month-field,.di input[type=datetime-local]::-webkit-datetime-edit-day-field,.di input[type=datetime-local]::-webkit-datetime-edit-year-field,.di input[type=datetime-local]::-webkit-datetime-edit-hour-field,.di input[type=datetime-local]::-webkit-datetime-edit-minute-field,.di input[type=datetime-local]::-webkit-datetime-edit-ampm-field{color:transparent!important;-webkit-text-fill-color:transparent}.di input[type=date]::-webkit-calendar-picker-indicator,.di input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:invert(1);position:relative;z-index:3}: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:11px 16px;margin:2px 4px;border-radius:10px;cursor:pointer;transition:all .2s ease;color:#64748b;display:flex;align-items:center;font-size:.82rem;font-weight:500;border:1px solid transparent;position:relative;gap:12px}.nav-item:hover{background:#ffffff0a;color:#cbd5e1;border-color:#ffffff0a}.nav-item.active{background:linear-gradient(135deg,#22c55e26,#22c55e0a);color:#22c55e;font-weight:600;border-color:#22c55e40;box-shadow:0 0 20px #22c55e0f}.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}.sidebar-vessel-card{margin:0 4px 12px;padding:14px 16px;background:linear-gradient(135deg,#22c55e14,#0f172a99);border:1px solid rgba(34,197,94,.2);border-radius:12px;position:relative;overflow:hidden}.sidebar-vessel-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#22c55e,#14b8a6);border-radius:3px 0 0 3px}.sidebar-vessel-card-name{font-size:.82rem;font-weight:700;color:#e2e8f0;display:flex;align-items:center;gap:8px;margin-bottom:4px}.sidebar-vessel-icon{font-size:1rem;flex-shrink:0}.sidebar-vessel-card-meta{display:flex;gap:12px;font-size:.65rem;color:#64748b;padding-left:24px}.sidebar-vessel-card-meta span{display:flex;align-items:center;gap:4px}.sidebar-vessel-online{display:flex;align-items:center;gap:4px;color:#64748b}.sidebar-vessel-status-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e99;animation:vesselPulse 2s ease-in-out infinite}@keyframes vesselPulse{0%,to{box-shadow:0 0 4px #22c55e66}50%{box-shadow:0 0 12px #22c55ecc}}.sidebar-user-footer{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.04);margin-top:auto;border-radius:10px;cursor:pointer;transition:all .2s ease}.sidebar-user-footer:hover{background:#ffffff0a}.sidebar-user-avatar{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.sidebar-user-avatar.vessel{background:linear-gradient(135deg,#22c55e4d,#22c55e1a);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.sidebar-user-avatar.shore{background:linear-gradient(135deg,#3b82f64d,#3b82f61a);color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.sidebar-user-info{min-width:0;flex:1}.sidebar-user-name{font-size:.75rem;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.6rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-online-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e80;flex-shrink:0}.sidebar-badge{transition:all .2s ease}.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:#ffffff08;color:var(--card-text);border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid rgba(255,255,255,.06);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}::view-transition-group(vessel-hero-morph),::view-transition-group(voyage-hero-morph){animation-duration:.4s;animation-timing-function:cubic-bezier(.25,1,.5,1)}::view-transition-old(vessel-hero-morph),::view-transition-old(voyage-hero-morph){animation:fade-out .2s ease-out both}::view-transition-new(vessel-hero-morph),::view-transition-new(voyage-hero-morph){animation:fade-in .2s .1s ease-in both}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.command-center-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--bg-primary-rgb),.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:fade-in .2s ease-out}.command-center-modal{width:100%;max-width:650px;background:var(--premium-card-bg);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 24px 48px #0009,inset 0 1px 1px #ffffff0d;overflow:hidden;display:flex;flex-direction:column}.command-center-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);gap:12px}.command-center-icon{color:var(--text-secondary)}.command-center-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1.1rem;outline:none}.command-center-input::placeholder{color:var(--text-secondary);opacity:.6}.command-center-esc{font-size:.7rem;padding:4px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-secondary);font-weight:600;letter-spacing:.5px}.command-center-body{max-height:480px;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:24px}.command-center-section{display:flex;flex-direction:column;gap:12px}.command-center-section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);font-weight:600}.command-center-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.command-center-item{display:flex;align-items:center;padding:12px 16px;gap:16px;cursor:pointer;background:transparent;border-radius:8px;transition:all .2s ease}.command-center-item:hover,.command-center-item.selected{background:#ffffff0a}.command-center-item.selected{border:1px solid rgba(var(--accent-primary-rgb, 20 184 166),.25);background:rgba(var(--accent-primary-rgb, 20 184 166),.05)}.command-center-item.selected .command-center-item-jump{opacity:1;background:#ffffff12;color:var(--accent-primary);border-color:rgba(var(--accent-primary-rgb, 20 184 166),.3)}.command-center-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff0d;border-radius:8px;color:var(--text-secondary)}.recent-icon{background:rgba(var(--accent-primary-rgb),.1)}.command-center-item-content{flex:1}.command-center-item-title{color:var(--text-primary);font-weight:500;font-size:.95rem}.command-center-item-subtitle{color:var(--text-secondary);font-size:.8rem;margin-top:2px}.command-center-item-jump{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;height:28px;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-secondary);opacity:.5;transition:all .2s ease;font-size:.7rem;font-weight:600;letter-spacing:.5px}.command-center-item-jump .jump-text{display:none}.command-center-item.selected .command-center-item-jump .jump-text,.command-center-item:hover .command-center-item-jump .jump-text{display:block}.command-center-item.selected .command-center-item-jump,.command-center-item:hover .command-center-item-jump{opacity:1;background:rgba(var(--accent-primary-rgb, 20, 184, 166),.15);border-color:rgba(var(--accent-primary-rgb, 20, 184, 166),.3);color:var(--accent-primary)}.command-center-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.command-center-grid-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:1px solid rgba(255,255,255,.06);border-radius:8px;cursor:pointer;transition:all .2s ease}.command-center-grid-item:hover{background:#ffffff08;border-color:#ffffff26}.grid-item-icon{display:flex;align-items:center;justify-content:center}.grid-item-title{color:var(--text-primary);font-weight:500;font-size:.9rem}.command-center-empty{padding:40px 20px;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px}.command-center-empty p{margin:0;color:var(--text-primary);font-weight:500}.command-center-empty span{font-size:.85rem;opacity:.7}.command-center-footer{display:flex;align-items:center;padding:12px 24px;background:#0000001a;border-top:1px solid rgba(255,255,255,.05);gap:16px}.hint-group{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.75rem;font-weight:500}.hint-group kbd{font-size:.7rem;padding:3px 6px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--text-secondary)}table tbody tr{transition:background .18s ease,transform .18s ease,border-left-color .18s ease;border-left:3px solid transparent;position:relative}table tbody tr:hover{border-left:3px solid var(--accent-primary, #14b8a6)!important;transform:translate(2px);background:#14b8a60a!important}table thead th{position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #00000059}table tbody tr:nth-child(2n){background:#ffffff03}.dt-table tbody tr{transition:background .18s ease,transform .18s ease,border-left-color .18s ease;border-left:3px solid transparent}.dt-table tbody tr:hover{border-left-color:var(--accent-primary, #14b8a6)!important;transform:translate(2px);background:#14b8a60d!important}.nav-item.active{background:linear-gradient(90deg,#14b8a62e,#14b8a60a)!important;color:#2dd4bf!important;font-weight:600;border-color:#14b8a64d!important;box-shadow:inset 0 0 20px #14b8a60f,0 0 0 1px #14b8a626!important;position:relative}.nav-item.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:linear-gradient(180deg,#14b8a6,#2dd4bf);border-radius:0 3px 3px 0}.nav-item:hover{background:#14b8a60f!important;color:#94a3b8!important;border-color:#ffffff0f!important;transform:translate(1px)}.nav-item.nav-child.active{background:linear-gradient(90deg,rgba(20,184,166,.14) 0%,transparent 100%)!important;color:#2dd4bf!important;border-color:#14b8a640!important}.nav-group-label,.sidebar-section-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#334155;margin:16px 16px 6px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.04)}.stat-card,.kpi-card,.metric-card,.dashboard-stat{background:linear-gradient(160deg,#1e293bb3,#0f172acc)!important;border:1px solid rgba(20,184,166,.12)!important;box-shadow:inset 0 1px #ffffff0f,0 8px 24px #00000040,0 0 0 1px #14b8a60a!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;position:relative;overflow:hidden}.stat-card:hover,.kpi-card:hover,.metric-card:hover,.dashboard-stat:hover{transform:translateY(-2px)!important;border-color:#14b8a640!important;box-shadow:inset 0 1px #ffffff14,0 12px 32px #0000004d,0 0 20px #14b8a614!important}.stat-card:before,.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.4),transparent);pointer-events:none}.module-switcher,.hub-tabs,.tab-bar,.pms-tabs{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.module-switcher::-webkit-scrollbar,.hub-tabs::-webkit-scrollbar,.tab-bar::-webkit-scrollbar,.pms-tabs::-webkit-scrollbar{display:none}.module-btn,.hub-tab,.tab-button,.pms-tab{transition:all .25s cubic-bezier(.4,0,.2,1)!important;white-space:nowrap}.module-btn.active,.hub-tab.active,.tab-button.active,.pms-tab.active{box-shadow:0 0 14px #14b8a659,0 2px 6px #0000004d!important;border-color:#14b8a666!important}.status-badge,[class*=badge-],[class*=status-pill],[class*=status-tag]{font-size:.62rem!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase!important;border-radius:6px!important;padding:2px 8px!important}@keyframes criticalPulse{0%{box-shadow:0 0 6px #ef444459}50%{box-shadow:0 0 16px #ef4444a6,0 0 4px #ef44444d}to{box-shadow:0 0 6px #ef444459}}.badge-danger,.status-overdue,.status-critical,.status-emergency{animation:criticalPulse 2.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.live-dot,.online-dot{animation:livePulse 1.8s ease-in-out infinite}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.safety-hub .module-content>*{animation:cardSlideUp .3s ease-out}.incident-card,.observation-card{border-left:3px solid transparent;border-left-color:var(--status-warning, #fbbf24);transition:border-color .2s ease}.incident-card.critical,.incident-card.high,.observation-card.critical{border-left-color:var(--status-error, #ef4444);background:#ef444408}.command-center-overlay{backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;background:#000000a6!important}.command-center-modal{background:linear-gradient(160deg,#0f172af5,#0a0f1efa)!important;border:1px solid rgba(20,184,166,.15)!important;box-shadow:0 32px 64px #0009,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0f!important}.command-center-input:focus,.command-center-modal input:focus{border-color:#14b8a699!important;box-shadow:0 0 0 3px #14b8a626!important;outline:none!important}.command-result-item:hover,.command-center-item:hover{background:linear-gradient(90deg,#14b8a61a,#14b8a608)!important;border-left:2px solid rgba(20,184,166,.5)!important;transform:translate(2px)}.command-result-subtitle,.command-center-subtitle{opacity:.55;font-size:.7rem}.command-center-footer kbd{background:#ffffff0f!important;border-color:#ffffff1f!important;border-radius:5px!important;font-family:Inter,monospace!important;color:#ffffff80!important}.modal-overlay,.overlay,[class*=modal-overlay]{backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;background:#0009!important}.modal-panel,.modal-content,.dialog-panel,[class*=modal-panel],[class*=modal-content]{background:linear-gradient(160deg,#0f172af2,#0a0f1cf7)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 24px 64px #00000080!important}.form-section+.form-section,.form-divider{border-top:1px solid;border-image:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent) 1;padding-top:20px;margin-top:20px}input:focus,select:focus,textarea:focus{border-color:#14b8a680!important;box-shadow:0 0 0 3px #14b8a61f,inset 0 1px 3px #0003!important;outline:none!important}.form-group label,.field-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.category-card,.master-data-category,.hub-card,[class*=category-hub-card]{transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s ease,box-shadow .2s ease!important;cursor:pointer}.category-card:hover,.master-data-category:hover,.hub-card:hover,[class*=category-hub-card]:hover{transform:scale(1.025) translateY(-2px)!important;border-color:#14b8a64d!important;box-shadow:0 12px 28px #00000040,0 0 20px #14b8a61a!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#14b8a64d}::selection{background:#14b8a640;color:#e2e8f0}button{transition:all .18s cubic-bezier(.4,0,.2,1)}@keyframes premiumCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card,.glass-card,.stat-card,.kpi-card{animation:premiumCardIn .35s ease-out both}.fleet-position-table tbody tr,.fpl-table tbody tr,.vessel-list-table tbody tr,.vessels-table tbody tr{transition:background .18s ease,transform .18s ease;border-left:3px solid transparent}.fleet-position-table tbody tr:hover,.fpl-table tbody tr:hover,.vessel-list-table tbody tr:hover,.vessels-table tbody tr:hover{background:#14b8a60a!important;border-left-color:#14b8a6!important;transform:translate(2px)}@keyframes heroShimmer{0%{background-position:-200% center}to{background-position:200% center}}.vessel-hero-name{background:linear-gradient(90deg,#fff,#94a3b8 30%,#14b8a6,#94a3b8 70%,#fff)!important;background-size:200% auto!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;animation:heroShimmer 4s linear infinite!important}.kpi-metric-card,.metric-card,.analytics-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;border-left:3px solid transparent}.kpi-metric-card:hover,.metric-card:hover,.analytics-card:hover{transform:translateY(-4px)!important;border-left-color:#14b8a6!important;box-shadow:0 16px 40px #0000004d!important}.dd-progress-fill,.milestone-progress-fill{box-shadow:0 0 8px #14b8a666}.doc-link,.document-link,a.ref-link{color:#14b8a6!important;transition:color .2s ease,text-decoration .2s ease;text-decoration:none}.doc-link:hover,.document-link:hover,a.ref-link:hover{color:#2dd4bf!important;text-decoration:underline}.voyage-table tbody tr,.charter-table tbody tr,.commercial-table tbody tr{transition:background .18s ease,transform .18s ease;border-left:3px solid transparent}.voyage-table tbody tr:hover,.charter-table tbody tr:hover,.commercial-table tbody tr:hover{background:#3b82f60a!important;border-left-color:#3b82f6!important;transform:translate(2px)}.section-title,.module-section-title{position:relative}.section-title:after,.module-section-title:after{content:"";position:absolute;bottom:-4px;left:0;width:32px;height:2px;background:linear-gradient(90deg,#14b8a6,transparent);border-radius:1px}.empty-state,.no-data{padding:48px 24px;text-align:center;color:#334155;background:#ffffff03;border:1px dashed rgba(255,255,255,.06);border-radius:12px}.empty-state svg,.no-data svg{color:#1e293b;margin-bottom:12px}:root{--teal: #14b8a6;--teal-04: color-mix(in srgb, #14b8a6 4%, transparent);--teal-06: color-mix(in srgb, #14b8a6 6%, transparent);--teal-10: color-mix(in srgb, #14b8a6 10%, transparent);--teal-15: color-mix(in srgb, #14b8a6 15%, transparent);--teal-20: color-mix(in srgb, #14b8a6 20%, transparent);--teal-40: color-mix(in srgb, #14b8a6 40%, transparent);--blue-10: color-mix(in srgb, #3b82f6 10%, transparent);--red-10: color-mix(in srgb, #ef4444 10%, transparent);--amber-10: color-mix(in srgb, #f59e0b 10%, transparent);interpolate-size:allow-keywords}*{scrollbar-width:thin;scrollbar-color:rgba(20,184,166,.25) transparent}h1,h2,h3,h4,.section-title,.card-title,.stat-label,.kpi-label,.hub-card-title,.at-kpi-label,.ve-result-label,.ve-tce-label,.module-group-title{text-wrap:balance}@property --glow-teal{syntax: "<number>"; initial-value: 0; inherits: false;}.stats-grid .stat-card,.fleet-stat-card,.dd-stat-card{--glow-teal: 0;box-shadow:0 2px 8px #0003,0 0 20px rgba(20,184,166,var(--glow-teal));transition:transform .25s ease,border-color .25s ease,--glow-teal .35s ease}.stats-grid .stat-card:hover,.fleet-stat-card:hover,.dd-stat-card:hover{--glow-teal: .25;transform:translateY(-2px)}.modal-overlay,.form-overlay,.da-modal-overlay{opacity:1;transition:opacity .25s ease}@starting-style{.modal-overlay,.form-overlay,.da-modal-overlay{opacity:0}}.modal-panel,.form-panel,.da-modal{opacity:1;transform:translateY(0) scale(1);transition:opacity .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}@starting-style{.modal-panel,.form-panel,.da-modal{opacity:0;transform:translateY(16px) scale(.98)}}.dd-form-panel{opacity:1;transform:translate(0);transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}@starting-style{.dd-form-panel{opacity:0;transform:translate(24px)}}.toast{transition:opacity .35s cubic-bezier(.21,1.02,.73,1),transform .35s cubic-bezier(.21,1.02,.73,1)!important}@starting-style{.toast{opacity:0;transform:translate(60px) scale(.95)}}.command-center-panel{opacity:1;transform:translateY(0) scale(1);transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}@starting-style{.command-center-panel{opacity:0;transform:translateY(-12px) scale(.97)}}.dropdown-menu,.context-menu{display:none;opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease,display .2s allow-discrete}.dropdown-menu.open,.context-menu.open{display:block;opacity:1;transform:translateY(0)}@starting-style{.dropdown-menu.open,.context-menu.open{opacity:0;transform:translateY(-4px)}}textarea.auto-size,.notes-textarea,.da-reject-textarea,textarea[name=notes],textarea[name=remarks],textarea[name=description]{field-sizing:content;min-height:80px;max-height:320px;resize:none}@media(min-width:1921px){html{zoom:1}}@media(max-width:1600px){html{zoom:.85}}@media(max-width:1440px){html{zoom:.75}}@media(max-width:1280px){html{zoom:.67}}:root{--p-bg: #0f172a;--p-surface: rgba(255, 255, 255, .02);--p-surface-2: rgba(255, 255, 255, .03);--p-border: rgba(255, 255, 255, .04);--p-border-h: rgba(13, 148, 136, .25);--p-text: #e2e8f0;--p-text-2: #94a3b8;--p-text-3: #64748b;--p-accent: #0d9488;--p-accent-l: #14b8a6;--p-green: #0d9488;--p-amber: #d97706;--p-red: #ef4444;--p-radius: 12px;--p-radius-sm: 8px;--p-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.portal-wrapper{min-height:100vh;background-color:#0f172a;color:#e2e8f0;font-family:var(--p-font);-webkit-font-smoothing:antialiased}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:56px;background:#060a12b8;border-bottom:1px solid var(--p-border);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);position:sticky;top:0;z-index:50}.portal-brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;background:var(--bg-card, #1e293b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.portal-brand .portal-brand-tag{font-size:8px;-webkit-text-fill-color:initial;color:var(--p-text-2);padding:2px 7px;background:#60a5fa0f;border:1px solid rgba(96,165,250,.12);border-radius:4px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.portal-user-info{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--p-text-2)}.portal-user-info .portal-logout-btn{padding:5px 14px;font-size:10px;background:#ef44440d;color:#f87171;border:1px solid rgba(239,68,68,.12);border-radius:6px;cursor:pointer;transition:all .25s;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.portal-user-info .portal-logout-btn:hover{background:#ef444424;border-color:#ef444440;box-shadow:0 0 12px #ef444414}.portal-content{max-width:1140px;margin:0 auto;padding:32px 28px 80px}.portal-auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(56,89,160,.12),transparent),linear-gradient(175deg,#060a12,#0a0f1c,#0c1220 60%,#0f172a);padding:24px}.portal-auth-card{width:100%;max-width:420px;background:var(--p-surface);border:1px solid var(--p-border);border-radius:20px;padding:44px 40px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 32px 80px #00000080,inset 0 1px #ffffff0a}.portal-auth-logo{text-align:center;margin-bottom:36px}.portal-auth-logo h1{font-size:24px;font-weight:800;background:linear-gradient(135deg,#94a3b8,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;letter-spacing:-.5px}.portal-auth-logo p{font-size:13px;color:var(--p-text-3)}.portal-auth-card h2{font-size:16px;font-weight:600;margin-bottom:20px;color:var(--p-text)}.portal-form-group{margin-bottom:16px}.portal-form-group label{display:block;font-size:10px;font-weight:700;color:var(--p-text-3);margin-bottom:5px;text-transform:uppercase;letter-spacing:.8px}.portal-form-group input{width:100%;padding:11px 14px;background:#0000004d;border:1px solid var(--p-border);border-radius:var(--p-radius-sm);color:var(--p-text);font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.portal-form-group input:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f614,0 0 20px #3b82f60f}.portal-btn{width:100%;padding:12px;font-size:14px;font-weight:700;border:none;border-radius:var(--p-radius-sm);cursor:pointer;transition:all .25s;letter-spacing:.2px}.portal-btn-primary{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;font-weight:700;border:none;border-radius:var(--p-radius-sm);cursor:pointer;transition:all .25s;padding:9px 20px;font-size:13px;box-shadow:0 2px 8px #0d948826}.portal-btn-primary:hover{background:linear-gradient(135deg,#0f766e,#0d9488);box-shadow:0 4px 16px #0d94884d;transform:translateY(-1px)}.portal-btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.portal-auth-error{margin-bottom:16px;padding:10px 14px;background:#ef44440f;border:1px solid rgba(239,68,68,.12);border-radius:var(--p-radius-sm);color:#f87171;font-size:12px}.portal-auth-footer{margin-top:24px;text-align:center;font-size:12px;color:var(--p-text-3)}.portal-auth-footer a{color:var(--p-accent-l);text-decoration:none;font-weight:500}.portal-nav{display:flex;gap:3px;margin-bottom:32px;padding:4px;background:var(--p-surface);border-radius:var(--p-radius);border:1px solid var(--p-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.portal-nav::-webkit-scrollbar{display:none}.portal-nav-btn{position:relative;padding:9px 15px;font-size:12px;font-weight:500;color:var(--p-text-3);background:transparent;border:none;border-radius:var(--p-radius-sm);cursor:pointer;transition:all .25s;white-space:nowrap;flex-shrink:0;letter-spacing:-.1px}.portal-nav-btn:hover{color:var(--p-text-2);background:#ffffff08}.portal-nav-btn.active{color:#fff;background:linear-gradient(135deg,#0d948826,#0d94880d);font-weight:700;box-shadow:0 2px 8px #0d94881a,inset 0 1px #ffffff0d}.portal-nav-btn .nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;margin-left:5px;padding:0 4px;font-size:9px;font-weight:800;background:#0d948826;color:var(--p-accent-l);border-radius:8px}.portal-nav-btn.active .nav-count{background:#ffffff1f;color:#fff}.portal-dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:28px}.portal-dash-card{position:relative;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);padding:22px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.portal-dash-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(13,148,136,.3),transparent);opacity:0;transition:opacity .3s}.portal-dash-card:hover{border-color:var(--p-border-h);transform:translateY(-2px);box-shadow:0 8px 32px #0003}.portal-dash-card:hover:before{opacity:1}.portal-dash-card h3{font-size:10px;font-weight:700;color:var(--p-text-3);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.portal-dash-card .portal-dash-value{font-size:28px;font-weight:800;color:#f8fafc;margin-bottom:4px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.portal-dash-card .portal-dash-sub{font-size:11px;color:var(--p-text-3)}.portal-section{margin-bottom:28px;animation:sectionFadeIn .4s ease-out}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portal-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.portal-section-header h2{font-size:15px;font-weight:700;color:var(--p-text);letter-spacing:-.3px}.portal-table{width:100%;border-collapse:collapse;font-size:13px;background:#0f172a;border-radius:var(--p-radius);overflow:hidden;border:1px solid rgba(255,255,255,.04)}.portal-table th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#0f172af2;border-bottom:1px solid rgba(255,255,255,.06)}.portal-table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.04);color:#e2e8f0;font-size:13px;transition:background .15s}.portal-table tbody tr{transition:background .15s}.portal-table tbody tr:hover td{background:#1e293b80}.portal-table tr:last-child td{border-bottom:none}.portal-domain-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);margin-bottom:10px;transition:all .25s}.portal-domain-card:hover{border-color:var(--p-border-h);box-shadow:0 4px 16px #0000001a}.portal-domain-verified{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--p-green);font-weight:700;margin-top:2px}.portal-domain-pending{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--p-amber);font-weight:700;margin-top:2px}.portal-dns-instructions{margin-top:12px;padding:16px 18px;background:#3b82f608;border:1px solid rgba(59,130,246,.08);border-radius:var(--p-radius-sm);font-size:12px}.portal-dns-instructions code{display:inline-block;padding:2px 7px;background:#00000059;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;color:#93c5fd}.portal-success-box{padding:14px 16px;background:#10b9810d;border:1px solid rgba(16,185,129,.12);border-radius:var(--p-radius-sm);color:#34d399;font-size:13px;margin-bottom:16px}.portal-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.portal-profile-grid{grid-template-columns:1fr}}.portal-profile-grid .portal-form-group.full-width{grid-column:1 / -1}.portal-btn-sm{padding:5px 12px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid rgba(59,130,246,.15);background:#3b82f614;color:var(--p-accent-l);cursor:pointer;transition:all .25s;line-height:1}.portal-btn-sm:hover{background:#3b82f629;border-color:#3b82f640;color:#93c5fd;box-shadow:0 2px 8px #3b82f61a;transform:translateY(-1px)}.portal-btn-verify{background:#3b82f614;color:var(--p-accent-l);border:1px solid rgba(59,130,246,.15)}.portal-btn-verify:hover{background:#3b82f62e}.portal-btn-sm.portal-btn-danger{background:#ef44440f;color:#f87171;border-color:#ef44441a}.portal-btn-sm.portal-btn-danger:hover{background:#ef444424;border-color:#ef444433}.portal-section-header .portal-btn-primary{width:auto;padding:8px 18px;font-size:12px;border-radius:8px}.portal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:portalFadeIn .2s ease-out}@keyframes portalFadeIn{0%{opacity:0}to{opacity:1}}.portal-modal{width:100%;max-width:540px;background:linear-gradient(180deg,#1a2438,#151c2c);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:32px;box-shadow:0 32px 80px #0009,inset 0 1px #ffffff0a;animation:portalSlideUp .25s cubic-bezier(.34,1.56,.64,1)}@keyframes portalSlideUp{0%{transform:translateY(16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.portal-modal h3{font-size:16px;font-weight:700;color:#f8fafc;margin-bottom:24px;letter-spacing:-.3px}.portal-modal label{display:block;font-size:10px;font-weight:700;color:var(--p-text-3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px}.portal-modal input,.portal-modal textarea{width:100%;padding:9px 12px;background:#0000004d;border:1px solid var(--p-border);border-radius:8px;color:var(--p-text);font-size:13px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.portal-modal input:focus,.portal-modal textarea:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f614}.portal-modal input[type=checkbox]{width:auto}.portal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}@media(max-width:480px){.portal-form-grid{grid-template-columns:1fr}}.portal-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.05)}.portal-btn-secondary{padding:9px 20px;font-size:12px;font-weight:600;background:#ffffff0a;color:var(--p-text-2);border:1px solid var(--p-border);border-radius:8px;cursor:pointer;transition:all .25s}.portal-btn-secondary:hover{background:#ffffff14;color:var(--p-text)}.portal-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:10px;font-weight:700;border-radius:12px;letter-spacing:.4px;text-transform:uppercase}.portal-badge-green{background:#10b98114;color:#34d399;border:1px solid rgba(16,185,129,.12)}.portal-badge-amber{background:#f59e0b14;color:#fbbf24;border:1px solid rgba(245,158,11,.12)}.portal-badge-red{background:#ef444414;color:#f87171;border:1px solid rgba(239,68,68,.12)}.portal-badge-blue{background:#3b82f614;color:#60a5fa;border:1px solid rgba(59,130,246,.12)}.portal-modal select{width:100%;padding:9px 12px;background:#0000004d;border:1px solid var(--p-border);border-radius:8px;color:var(--p-text);font-size:13px;transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.portal-modal select:focus{outline:none;border-color:#3b82f680}.portal-modal select option{background:#1a2438;color:var(--p-text)}.portal-tenant-select{padding:6px 12px;font-size:11px;background:#0000004d;border:1px solid var(--p-border);border-radius:6px;color:var(--p-text-2);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .2s}.portal-tenant-select:focus{outline:none;border-color:#3b82f666;color:var(--p-text)}.portal-tenant-select option{background:#1a2438;color:var(--p-text)}.portal-section input[type=text],.portal-section input[type=number],.portal-section input[type=date],.portal-section input:not([type]),.portal-section select,.portal-section textarea{padding:8px 12px;background:#0000004d;border:1px solid var(--p-border);border-radius:8px;color:var(--p-text);font-size:12px;transition:border-color .2s,box-shadow .2s}.portal-section input:focus,.portal-section textarea:focus,.portal-section select:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f60f}.portal-section label{display:block;font-size:10px;color:var(--p-text-3);margin-bottom:4px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.portal-empty{text-align:center;padding:48px 20px;color:var(--p-text-3);font-size:13px}.portal-empty-icon{font-size:32px;margin-bottom:12px;opacity:.4}.portal-expand-panel{padding:16px 20px;background:#00000040;border-top:1px solid rgba(255,255,255,.04);animation:portalSlideDown .2s ease}@keyframes portalSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.portal-expand-panel .portal-table{background:#00000026;margin-top:8px}.portal-expand-panel .portal-table th{font-size:9px;padding:6px 10px}.portal-expand-panel .portal-table td{font-size:11px;padding:6px 10px}.portal-bcr-list{margin-top:16px}.portal-bcr-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;margin-bottom:6px}.portal-bcr-item+.portal-bcr-item{margin-top:4px}.portal-rfq-card{background:#0f172a80;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:24px;margin-bottom:24px}.portal-rfq-card h3{color:#f1f5f9;font-size:16px;font-weight:600;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.portal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.portal-info-item{display:flex;flex-direction:column;gap:4px}.portal-info-item .label{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.portal-info-item .value{color:#e2e8f0;font-size:16px;font-weight:500}.portal-quote-inputs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.portal-input-group{display:flex;flex-direction:column;gap:6px}.portal-input-group label{color:#94a3b8;font-size:13px;font-weight:500}.portal-form-input,.portal-form-select,.portal-form-textarea{width:100%;padding:10px 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}.portal-form-input:focus,.portal-form-select:focus,.portal-form-textarea:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}@media(max-width:768px){.portal-header{padding:0 16px}.portal-content{padding:20px 16px 60px}.portal-dash-grid{grid-template-columns:1fr}}
