:root,[data-theme=indigo]{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Outfit", var(--font-sans);--bg-primary: #0b0f19;--bg-secondary: #111827;--bg-glass: rgba(17, 24, 39, .7);--bg-glass-hover: rgba(31, 41, 55, .8);--bg-select: #1e293b;--bg-select-hover: #334155;--border-glass: rgba(255, 255, 255, .08);--border-glass-glow: rgba(99, 102, 241, .3);--accent-solid: #818cf8;--accent-muted: #a5b4fc;--focus-ring: rgba(99, 102, 241, .25);--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--mesh-1: rgba(99, 102, 241, .12);--mesh-2: rgba(236, 72, 153, .08);--mesh-3: rgba(6, 182, 212, .05);--grad-primary: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);--grad-accent: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--grad-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--grad-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--grad-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--shadow-sm: 0 2px 8px -2px rgba(0, 0, 0, .5);--shadow-md: 0 8px 30px -4px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=ocean]{--border-glass-glow: rgba(6, 182, 212, .35);--accent-solid: #22d3ee;--accent-muted: #67e8f9;--focus-ring: rgba(6, 182, 212, .28);--mesh-1: rgba(6, 182, 212, .14);--mesh-2: rgba(59, 130, 246, .1);--mesh-3: rgba(14, 165, 233, .06);--grad-primary: linear-gradient(135deg, #06b6d4 0%, #3b82f6 50%, #0ea5e9 100%);--shadow-glow: 0 0 20px rgba(6, 182, 212, .18)}[data-theme=emerald]{--border-glass-glow: rgba(16, 185, 129, .35);--accent-solid: #34d399;--accent-muted: #6ee7b7;--focus-ring: rgba(16, 185, 129, .28);--mesh-1: rgba(16, 185, 129, .12);--mesh-2: rgba(5, 150, 105, .1);--mesh-3: rgba(20, 184, 166, .06);--grad-primary: linear-gradient(135deg, #10b981 0%, #059669 50%, #14b8a6 100%);--shadow-glow: 0 0 20px rgba(16, 185, 129, .18)}[data-theme=sunset]{--border-glass-glow: rgba(249, 115, 22, .35);--accent-solid: #fb923c;--accent-muted: #fdba74;--focus-ring: rgba(249, 115, 22, .28);--mesh-1: rgba(245, 158, 11, .12);--mesh-2: rgba(249, 115, 22, .1);--mesh-3: rgba(239, 68, 68, .06);--grad-primary: linear-gradient(135deg, #f59e0b 0%, #f97316 50%, #ef4444 100%);--shadow-glow: 0 0 20px rgba(249, 115, 22, .18)}[data-theme=rose]{--border-glass-glow: rgba(244, 63, 94, .35);--accent-solid: #fb7185;--accent-muted: #fda4af;--focus-ring: rgba(244, 63, 94, .28);--mesh-1: rgba(244, 63, 94, .12);--mesh-2: rgba(236, 72, 153, .1);--mesh-3: rgba(217, 70, 239, .06);--grad-primary: linear-gradient(135deg, #f43f5e 0%, #ec4899 50%, #d946ef 100%);--shadow-glow: 0 0 20px rgba(244, 63, 94, .18)}html,html[data-appearance=dark]{color-scheme:dark}html[data-appearance=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);background-image:radial-gradient(at 0% 0%,var(--mesh-1) 0px,transparent 50%),radial-gradient(at 100% 100%,var(--mesh-2) 0px,transparent 50%),radial-gradient(at 50% 50%,var(--mesh-3) 0px,transparent 60%);background-attachment:fixed;color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.25}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:16px;box-shadow:var(--shadow-md);transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.glass-panel:hover{border-color:var(--border-glass-glow);box-shadow:var(--shadow-md),var(--shadow-glow)}.app-container{max-width:1400px;width:100%;min-width:0;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.app-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:1.25rem 2rem;min-width:0;flex-shrink:0}.app-header>div:first-child{flex:1 1 12rem;min-width:0}.app-header h2{margin:0;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 1366px){.app-header{padding:1rem 1.25rem}.app-header h2{font-size:1.05rem!important}}.brand-section{display:flex;align-items:center;gap:.75rem}.brand-logo-glow{width:42px;height:42px;border-radius:12px;background:var(--grad-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #6366f166}.brand-title{font-size:1.5rem;font-weight:800;background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;padding:.5rem 1rem;border-radius:20px;background:#ffffff08;border:1px solid var(--border-glass)}.clock-display-time{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;position:relative}.status-dot.online{background-color:#10b981;box-shadow:0 0 10px #10b981}.status-dot.offline{background-color:#ef4444;box-shadow:0 0 10px #ef4444}.status-dot.connecting{background-color:#f59e0b;box-shadow:0 0 10px #f59e0b;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.stat-card{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--grad-primary)}.stat-card:nth-child(2):before{background:var(--grad-accent)}.stat-card:nth-child(3):before{background:var(--grad-success)}.stat-card:nth-child(4):before{background:var(--grad-warning)}.stat-header{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:.875rem}.stat-icon-wrapper{width:38px;height:38px;border-radius:8px;background:#ffffff0a;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.05)}.stat-value{font-size:2.25rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.02em;margin:.25rem 0}.stat-footer{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.trend-badge{padding:.125rem .5rem;border-radius:4px;font-weight:600}.trend-badge.up{background:#10b98126;color:#10b981}.trend-badge.down{background:#ef444426;color:#ef4444}.trend-badge.neutral{background:#9ca3af26;color:#9ca3af}.content-section{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}@media (max-width: 968px){.content-section{grid-template-columns:1fr}}.panel-title-area{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;min-width:0;flex-shrink:0}.panel-title{font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.panel-body{padding:1.5rem}.activity-table{width:100%;border-collapse:collapse;text-align:left}.activity-table th{padding:.75rem 1rem;color:var(--text-secondary);font-weight:500;font-size:.8125rem;border-bottom:1px solid rgba(255,255,255,.05);text-transform:uppercase;letter-spacing:.05em}.activity-table td{padding:1rem;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.03)}.activity-table tr:last-child td{border-bottom:none}.activity-table tr:hover td{background:#ffffff03}.badge{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.badge.success{background:#10b98126;color:#10b981}.badge.warning{background:#f59e0b26;color:#f59e0b}.test-panel{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.875rem}.info-row:last-of-type{border-bottom:none}.info-label{color:var(--text-secondary)}.info-value{font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:10px;font-family:var(--font-sans);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:0 4px 15px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.btn-primary:active{transform:translateY(0)}.btn-outline{background:transparent;border:1px solid var(--border-glass);color:var(--text-primary)}.btn-outline:hover{background:#ffffff0a;border-color:var(--border-glass-glow)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.animate-fade-in{animation:slideUp .6s cubic-bezier(.16,1,.3,1) forwards}.login-wrapper{display:flex;justify-content:center;align-items:center;min-height:90vh;padding:1.5rem}.login-card{width:100%;max-width:440px;padding:3rem 2.5rem;display:flex;flex-direction:column;gap:1.75rem;border-radius:24px}.login-header{text-align:center}.login-title{font-size:1.85rem;font-weight:800;background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.25rem}.login-subtitle{font-size:.875rem;color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:1.25rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);letter-spacing:.03em}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--text-muted);transition:color var(--transition-fast)}.input-password-toggle{position:absolute;right:.75rem;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.input-password-toggle:hover{background:#ffffff0a;border-color:#ffffff0f;color:var(--text-secondary)}.input-password-toggle:disabled{opacity:.5;cursor:not-allowed}.input-wrapper .input-field{padding-right:3rem}.input-field{width:100%;padding:.875rem 1rem .875rem 2.75rem;background:#ffffff08;border:1px solid var(--border-glass);border-radius:12px;color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;transition:all var(--transition-normal)}.input-field:focus{outline:none;background:#ffffff0d;border-color:var(--border-glass-glow);box-shadow:0 0 15px var(--focus-ring)}.input-field:focus+.input-icon{color:var(--accent-solid)}select.input-field,.input-field-select{padding-top:.875rem;padding-bottom:.875rem;padding-right:2.25rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--bg-select);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.input-wrapper>select.input-field{padding-left:2.75rem}.user-company-picker{display:flex;flex-direction:column;gap:.35rem;max-height:11rem;overflow-y:auto;padding:.65rem .75rem;background:#ffffff08;border:1px solid var(--border-glass);border-radius:12px}.user-company-picker-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer;padding:.25rem .15rem;border-radius:6px}.user-company-picker-item:hover{background:#ffffff0a}.user-company-picker-item input{accent-color:var(--accent-solid);flex-shrink:0}.user-company-picker-empty{font-size:.8125rem;color:var(--text-muted);padding:.25rem 0}.crew-ship-picker{display:flex;flex-direction:column;gap:.5rem}.crew-ship-picker-search{position:relative;display:flex;align-items:center}.crew-ship-picker-search .crew-search-icon{position:absolute;left:.65rem;color:var(--text-muted);pointer-events:none}.crew-ship-picker-search .input-field{padding-left:2.25rem;padding-right:2rem;font-size:.875rem}.crew-ship-picker-search .crew-search-clear{position:absolute;right:.35rem}select.input-field:hover:not(:disabled),.input-field-select:hover:not(:disabled){background-color:var(--bg-select-hover);border-color:var(--border-glass-glow)}select.input-field option,select.input-field optgroup{background-color:#1e293b;color:#f3f4f6}select.input-field option:checked,select.input-field option:hover{background-color:#334155;color:#fff}.login-btn{width:100%;padding:.95rem;font-size:.95rem;border-radius:12px;margin-top:.5rem}.login-error-badge{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;color:#f87171;font-size:.875rem;line-height:1.4;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.login-footer-hint{text-align:center;font-size:.75rem;color:var(--text-muted);background:#ffffff05;padding:.6rem;border-radius:8px;border:1px solid rgba(255,255,255,.03)}.shake{animation:shakeAction .5s ease-in-out}@keyframes shakeAction{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}.app-layout{display:grid;grid-template-columns:280px minmax(0,1fr);width:100%;max-width:100%;height:100vh;height:100dvh;overflow:hidden}.app-layout>.app-main-column{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 1024px){.app-layout{grid-template-columns:minmax(0,1fr);height:100dvh}.app-layout--compact .app-sidebar{display:none}}.app-sidebar{border-right:1px solid var(--border-glass);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;height:100vh;min-height:0;overflow:hidden}.sidebar-nav-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-right:-.5rem;padding-right:.5rem}.sidebar-brand{flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding-left:.5rem}.sidebar-brand-button{width:100%;margin:0;border:none;background:transparent;text-align:left;cursor:pointer;border-radius:12px;padding:.25rem .5rem;transition:background .15s ease}.sidebar-brand-button:hover{background:#38bdf814}.sidebar-brand-button:focus-visible{outline:2px solid rgba(56,189,248,.55);outline-offset:2px}.sidebar-menu{display:flex;flex-direction:column;gap:.5rem;list-style:none}.sidebar-item,a.sidebar-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;border-radius:12px;color:var(--text-secondary);font-family:var(--font-display);font-weight:500;font-size:.9375rem;cursor:pointer;transition:all var(--transition-normal);border:1px solid transparent;text-decoration:none;box-sizing:border-box}.sidebar-item:hover{background:#ffffff08;color:var(--text-primary);border-color:var(--border-glass)}.sidebar-item.active{background:var(--grad-primary);color:#fff;box-shadow:0 4px 15px #6366f159;border-color:transparent;font-weight:600}.sidebar-master-group{display:flex;flex-direction:column;gap:.25rem}.sidebar-master-toggle{width:100%;text-align:left;border:1px solid transparent;background:transparent;cursor:pointer;font:inherit}.sidebar-master-toggle span:first-of-type{flex:1}.sidebar-submenu{list-style:none;margin:0 0 0 .5rem;padding:0 0 0 .75rem;border-left:1px solid var(--border-glass);display:flex;flex-direction:column;gap:.25rem}.sidebar-subitem,a.sidebar-subitem{display:block;width:100%;text-align:left;padding:.5rem .75rem;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;box-sizing:border-box}.sidebar-subitem:hover{background:#ffffff08;color:var(--text-primary)}.sidebar-subitem.active{background:#22d3ee26;color:#67e8f9;border-color:#22d3ee40}.master-management .master-table{min-width:0}.table-scroll-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.master-form-dialog{max-width:480px;max-height:calc(100dvh - 2rem);overflow-y:auto}.master-form-dialog:has(.searchable-select.is-open){overflow:visible}.ship-visit-readonly{background:#ffffff0a;color:var(--text-primary);min-height:2.5rem;display:flex;align-items:center}.ship-visit-content{align-items:flex-start;white-space:pre-wrap;min-height:8rem;line-height:1.6}.master-form{display:flex;flex-direction:column;gap:.75rem}.master-color-input{display:flex;align-items:center;gap:.5rem}.master-color-picker{width:42px;height:36px;padding:0;border:1px solid var(--border-glass);border-radius:8px;background:transparent;cursor:pointer}.master-color-swatch{display:inline-flex;align-items:center;gap:.4rem}.master-color-dot{width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.crew-display-color-default{font-size:.75rem;color:var(--text-muted)}.crew-display-color-code{font-size:.72rem;font-family:ui-monospace,monospace;color:var(--text-secondary)}[data-appearance=light] .master-color-dot{border-color:#00000026}.sidebar-company-switcher{flex-shrink:0;padding:0 .5rem .25rem;display:flex;flex-direction:column;gap:.2rem}.sidebar-company-switcher-label{font-size:.65rem;color:var(--text-muted);font-weight:500;padding-left:.25rem}.sidebar-company-select{width:100%;font-size:.8125rem;font-family:var(--font-display);font-weight:500;padding:.35rem 1.25rem .35rem .25rem;border:none;border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .15rem center}.sidebar-company-select:hover,.sidebar-company-select:focus{color:var(--text-primary);outline:none}.sidebar-company-single{font-size:.8125rem;font-weight:500;color:var(--text-secondary);padding:.35rem .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{flex-shrink:0;margin-top:auto;padding:1rem;background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.03);display:flex;flex-direction:column;gap:.75rem}.admin-menu-grid{display:flex;flex-direction:column;gap:1.5rem}.admin-card{height:100%}.hide-on-mobile{display:inline}@media (max-width: 600px){.hide-on-mobile{display:none}}.allocation-timeline{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.allocation-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:1rem;padding:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:12px;transition:all var(--transition-fast)}.allocation-row:hover{background:#ffffff0a;border-color:var(--border-glass-glow)}.vessel-name{font-weight:600;font-family:var(--font-display);font-size:.95rem;color:var(--text-primary)}.timeline-track{background:#ffffff08;height:14px;border-radius:7px;position:relative;overflow:hidden}.timeline-bar{position:absolute;height:100%;border-radius:7px;box-shadow:0 0 10px #6366f133}.crew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.crew-card{padding:1.5rem;display:flex;align-items:center;gap:1.25rem}.crew-avatar-glow{width:56px;height:56px;border-radius:50%;background:var(--grad-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #06b6d44d;font-weight:700;font-size:1.2rem;font-family:var(--font-display);color:#fff}.crew-details{display:flex;flex-direction:column;gap:.25rem}.crew-name{font-weight:600;font-size:1.05rem;font-family:var(--font-display)}.crew-title{font-size:.8rem;color:var(--text-secondary)}.crew-status-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.1rem .5rem;border-radius:4px;width:fit-content}.crew-status-badge.onboard{background:#10b98126;color:#10b981}.crew-status-badge.vacation{background:#f59e0b26;color:#f59e0b}.app-main{flex:1;min-height:0;min-width:0;overflow:hidden;gap:1rem}.app-content{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.app-content>.glass-panel,.app-content>.master-management,.app-content>.admin-menu-grid,.app-content>.promulgation-management{flex-shrink:0}.crew-registry{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0;min-width:0;max-width:100%}.crew-registry-panel{flex:1;min-height:0;min-width:0;max-width:100%;display:flex;flex-direction:column;overflow-x:clip;overflow-y:visible}.crew-table-wrapper{flex:1;width:100%;max-width:100%;min-width:0;min-height:14rem;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable}.crew-master-table{table-layout:fixed}.crew-table-wrapper>.crew-master-table,.crew-table-wrapper>.ship-cert-table,.qual-table-scroll-wrap>.qual-master-table{border-collapse:separate;border-spacing:0}.crew-table-wrapper>.crew-master-table:not(.ship-cert-table) thead,.qual-table-scroll-wrap>.qual-master-table thead,.crew-table-wrapper>.ship-cert-table thead{position:sticky;top:0;z-index:8}.crew-table-wrapper>.crew-master-table:not(.ship-cert-table) thead th{background:#0f172a;background-clip:padding-box}.qual-table-scroll-wrap>.qual-master-table thead th,.crew-table-wrapper>.ship-cert-table thead th{background-color:#0f172a;background-clip:padding-box}.qual-table-scroll-wrap>.qual-master-table thead .qual-group-nav{background-color:#0e2433}.qual-table-scroll-wrap>.qual-master-table thead .qual-group-engine{background-color:#131628}.qual-table-scroll-wrap>.qual-master-table thead .qual-group-sailor{background-color:#0f1f1c}.qual-table-scroll-wrap>.qual-master-table thead .qual-group-health{background-color:#1a1520}.qual-table-scroll-wrap>.qual-master-table thead .qual-group-danger{background-color:#1a170f}.qual-table-scroll-wrap>.qual-master-table thead .qual-group-stcw{background-color:#0f1e28}.qual-table-scroll-wrap>.qual-master-table thead .qual-sticky-name,.qual-table-scroll-wrap>.qual-master-table thead th.crew-action-cell{background-color:#0f172a}.qual-table-scroll-wrap>.qual-master-table thead .qual-subheader-row th,.crew-table-wrapper>.ship-cert-table thead .qual-subheader-row th{box-shadow:0 2px 6px #0000001f}.crew-table-wrapper>.ship-cert-table thead .ship-cert-ship-group{background-color:#0f1e28}.crew-table-wrapper>.ship-cert-table thead .qual-sticky-name,.crew-table-wrapper>.ship-cert-table thead th.crew-action-cell{background-color:#0f172a}.qual-table-scroll-wrap>.qual-master-table thead .qual-sticky-name,.crew-table-wrapper>.ship-cert-table thead .qual-sticky-name{z-index:12}.crew-sticky-name-col{position:sticky;left:0;z-index:2;color:#f1f5f9;background:#111827;box-shadow:2px 0 6px #00000040}.crew-master-table thead .crew-sticky-name-col{z-index:12;background:#0f172a}.crew-master-table tbody tr:hover .crew-sticky-name-col{background:#1a2332}.crew-row-retired .crew-sticky-name-col{color:var(--text-muted)}.crew-resizable-th{position:relative;padding-right:.35rem!important}.crew-resizable-th.crew-sticky-name-col{position:sticky}.crew-col-resizer{position:absolute;right:0;top:0;bottom:0;width:8px;margin-right:-4px;cursor:col-resize;z-index:3;touch-action:none}.crew-col-resizer:hover,.crew-col-resizer:active{background:#06b6d473}.crew-master-table th,.crew-master-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-sort-btn{max-width:calc(100% - 10px)}.crew-table-empty-row:hover td{background:transparent}.crew-master-table .crew-action-cell{overflow:visible;text-overflow:clip}.finance-loan-balance-table .loan-lender-cell,.finance-loan-balance-table .loan-repayment-count-cell{white-space:normal;line-height:1.35;vertical-align:middle}.finance-loan-balance-table tr.finance-loan-row--overdue td{background:#ef444412}.finance-loan-balance-table tr.finance-loan-row--overdue:hover td{background:#ef44441f}.finance-loan-deadline-overdue{color:#fca5a5;font-weight:600}.finance-loan-deadline-badge{display:inline-block;margin-left:.35rem;padding:.1rem .4rem;font-size:.65rem;font-weight:600;line-height:1.3;border-radius:4px;color:#fca5a5;background:#ef444426;border:1px solid rgba(239,68,68,.28);white-space:nowrap;vertical-align:middle}.finance-loan-overview-table-wrap{margin:0 0 .75rem;overflow-x:auto}.finance-loan-overview-table{width:100%;min-width:520px}.finance-loan-overview-ship{display:inline-flex;align-items:center;gap:.35rem}.finance-loan-legend{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.72rem;color:var(--text-muted)}.finance-loan-legend-item--overdue:before{content:"";display:inline-block;width:.75rem;height:.75rem;margin-right:.35rem;border-radius:3px;background:#ef444433;border:1px solid rgba(248,113,113,.45);vertical-align:-1px}.finance-account-balance{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;max-width:100%}.finance-account-balance-panel{flex:1;min-height:0;min-width:0;max-width:100%;display:flex;flex-direction:column;overflow-x:clip;overflow-y:visible}.finance-account-balance-body{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:.75rem}.finance-account-balance-summary{flex-shrink:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.finance-summary-card{padding:.75rem 1rem;border-radius:.75rem}.finance-summary-card-label{font-size:.72rem;color:var(--text-secondary)}.finance-summary-card-note{margin-left:.35rem;font-size:.65rem;opacity:.85}.finance-summary-card-value{margin-top:.25rem;font-family:var(--font-display);font-weight:600;font-size:1rem}.investment-gain{color:#34d399}.investment-loss{color:#f87171}.investment-general,.investment-other,.investment-dashboard{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;max-width:100%}.app-content>.investment-dashboard{flex:0 0 auto;min-height:auto;overflow:visible}.investment-dashboard{gap:1rem}.investment-dashboard .finance-account-balance-table-scroll,.investment-dashboard .investment-dashboard-table-scroll{flex:0 0 auto;min-height:0;max-height:none;overflow-x:auto;overflow-y:clip;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-gutter:auto}.investment-dashboard-notes{margin:0;padding:0 0 1rem 1.25rem;color:var(--text-secondary);font-size:.8rem;line-height:1.5}.investment-compact-scroll{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.75rem}.investment-dashboard .investment-compact-scroll,.investment-dashboard .investment-compact-list{overflow:visible}.investment-dashboard .investment-dashboard-table-scroll:has(.investment-compact-list){overflow:visible;border:none;padding:0;background:transparent}.investment-compact-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem;border-radius:12px;border:1px solid var(--border-glass);background:#0f172a59}[data-appearance=light] .investment-compact-totals{background:#fffc}.investment-compact-totals>div{display:flex;flex-direction:column;gap:.2rem;min-width:0}.investment-compact-totals-label{font-size:.72rem;color:var(--text-secondary)}.investment-compact-totals strong{font-size:.92rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.investment-compact-list{padding-bottom:.5rem}.investment-compact-actions{flex-wrap:wrap;gap:.35rem}.investment-compact-actions .btn{font-size:.72rem}.ship-balance-dashboard-split.is-compact{grid-template-columns:1fr}@media (max-width: 720px){.investment-compact-totals{grid-template-columns:1fr}.investment-general-toolbar{flex-direction:column;align-items:stretch}.investment-general-toolbar-actions{width:100%}.investment-general-toolbar-actions .btn,.investment-valuation-date-filter{flex:1 1 auto}.investment-valuation-date-filter select{min-width:0;width:100%}.investment-form-dialog,.investment-form-dialog.investment-modal-wide{width:calc(100vw - 1rem)!important;max-width:calc(100vw - 1rem)!important;max-height:calc(100dvh - 1rem);margin:.5rem}.investment-form .crew-form-grid{grid-template-columns:1fr!important}.ship-balance-kpi-value{font-size:1.05rem}.ship-balance-chart-wrap{min-height:200px}}@media (max-width: 1440px){.investment-general-table th,.investment-general-table td{font-size:.78rem;padding:.4rem .45rem}.investment-sticky-col{max-width:8.5rem}}.investment-general-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;flex-shrink:0}.investment-general-toolbar-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.investment-valuation-date-filter{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.investment-valuation-date-filter select{min-width:10rem}.investment-valuation-date-note{font-size:.8rem;color:var(--text-secondary);margin:0 0 .75rem;flex-shrink:0}.investment-general .glass-panel.panel-body,.investment-other .glass-panel.panel-body{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}.investment-general .login-error-badge,.investment-general .alert,.investment-other .login-error-badge,.investment-other .alert{flex-shrink:0}.investment-other .glass-panel.panel-body>*:not(.finance-account-balance-table-scroll){flex-shrink:0}.investment-general-table-wrap,.investment-other .finance-account-balance-table-scroll{flex:1;min-height:0;min-width:0;width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable;border:1px solid var(--border-glass);border-radius:10px}.investment-general-table--sticky{border-collapse:separate;border-spacing:0;min-width:72rem}.investment-general-table--sticky thead{position:sticky;top:0;z-index:8}.investment-general-table--sticky thead th{background-color:#0f172a;background-clip:padding-box;box-shadow:0 1px #ffffff0f}.investment-general-table--sticky thead .investment-group-header{background-color:#1c2838}.investment-general-table--sticky tbody td{background-color:#111827;background-clip:padding-box}.investment-general-table--sticky tbody tr:hover td{background-color:#1a2436}.investment-general-table--sticky tbody tr.investment-total-row td{background-color:#15202e}.investment-sticky-col{position:sticky;left:0;z-index:4;min-width:6.5rem;max-width:11rem;white-space:normal;background-color:#111827;background-clip:padding-box;box-shadow:4px 0 8px -2px #00000073}.investment-general-table--sticky thead .investment-sticky-col{z-index:12;background-color:#0f172a;box-shadow:4px 0 8px -2px #00000073,0 1px #ffffff0f}.investment-general-table--sticky tbody tr:hover .investment-sticky-col{background-color:#1a2436}.investment-general-table--sticky tbody tr.investment-total-row .investment-sticky-col{background-color:#15202e}[data-appearance=light] .investment-general-table--sticky thead th,[data-appearance=light] .investment-general-table--sticky thead .investment-sticky-col{background-color:#e2e8f0;box-shadow:0 1px #0f172a14}[data-appearance=light] .investment-general-table--sticky thead .investment-group-header{background-color:#dbe4ef}[data-appearance=light] .investment-general-table--sticky tbody td,[data-appearance=light] .investment-sticky-col{background-color:#fff}[data-appearance=light] .investment-general-table--sticky tbody tr:hover td,[data-appearance=light] .investment-general-table--sticky tbody tr:hover .investment-sticky-col{background-color:#f8fafc}[data-appearance=light] .investment-general-table--sticky tbody tr.investment-total-row td,[data-appearance=light] .investment-general-table--sticky tbody tr.investment-total-row .investment-sticky-col{background-color:#f1f5f9}.investment-general-table th,.investment-general-table td{white-space:nowrap;font-size:.78rem}.investment-group-header{text-align:center;background:#fbbf2414}.investment-total-row{background:#94a3b814;font-weight:600}.investment-fx-note{display:block;font-size:.65rem;color:var(--text-muted)}.investment-preview-box{margin-top:1rem;padding:.75rem 1rem;border-radius:.75rem;background:#3b82f614;font-size:.8rem;display:grid;gap:.25rem}.investment-modal-wide{max-width:760px}.investment-success-badge{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#34d399}.investment-form-dialog{width:min(720px,calc(100vw - 2rem))!important;max-width:720px!important}.investment-form{display:flex;flex-direction:column;gap:.25rem}.investment-form label{display:flex;flex-direction:column;gap:.4rem;min-width:0}.investment-form label>span{font-size:.78rem;font-weight:500;color:var(--text-secondary);line-height:1.3}.investment-form .input-field,.investment-form select.input-field,.investment-form textarea.input-field{width:100%;box-sizing:border-box}.investment-form-lead{margin:0 0 .75rem;font-size:.8rem;line-height:1.5;color:var(--text-muted)}.investment-form-section{margin-top:1rem}.investment-form-section:first-of-type{margin-top:0}.investment-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.25rem;padding:1rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,#3b82f61a,#06b6d40f);border:1px solid rgba(59,130,246,.18)}.investment-preview-item{display:flex;flex-direction:column;gap:.3rem;min-width:0}.investment-preview-label{font-size:.72rem;color:var(--text-secondary)}.investment-preview-value{font-family:var(--font-display);font-weight:600;font-size:.95rem;word-break:break-word}@media (max-width: 720px){.investment-preview-grid{grid-template-columns:1fr}}.investment-mode-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;background:#94a3b826;color:var(--text-secondary);white-space:nowrap}.investment-mode-badge.is-recurring{background:#3b82f624;color:#60a5fa}.investment-mode-badge.is-bond{background:#fbbf2429;color:#fbbf24}.investment-mode-badge.is-real-estate{background:#34d39929;color:#34d399}.investment-mode-badge.is-foreign-mmf{background:#a855f729;color:#c084fc}.investment-mode-count{opacity:.85;font-weight:500}.investment-name-hint{margin:0;font-size:.75rem;color:#fbbf24}.investment-name-form-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem}.investment-name-form-row .input-field{flex:1;min-width:12rem}.finance-account-balance-table-scroll{flex:1;min-height:12rem;min-width:0;width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;border:1px solid var(--border-glass);border-radius:10px}.investment-general .finance-account-balance-table-scroll.investment-general-table-wrap,.investment-other .finance-account-balance-table-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;scrollbar-gutter:stable}.finance-account-balance-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.finance-account-balance-table thead{position:sticky;top:0;z-index:8}.finance-account-balance-table thead th{background:#0f172a;background-clip:padding-box;box-shadow:0 2px 6px #0000001f}.finance-account-balance-table .finance-amount-col{text-align:right;white-space:nowrap}.finance-account-balance-table .finance-balance-cell{font-weight:600}.finance-account-balance-table .finance-action-col{width:120px;white-space:nowrap}.finance-row-actions{display:flex;gap:.35rem}[data-appearance=light] .finance-account-balance-table thead th{background:#f1f5f9;box-shadow:0 2px 6px #0f172a14}.finance-account-balance--overview .finance-account-balance-panel{padding:.75rem 1rem .65rem}.finance-balance-overview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .85rem;margin-bottom:.5rem;flex-shrink:0}.finance-balance-toolbar-title{font-size:1rem;margin:0;flex-shrink:0}.finance-balance-toolbar-filter{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.finance-balance-toolbar-filter-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.finance-balance-toolbar-filter .date-input-wrapper{width:9.5rem}.finance-balance-toolbar-date.date-input-field,.finance-account-balance--overview .finance-balance-toolbar-date{width:100%;min-height:2rem;padding:.3rem 2rem .3rem .55rem;font-size:.8rem}.finance-balance-toolbar-filter .date-input-picker-btn{padding:.15rem .3rem}.finance-balance-toolbar-select{width:10.5rem;min-height:2rem;padding:.3rem .55rem;font-size:.8rem}.finance-balance-toolbar-totals{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.1rem}.finance-balance-toolbar-spacer{flex:1 1 .5rem;min-width:.25rem}.finance-balance-toolbar-actions{display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0}.finance-balance-toolbar-actions .btn{padding:.3rem .65rem;font-size:.72rem}.finance-balance-toolbar-total{display:inline-flex;align-items:baseline;gap:.35rem;white-space:nowrap}.finance-balance-toolbar-total-label{font-size:.72rem;color:var(--text-secondary)}.finance-balance-toolbar-total-value{font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.finance-balance-toolbar-total-meta{font-size:.68rem;color:var(--text-muted)}.finance-balance-overview-notice--compact{margin:0 0 .45rem;padding:.35rem .6rem;font-size:.72rem}.finance-balance-overview-alert{margin-bottom:.5rem!important}.finance-balance-overview-notice{margin:0 0 .5rem;padding:.45rem .65rem;border-radius:.5rem;font-size:.72rem;line-height:1.45;color:var(--text-secondary);background:#34d39914;border:1px solid rgba(52,211,153,.18)}.finance-balance-overview-empty{color:var(--text-secondary);font-size:.9rem;padding:1rem 0}.finance-balance-overview-scroll{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.65rem;padding-right:.15rem}.finance-balance-company-card{padding:.65rem .85rem;border-radius:.75rem;border:1px solid var(--border-glass)}.finance-balance-company-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-glass)}.finance-balance-company-title,.finance-balance-bank-title{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;min-width:0}.finance-balance-reorder-actions{display:flex;gap:.3rem;flex-shrink:0}.finance-balance-reorder-btn{padding:.2rem .45rem!important;min-width:2rem}.finance-balance-company-header h4{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text-primary)}.finance-balance-bank-block{margin-left:.25rem;padding-left:.75rem;border-left:2px solid rgba(52,211,153,.35)}.finance-balance-bank-block+.finance-balance-bank-block{margin-top:.55rem}.finance-balance-bank-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.35rem;color:var(--text-primary)}.finance-balance-bank-name{font-weight:600;font-size:.86rem}.finance-balance-bank-branch{font-size:.75rem;color:var(--text-secondary)}.finance-balance-slots-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-left:.2rem;padding:.35rem .45rem;border-radius:.5rem;background:transparent;border:1px solid rgba(110,231,183,.14)}[data-appearance=light] .finance-balance-slots-row{background:transparent;border-color:#04785729}.finance-balance-slot-col{min-width:0}.finance-balance-slot-col--fixed{grid-column:1 / -1}.finance-balance-slot-col--fixed .finance-balance-slot-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.35rem 1.2rem}.finance-balance-slot-col--fixed .finance-balance-slot-item{justify-content:flex-start;gap:.25rem}.finance-balance-slot-col--fixed .finance-balance-account-amount{text-align:left}.finance-balance-slot-label{font-size:.72rem;font-weight:600;color:#6ee7b7;margin-bottom:.25rem}[data-appearance=light] .finance-balance-slot-label{color:#047857}.finance-balance-slot-items{display:flex;flex-direction:column;gap:.2rem}.finance-balance-slot-item{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.finance-balance-slot-item--account{padding:.12rem .35rem;border-radius:.25rem}.finance-balance-account-no{font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.finance-balance-account-amount{text-align:right;font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--text-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.finance-balance-account-amount--pending{color:var(--text-muted)}@media (max-width: 900px){.finance-balance-slots-row{grid-template-columns:1fr}.finance-balance-toolbar-totals{width:100%;order:10}.finance-balance-toolbar-spacer{display:none}.finance-balance-toolbar-actions{width:100%;justify-content:flex-end;order:11}}@media (max-width: 640px){.finance-balance-slot-item{flex-direction:column;align-items:flex-start;gap:.1rem}.finance-balance-account-amount{text-align:left}}.ship-charter-panel{display:flex;flex-direction:column;gap:.9rem}.ship-charter-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-end;padding:1rem 1.15rem;border-radius:12px;background:#f8fafc;border:1px solid #dbe3ee}.ship-charter-title{margin:0;color:#0f172a}.ship-charter-lead{margin:.35rem 0 0;max-width:44rem;font-size:.86rem;line-height:1.5;color:#475569}.ship-charter-hero-actions{display:flex;flex-wrap:wrap;gap:.5rem}.ship-charter-toolbar{display:flex;flex-direction:column;gap:.65rem}.ship-charter-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem}.ship-charter-legend-item{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;border:1px solid transparent}.ship-charter-legend-item--fleetly{background:#e8f4ff;border-color:#bfdbfe;color:#1d4ed8}.ship-charter-legend-item--local{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.ship-charter-hire-note{margin:0;padding:.65rem .85rem;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.82rem;line-height:1.45}.ship-charter-matrix-scroll{width:100%;overflow:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;max-height:min(78vh,calc(100dvh - 12rem));box-shadow:0 1px 2px #0f172a0a}.ship-charter-matrix{border-collapse:separate;border-spacing:0;min-width:100%}.ship-charter-matrix-label-col{position:sticky;left:0;z-index:3;min-width:11.5rem;max-width:13rem;background:#f1f5f9;border-right:1px solid #cbd5e1;border-bottom:1px solid #e2e8f0;padding:.65rem .85rem;text-align:left;vertical-align:top;font-size:.8rem;font-weight:650;color:#334155}thead .ship-charter-matrix-label-col{z-index:4;top:0;background:#1e3a5f;color:#f8fafc;border-bottom-color:#1e3a5f}.ship-charter-matrix-ship-col{position:sticky;top:0;z-index:2;min-width:13.5rem;max-width:16rem;padding:.75rem .85rem;background:#1e3a5f;border-bottom:1px solid #1e3a5f;border-right:1px solid rgba(255,255,255,.12);text-align:left;vertical-align:top}.ship-charter-ship-head{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.ship-charter-ship-name{font-size:.92rem;font-weight:700;color:#fff;letter-spacing:.01em;line-height:1.3}.ship-charter-edit-btn{padding:.25rem .55rem;font-size:.75rem;background:#ffffff1f;border-color:#ffffff47;color:#fff}.ship-charter-edit-btn:hover{background:#fff3}.ship-charter-section-row th{position:sticky;left:0;z-index:1;padding:.5rem .85rem;background:#e2e8f0;color:#0f172a;font-size:.78rem;font-weight:700;letter-spacing:.04em;border-bottom:1px solid #cbd5e1}.ship-charter-row-label{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.ship-charter-matrix-cell{min-width:13.5rem;max-width:16rem;padding:.7rem .85rem;border-bottom:1px solid #e2e8f0;border-right:1px solid #eef2f7;vertical-align:top;background:#fff}.ship-charter-matrix tbody tr:nth-child(2n) .ship-charter-matrix-cell{background:#f8fafc}.ship-charter-matrix tbody tr:nth-child(2n) .ship-charter-matrix-label-col{background:#e8eef5}.ship-charter-row--fleetly .ship-charter-matrix-label-col{color:#1d4ed8;background:#eff6ff}.ship-charter-row--fleetly:nth-child(2n) .ship-charter-matrix-label-col{background:#e0effe}.ship-charter-matrix-cell.is-fleetly .ship-charter-cell-text{color:#1e40af;font-weight:600}.ship-charter-matrix tbody tr:hover .ship-charter-matrix-cell{background:#f0f9ff}.ship-charter-matrix tbody tr:hover .ship-charter-matrix-label-col{background:#dbeafe}.ship-charter-cell-text{display:block;white-space:pre-wrap;word-break:break-word;font-size:.84rem;line-height:1.45;color:#0f172a}.ship-charter-cell-empty{color:#94a3b8;font-size:.84rem}.ship-charter-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ship-charter-editor{width:min(34rem,100%);height:100%;overflow:auto;padding:1.25rem;background:#fff;border-left:1px solid #cbd5e1;box-shadow:-12px 0 40px #0f172a2e}.ship-charter-editor-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.ship-charter-eyebrow{margin:0 0 .3rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.ship-charter-editor-header h3{margin:0;font-size:1.15rem;color:#0f172a}.ship-charter-editor-meta{margin:.35rem 0 0;font-size:.8rem;color:#64748b;line-height:1.45}.ship-charter-editor-grid{display:grid;gap:.75rem}.ship-charter-editor-field{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:#334155}.ship-charter-editor-field textarea{resize:vertical;min-height:4.5rem}.ship-charter-editor-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.ship-charter-recalc-btn{align-self:flex-start;margin-top:.25rem;padding:0;border:none;background:transparent;color:#1d4ed8;font-size:.75rem;cursor:pointer;text-decoration:underline}.ship-charter-recalc-btn:hover{color:#1e40af}.ship-data-panel{display:flex;flex-direction:column;gap:.9rem}.ship-data-matrix-scroll{overflow:auto;max-height:min(75vh,900px);border:1px solid #dbe3ee;border-radius:12px;background:#fff}.ship-data-matrix{border-collapse:collapse;width:max-content;min-width:100%;white-space:nowrap}.ship-data-matrix thead th{position:sticky;top:0;z-index:3;background:#036;color:#fff;padding:.55rem .65rem;border:1px solid #1e3a5f;text-align:center;font-weight:600}.ship-data-matrix-label-col{position:sticky;left:0;z-index:2;background:#e8eef5;color:#0f172a;text-align:center;min-width:9.5rem;padding:.4rem .55rem;border:1px solid #d0d7e2;font-weight:600}thead .ship-data-matrix-label-col{z-index:4;background:#036;color:#fff}.ship-data-matrix-ship-col{min-width:8.5rem;vertical-align:top}.ship-data-matrix-cell{padding:.35rem .55rem;border:1px solid #d0d7e2;text-align:center;color:#0f172a;background:#f8fbff}.ship-data-matrix tbody tr:nth-child(2n) .ship-data-matrix-cell{background:#f2f8fd}.ship-data-matrix tbody tr:nth-child(2n) .ship-data-matrix-label-col{background:#dfe7f1}.ship-data-matrix-cell.is-local{font-weight:600}.ship-data-matrix-cell a{color:#1d4ed8;text-decoration:underline}.ship-data-matrix-spacer .ship-data-matrix-cell,.ship-data-matrix-spacer .ship-data-matrix-label-col{height:.85rem;padding:.2rem;background:#fff;border-color:transparent;border-left-color:#d0d7e2;border-right-color:#d0d7e2}.ship-data-matrix-spacer .ship-data-matrix-label-col{background:#fff}@media (max-width: 720px){.ship-charter-editor{width:100%}.ship-charter-matrix-ship-col,.ship-charter-matrix-cell{min-width:11.5rem}}.ship-info-compact{display:flex;flex-direction:column;gap:.75rem}.ship-info-compact-hint{margin:0;font-size:.8rem;line-height:1.45;color:var(--text-secondary, #64748b)}.ship-info-compact-sort{display:grid;grid-template-columns:1fr auto;gap:.45rem .5rem;align-items:end}.ship-info-compact-sort>span{grid-column:1 / -1}.ship-balance-ship-list .compact-card,.ship-charter-panel .compact-card,.ship-data-panel .compact-card{background:#fff;border:1px solid #dbe3ee;box-shadow:0 1px 2px #0f172a0a}.ship-balance-ship-list .compact-card-title,.ship-charter-panel .compact-card-title,.ship-data-panel .compact-card-title{color:#0f172a}.ship-balance-ship-list .compact-card-subtitle,.ship-charter-panel .compact-card-subtitle,.ship-data-panel .compact-card-subtitle,.ship-balance-ship-list .compact-card-row-label,.ship-charter-panel .compact-card-row-label,.ship-data-panel .compact-card-row-label{color:#64748b}.ship-balance-ship-list .compact-card-row-value,.ship-charter-panel .compact-card-row-value,.ship-data-panel .compact-card-row-value{color:#1e293b}.ship-balance-ship-list .compact-card-badge,.ship-charter-panel .compact-card-badge,.ship-data-panel .compact-card-badge{background:#e2e8f0;color:#334155}.ship-charter-panel .compact-card-row.is-fleetly .compact-card-row-value,.ship-data-panel .compact-card-row.is-local .compact-card-row-value{color:#1d4ed8;font-weight:600}.ship-data-panel .compact-card-row-value a{color:#1d4ed8;text-decoration:underline}.ship-balance-ship-list .compact-card-actions,.ship-charter-panel .compact-card-actions,.ship-data-panel .compact-card-actions{margin-top:.65rem}.ship-balance-ship-list .compact-card-row,.ship-charter-panel .compact-card-row,.ship-data-panel .compact-card-row{grid-template-columns:7.5rem 1fr}@media (max-width: 1024px){.ship-balance-ship-list .ship-dock-fee-toolbar,.ship-charter-hero,.ship-data-panel .ship-charter-hero{flex-direction:column;align-items:stretch}.ship-balance-ship-list-toolbar-actions,.ship-charter-hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ship-balance-ship-list-date-filter,.ship-charter-hero-actions .ship-balance-ship-list-date-filter{grid-column:1 / -1}.ship-balance-ship-list-date-filter .date-input-wrapper,.ship-charter-hero-actions .date-input-wrapper,.ship-dock-fee-filter .date-input-wrapper{width:100%;min-width:0}.ship-balance-ship-list-toolbar-actions .btn,.ship-charter-hero-actions .btn{width:100%;justify-content:center}.ship-balance-ship-list-filters,.ship-charter-toolbar{gap:.75rem}.ship-balance-ship-status-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:.15rem}.ship-balance-ship-status-tab{flex:0 0 auto}.ship-balance-ship-list-filters .ship-dock-fee-filter-wide,.ship-charter-toolbar .ship-dock-fee-filter-wide{width:100%}.ship-balance-ship-list-filters .ship-dock-fee-filter-wide .input-field,.ship-charter-toolbar .input-field{min-width:0;width:100%}.ship-balance-ship-table-scroll,.ship-charter-matrix-scroll,.ship-data-matrix-scroll{max-height:min(70vh,calc(100dvh - 14rem));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ship-charter-matrix-label-col,.ship-data-matrix-label-col{min-width:6.5rem;max-width:7.5rem;font-size:.72rem;padding:.35rem .4rem;white-space:normal}.ship-charter-ship-head{flex-direction:column;align-items:stretch;gap:.35rem}.ship-charter-edit-btn{width:100%;justify-content:center}.ship-charter-editor,.ship-balance-ship-prefs-panel{width:min(100vw - 1rem,28rem);max-height:min(92dvh,920px);margin:.5rem;border-radius:12px}.ship-charter-editor-backdrop,.ship-balance-ship-prefs-backdrop{align-items:flex-end;padding:0}.ship-charter-editor-grid{grid-template-columns:1fr}.ship-charter-editor-actions,.ship-balance-ship-prefs-actions{flex-wrap:wrap}.ship-charter-editor-actions .btn,.ship-balance-ship-prefs-actions .btn{flex:1 1 auto;justify-content:center}}@media (max-width: 640px){.ship-balance-ship-list-toolbar-actions,.ship-charter-hero-actions{grid-template-columns:1fr}.ship-charter-lead{font-size:.8rem}.ship-balance-ship-list .compact-card-row,.ship-charter-panel .compact-card-row,.ship-data-panel .compact-card-row{grid-template-columns:6.25rem 1fr}}.ship-balance-ship-list-meta{margin:.15rem 0 0;font-size:.78rem;color:var(--text-secondary)}.ship-balance-ship-list-toolbar-actions{flex-wrap:wrap;align-items:flex-end}.ship-balance-ship-list-date-filter{margin:0}.ship-balance-ship-list-date-filter>span{display:inline-flex;align-items:center;gap:.25rem}.ship-balance-ship-list-date.date-input-field,.ship-balance-ship-list .ship-balance-ship-list-date{min-width:9.5rem}.ship-balance-ship-list-filters{display:flex;flex-direction:column;align-items:stretch;gap:.65rem}.ship-balance-ship-status-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.ship-balance-ship-status-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer}.ship-balance-ship-status-tab:hover{color:var(--text-primary);border-color:var(--text-secondary)}.ship-balance-ship-status-tab.is-active{color:var(--text-primary);border-color:var(--accent, #2b6cb0);background:color-mix(in srgb,var(--accent, #2b6cb0) 12%,transparent)}.ship-balance-ship-status-count{font-variant-numeric:tabular-nums;opacity:.75}.ship-balance-ship-list-filters .ship-dock-fee-filter-wide{max-width:28rem}.ship-balance-ship-table-scroll{overflow:auto;max-height:calc(100vh - 16rem);border:1px solid var(--border-color);border-radius:8px}.ship-balance-ship-table{width:100%;min-width:78rem;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.45}.ship-balance-ship-table thead{position:sticky;top:0;z-index:6}.ship-balance-ship-table th{padding:.7rem .85rem;text-align:left;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--text-secondary);background-color:#0f172a;background-clip:padding-box;border-bottom:1px solid var(--border-color);white-space:nowrap}.ship-balance-ship-table th .crew-sort-btn{width:100%;justify-content:flex-start;padding:.1rem 0;font-size:inherit;font-weight:inherit;color:inherit;white-space:nowrap;gap:.25rem}.ship-balance-ship-table th .crew-sort-btn>span{white-space:nowrap}.ship-balance-ship-table td{padding:.75rem .85rem;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--border-color) 80%,transparent);background-color:#111827;background-clip:padding-box}.ship-balance-ship-table tbody tr:nth-child(2n) td{background-color:color-mix(in srgb,#111827 88%,#1e293b)}.ship-balance-ship-table tbody tr:hover td{background-color:#1a2436}.ship-balance-ship-table tbody tr:last-child td{border-bottom:none}.ship-balance-ship-col-no{width:2.5rem;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.ship-balance-ship-col-status{width:5.5rem;white-space:nowrap}.ship-balance-ship-col-name{min-width:12rem;font-weight:650;white-space:nowrap}.ship-balance-ship-col-owner{min-width:14rem;max-width:22rem}.ship-balance-ship-col-flag{min-width:6.5rem;white-space:nowrap}.ship-balance-ship-col-type{min-width:9rem;white-space:nowrap}.ship-balance-ship-col-shipyard{min-width:10rem;max-width:16rem}.ship-balance-ship-col-wide{min-width:11rem;max-width:18rem}.ship-balance-ship-col-age{min-width:6rem;white-space:nowrap;font-variant-numeric:tabular-nums}.ship-balance-ship-col-insurer{min-width:9rem;max-width:14rem}.ship-balance-ship-col-date{min-width:6.5rem;white-space:nowrap;font-variant-numeric:tabular-nums}.ship-balance-ship-prefs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.ship-balance-ship-prefs-panel{width:min(28rem,100%);max-height:min(85vh,40rem);overflow:auto;padding:1rem 1.1rem 1.1rem;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-elevated, var(--bg-primary, #111827));box-shadow:0 12px 40px #00000047}.ship-balance-ship-prefs-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ship-balance-ship-prefs-header h3{margin:0;font-size:1rem}.ship-balance-ship-prefs-hint{margin:.45rem 0 .75rem;font-size:.78rem;color:var(--text-secondary)}.ship-balance-ship-prefs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.ship-balance-ship-prefs-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .45rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.ship-balance-ship-prefs-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem}.ship-balance-ship-prefs-move{display:inline-flex;gap:.15rem}.ship-balance-ship-prefs-move .btn{padding:.2rem .4rem;min-height:0}.ship-balance-ship-prefs-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.9rem}.ship-balance-ship-badge{display:inline-block;padding:.2rem .55rem;border-radius:4px;font-size:.75rem;font-weight:650;white-space:nowrap}.ship-balance-ship-badge--active{color:#166534;background:#dcfce7}.ship-balance-ship-badge--planned{color:#1e40af;background:#dbeafe}.ship-balance-ship-badge--sold_planned{color:#9a3412;background:#ffedd5}.ship-balance-ship-badge--sold{color:#4b5563;background:#e5e7eb}.ship-balance-ship-badge--provisional{color:#6b21a8;background:#f3e8ff}.ship-balance-ship-planned-note{margin-left:.25rem;font-size:.72rem;color:var(--text-secondary)}[data-appearance=light] .ship-balance-ship-table th{background-color:#e2e8f0;color:#334155;box-shadow:0 1px #0f172a14}[data-appearance=light] .ship-balance-ship-table td{background-color:#fff}[data-appearance=light] .ship-balance-ship-table tbody tr:nth-child(2n) td{background-color:#f8fafc}[data-appearance=light] .ship-balance-ship-table tbody tr:hover td{background-color:#f1f5f9}.ship-sale-simulation-grid{display:flex;flex-direction:column;gap:.85rem}.ship-sale-simulation-form,.ship-sale-simulation-result{width:100%}.ship-sale-simulation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .85rem;max-width:42rem;align-items:start;overflow:visible}.ship-sale-simulation-field{display:flex;flex-direction:column;gap:.28rem;width:100%;min-width:0;font-size:.75rem;color:var(--text-secondary);overflow:visible}.ship-sale-simulation-field--wide{grid-column:1 / -1}.ship-sale-simulation-field>span{font-weight:600;line-height:1.3}.ship-sale-simulation-field>.input-field,.ship-sale-simulation-field>select.input-field,.ship-sale-simulation-field>.date-input-wrapper{width:100%;max-width:none;min-width:0;font-size:.875rem}.ship-sale-simulation-field>.date-input-wrapper{display:block}.ship-sale-simulation-input-compact{max-width:9.5rem}.ship-sale-simulation-ship-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;padding:.4rem .55rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--border-color) 75%,transparent);font-size:.78rem;color:var(--text-secondary)}.ship-sale-simulation-money-row{display:flex;flex-direction:row;align-items:stretch;gap:.4rem;width:100%;max-width:16.5rem}.ship-sale-simulation-money-row>.input-field{flex:1 1 auto;width:auto;min-width:0}.ship-sale-simulation-currency{flex:0 0 4.75rem;width:4.75rem;min-width:4.75rem;padding-left:.4rem;padding-right:.4rem}.ship-sale-simulation-unit{flex:0 0 2.5rem;width:2.5rem;min-width:2.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--text-secondary)}.ship-sale-simulation-result .ship-dock-fee-empty{min-height:4rem;display:flex;align-items:center}.ship-sale-simulation-surplus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem}.ship-sale-simulation-surplus-native{font-size:clamp(.95rem,2vw,1.25rem);line-height:1.4;word-break:break-word}.ship-sale-simulation-surplus{margin-bottom:0;min-width:0}@media (max-width: 720px){.ship-sale-simulation-surplus-grid{grid-template-columns:1fr}.ship-sale-simulation-fields{grid-template-columns:1fr;max-width:none}.ship-sale-simulation-money-row,.ship-sale-simulation-input-compact{max-width:none}}.ship-sale-simulation-breakdown{display:grid;grid-template-columns:1fr;gap:.45rem;margin:0}.ship-sale-simulation-breakdown>div{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.ship-sale-simulation-breakdown dt{margin:0;font-size:.8rem;color:var(--text-secondary)}.ship-sale-simulation-breakdown dd{margin:0;font-size:.9rem;font-variant-numeric:tabular-nums;text-align:right}.ship-sale-simulation-field-note{font-weight:400;color:var(--text-secondary)}.new-project-radio-group{border:none;margin:0;padding:0;min-width:0}.new-project-radio-group>legend{font-weight:600;font-size:.75rem;color:var(--text-secondary);margin-bottom:.28rem;padding:0}.new-project-radio-options{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center}.new-project-radio-options label{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.new-project-hire-row{max-width:22rem}.new-project-form-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.new-project-form-header .ship-balance-section-title{margin-bottom:0}.new-project-form-collapse-toggle{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.new-project-form-collapse-toggle .new-project-detail-link-icon{color:var(--accent-muted)}.new-project-form-collapse-toggle.is-open .new-project-detail-link-icon{transform:rotate(180deg)}.new-project-form-collapsible{padding-top:.85rem}.new-project-detail-link{display:inline-flex;align-items:center;gap:.3rem;margin:0;padding:.2rem .15rem;border:none;background:transparent;color:var(--accent-muted);font-size:.82rem;font-weight:600;letter-spacing:.02em;cursor:pointer}.new-project-detail-link:hover{color:var(--text-primary)}.new-project-detail-link-icon{transition:transform .18s ease}.new-project-detail-link.is-open .new-project-detail-link-icon{transform:rotate(180deg)}.new-project-detail-panel{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border-glass)}.new-project-detail-title{margin:0 0 .45rem;font-size:.95rem;font-weight:650;color:var(--text-primary)}.new-project-linked-rate{margin:.35rem 0 0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.new-project-var-hire-warn{color:#f59e0b}.new-project-repayment-row{max-width:26rem}.new-project-repayment-every{flex:0 0 3rem;width:3rem;min-width:3rem;padding-left:.35rem;padding-right:.35rem;text-align:center}.new-project-hire-unit-select{position:relative;flex:0 0 2.75rem;width:2.75rem;min-width:2.75rem}.new-project-hire-unit{width:100%;min-width:0;padding-left:.25rem;padding-right:.25rem;text-align:center;font-weight:600;letter-spacing:.02em;cursor:pointer}.new-project-hire-unit-menu{position:absolute;top:calc(100% + .25rem);right:0;z-index:80;margin:0;padding:.25rem;list-style:none;min-width:7.5rem;border-radius:8px;border:1px solid var(--border-glass);background:var(--bg-secondary);box-shadow:0 8px 24px #00000047}.new-project-currency-select{flex:0 0 2.75rem}.new-project-hire-unit-option{display:flex;align-items:baseline;gap:.55rem;width:100%;margin:0;padding:.4rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.new-project-hire-unit-option:hover,.new-project-hire-unit-option.is-selected{background:color-mix(in srgb,var(--accent-solid) 16%,transparent)}.new-project-hire-unit-option-initial{flex:0 0 1rem;font-weight:700;color:var(--accent-muted)}.new-project-hire-unit-option-full{font-size:.85rem}.new-project-result{display:flex;flex-direction:column;gap:.75rem}.new-project-result-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.new-project-result-header>.ship-balance-section-title{margin:0}.new-project-result>.ship-balance-section-title{margin-bottom:.15rem}.new-project-result-detail{display:flex;flex-direction:column;gap:.9rem;margin-top:.15rem;padding-top:.65rem;border-top:1px solid color-mix(in srgb,var(--border-glass) 90%,transparent)}.new-project-result-detail-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin:0;padding:.15rem 0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.new-project-result-detail-toggle .new-project-result-section-title{margin:0}.new-project-result-detail-toggle .new-project-detail-link-icon{color:var(--accent-muted);flex-shrink:0}.new-project-result-detail-toggle.is-open .new-project-detail-link-icon{transform:rotate(180deg)}.new-project-result-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}@media (min-width: 900px){.new-project-result-hero{grid-template-columns:repeat(4,minmax(0,1fr))}}.new-project-result-hero-card{position:relative;padding:.75rem .85rem .7rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent-solid) 28%,var(--border-glass));background:linear-gradient(160deg,color-mix(in srgb,var(--accent-solid) 14%,transparent),color-mix(in srgb,var(--bg-secondary) 88%,transparent));box-shadow:inset 0 1px color-mix(in srgb,#fff 6%,transparent);min-width:0;overflow:hidden}.new-project-result-hero-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-solid)}.new-project-result-hero-label{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--text-secondary)}.new-project-result-hero-value{margin:.28rem 0 0;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.25;word-break:break-word;color:var(--text-primary)}.new-project-result-hero-hint{margin:.25rem 0 0;font-size:.7rem;color:var(--text-muted)}.new-project-result-note{margin:0;padding:.5rem .7rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent-muted) 25%,var(--border-glass));background:color-mix(in srgb,var(--accent-solid) 8%,transparent)}.new-project-result-section{padding:.7rem .8rem .75rem;border-radius:10px;border:1px solid var(--border-glass);background:color-mix(in srgb,var(--bg-secondary) 55%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#fff 4%,transparent)}.new-project-result-section.tone-loan{border-color:color-mix(in srgb,#60a5fa 35%,var(--border-glass));background:color-mix(in srgb,#3b82f6 8%,var(--bg-secondary))}.new-project-result-section.tone-cash{border-color:color-mix(in srgb,#34d399 35%,var(--border-glass));background:color-mix(in srgb,#10b981 8%,var(--bg-secondary))}.new-project-result-section.tone-sale{border-color:color-mix(in srgb,#fbbf24 35%,var(--border-glass));background:color-mix(in srgb,#f59e0b 8%,var(--bg-secondary))}.new-project-result-section.tone-dep{border-color:color-mix(in srgb,#c084fc 35%,var(--border-glass));background:color-mix(in srgb,#a855f7 8%,var(--bg-secondary))}.new-project-result-section-title{margin:0 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid color-mix(in srgb,var(--border-glass) 90%,transparent);font-size:.8rem;font-weight:700;color:var(--text-primary)}.new-project-result-section.tone-loan .new-project-result-section-title{color:color-mix(in srgb,#93c5fd 70%,var(--text-primary))}.new-project-result-section.tone-cash .new-project-result-section-title{color:color-mix(in srgb,#6ee7b7 70%,var(--text-primary))}.new-project-result-section.tone-sale .new-project-result-section-title{color:color-mix(in srgb,#fcd34d 70%,var(--text-primary))}.new-project-result-section.tone-dep .new-project-result-section-title{color:color-mix(in srgb,#d8b4fe 70%,var(--text-primary))}.new-project-result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .65rem}.new-project-result-metric{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.35rem .5rem;align-items:baseline;padding:.32rem .45rem;border-radius:6px;border:1px solid transparent;background:color-mix(in srgb,var(--bg-primary) 35%,transparent)}.new-project-result-metric:nth-child(odd){background:color-mix(in srgb,#fff 3.5%,transparent)}.new-project-result-metric.is-emphasize{border-color:color-mix(in srgb,var(--accent-solid) 30%,transparent);background:color-mix(in srgb,var(--accent-solid) 12%,transparent)}.new-project-result-metric-label{font-size:.74rem;color:var(--text-secondary);line-height:1.3}.new-project-result-metric-value{font-size:.84rem;font-variant-numeric:tabular-nums;text-align:right;line-height:1.3;word-break:break-word;color:var(--text-primary)}.new-project-result-metric-value.is-negative,.new-project-result-hero-value.is-negative,.new-project-annual-yield-value.is-negative,.new-project-cf-negative{color:#fb7185;font-weight:700}.new-project-annual-yields{margin:.15rem 0 .35rem;padding:.7rem .8rem .75rem;border-radius:10px;border:1px solid var(--border-glass);background:color-mix(in srgb,var(--bg-secondary) 55%,transparent)}.new-project-annual-yields .new-project-result-section-title{margin:0 0 .35rem}.new-project-annual-yields .ship-balance-section-note{margin:0 0 .55rem}.new-project-annual-yield-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.45rem}.new-project-annual-yield-item{display:flex;flex-direction:column;gap:.12rem;padding:.45rem .5rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--border-glass) 85%,transparent);background:color-mix(in srgb,var(--bg-primary) 45%,transparent)}.new-project-annual-yield-year{font-size:.72rem;color:var(--text-secondary)}.new-project-annual-yield-value{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.2}.new-project-annual-yield-profit{font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--text-secondary);line-height:1.25}.new-project-result-empty{margin:0;grid-column:1 / -1;padding:.45rem .5rem;border-radius:6px;border:1px dashed color-mix(in srgb,var(--border-glass) 90%,transparent);font-size:.8rem;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-primary) 40%,transparent)}.new-project-cf-table-wrap{margin-top:.1rem;padding:.7rem .8rem .75rem;border-radius:10px;border:1px solid var(--border-glass);background:color-mix(in srgb,var(--bg-secondary) 55%,transparent);overflow-x:auto}.new-project-cf-table-wrap.tone-cash{border-color:color-mix(in srgb,#34d399 35%,var(--border-glass));background:color-mix(in srgb,#10b981 7%,var(--bg-secondary))}.new-project-cf-table-wrap.tone-dep{border-color:color-mix(in srgb,#c084fc 35%,var(--border-glass));background:color-mix(in srgb,#a855f7 7%,var(--bg-secondary))}.new-project-cf-table-wrap .new-project-result-section-title{margin-bottom:.55rem}.new-project-cf-table{width:100%;min-width:36rem;font-size:.78rem;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:8px;border:1px solid color-mix(in srgb,var(--border-glass) 95%,transparent)}.new-project-cf-table th,.new-project-cf-table td{white-space:nowrap;font-variant-numeric:tabular-nums;padding:.4rem .5rem;border-bottom:1px solid color-mix(in srgb,var(--border-glass) 90%,transparent)}.new-project-cf-table th{background:color-mix(in srgb,var(--bg-primary) 55%,transparent);color:var(--text-secondary);font-weight:600;text-align:left}.new-project-cf-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,#fff 2.5%,transparent)}.new-project-cf-table tbody tr:hover td{background:color-mix(in srgb,var(--accent-solid) 10%,transparent)}.new-project-cf-table tbody tr:last-child td{border-bottom:none}@media (max-width: 900px){.new-project-result-hero,.new-project-result-metrics{grid-template-columns:1fr}.new-project-result-metric{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.ship-sale-simulation-patterns{display:flex;flex-direction:column;gap:.75rem}.ship-sale-simulation-patterns-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem}.ship-sale-simulation-pattern-count{font-size:.85rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.ship-sale-simulation-loaded-pattern{margin:0;font-size:.85rem;color:var(--text-secondary)}.ship-sale-simulation-pattern-message{margin:0;font-size:.85rem;color:var(--accent-emerald, #10b981)}.ship-sale-simulation-pattern-save-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem}.ship-sale-simulation-pattern-name-field{flex:1 1 14rem;min-width:0}.ship-sale-simulation-pattern-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ship-sale-simulation-pattern-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.65rem .75rem;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:.65rem;background:#ffffff05}.ship-sale-simulation-pattern-main{min-width:0;flex:1 1 12rem}.ship-sale-simulation-pattern-title{margin:0;font-size:.92rem;font-weight:600}.ship-sale-simulation-pattern-meta{margin:.2rem 0 0;font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ship-sale-simulation-pattern-actions{display:flex;flex-wrap:wrap;gap:.35rem}.ship-sale-simulation-pattern-delete{color:var(--danger, #ef4444)}.cash-flow-share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.cash-flow-share-dialog{width:min(420px,100%);max-height:min(80vh,640px);overflow:auto;display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem 1.1rem;border-radius:12px;background:var(--panel-bg, #fff);box-shadow:0 18px 40px #0f172a38}.cash-flow-share-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.cash-flow-share-dialog-header h3{margin:0 0 .35rem;font-size:1.05rem}.cash-flow-share-error{margin:0;padding:.55rem .7rem;border-radius:8px;background:#ef44441f;color:#b91c1c;font-size:.85rem;line-height:1.4}.cash-flow-share-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;padding:.2rem;border-radius:6px}.cash-flow-share-recipient-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:280px;overflow:auto}.cash-flow-share-recipient{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.55rem;row-gap:.1rem;align-items:center;padding:.45rem .55rem;border-radius:8px;background:#94a3b81a;cursor:pointer}.cash-flow-share-recipient input{grid-row:1 / span 2;margin:0}.cash-flow-share-recipient-name{font-size:.9rem;font-weight:600;color:var(--text-primary)}.cash-flow-share-recipient-meta{font-size:.75rem;color:var(--text-secondary)}.cash-flow-share-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.ship-sale-simulation-pattern-compare{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.ship-sale-simulation-pattern-compare input{margin:0}.ship-sale-simulation-compare{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}.ship-sale-simulation-compare-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem}.ship-sale-simulation-compare-header .ship-balance-section-title{display:inline-flex;align-items:center;gap:.4rem;margin:0}.ship-sale-simulation-compare-table-scroll{overflow:auto;max-width:100%}.ship-sale-simulation-compare-table{width:100%;min-width:36rem;border-collapse:collapse;font-size:.8rem}.ship-sale-simulation-compare-table th,.ship-sale-simulation-compare-table td{padding:.45rem .6rem;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));vertical-align:top}.ship-sale-simulation-compare-table thead th{background:#0f172ad9;text-align:left;font-weight:600}.ship-sale-simulation-compare-table tbody th[scope=row]{background:#ffffff08;text-align:left;font-weight:500;color:var(--text-secondary);white-space:nowrap;min-width:9rem}.ship-sale-simulation-compare-table td{font-variant-numeric:tabular-nums;min-width:8.5rem}.ship-sale-simulation-compare-col-ship{display:block;font-size:.82rem;font-weight:600}.ship-sale-simulation-compare-col-name{display:block;margin-top:.15rem;font-size:.74rem;color:var(--text-secondary);font-weight:500}.ship-sale-simulation-compare-section th{background:#38bdf814;color:#7dd3fc;font-size:.74rem;font-weight:700;letter-spacing:.02em}.ship-sale-simulation-compare-best{background:#10b9811f;color:#6ee7b7;font-weight:600}.cash-flow-simulation-layout{display:flex;flex-direction:column;gap:.75rem}.cash-flow-simulation-settings-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.75rem}.cash-flow-simulation-settings-block{padding:.85rem;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:.65rem;background:#ffffff05}.cash-flow-simulation-settings-block--outflow{border-color:#f8717133;background:#f871710a}.cash-flow-simulation-block-title{margin:0 0 .65rem;font-size:.88rem;font-weight:700}.cash-flow-simulation-settings-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.cash-flow-simulation-labeled-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.cash-flow-simulation-labeled-field>span{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.cash-flow-simulation-labeled-field>.input-field,.cash-flow-simulation-labeled-field>select.input-field,.cash-flow-simulation-labeled-field>.ship-sale-simulation-money-row{width:100%}.cash-flow-simulation-ship-card .cash-flow-simulation-labeled-field{gap:.3rem;align-items:flex-start;width:auto;max-width:100%}.cash-flow-simulation-ship-card .cash-flow-simulation-labeled-field>span{font-size:.75rem}.cash-flow-simulation-ship-card .cash-flow-simulation-labeled-field>.input-field,.cash-flow-simulation-ship-card .cash-flow-simulation-labeled-field>select.input-field,.cash-flow-simulation-ship-card .cash-flow-simulation-labeled-field>.ship-sale-simulation-money-row{width:auto;max-width:11.5rem;min-width:0}.cash-flow-simulation-ship-card .cash-flow-simulation-money-row,.cash-flow-simulation-ship-card .ship-sale-simulation-money-row{display:inline-flex;width:auto;max-width:11.5rem;min-width:0}.cash-flow-simulation-ship-card .input-field,.cash-flow-simulation-ship-card select.input-field{padding:.38rem .55rem;font-size:.8125rem;line-height:1.35;border-radius:6px;box-sizing:border-box;max-width:100%}.cash-flow-simulation-ship-card select.input-field:not(.ship-sale-simulation-currency){padding-right:1.75rem}.cash-flow-simulation-ship-card .ship-sale-simulation-money-row>.input-field:not(.ship-sale-simulation-currency){flex:1 1 5rem;width:auto;min-width:4.5rem;max-width:8rem}.cash-flow-simulation-ship-card .ship-sale-simulation-currency{flex:0 0 3.1rem;width:3.1rem;min-width:3.1rem;max-width:3.1rem;padding:.38rem 1rem .38rem .28rem;font-size:.75rem;letter-spacing:-.01em}.cash-flow-simulation-ship-card-inline-fields .cash-flow-simulation-labeled-field{flex:0 0 auto;width:auto;max-width:none}.cash-flow-simulation-settings-note{margin:0 0 .75rem}.cash-flow-simulation-ships-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.75rem}.cash-flow-simulation-ship-cards{display:flex;flex-direction:column;gap:.75rem}.cash-flow-simulation-ship-card{border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:.65rem;background:#ffffff05;overflow:hidden;width:100%}.cash-flow-simulation-ship-card--disabled{opacity:.55}.cash-flow-simulation-ship-card-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.55rem .75rem;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08));background:transparent}.cash-flow-simulation-ship-card-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.cash-flow-simulation-ship-card-title{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:.95rem;font-weight:700;min-width:0;word-break:break-word}.cash-flow-simulation-ship-card-body{display:flex;flex-wrap:wrap;align-items:stretch;gap:.65rem;padding:.65rem .75rem .75rem;min-width:0}.cash-flow-simulation-ship-card-panel{display:flex;flex-direction:column;gap:.55rem;padding:.65rem .75rem;min-width:0;max-width:100%;align-items:flex-start;overflow:hidden;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:.65rem;box-sizing:border-box}.cash-flow-simulation-ship-card-panel h5{margin:0 0 .15rem;font-size:.88rem;font-weight:700;letter-spacing:.01em;color:var(--text-primary)}.cash-flow-simulation-ship-card-panel--inflow{flex:0 1 14.5rem;width:min(100%,14.5rem);border-color:#34d39933;background:#34d3990a}.cash-flow-simulation-ship-card-panel--outflow{flex:0 1 auto;width:fit-content;max-width:100%;border-color:#f9731661;background:#f9731624}.cash-flow-simulation-ship-card-inline-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem .75rem;width:auto;max-width:100%}.cash-flow-simulation-insurance-fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem .9rem;width:auto;max-width:100%}.cash-flow-simulation-insurance-slot{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-width:10.5rem}.cash-flow-simulation-ship-card-subsection{display:flex;flex-direction:column;gap:.45rem;padding-top:.45rem;margin-top:.1rem;border-top:1px dashed rgba(249,115,22,.32);width:auto;max-width:100%;align-items:flex-start}.cash-flow-simulation-ship-card-subsection h6{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.03em;color:var(--text-secondary)}.cash-flow-simulation-ship-card-subsection--loan{border-top-color:#f9731652}.cash-flow-simulation-ship-card-subsection .cash-flow-simulation-labeled-field>select.input-field{width:auto;max-width:9rem;min-width:0}.cash-flow-simulation-table-scroll{overflow:auto;max-width:100%}.cash-flow-simulation-month-table{width:100%;min-width:48rem;border-collapse:collapse;font-size:.8rem}.cash-flow-simulation-month-table th,.cash-flow-simulation-month-table td{padding:.45rem .5rem;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));vertical-align:middle}.cash-flow-simulation-month-table thead th{background:#0f172a;background-clip:padding-box;color:#e2e8f0;text-align:left;font-weight:600;white-space:nowrap}.cash-flow-simulation-month-table tbody th[scope=row]{white-space:nowrap;font-weight:500;color:var(--text-secondary)}[data-appearance=light] .cash-flow-simulation-month-table thead th{background-color:#e2e8f0;color:#334155;box-shadow:0 1px #0f172a14}.cash-flow-simulation-month-table td,.cash-flow-simulation-month-table tbody th[scope=row]{font-variant-numeric:tabular-nums}.cash-flow-simulation-money-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:center}.cash-flow-simulation-money-cell>.input-field{min-width:0}.cash-flow-simulation-result{display:flex;flex-direction:column;gap:.85rem}.cash-flow-simulation-result-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.cash-flow-simulation-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem}.cash-flow-simulation-kpi-dual{font-size:1rem}.cash-flow-simulation-chart-block{display:flex;flex-direction:column;gap:.35rem}.cash-flow-simulation-chart-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.cash-flow-simulation-chart-hint{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.4}.cash-flow-simulation-chart-subheader{margin-top:.55rem}.cash-flow-simulation-scale-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem;border-radius:999px;background:#94a3b81f}.cash-flow-simulation-scale-toggle-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:600;line-height:1;padding:.4rem .7rem;border-radius:999px;cursor:pointer}.cash-flow-simulation-scale-toggle-btn.is-active{background:#34d39938;color:var(--text-primary)}@media (max-width: 720px){.cash-flow-simulation-ship-card-panel--inflow{width:100%}}.ship-dock-fee-panel{display:flex;flex-direction:column;gap:.75rem;min-height:0;min-width:0;overflow:visible}.ship-dock-fee-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem}.ship-dock-fee-toolbar .panel-title{display:inline-flex;align-items:center;gap:.45rem;margin:0;margin-right:.5rem}.ship-dock-fee-filter{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:var(--text-secondary)}.ship-dock-fee-filter .input-field,.ship-dock-fee-filter .date-input-wrapper{min-width:8.5rem;font-size:.8rem}.ship-dock-fee-filter .date-input-wrapper{min-width:12rem;width:12rem;flex-shrink:0}.ship-dock-fee-filter-wide .input-field{min-width:16rem}.searchable-select{position:relative;width:100%;min-width:0}.searchable-select-control{position:relative;width:100%}.searchable-select-input{width:100%;max-width:100%;box-sizing:border-box;padding-right:2.75rem!important}.searchable-select-actions{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:.1rem;pointer-events:none}.searchable-select-icon-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0}.searchable-select-icon-btn:hover:not(:disabled){background:#94a3b829;color:var(--text-primary)}.searchable-select-icon-btn:disabled{opacity:.5;cursor:not-allowed}.searchable-select-menu{position:absolute;z-index:40;left:0;right:0;top:calc(100% + .25rem);max-height:14rem;overflow:auto;margin:0;padding:.25rem;list-style:none;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:var(--panel-bg, rgba(15, 23, 42, .98));box-shadow:0 12px 28px #02061759}[data-appearance=light] .searchable-select-menu{background:#fff;box-shadow:0 10px 24px #0f172a1f}.searchable-select-option{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text-primary);padding:.45rem .65rem;border-radius:8px;font-size:.875rem;cursor:pointer}.searchable-select-option:hover,.searchable-select-option.is-active{background:#38bdf829}.searchable-select-empty{padding:.55rem .65rem;font-size:.8rem;color:var(--text-secondary)}.ship-dock-fee-toolbar .searchable-select,.ship-dock-fee-filter .searchable-select,.master-form-grid .searchable-select{min-width:12rem}.ship-transaction-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ship-transaction-toolbar-top .panel-title{display:inline-flex;align-items:center;gap:.45rem;margin:0}.ship-transaction-filters-row{flex-wrap:wrap;width:100%;min-width:0;overflow:visible}.ship-transaction-filters-row .ship-dock-fee-filter{flex:0 0 auto}.ship-transaction-filters-row .ship-dock-fee-filter .input-field:not(.date-input-field){min-width:7rem;width:100%;max-width:10rem;box-sizing:border-box}.ship-transaction-filters-row .ship-dock-fee-filter .date-input-wrapper{min-width:12rem;width:12rem;max-width:12rem;flex-shrink:0}.ship-transaction-filters-row .ship-dock-fee-filter .date-input-field{width:100%;min-width:0}.ship-transaction-filters-row .ship-dock-fee-filter-wide{flex:1 1 12rem;min-width:11rem;max-width:min(100%,20rem)}.ship-transaction-filters-row .ship-dock-fee-filter-wide .input-field{min-width:0;max-width:100%;width:100%}.ship-dock-fee-filter .searchable-select,.ship-dock-fee-filter .searchable-select-input,.master-form-grid .searchable-select,.master-form-grid .searchable-select-input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.ship-transaction-filters-row .ship-dock-fee-filter .searchable-select-input.input-field:not(.date-input-field),.ship-transaction-filters-row .ship-dock-fee-filter-wide .searchable-select-input.input-field{width:100%;max-width:100%;min-width:0}.ship-transaction-filters-row .ship-dock-fee-filter-wide .searchable-select{width:100%;max-width:100%}.ship-dock-fee-toolbar-actions{display:flex;gap:.35rem;flex-shrink:0}.ship-dock-fee-summary{display:flex;gap:1.25rem;font-size:.85rem;color:var(--text-secondary)}.ship-dock-fee-split-hint{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.45}.ship-dock-fee-fee-tag{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.72rem;white-space:nowrap}.ship-dock-fee-fee-tag-con{background:#22d3ee26;color:#67e8f9}.ship-dock-fee-fee-tag-parts{background:#94a3b826;color:var(--text-secondary)}.ship-dock-fee-alert{margin:0}.ship-dock-fee-success{margin:0;color:#34d399;font-size:.85rem}.ship-dock-fee-empty{margin:0;color:var(--text-secondary);font-size:.9rem}.ship-dock-fee-table-scroll{overflow:auto;max-height:calc(100vh - 18rem)}.ship-dock-fee-table--sticky{border-collapse:separate;border-spacing:0}.ship-dock-fee-table--sticky thead{position:sticky;top:0;z-index:6}.ship-dock-fee-table--sticky thead th{background-color:#0f172a;background-clip:padding-box;box-shadow:0 1px #ffffff0f}.ship-dock-fee-table--sticky tbody td{background-color:#111827;background-clip:padding-box}.ship-dock-fee-table--sticky tbody tr:hover td{background-color:#1a2436}.ship-dock-fee-table--sticky tbody tr.ship-dock-fee-detail-row td{background-color:#0000001f}[data-appearance=light] .ship-dock-fee-table--sticky thead th{background-color:#e2e8f0;box-shadow:0 1px #0f172a14}[data-appearance=light] .ship-dock-fee-table--sticky tbody td{background-color:#fff}[data-appearance=light] .ship-dock-fee-table--sticky tbody tr:hover td{background-color:#f8fafc}[data-appearance=light] .ship-dock-fee-table--sticky tbody tr.ship-dock-fee-detail-row td{background-color:#f1f5f9}.ship-dock-fee-table th,.ship-dock-fee-table td{white-space:nowrap;font-size:.8rem}.ship-dock-fee-amount{font-weight:600;font-variant-numeric:tabular-nums}.ship-dock-fee-amount-meta{margin-left:.25rem;font-size:.68rem;color:var(--text-muted);font-weight:400}.ship-dock-fee-expand-btn,.ship-dock-fee-row-actions .btn{padding:.2rem .4rem}.ship-dock-fee-row-actions{display:flex;gap:.25rem}.ship-dock-fee-detail-row td{background:#0000001f;padding:.5rem .75rem!important}.ship-dock-fee-detail-table{width:100%;font-size:.78rem}.ship-dock-fee-detail-empty{margin:0;font-size:.8rem;color:var(--text-secondary)}.ship-transaction-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.ship-transaction-search-bar{margin-bottom:0}.ship-transaction-hint{display:block;margin-top:.35rem;color:var(--text-secondary);font-size:.8rem;line-height:1.4}.ship-profit-panel{min-width:0}.ship-profit-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.82rem;color:var(--text-secondary)}.ship-profit-fiscal-nav{display:flex;flex-wrap:wrap;gap:.35rem;align-self:flex-end}.ship-profit-fiscal-btn{white-space:nowrap}.ship-profit-table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.ship-profit-table-scroll--detail{max-height:min(72vh,calc(100dvh - 14rem));overflow:auto;overscroll-behavior:contain}.ship-profit-table{min-width:720px}.ship-profit-table--sticky{border-collapse:separate;border-spacing:0}.ship-profit-table--sticky thead{position:sticky;top:0;z-index:6}.ship-profit-table--sticky thead th{background-color:#0f172a;background-clip:padding-box;box-shadow:0 1px #ffffff0f}.ship-profit-table--sticky tbody td{background-color:#111827;background-clip:padding-box}.ship-profit-table--sticky tbody tr.ship-profit-summary-row td{background-color:#152536}.ship-profit-table--sticky tbody tr:hover td{background-color:#1a2436}.ship-profit-table th,.ship-profit-table td{white-space:nowrap;font-size:.78rem;padding:.45rem .55rem}.activity-table.ship-profit-table thead th.ship-profit-num-col{text-align:right;font-variant-numeric:tabular-nums}.ship-profit-sticky-col{position:sticky;left:0;z-index:4;min-width:8.5rem;max-width:14rem;white-space:normal;background-color:#111827;background-clip:padding-box;box-shadow:4px 0 8px -2px #00000073}.ship-profit-table thead .ship-profit-sticky-col{z-index:12;background-color:#0f172a;box-shadow:4px 0 8px -2px #00000073,0 1px #ffffff0f}.ship-profit-summary-row .ship-profit-sticky-col{background-color:#152536}[data-appearance=light] .ship-profit-table--sticky thead th,[data-appearance=light] .ship-profit-table thead .ship-profit-sticky-col{background-color:#e2e8f0}[data-appearance=light] .ship-profit-table--sticky tbody td,[data-appearance=light] .ship-profit-sticky-col{background-color:#fff}[data-appearance=light] .ship-profit-table--sticky tbody tr.ship-profit-summary-row td,[data-appearance=light] .ship-profit-summary-row .ship-profit-sticky-col{background-color:#e8f2fc}[data-appearance=light] .ship-profit-table--sticky tbody tr:hover td{background-color:#f8fafc}.ship-profit-cell{text-align:right;font-variant-numeric:tabular-nums}.ship-profit-cell-bold{font-weight:700}.ship-profit-cell-negative{color:#f87171}.ship-profit-summary-row td{font-weight:700;background-color:#152536}[data-appearance=light] .ship-profit-summary-row td{background-color:#e8f2fc}.ship-profit-separator-row td{padding:.15rem 0;border-bottom:2px double rgba(148,163,184,.35)}.ship-profit-ship-link{display:inline;padding:0;margin:0;border:none;background:none;color:#38bdf8;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ship-profit-ship-link:hover{color:#7dd3fc}.ship-profit-ship-link:focus-visible{outline:2px solid rgba(56,189,248,.5);outline-offset:2px;border-radius:2px}.ship-profit-all-section{margin-top:1.5rem}.ship-profit-all-section:first-of-type{margin-top:.5rem}.ship-profit-all-section-title{font-size:1.25rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary, #e2e8f0)}[data-appearance=light] .ship-profit-all-section-title{color:#1e293b}.ship-balance-dashboard{display:flex;flex-direction:column;gap:1rem}.ship-balance-dashboard-header{margin-bottom:0}.ship-balance-dashboard-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.finance-balance-trend-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.finance-balance-trend-controls .btn-group{display:inline-flex;gap:.25rem}.finance-balance-trend-year{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary)}.finance-balance-trend-year select{min-width:6.5rem;padding:.3rem .5rem;font-size:.8rem}.ship-balance-dashboard-subtitle{margin:.35rem 0 0;font-size:.85rem;color:var(--text-secondary)}.ship-balance-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}@media (max-width: 1100px){.ship-balance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.ship-balance-kpi-grid{grid-template-columns:1fr}}.ship-balance-kpi{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem;border-radius:12px;border:1px solid rgba(148,163,184,.15);background:#0f172a73}[data-appearance=light] .ship-balance-kpi{background:#ffffffd9;border-color:#94a3b840}.ship-balance-kpi-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:10px;flex-shrink:0}.ship-balance-kpi--sky .ship-balance-kpi-icon{color:#38bdf8;background:#38bdf826}.ship-balance-kpi--amber .ship-balance-kpi-icon{color:#fbbf24;background:#fbbf2426}.ship-balance-kpi--emerald .ship-balance-kpi-icon{color:#34d399;background:#34d39926}.ship-balance-kpi--rose .ship-balance-kpi-icon{color:#fb7185;background:#fb718526}.ship-balance-kpi-label{margin:0;font-size:.78rem;color:var(--text-secondary)}.ship-balance-kpi-value{margin:.2rem 0 0;font-size:1.35rem;font-weight:700;font-family:var(--font-display)}.ship-balance-kpi-sub{margin:.15rem 0 0;font-size:.75rem;color:var(--text-secondary)}.ship-balance-dashboard-chart-panel{min-width:0}.ship-balance-dashboard-chart-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.ship-balance-section-title{margin:0;font-size:1.05rem;font-weight:700}.ship-balance-section-note{margin:.25rem 0 0;font-size:.8rem;color:var(--text-secondary)}.ship-balance-chart-wrap{width:100%;min-height:260px}.ship-balance-chart-wrap--compact{min-height:220px}.ship-balance-dashboard-split{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.fleetly-fx-panel{margin-top:1rem;margin-bottom:0}.finance-loan-date-mismatch-value{color:#d97706;font-weight:600}[data-appearance=dark] .finance-loan-date-mismatch-value{color:#fbbf24}.finance-balance-toolbar-total-value--fresh{color:#059669;font-weight:600}[data-appearance=dark] .finance-balance-toolbar-total-value--fresh{color:#34d399}.snapshot-meta-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.82rem;line-height:1.45;color:#475569}.snapshot-meta-list>li{display:inline-flex;align-items:baseline;gap:.35rem}.snapshot-meta-list>li:before{content:"•";color:#94a3b8;font-weight:700}.snapshot-meta-label{color:#64748b}.snapshot-meta-label:after{content:":"}.snapshot-meta-value{color:#0f172a;font-variant-numeric:tabular-nums}.snapshot-meta-value--fresh{color:#059669;font-weight:600}.snapshot-meta-value--stale{color:#d97706;font-weight:700}[data-appearance=dark] .snapshot-meta-list,[data-appearance=dark] .snapshot-meta-label{color:#94a3b8}[data-appearance=dark] .snapshot-meta-value{color:#e2e8f0}[data-appearance=dark] .snapshot-meta-value--fresh{color:#34d399}[data-appearance=dark] .snapshot-meta-value--stale{color:#fbbf24}.fleetly-fx-split{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:start}.fleetly-fx-table-wrap{max-height:260px;overflow:auto;border-radius:.5rem;border:1px solid rgba(148,163,184,.2)}.fleetly-fx-table{width:100%;margin:0}.fleetly-fx-table th,.fleetly-fx-table td{padding:.35rem .6rem;font-size:.82rem}@media (max-width: 960px){.ship-balance-dashboard-split,.fleetly-fx-split{grid-template-columns:1fr}}.ship-balance-ranking{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.ship-balance-ranking-item{display:flex;flex-direction:column;gap:.35rem}.ship-balance-ranking-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;font-size:.85rem}.ship-balance-ranking-rank{width:1.4rem;height:1.4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;background:#38bdf826;color:#7dd3fc}.ship-balance-ranking-value{font-weight:600;color:#34d399;white-space:nowrap}.ship-balance-ranking-value--negative{color:#fb7185}.ship-balance-ranking-bar-track{height:6px;border-radius:999px;background:#94a3b826;overflow:hidden}.ship-balance-ranking-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#34d399,#38bdf8)}.ship-balance-ranking-bar--negative{background:linear-gradient(90deg,#fb7185,#f97316)}.ship-interest-fx-source{margin-top:.35rem;font-size:.72rem}.ship-interest-fx-source a{color:#38bdf8}.ship-period-comparison{margin-top:.25rem}.ship-period-comparison-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ship-period-comparison-controls{display:flex;align-items:flex-end;gap:.5rem}.ship-period-overview-chart{margin-bottom:1.5rem}.ship-period-metric-section{margin-bottom:2rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.15)}.ship-period-metric-title{margin:0 0 .75rem;font-size:1rem;font-weight:700}.ship-period-table-block{margin-bottom:1rem}.ship-period-table-caption,.ship-period-chart-caption{margin:0 0 .4rem;font-size:.78rem;color:var(--text-secondary)}.ship-period-table-scroll{overflow:auto;max-height:320px}.ship-period-table{min-width:640px;font-size:.78rem}.ship-period-table--sticky{border-collapse:separate;border-spacing:0}.ship-period-table--sticky thead{position:sticky;top:0;z-index:4}.ship-period-table--sticky thead th{background-color:#0f172a;background-clip:padding-box}.ship-period-sticky-col{position:sticky;left:0;z-index:3;min-width:7.5rem;background-color:#111827;background-clip:padding-box;box-shadow:4px 0 8px -2px #00000059}.ship-period-table thead .ship-period-sticky-col{z-index:5;background-color:#0f172a}.ship-period-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ship-period-cell-bold{font-weight:700}.ship-period-cell-negative{color:#fb7185}.ship-period-total-row td{background-color:#152536;font-weight:600}.ship-period-total-row .ship-period-sticky-col{background-color:#152536}.ship-period-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ship-period-charts-row--primary{margin-bottom:1.25rem}.ship-period-charts-row--primary .ship-balance-chart-wrap{min-height:320px}.ship-period-chart-card{background:#0f172a59;border:1px solid rgba(148,163,184,.12);border-radius:10px;padding:.75rem}@media (max-width: 960px){.ship-period-charts-row{grid-template-columns:1fr}}[data-appearance=light] .ship-period-table--sticky thead th,[data-appearance=light] .ship-period-table thead .ship-period-sticky-col{background-color:#e2e8f0}[data-appearance=light] .ship-period-sticky-col{background-color:#fff}[data-appearance=light] .ship-period-total-row td,[data-appearance=light] .ship-period-total-row .ship-period-sticky-col{background-color:#e8f2fc}[data-appearance=light] .ship-period-chart-card{background:#f8fafc;border-color:#0f172a14}.crew-sort-btn{display:inline-flex;align-items:center;gap:.35rem;padding:0;margin:0;border:none;background:none;color:inherit;font:inherit;font-weight:500;letter-spacing:inherit;text-transform:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.crew-sort-btn:hover{color:var(--text-primary)}.crew-sort-btn-active{color:#22d3ee}.crew-sort-icon-muted{opacity:.35}.crew-sort-btn:hover .crew-sort-icon-muted{opacity:.65}.crew-address-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-meta-tag{font-family:monospace;font-size:.75rem;padding:.15rem .45rem;border-radius:4px;background:#06b6d41f;color:#22d3ee}.crew-company-tag{display:inline-flex;align-items:center;font-size:.8rem;padding:.2rem .55rem;border-radius:6px;background:#a855f71f;color:#c084fc;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.crew-search-bar{position:relative;display:flex;align-items:center;margin-bottom:1rem;flex-shrink:0}.crew-search-icon{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none;z-index:1}.crew-search-input{width:100%;padding:.75rem 2.75rem!important;font-size:.875rem!important;border-radius:10px!important}.crew-search-input::-webkit-search-cancel-button{display:none}.crew-search-clear{position:absolute;right:.65rem;display:flex;align-items:center;justify-content:center;padding:.35rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.crew-search-clear:hover{color:var(--text-primary);background:#ffffff0f}.crew-table-resize-hint{margin:-.5rem 0 .75rem;font-size:.7rem;color:var(--text-muted)}.crew-table-empty-row td{padding:2.5rem 1rem!important;text-align:center;white-space:normal;overflow:visible;text-overflow:clip;vertical-align:middle}.crew-table-empty-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;color:var(--text-secondary)}.crew-toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none;padding:.35rem .65rem;border-radius:10px;border:1px solid var(--border-glass);background:#ffffff05;transition:all var(--transition-fast)}.crew-toggle:hover{border-color:var(--border-glass-glow);color:var(--text-primary)}.crew-toggle input{position:absolute;opacity:0;width:0;height:0}.crew-toggle-track{position:relative;width:36px;height:20px;border-radius:10px;background:#ffffff14;border:1px solid var(--border-glass);transition:all var(--transition-fast);flex-shrink:0}.crew-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:all var(--transition-fast)}.crew-toggle input:checked+.crew-toggle-track{background:#f59e0b33;border-color:#f59e0b66}.crew-toggle input:checked+.crew-toggle-track:after{transform:translate(16px);background:#f59e0b}.crew-toggle input:focus-visible+.crew-toggle-track{box-shadow:0 0 0 2px #06b6d459}.crew-toggle-count{font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;background:#f59e0b26;color:#f59e0b}.crew-row-retired td{opacity:.85}.crew-row-retired .crew-name,.crew-row-retired td:first-child{color:var(--text-muted)}.crew-action-buttons{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem}.crew-edit-btn{padding:.35rem .65rem!important;font-size:.75rem!important;gap:.35rem!important}.crew-delete-btn{color:#f87171!important;border-color:#f8717159!important}.crew-delete-btn:hover:not(:disabled){background:#f871711f!important;border-color:#f871718c!important}.crew-confirm-overlay{align-items:center;justify-content:center;padding:1rem}.crew-confirm-dialog{width:100%;max-width:440px;padding:1.25rem 1.5rem;border-radius:12px;animation:fadeInOverlay .2s ease}.crew-confirm-dialog-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.crew-confirm-dialog-header h3{font-size:1.05rem;margin:0}.crew-confirm-dialog-desc{font-size:.9rem;line-height:1.55;color:var(--text-secondary);margin:0 0 1rem}.crew-confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.crew-delete-confirm-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #dc262659;transition:opacity var(--transition-fast)}.crew-delete-confirm-btn:hover:not(:disabled){opacity:.92}.crew-delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.crew-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:10000;display:flex;flex-direction:column;padding:0;margin:0;overflow-y:auto;background:#000000b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeInOverlay .2s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.crew-modal{display:flex;flex-direction:column;width:100%;max-width:100%;height:100%;max-height:100dvh;margin:0;padding:1.25rem 1.5rem;border-radius:0;overflow:hidden;box-sizing:border-box;animation:fadeInOverlay .25s ease}.crew-modal-fullscreen{flex:1;min-height:0}.crew-modal-error{flex-shrink:0;margin-bottom:.75rem}.crew-modal-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:.25rem;margin-bottom:.5rem}.crew-modal-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.crew-modal-header h3{font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.crew-modal-close{background:#ffffff0d;border:1px solid var(--border-glass);border-radius:8px;padding:.4rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.crew-modal-close:hover{color:var(--text-primary);border-color:var(--border-glass-glow)}.crew-edit-form{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}.crew-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.crew-form-full{grid-column:1 / -1}.crew-form-section-title{margin:.25rem 0 0;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.crew-input{padding-left:1rem!important}.month-input-row{display:flex;gap:.5rem;align-items:stretch;width:100%}.month-input-year{flex:1 1 7rem;min-width:0}.month-input-month{flex:0 0 5.5rem;min-width:0}.date-input-wrapper{position:relative;display:flex;align-items:stretch;width:100%}.date-input-field{flex:1;min-width:0;padding-right:2.75rem!important}.date-input-field::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:2.75rem;height:100%;cursor:pointer}.date-input-picker-btn{position:absolute;right:0;top:0;bottom:0;width:2.75rem;display:flex;align-items:center;justify-content:center;background:#ffffff05;border:none;border-left:1px solid var(--border-glass);color:var(--text-muted);cursor:pointer;border-radius:0 12px 12px 0;transition:color var(--transition-fast),background var(--transition-fast)}.date-input-picker-btn:hover:not(:disabled){color:#22d3ee;background:#06b6d41f}.date-input-picker-btn:focus-visible{outline:2px solid rgba(6,182,212,.5);outline-offset:-2px}.date-input-picker-btn:disabled{opacity:.5;cursor:not-allowed}.allowed-dates-date-input{position:relative}.allowed-dates-date-input .date-input-field{cursor:pointer}.allowed-dates-calendar{position:absolute;z-index:40;top:calc(100% + .35rem);right:0;width:17.5rem;padding:.75rem;border-radius:12px;border:1px solid #dbe3ee;background:#fff;box-shadow:0 12px 28px #0f172a1f}.allowed-dates-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.allowed-dates-calendar-title{font-size:.9rem;font-weight:600;color:#0f172a}.allowed-dates-calendar-nav{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc;color:#334155;cursor:pointer}.allowed-dates-calendar-nav:hover{background:#eef2f7}.allowed-dates-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem;margin-bottom:.25rem;text-align:center;font-size:.7rem;color:#64748b}.allowed-dates-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem}.allowed-dates-calendar-day{aspect-ratio:1;min-height:2rem;border:none;border-radius:8px;background:transparent;color:#94a3b8;font-size:.82rem;cursor:default}.allowed-dates-calendar-day.is-empty{visibility:hidden;pointer-events:none}.allowed-dates-calendar-day.is-allowed{color:#0f172a;cursor:pointer;background:#f1f5f9}.allowed-dates-calendar-day.is-allowed.has-snapshot{background:#e0f2fe;color:#075985;font-weight:600}.allowed-dates-calendar-day.is-allowed:hover{background:#dbeafe}.allowed-dates-calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #38bdf8}.allowed-dates-calendar-day.is-selected{background:#0284c7!important;color:#fff!important;font-weight:700}.allowed-dates-calendar-day.is-disabled{opacity:.35;cursor:not-allowed}.allowed-dates-calendar-hint{margin:.55rem 0 0;font-size:.7rem;line-height:1.35;color:#64748b}.crew-textarea{padding:.75rem 1rem!important;resize:vertical;min-height:80px;font-family:var(--font-sans)}.crew-modal-actions{flex-shrink:0;display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;margin-top:.25rem;border-top:1px solid rgba(255,255,255,.06)}@media (max-width: 640px){.crew-form-grid{grid-template-columns:1fr}}.qual-table-scroll-wrap{flex:1 1 auto;min-height:14rem;min-width:0;width:100%;max-width:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.qual-table-scroll-wrap .qual-master-table{table-layout:auto;width:max-content;min-width:100%}.qual-table-scroll-wrap .qual-master-table th,.qual-table-scroll-wrap .qual-master-table td{white-space:nowrap;overflow:visible;text-overflow:clip}.qual-group-header-row th{text-align:center;font-weight:600;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.08);text-transform:none}.qual-subheader-row th{font-weight:500;color:var(--text-secondary);white-space:nowrap;text-transform:none;letter-spacing:normal}.qual-group-nav{background:#06b6d414;color:#67e8f9}.qual-group-engine{background:#6366f11a;color:#a5b4fc}.qual-group-sailor{background:#10b98114;color:#6ee7b7}.qual-group-health{background:#f472b614;color:#f9a8d4}.qual-group-danger{background:#f59e0b1a;color:#fcd34d}.qual-group-stcw{background:#38bdf81a;color:#7dd3fc}.qual-sticky-name{position:sticky;left:0;z-index:2;min-width:7rem;color:#f1f5f9;background:#0f172af2;box-shadow:2px 0 6px #00000040}.qual-master-table thead .qual-sticky-name{z-index:12}.qual-expiry-expired{color:#fca5a5!important;background:#ef44441f;font-weight:600}.qual-expiry-warning{color:#fde047!important;background:#eab3081a;font-weight:500}.qual-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:.75rem;color:var(--text-muted);min-width:0;flex-shrink:0}.qual-form-section{margin-bottom:1.5rem}.qual-form-section-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.qual-legend-item{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:4px}.dashboard-home{display:flex;flex-direction:column;gap:1.5rem}.dashboard-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}@media (max-width: 1280px){.dashboard-home-grid{grid-template-columns:1fr 1fr}}@media (max-width: 1024px){.dashboard-home-grid{grid-template-columns:1fr}}.forex-trends-panel{margin-top:0}.forex-trends-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.forex-trends-meta{font-size:.75rem;color:var(--text-muted)}.forex-trends-note{color:var(--text-secondary);font-size:.8125rem;margin:0 0 1rem}.forex-trends-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 1200px){.forex-trends-grid{grid-template-columns:1fr}}.forex-trend-card{border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:.875rem 1rem .5rem;background:var(--bg-glass-hover)}.forex-trend-chart{width:100%;min-height:180px;border-radius:8px;padding:.25rem 0;background:transparent}.forex-trend-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.forex-trend-label{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.15rem}.forex-trend-latest{font-size:1.25rem;font-weight:700;font-family:var(--font-display);color:var(--text-primary)}.forex-trend-change{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;white-space:nowrap}.forex-trend-change--up{color:#34d399}.forex-trend-change--down{color:#f87171}.google-calendar-panel{margin-top:1.25rem}.google-calendar-toolbar{display:flex;align-items:center;gap:.5rem;margin-left:auto}.google-calendar-note{margin:0 0 1rem;font-size:.8125rem;color:var(--text-muted);line-height:1.5}.google-calendar-msg{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.65rem .85rem;border-radius:10px;font-size:.8125rem}.google-calendar-msg--ok{background:#34d3991a;border:1px solid rgba(52,211,153,.25);color:#6ee7b7}.google-calendar-msg--error{background:#f8717114;border:1px solid rgba(248,113,113,.25);color:#fca5a5}.google-calendar-msg-dismiss{margin-left:auto;border:none;background:transparent;color:inherit;cursor:pointer;font-size:.75rem;opacity:.85}.google-calendar-warnings{margin:0 0 .75rem;padding-left:1.25rem;font-size:.75rem;color:#fbbf24}.google-calendar-connect{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 0}.google-calendar-connected{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.8125rem;color:var(--text-muted)}.google-calendar-disconnect{padding:.3rem .65rem;font-size:.75rem}.google-calendar-legend{display:flex;gap:.75rem;margin-bottom:.75rem}.google-calendar-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted)}.google-calendar-legend-item:before{content:"";width:.65rem;height:.65rem;border-radius:999px}.google-calendar-legend-item--personal:before{background:#60a5fa}.google-calendar-legend-item--company:before{background:#34d399}.google-calendar-nav{margin-bottom:.75rem}.google-calendar-day--selected{outline:2px solid rgba(96,165,250,.65);outline-offset:-2px}.google-calendar-event-chip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:.05rem .25rem;border-radius:4px;font-size:.625rem;line-height:1.35}.google-calendar-event-chip--personal{background:#60a5fa38;color:#93c5fd}.google-calendar-event-chip--company{background:#34d39938;color:#6ee7b7}.google-calendar-day-detail{margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--border-subtle);border-radius:12px;background:#ffffff05}.google-calendar-day-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.google-calendar-day-empty{margin:0;font-size:.8125rem;color:var(--text-muted)}.google-calendar-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.google-calendar-day-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.google-calendar-day-item:last-child{border-bottom:none}.google-calendar-day-item-main{display:flex;align-items:center;gap:.5rem;min-width:0}.google-calendar-day-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.google-calendar-source-badge{flex-shrink:0;padding:.15rem .45rem;border-radius:999px;font-size:.625rem;font-weight:600}.google-calendar-source-badge--personal{background:#60a5fa2e;color:#93c5fd}.google-calendar-source-badge--company{background:#34d3992e;color:#6ee7b7}.google-calendar-open-link{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:.75rem;color:#7dd3fc;text-decoration:none}.google-calendar-open-link:hover{text-decoration:underline}.google-calendar-company-config{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.google-calendar-config-toggle{font-size:.8125rem}.google-calendar-company-config-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.google-calendar-config-help{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.5}.google-calendar-config-field{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem}.google-calendar-config-actions{display:flex;gap:.5rem}.announcement-item-actions{display:inline-flex;align-items:center;gap:.5rem;justify-self:end}.announcement-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid rgba(248,113,113,.35);border-radius:8px;background:#f8717114;color:#f87171;cursor:pointer;transition:background .15s ease,border-color .15s ease}.announcement-delete-btn:hover:not(:disabled){background:#f8717129;border-color:#f871718c}.announcement-delete-btn:disabled{opacity:.5;cursor:not-allowed}.ship-cert-table{table-layout:auto;min-width:1200px}.ship-cert-ship-group{background:#38bdf814;color:#7dd3fc;text-align:center}.dashboard-panel-note{margin-top:1rem;font-size:.75rem;color:var(--text-muted)}.dashboard-month-calendar{width:100%}.dashboard-month-calendar-header{flex-wrap:wrap;gap:.75rem}.dashboard-month-calendar-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.dashboard-month-calendar-nav-btn{padding:.35rem .5rem;min-width:2.25rem}.dashboard-month-calendar-selects{display:flex;gap:.35rem}.dashboard-month-calendar-select{width:auto;min-width:5.5rem;padding:.35rem .5rem;font-size:.8125rem}.dashboard-month-calendar-today-btn{padding:.35rem .75rem;font-size:.75rem}.dashboard-month-calendar-caption{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem}.dashboard-month-calendar-caption-note{font-size:.75rem;color:var(--text-muted)}.dashboard-month-calendar-holiday-list{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin:0 0 .75rem;padding:0;font-size:.75rem}.dashboard-month-calendar-holiday-list li{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:6px;background:#f871711f;border:1px solid rgba(248,113,113,.25)}.dashboard-month-calendar-holiday-date{font-weight:600;color:#fca5a5;font-variant-numeric:tabular-nums}.dashboard-month-calendar-holiday-name{color:var(--text-secondary)}.dashboard-month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;width:100%}.dashboard-month-calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted);padding:.35rem 0}.dashboard-month-calendar-weekday--sun{color:#f87171}.dashboard-month-calendar-weekday--sat{color:#60a5fa}.dashboard-month-calendar-day{min-height:3rem;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.1rem;padding:.3rem .15rem .2rem;border-radius:8px;font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--text-primary);background:#ffffff05;border:1px solid rgba(255,255,255,.04);overflow:hidden}.dashboard-month-calendar-day--clickable{cursor:pointer;font:inherit;text-align:center;transition:background .15s ease,border-color .15s ease}.dashboard-month-calendar-day--clickable:hover{background:#38bdf81a;border-color:#38bdf859}.dashboard-month-calendar-day--has-events:not(.dashboard-month-calendar-day--today){border-color:#38bdf847}.dashboard-month-calendar-day-events{display:flex;flex-direction:column;gap:1px;width:100%;margin-top:auto;min-height:0}.dashboard-month-calendar-event-chip{display:block;font-size:.5625rem;line-height:1.2;padding:1px 3px;border-radius:3px;background:#38bdf838;color:#bae6fd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-month-calendar-event-more{font-size:.5625rem;color:var(--text-muted)}.dashboard-month-calendar-day-label--holiday{display:none}.dashboard-month-calendar-msg{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;margin:0 0 .5rem}.dashboard-month-calendar-msg--error{color:#f87171}.dashboard-month-calendar-msg--ok{color:#34d399}.dashboard-month-calendar-grid--loading{opacity:.65;pointer-events:none}.dashboard-calendar-modal{max-width:28rem;width:calc(100% - 2rem)}.dashboard-calendar-day-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:16rem;overflow-y:auto}.dashboard-calendar-day-empty{color:var(--text-muted);font-size:.875rem;margin:0}.dashboard-calendar-day-item{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;text-align:left;padding:.65rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:inherit;cursor:pointer;font:inherit}.dashboard-calendar-day-item:hover{border-color:#38bdf866;background:#38bdf814}.dashboard-calendar-day-item-title{font-weight:600;font-size:.875rem}.dashboard-calendar-day-item-meta{font-size:.75rem;color:var(--text-muted)}.dashboard-calendar-detail{display:grid;gap:.65rem;margin:0 0 1rem;font-size:.875rem}.dashboard-calendar-detail dt{font-size:.75rem;color:var(--text-muted);margin:0}.dashboard-calendar-detail dd{margin:.15rem 0 0;word-break:break-word}.dashboard-calendar-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.dashboard-calendar-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.8125rem;color:var(--text-secondary)}.dashboard-calendar-form-textarea{resize:vertical;min-height:5rem}.dashboard-calendar-form-hint{margin:0;font-size:.75rem;color:var(--text-muted)}.dashboard-month-calendar-modal-success{margin:0 0 .75rem;font-size:.8125rem;color:#34d399}.dashboard-month-calendar-modal-error{margin:0 0 .75rem;font-size:.8125rem;color:#f87171}[data-appearance=light] .dashboard-month-calendar-event-chip{background:#0ea5e926;color:#0369a1}[data-appearance=light] .dashboard-calendar-day-item{background:#0f172a08;border-color:#0f172a14}.dashboard-month-calendar-day--empty{background:transparent;border-color:transparent}.dashboard-month-calendar-day--sun:not(.dashboard-month-calendar-day--today){color:#fca5a5}.dashboard-month-calendar-day--sat:not(.dashboard-month-calendar-day--today){color:#93c5fd}.dashboard-month-calendar-day--holiday:not(.dashboard-month-calendar-day--today){background:#f8717129;border-color:#f8717159;color:#fecaca}.dashboard-month-calendar-day--holiday.dashboard-month-calendar-day--sun:not(.dashboard-month-calendar-day--today){color:#fecaca}.dashboard-month-calendar-day--today{background:#38bdf833;border-color:var(--accent-solid);color:var(--accent-solid);font-weight:700}.dashboard-month-calendar-day--today.dashboard-month-calendar-day--holiday{color:var(--accent-solid)}.dashboard-month-calendar-day-num{line-height:1;flex-shrink:0}.dashboard-month-calendar-day-label{display:none;width:100%;font-size:.625rem;line-height:1.2;text-align:center;color:inherit;opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-month-calendar-day-dot{display:none;width:5px;height:5px;border-radius:50%;margin-top:auto}.dashboard-month-calendar-day-dot--holiday{background:#f87171}.dashboard-month-calendar-event-badge{display:none}[data-appearance=light] .dashboard-month-calendar-day{background:#0f172a08;border-color:#0f172a0f}[data-appearance=light] .dashboard-month-calendar-day--today{background:#0ea5e91f;border-color:#0ea5e9;color:#0369a1}[data-appearance=light] .dashboard-month-calendar-day--holiday:not(.dashboard-month-calendar-day--today){background:#ef44441a;border-color:#ef444447;color:#b91c1c}@media (min-width: 641px){.dashboard-month-calendar-day--holiday .dashboard-month-calendar-day-label--holiday{display:block}.dashboard-month-calendar-day--holiday:not(.dashboard-month-calendar-day--has-events) .dashboard-month-calendar-day-dot{display:block}.dashboard-month-calendar-event-chip{display:block}}@media (min-width: 1025px){.dashboard-month-calendar-day{min-height:4.25rem;padding:.4rem .25rem .3rem}.dashboard-month-calendar-day-label{font-size:.6875rem}}@media (max-width: 640px){.dashboard-month-calendar-nav{margin-left:0;width:100%}.dashboard-month-calendar-day{min-height:2.5rem;font-size:.8125rem;position:relative;padding-bottom:.35rem}.dashboard-month-calendar-day--holiday:not(.dashboard-month-calendar-day--has-events) .dashboard-month-calendar-day-dot--holiday{display:block}.dashboard-month-calendar-event-chip,.dashboard-month-calendar-event-more,.dashboard-month-calendar-day-events{display:none!important}.dashboard-month-calendar-day--has-events:not(.dashboard-month-calendar-day--today){background:#38bdf824;border-color:#38bdf873}.dashboard-month-calendar-event-badge{display:flex;align-items:center;justify-content:center;position:absolute;right:2px;bottom:2px;min-width:.95rem;height:.95rem;padding:0 2px;border-radius:999px;font-size:.5625rem;font-weight:700;line-height:1;background:#0ea5e9;color:#fff;box-shadow:0 0 0 1px #0f172a59}.dashboard-month-calendar-day--today.dashboard-month-calendar-day--has-events .dashboard-month-calendar-event-badge{background:var(--accent-solid);color:#0f172a}.dashboard-month-calendar-holiday-list{gap:.25rem .5rem}[data-appearance=light] .dashboard-month-calendar-day--has-events:not(.dashboard-month-calendar-day--today){background:#0ea5e91f;border-color:#0ea5e966}}.announcement-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.announcement-item{display:grid;grid-template-columns:6.5rem 1fr 10rem auto;gap:.75rem 1rem;align-items:center;padding:.75rem 1rem;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);font-size:.875rem}@media (max-width: 640px){.announcement-item{grid-template-columns:1fr;gap:.35rem}}.announcement-date{font-size:.8125rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.announcement-title{font-weight:500}.announcement-user{font-size:.75rem;color:var(--text-secondary);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.announcement-user{text-align:left}}.announcement-admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.announcement-admin-form{display:grid;grid-template-columns:9rem 1fr 6.25rem 7.25rem;gap:.5rem;margin-bottom:.75rem;align-items:center}.announcement-admin-select,.announcement-admin-input{padding-left:1rem!important}.announcement-admin-btn{padding:.55rem .75rem;font-size:.78rem;justify-content:center}.announcement-admin-cancel{padding:.55rem .75rem;font-size:.78rem;justify-content:center;color:var(--text-secondary)}@media (max-width: 640px){.announcement-admin-form{grid-template-columns:1fr}.announcement-admin-btn{width:100%}}.vessel-allocation-list{display:flex;flex-direction:column;gap:.75rem}.vessel-allocation-card{padding:1rem;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.05)}.vessel-allocation-header{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.75rem}.vessel-allocation-name{font-weight:600;font-size:.9375rem}.vessel-allocation-route{font-size:.75rem;color:var(--text-secondary);margin-top:.15rem}.vessel-allocation-crew{display:flex;flex-wrap:wrap;gap:.5rem}.crew-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:20px;font-size:.8125rem;background:#6366f11f;border:1px solid rgba(99,102,241,.2);color:#c7d2fe}.expiry-alert-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.expiry-alert-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.expiry-alert-item.qual-expiry-expired{border-color:#ef444440}.expiry-alert-item.qual-expiry-warning{border-color:#eab30833}.expiry-alert-main{display:flex;flex-direction:column;gap:.2rem}.expiry-alert-name{font-weight:600;font-size:.9375rem}.expiry-alert-qual{font-size:.8125rem;color:var(--text-secondary)}.expiry-alert-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.expiry-alert-date{font-size:.8125rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.expiry-alert-status{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:6px}.expiry-alert-status.expired{background:#ef444433;color:#fca5a5}.expiry-alert-status.warning{background:#eab30826;color:#fde047}.dashboard-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;color:var(--text-muted);font-size:.875rem}.dashboard-link-btn{margin-top:1rem;width:100%;justify-content:center}.crew-assignment-panel{overflow:hidden}.crew-assignment-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.crew-assignment-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:.02em;min-width:0;flex:0 1 auto}.crew-assignment-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.crew-assignment-date-label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary)}.crew-assignment-subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:1.25rem}.crew-assignment-subtitle strong{color:var(--text-primary)}.crew-assignment-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:var(--text-muted)}.crew-assignment-body--loading{opacity:.55;pointer-events:none}.crew-assignment-empty{text-align:center;color:var(--text-muted);padding:2rem}.crew-assignment-company{margin-bottom:2rem}.crew-assignment-company-name{font-size:1.1rem;font-weight:700;color:#e0e7ff;margin-bottom:1rem;padding-bottom:.35rem;border-bottom:1px dashed rgba(255,255,255,.15)}.crew-assignment-ships{display:flex;flex-direction:column;gap:1.25rem}.crew-assignment-ship-block{background:#0003;border:1px solid var(--border-glass);border-radius:12px;overflow:hidden}.crew-assignment-ship-name{font-weight:700;font-size:.95rem;padding:.55rem 1rem;background:#6366f11f;border-bottom:1px solid var(--border-glass)}.crew-assignment-ship-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}@media (max-width: 900px){.crew-assignment-ship-grid{grid-template-columns:1fr}}.crew-assignment-side{padding:.75rem 1rem 1rem;border-right:1px dashed rgba(255,255,255,.08)}.crew-assignment-ship-grid .crew-assignment-side:last-child{border-right:none}@media (max-width: 900px){.crew-assignment-side{border-right:none;border-bottom:1px dashed rgba(255,255,255,.08)}.crew-assignment-ship-grid .crew-assignment-side:last-child{border-bottom:none}}.crew-assignment-side-title{font-size:.8rem;font-weight:700;text-align:center;padding:.35rem .5rem;border-radius:6px;margin-bottom:.65rem}.crew-assignment-side-title--on{background:#3b82f626;color:#93c5fd}.crew-assignment-side-title--off{background:#f43f5e1f;color:#fda4af}.crew-assignment-job-row{display:grid;grid-template-columns:3rem 1fr;gap:.5rem;align-items:start;margin-bottom:.5rem;min-height:2.5rem}.crew-assignment-job-label{font-size:.7rem;color:var(--text-muted);padding-top:.15rem;text-align:right}.crew-assignment-slots{display:flex;flex-wrap:wrap;gap:.35rem .75rem}.crew-assignment-slot{min-width:7.5rem;font-size:.72rem;line-height:1.35}.crew-assignment-slot-name{font-weight:600;color:var(--text-primary);white-space:nowrap}.crew-assignment-slot-dates{display:flex;flex-direction:column;gap:.1rem}.crew-assignment-date--on{color:#60a5fa}.crew-assignment-date--on-muted{color:var(--text-muted);font-size:.65rem}.crew-assignment-date--off{color:#fb7185}.crew-assignment-date--off-muted{color:var(--text-muted);font-size:.65rem}.crew-assignment-slot-empty{color:var(--text-muted);opacity:.4}.crew-list-form-row{display:grid;grid-template-columns:1fr 220px;gap:1rem}@media (max-width: 720px){.crew-list-form-row{grid-template-columns:1fr}}.crew-list-crew-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}.crew-list-crew-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.crew-list-crew-title{display:flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;margin:0}.crew-list-add-row{display:flex;gap:.5rem;margin-bottom:.75rem}.crew-list-add-row .input-field{flex:1}.crew-list-selected{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.crew-list-selected-item{display:flex;align-items:center;gap:.6rem;padding:.45rem .65rem;border-radius:8px;background:#ffffff08;border:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}.crew-list-excel-cell{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--accent-solid, #818cf8);min-width:2.5rem}.crew-list-selected-name{flex:1;font-size:.9rem}.crew-list-remove-btn{padding:.25rem .4rem;min-width:auto}.allocation-management{display:flex;flex-direction:column;gap:.75rem}.allocation-view-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.allocation-view-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:10px;border:1px solid var(--border-glass);background:#0003;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-fast)}.allocation-view-tab:hover{border-color:#6366f159;color:var(--text-primary)}.allocation-view-tab.active{background:#6366f133;border-color:#6366f173;color:#e0e7ff;font-weight:700}[data-appearance=light] .allocation-view-tab{background:#fff;color:#334155;border-color:#cbd5e1}[data-appearance=light] .allocation-view-tab:hover{color:#1e293b;border-color:#818cf8}[data-appearance=light] .allocation-view-tab.active{background:#eef2ff;border-color:#6366f1;color:#3730a3}.promulgation-panel{max-width:1240px}.promulgation-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.promulgation-success{padding:.65rem 1rem;margin-bottom:1rem;border-radius:8px;background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#6ee7b7;font-size:.875rem}.promulgation-form{display:flex;flex-direction:column;gap:1.25rem}.promulgation-section{border:1px solid var(--border-glass);border-radius:12px;padding:1rem 1.1rem;background:#00000026}.promulgation-section--meta{background:#6366f10f}.promulgation-section-title{font-size:.9rem;font-weight:700;margin-bottom:.75rem;color:#e0e7ff}.promulgation-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.promulgation-field label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.35rem}.promulgation-promu-id{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:.08em;color:#a5b4fc;padding:.35rem 0}.promulgation-rows{display:flex;flex-direction:column;gap:.6rem}.promulgation-rows-wrap{overflow-x:auto;padding-bottom:.25rem}.promulgation-row{display:grid;grid-template-columns:1.5rem minmax(0,1.25fr) minmax(0,1fr) 13rem minmax(0,1fr) minmax(6.5rem,8.5rem) minmax(0,1fr);gap:.5rem;align-items:start;min-width:min(100%,62rem)}.promulgation-row--header{align-items:end;padding-bottom:.35rem;margin-bottom:.15rem;border-bottom:1px solid var(--border-glass);font-size:.72rem;font-weight:700;color:var(--text-secondary)}.promulgation-row--header>span:not(.promulgation-row-num){padding-bottom:.15rem}.promulgation-days-cell{display:flex;flex-direction:column;gap:.25rem;min-width:6.5rem}.promulgation-inline-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);line-height:1.2}.promulgation-days-input{width:100%;min-width:4.5rem}.promulgation-move-hint{font-size:.68rem;color:#94a3b8;line-height:1.3;white-space:nowrap}.promulgation-rows--change .promulgation-row{grid-template-columns:1.5rem minmax(0,1.25fr) minmax(0,1fr) 13rem minmax(0,1fr)}.promulgation-row .date-input-wrapper{min-width:13rem}.promulgation-row .date-input-field{min-width:9.5rem}@media (max-width: 900px){.promulgation-row,.promulgation-rows--change .promulgation-row{grid-template-columns:1fr 1fr}.promulgation-row-num{display:none}.promulgation-row .date-input-wrapper{grid-column:1 / -1;min-width:0}.promulgation-row--header{display:none}.promulgation-days-cell{grid-column:1 / -1}.promulgation-row>.input-field:last-child{grid-column:1 / -1}}.promulgation-row-num{font-size:.75rem;color:var(--text-muted);text-align:center}[data-appearance=light] .promulgation-move-hint{color:#64748b}.promulgation-footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.promulgation-management{display:flex;flex-direction:column;gap:.75rem}.promulgation-list-panel{max-width:1200px}.promulgation-list-title{margin:0 0 1rem;color:var(--text-primary)}.promulgation-list-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.promulgation-list-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.promulgation-list-filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;color:var(--text-secondary)}.promulgation-list-filters .input-field{min-width:10rem}.promulgation-filter-date .date-input-wrapper{min-width:13rem}.promulgation-list-actions{display:flex;gap:.5rem;flex-wrap:wrap}.promulgation-list-search-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.promulgation-search-bar{flex:1;min-width:min(100%,20rem);max-width:36rem}.promulgation-list-count{margin:0;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.promulgation-list-count-sub{margin-left:.35rem;color:var(--text-muted)}.promulgation-table th .crew-sort-btn{width:100%;justify-content:flex-start;padding:.15rem 0;font-size:inherit;font-weight:inherit;color:inherit;white-space:nowrap;gap:.25rem}.promulgation-table th .crew-sort-btn>span{white-space:nowrap}.promulgation-th-id{width:5.5rem;min-width:5.5rem}.promulgation-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;border-radius:10px;border:1px solid var(--border-glass)}.promulgation-table{width:100%;border-collapse:collapse;font-size:.85rem}.promulgation-table th,.promulgation-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border-glass)}.promulgation-table th{font-size:.72rem;font-weight:700;color:var(--text-secondary);background:#0003}.promulgation-table tbody tr:hover{background:#6366f10f}.promulgation-table-id{font-family:var(--font-display);font-weight:700;color:#a5b4fc;letter-spacing:.06em}.promulgation-table-summary{color:var(--text-secondary);font-size:.8rem}.promulgation-table-actions{white-space:nowrap;text-align:right}.promulgation-table-actions .btn{margin-left:.35rem}.promulgation-btn-delete:hover:not(:disabled){border-color:#ef444473;color:#f87171}.btn-sm{padding:.35rem .65rem;font-size:.78rem}.mymenu-layout{display:flex;flex-direction:column;gap:1.25rem;max-width:640px}.theme-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}.theme-picker-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.75rem;border-radius:12px;border:1px solid var(--border-glass);background:#00000040;cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);color:var(--text-primary)}.theme-picker-card:hover:not(:disabled){border-color:var(--border-glass-glow)}.theme-picker-card.active{border-color:var(--accent-solid);box-shadow:0 0 0 1px var(--accent-solid),var(--shadow-glow)}.theme-picker-card:disabled{opacity:.6;cursor:wait}.theme-picker-preview{display:block;width:100%;height:2rem;border-radius:8px}.theme-picker-label{font-size:.8rem;font-weight:700}.theme-picker-desc{font-size:.68rem;color:var(--text-muted);line-height:1.3}.theme-picker-saving{display:flex;align-items:center;gap:.4rem;margin-top:.75rem;font-size:.75rem;color:var(--text-muted)}.theme-section-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);margin-bottom:.5rem}.appearance-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.appearance-toggle-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--border-glass);background:var(--bg-select);color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.appearance-toggle-btn:hover:not(:disabled){border-color:var(--border-glass-glow)}.appearance-toggle-btn.active{border-color:var(--accent-solid);box-shadow:0 0 0 1px var(--accent-solid)}.appearance-toggle-title{font-size:.85rem;font-weight:700}.appearance-toggle-desc{font-size:.68rem;color:var(--text-muted)}.crew-chip--on{background:#3b82f626;border-color:#3b82f640;color:#93c5fd}.crew-chip--off{background:#f43f5e1f;border-color:#f43f5e40;color:#fda4af}.crew-chip--empty{opacity:.55;font-style:italic}[data-appearance=light]{--bg-primary: #f1f5f9;--bg-secondary: #ffffff;--bg-glass: rgba(255, 255, 255, .92);--bg-glass-hover: rgba(241, 245, 249, .95);--bg-select: #ffffff;--bg-select-hover: #f8fafc;--border-glass: rgba(15, 23, 42, .1);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--shadow-sm: 0 1px 4px rgba(15, 23, 42, .08);--shadow-md: 0 8px 24px rgba(15, 23, 42, .1)}[data-appearance=light] body{background-image:radial-gradient(at 0% 0%,var(--mesh-1) 0px,transparent 55%),radial-gradient(at 100% 100%,var(--mesh-2) 0px,transparent 55%),radial-gradient(at 50% 50%,var(--mesh-3) 0px,transparent 60%)}[data-appearance=light] .input-field{background:#fff;border-color:#0f172a1f}[data-appearance=light] select.input-field,[data-appearance=light] select.input-field option{background-color:#fff;color:#0f172a}[data-appearance=light] select.input-field option:checked,[data-appearance=light] select.input-field option:hover{background-color:#e2e8f0;color:#0f172a}[data-appearance=light] .crew-assignment-ship-block,[data-appearance=light] .promulgation-section,[data-appearance=light] .theme-picker-card,[data-appearance=light] .appearance-toggle-btn{background:#ffffffd9}[data-appearance=light] .crew-assignment-side-title--on{background:#3b82f61f;color:#1d4ed8}[data-appearance=light] .crew-assignment-side-title--off{background:#f43f5e1a;color:#be123c}[data-appearance=light] .crew-assignment-date--on{color:#1d4ed8}[data-appearance=light] .crew-assignment-date--off{color:#be123c}[data-appearance=light] .crew-chip--on{color:#1d4ed8}[data-appearance=light] .crew-chip--off{color:#be123c}[data-appearance=light] .login-wrapper{background:var(--bg-primary)}[data-appearance=light] .qual-sticky-name{color:var(--text-primary);background:#f1f5f9;box-shadow:2px 0 6px #0f172a14}[data-appearance=light] .qual-master-table thead .qual-sticky-name,[data-appearance=light] .ship-cert-table thead .qual-sticky-name{background:#e2e8f0;font-weight:600}[data-appearance=light] .crew-sticky-name-col{color:var(--text-primary);background:#fff;box-shadow:2px 0 6px #0f172a14}[data-appearance=light] .crew-master-table thead .crew-sticky-name-col{background:#f1f5f9;font-weight:600}[data-appearance=light] .crew-table-wrapper>.crew-master-table:not(.ship-cert-table) thead th{background:#f1f5f9}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead th,[data-appearance=light] .crew-table-wrapper>.ship-cert-table thead th{background-color:#f1f5f9}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-group-nav{background-color:#e0f2fe}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-group-engine{background-color:#e0e7ff}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-group-sailor{background-color:#d1fae5}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-group-health{background-color:#fce7f3}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-group-danger{background-color:#fef3c7}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-group-stcw{background-color:#e0f2fe}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-sticky-name,[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead th.crew-action-cell,[data-appearance=light] .crew-table-wrapper>.ship-cert-table thead .qual-sticky-name,[data-appearance=light] .crew-table-wrapper>.ship-cert-table thead th.crew-action-cell{background-color:#e2e8f0}[data-appearance=light] .crew-table-wrapper>.ship-cert-table thead .ship-cert-ship-group{background-color:#e0f2fe}[data-appearance=light] .qual-table-scroll-wrap>.qual-master-table thead .qual-subheader-row th,[data-appearance=light] .crew-table-wrapper>.ship-cert-table thead .qual-subheader-row th{box-shadow:0 2px 6px #0f172a14}[data-appearance=light] .crew-master-table tbody tr:hover .crew-sticky-name-col{background:#f8fafc}[data-appearance=light] .ship-cert-ship-group{background:#0ea5e91f;color:#0369a1}[data-appearance=light] .qual-expiry-expired{color:#b91c1c!important;background:#ef444426}[data-appearance=light] .qual-expiry-warning{color:#a16207!important;background:#eab30833}[data-appearance=light] .qual-legend-item.qual-expiry-warning{color:#a16207}[data-appearance=light] .qual-legend-item.qual-expiry-expired{color:#b91c1c}.allocation-schedule-panel{flex:1;min-height:0;min-width:0;max-width:100%;display:flex;flex-direction:column;overflow-x:clip;overflow-y:visible}.allocation-schedule-toolbar,.allocation-schedule-panel>.allocation-schedule-model-hint,.allocation-schedule-panel>.promulgation-success,.allocation-schedule-panel>.crew-registry-error,.allocation-schedule-warnings,.allocation-schedule-legend{flex-shrink:0}.allocation-schedule-legend{margin-bottom:.35rem}.allocation-schedule-legend--compact{min-height:0;margin-bottom:.25rem;gap:.65rem}.allocation-schedule-legend--compact:empty{display:none}.allocation-schedule-panel>.promulgation-success{margin:.25rem 0;padding:.45rem .65rem;font-size:.82rem}.allocation-schedule-warnings{margin:.35rem 0}.allocation-schedule-grid-section{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.allocation-schedule-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.35rem;min-width:0}.allocation-schedule-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem;flex:1 1 320px;min-width:0}.allocation-schedule-field{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.allocation-schedule-field select{min-width:160px;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border-glass);background:#00000040;color:var(--text-primary);font-size:.85rem}[data-appearance=light] .allocation-schedule-field select{background:#fff;border-color:#cbd5e1}.allocation-schedule-model-hint{margin:.35rem 0 .75rem;padding:.55rem .75rem;font-size:.82rem;line-height:1.45;color:var(--text-muted, rgba(226, 232, 240, .85));border-left:3px solid rgba(251,191,36,.7);background:#fbbf2414;border-radius:0 8px 8px 0}[data-appearance=light] .allocation-schedule-model-hint{color:#1e293bd9;background:#fbbf2426}.allocation-schedule-warnings{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0}.allocation-schedule-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .75rem;border-radius:8px;font-size:.8rem}.allocation-schedule-warning--error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.allocation-schedule-warning--warning{background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);color:#fcd34d}.allocation-schedule-legend-ships{display:inline-flex;flex-wrap:wrap;gap:.65rem 1rem;margin-right:1rem;padding-right:1rem;border-right:1px solid rgba(255,255,255,.12)}.allocation-schedule-legend-item--muted{color:var(--text-muted);font-size:.75rem}.allocation-schedule-ship-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.45rem;vertical-align:middle;box-shadow:0 0 0 1px #0003}.allocation-schedule-td--ship{border-left:4px solid transparent}.allocation-schedule-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;font-size:.75rem;color:var(--text-secondary)}.allocation-schedule-legend-item{display:inline-flex;align-items:center;gap:.35rem}.allocation-schedule-bar-sample{display:inline-block;width:24px;height:10px;border-radius:4px}.allocation-schedule-bar-sample--draft{background:linear-gradient(90deg,#6366f1d9,#818cf8b3)}.allocation-schedule-bar-sample--approved{background:linear-gradient(90deg,#10b981d9,#34d399b3)}.allocation-schedule-bar-sample--open{background:repeating-linear-gradient(90deg,rgba(99,102,241,.7) 0,rgba(99,102,241,.7) 6px,transparent 6px,transparent 10px);border:1px dashed rgba(129,140,248,.6)}.allocation-schedule-bar-sample--current{background:#fbbf2459;border:2px dashed rgba(245,158,11,.85)}.allocation-schedule-slotbar{display:flex;align-items:center;gap:6px;overflow:hidden;cursor:pointer}.allocation-schedule-slotbar-label{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;pointer-events:none;color:inherit}.allocation-schedule-slotbar-badge{flex-shrink:0;font-size:9px;font-weight:700;padding:1px 4px;border-radius:4px;background:#dc2626e6;color:#fff;pointer-events:none}.allocation-schedule-slotbar--current{border-radius:6px;border:2px dashed rgba(245,158,11,.9);background:#fbbf2447;box-shadow:inset 0 0 0 1px #ffffff26;padding:0 6px}.allocation-schedule-slotbar--current .allocation-schedule-slotbar-label{color:#0f172aeb}.allocation-schedule-slotbar--long{box-sizing:border-box}.allocation-schedule-slotbar--long .allocation-schedule-slotbar-label{color:inherit;text-shadow:0 1px 2px rgba(0,0,0,.35)}.allocation-schedule-slotbar:not(.allocation-schedule-slotbar--long):not(.allocation-schedule-slotbar--current) .allocation-schedule-slotbar-label{color:#0f172af2;text-shadow:0 1px 0 rgba(255,255,255,.35)}.allocation-schedule-slotbar--mismatch{outline:2px solid rgba(239,68,68,.95);outline-offset:1px}.allocation-schedule-slotbar--mismatch.allocation-schedule-slotbar--current,.allocation-schedule-slotbar--mismatch.allocation-schedule-slotbar--long{border-color:#ef4444f2}[data-appearance=light] .allocation-schedule-slotbar--current{background:#fbbf2466;border-color:#d97706d9}[data-appearance=light] .allocation-schedule-slotbar:not(.allocation-schedule-slotbar--long):not(.allocation-schedule-slotbar--current) .allocation-schedule-slotbar-label{color:#0f172af2}.allocation-schedule-bar-sample--long{background:linear-gradient(90deg,#ef4444d9,#f87171b3);border:2px dashed rgba(255,255,255,.9)}.allocation-schedule-bar-sample--mismatch{background:#ef444459;border:2px solid rgba(239,68,68,.95)}.allocation-schedule-plan-row--promulgation .allocation-schedule-crew-name{font-size:.88rem;color:#fbbf24f2;padding-left:.65rem;border-left:3px solid rgba(251,191,36,.75)}.allocation-schedule-job-meta--warn{color:#f87171f2;font-size:.72rem;margin-top:.15rem}.allocation-schedule-jobchange-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:12;overflow:visible}.allocation-schedule-jobchange-path{fill:none;stroke:#fbbf24eb;stroke-width:2.25;stroke-dasharray:6 4;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.allocation-schedule-jobchange-label{font-size:10px;font-weight:800;fill:#fbbf24fa;stroke:#0f172ad9;stroke-width:2.5px;paint-order:stroke fill;pointer-events:none}.allocation-schedule-jobchange-anchor{position:absolute;top:23px;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(251,191,36,.95);background:#0f172aeb;box-shadow:0 0 0 2px #fbbf2459;z-index:35;pointer-events:none}.allocation-schedule-jobchange-anchor--from{background:#fbbf24d9}.allocation-schedule-jobchange-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:2px;font-size:9px;font-weight:800;padding:1px 5px;border-radius:4px;background:#fbbf24eb;color:#0f172af2;pointer-events:none;line-height:1.2}.allocation-schedule-jobchange-badge--from{margin-left:auto}.allocation-schedule-bar-sample--jobchange{width:28px;height:0;border-top:2px dashed rgba(251,191,36,.95);transform:rotate(32deg);margin:0 4px}.allocation-schedule-grid-host{position:relative;flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:visible}.allocation-schedule-grid-wrap{position:relative;flex:1;width:100%;max-width:100%;min-width:0;min-height:12rem;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior:contain;scroll-padding-inline:8px 12px;border:1px solid var(--border-glass);border-radius:12px;background:#0000001f}.allocation-schedule-grid-scroll-hint{flex-shrink:0;margin:.35rem 0 .5rem;font-size:.75rem;color:var(--text-muted)}.allocation-schedule-grid-fab{position:absolute;top:50%;transform:translateY(-50%);z-index:15;display:flex;align-items:center;justify-content:center;width:40px;height:64px;padding:0;border:1px solid rgba(99,102,241,.25);border-radius:10px;background:#ffffff85;color:#4338caeb;box-shadow:0 2px 14px #0f172a24;cursor:pointer;opacity:.88;transition:opacity .15s ease,background .15s ease;pointer-events:auto}.allocation-schedule-grid-fab:hover{opacity:1;background:#ffffffd1}.allocation-schedule-grid-fab:active{background:#fffffff2}.allocation-schedule-grid-fab--left{left:calc(var(--schedule-label-col-px, 200px) + 6px)}.allocation-schedule-grid-fab--right{right:calc(var(--schedule-actions-col-px, 72px) + 6px)}.allocation-schedule-grid-host--readonly .allocation-schedule-grid-fab--right{right:6px}[data-appearance=light] .allocation-schedule-grid-fab{background:#ffffffa6;border-color:#6366f133;color:#4f46e5f2}[data-appearance=dark] .allocation-schedule-grid-fab{background:#1e2030b8;border-color:#818cf859;color:#c7d2fef2}.allocation-schedule-table{border-collapse:collapse;table-layout:fixed}.allocation-schedule-th,.allocation-schedule-td{box-sizing:border-box;padding:0;margin:0;border:1px solid rgba(255,255,255,.07);vertical-align:middle}.allocation-schedule-table thead{position:sticky;top:0;z-index:35}.allocation-schedule-table thead .allocation-schedule-th--month{background-color:#1a1f3d}.allocation-schedule-table thead .allocation-schedule-th--week{background-color:#141626}.allocation-schedule-table thead .allocation-schedule-th--day{background-color:#0f111c}.allocation-schedule-table thead .allocation-schedule-th--corner{background-color:#0f111c;z-index:50}.allocation-schedule-table thead .allocation-schedule-th--actions{background-color:#0f111c;z-index:45}.allocation-schedule-td--label{width:200px;min-width:200px;max-width:200px;padding:.5rem .75rem;text-align:left;position:sticky;left:0;z-index:30;background-color:#0f111c;background-clip:padding-box;box-shadow:4px 0 12px #00000047;isolation:isolate}.allocation-schedule-th--corner{width:200px;min-width:200px;max-width:200px;padding:.5rem .75rem;text-align:left;position:sticky;left:0;z-index:50;background-color:#0f111c;background-clip:padding-box;box-shadow:4px 0 12px #00000047;isolation:isolate}.allocation-schedule-th--actions,.allocation-schedule-td--actions{width:72px;min-width:72px;max-width:72px;text-align:center;padding:.25rem;white-space:nowrap;z-index:4;background:#0f111cfa}.allocation-schedule-th--actions{z-index:45}[data-appearance=light] .allocation-schedule-table thead .allocation-schedule-th--month{background-color:#eef2ff}[data-appearance=light] .allocation-schedule-table thead .allocation-schedule-th--week{background-color:#f8fafc}[data-appearance=light] .allocation-schedule-table thead .allocation-schedule-th--day{background-color:#f1f5f9}[data-appearance=light] .allocation-schedule-table thead .allocation-schedule-th--today{background-color:#e0e7ff!important;color:#4338ca;box-shadow:inset 0 -2px #4f46e5bf}[data-appearance=light] .allocation-schedule-table thead .allocation-schedule-th--corner,[data-appearance=light] .allocation-schedule-table thead .allocation-schedule-th--actions{background-color:#f8fafc}[data-appearance=light] .allocation-schedule-th--corner,[data-appearance=light] .allocation-schedule-td--label,[data-appearance=light] .allocation-schedule-th--actions,[data-appearance=light] .allocation-schedule-td--actions{background-color:#f8fafc;box-shadow:4px 0 12px #0f172a1a}[data-appearance=light] .allocation-schedule-th--actions,[data-appearance=light] .allocation-schedule-td--actions{box-shadow:none}.allocation-schedule-th--day,.allocation-schedule-td--day{width:var(--schedule-day-cell-px, 26px);min-width:var(--schedule-day-cell-px, 26px);max-width:var(--schedule-day-cell-px, 26px)}.allocation-schedule-th--month{position:relative;font-size:.8rem;font-weight:800;color:#e0e7ff;background:#6366f124;padding:0;text-align:center;overflow:visible;vertical-align:middle}.allocation-schedule-month-label-track{position:relative;display:block;width:100%;min-height:1.75rem;padding:.35rem .25rem;box-sizing:border-box}.allocation-schedule-month-label{position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;color:inherit;font:inherit}.allocation-schedule-th--week{font-size:.75rem;font-weight:800;color:#c7d2fe;background:#ffffff08;padding:.3rem .2rem;text-align:center}.allocation-schedule-th--day{font-size:.68rem;font-weight:600;color:var(--text-muted);background:#00000026;padding:.25rem 0;text-align:center;height:24px}.allocation-schedule-th--week-start,.allocation-schedule-td--week-start{box-shadow:inset 2px 0 #818cf88c}.allocation-schedule-th--month-start,.allocation-schedule-td--month-start{box-shadow:inset 2px 0 #6366f1bf}.allocation-schedule-th--month-start.allocation-schedule-th--week-start,.allocation-schedule-td--month-start.allocation-schedule-td--week-start{box-shadow:inset 2px 0 #6366f1bf,inset 4px 0 #818cf873}.allocation-schedule-td--today{background:#6366f124!important;color:#a5b4fc}.allocation-schedule-table thead .allocation-schedule-th--today{background-color:#1a2048!important;background-clip:padding-box;color:#a5b4fc;font-weight:800;box-shadow:inset 0 -2px #6366f1d9}.allocation-schedule-td--day{height:46px;background:#ffffff05}.allocation-schedule-td--bar{position:relative;z-index:1;height:46px;padding:0;overflow:hidden;background:#ffffff05}.allocation-schedule-td--bar .allocation-schedule-bar{width:calc(100% - 4px);height:24px;margin:0 2px;border-radius:5px;box-shadow:0 2px 8px #00000040}.allocation-schedule-td--ship{font-size:.95rem;font-weight:800;color:#c7d2fe;background:#6366f11f;padding:.55rem .75rem}.allocation-schedule-td--ship-label{border-left-width:4px;border-left-style:solid;z-index:31}.allocation-schedule-td--kind{font-size:.8rem;font-weight:700;color:#a5b4fc;background:#6366f114;padding:.4rem .75rem}.allocation-schedule-td--kind-label{font-size:.8rem;font-weight:700;color:#a5b4fc;padding:.4rem .75rem;border-left-width:3px;border-left-style:solid;z-index:31}.allocation-schedule-td--kind-band{padding:0;border-left:none}.allocation-schedule-td--empty{padding:.65rem .75rem;color:var(--text-muted);font-size:.8rem}.allocation-schedule-plan-row .allocation-schedule-td--label{z-index:30;background-color:#0f111c}.allocation-schedule-kind-row .allocation-schedule-td--kind-label,.allocation-schedule-ship-row .allocation-schedule-td--ship-label{z-index:31}.allocation-schedule-th--corner{font-size:.75rem;font-weight:700;color:var(--text-secondary);vertical-align:bottom;padding:.5rem .75rem}.allocation-schedule-th--actions{font-size:.7rem;color:var(--text-muted);vertical-align:bottom}[data-appearance=light] .allocation-schedule-th--corner,[data-appearance=light] .allocation-schedule-td--label{background-color:#f8fafc}[data-appearance=light] .allocation-schedule-plan-row .allocation-schedule-td--label{background-color:#fff}[data-appearance=light] .allocation-schedule-kind-row .allocation-schedule-td--kind-label,[data-appearance=light] .allocation-schedule-ship-row .allocation-schedule-td--ship-label{background-color:#f8fafc}[data-appearance=light] .allocation-schedule-th--month{color:#3730a3;background:#eef2ff}[data-appearance=light] .allocation-schedule-th--week{color:#4338ca;background:#f8fafc}[data-appearance=light] .allocation-schedule-th--day{background:#f1f5f9}[data-appearance=light] .allocation-schedule-td--day,[data-appearance=light] .allocation-schedule-td--bar{background:#fafafa}.allocation-schedule-grid-wrap--loading{opacity:.6;pointer-events:none}.allocation-schedule-grid{width:max-content;min-width:100%}.allocation-schedule-header-row,.allocation-schedule-row{display:grid;grid-template-columns:200px var(--schedule-timeline-width, 780px) 72px;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.05)}.allocation-schedule-ship-section{border-bottom:2px solid rgba(99,102,241,.2)}.allocation-schedule-ship-section:last-child{border-bottom:none}.allocation-schedule-ship-title{padding:.65rem .75rem;font-size:.95rem;font-weight:800;color:#c7d2fe;background:#6366f11f;border-bottom:1px solid rgba(99,102,241,.25)}.allocation-schedule-kind-section{border-bottom:1px solid rgba(255,255,255,.08)}.allocation-schedule-kind-title{padding:.45rem .75rem;font-size:.8rem;font-weight:700;color:#a5b4fc;background:#6366f114}.allocation-schedule-empty-row{padding:.65rem .75rem;font-size:.8rem;color:var(--text-muted)}.allocation-schedule-label-col{padding:.5rem .75rem;border-right:1px solid rgba(255,255,255,.05)}.allocation-schedule-label-col--head{font-size:.75rem;font-weight:700;color:var(--text-secondary);display:flex;align-items:center}.allocation-schedule-crew-name{font-weight:600;font-size:.85rem}.allocation-schedule-job-meta{font-size:.7rem;color:var(--text-secondary);margin-top:.15rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.allocation-schedule-status{padding:.1rem .35rem;border-radius:4px;font-size:.65rem;background:#6366f133}.allocation-schedule-status--approved{background:#10b98133}.allocation-schedule-status--promulgated{background:#94a3b840}.allocation-schedule-timeline-col{position:relative;width:var(--schedule-timeline-width, 780px);min-width:var(--schedule-timeline-width, 780px);max-width:var(--schedule-timeline-width, 780px);overflow:hidden}.allocation-schedule-timeline-col--axis{display:flex;flex-direction:column}.allocation-schedule-granularity-hint{margin-left:.35rem;font-size:.72rem;color:var(--text-muted)}.allocation-schedule-header-row--timeline{align-items:stretch}.allocation-schedule-label-col--timeline-head{align-items:flex-end;padding-bottom:.35rem}.allocation-schedule-month-row,.allocation-schedule-week-row,.allocation-schedule-day-row,.allocation-schedule-track{display:grid;box-sizing:border-box}.allocation-schedule-month-row{min-height:1.6rem}.allocation-schedule-week-row{min-height:1.85rem}.allocation-schedule-day-row{min-height:1.5rem}.allocation-schedule-month-band{display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#e0e7ff;background:#6366f124;border-right:2px solid rgba(99,102,241,.35);border-bottom:1px solid rgba(255,255,255,.08);letter-spacing:.02em}.allocation-schedule-week-band{display:flex;align-items:center;justify-content:center;padding:.25rem .15rem;font-size:.75rem;font-weight:800;color:#c7d2fe;background:#ffffff08;border-right:2px solid rgba(129,140,248,.45);border-bottom:1px solid rgba(255,255,255,.06)}.allocation-schedule-day-head{display:flex;align-items:center;justify-content:center;width:var(--schedule-day-cell-px, 26px);box-sizing:border-box;font-size:.68rem;color:var(--text-muted);border-right:1px solid rgba(255,255,255,.05);background:#0000001f}.allocation-schedule-day-head--week-start{border-left:2px solid rgba(129,140,248,.5)}.allocation-schedule-day-head--month-start{border-left:2px solid rgba(99,102,241,.65)}.allocation-schedule-day-head--today{color:#a5b4fc;font-weight:800;background:#6366f133}.allocation-schedule-track{min-height:46px;align-items:center}.allocation-schedule-day-cell{grid-row:1;width:var(--schedule-day-cell-px, 26px);box-sizing:border-box;min-height:46px;border-right:1px solid rgba(255,255,255,.04);background:#ffffff04}.allocation-schedule-day-cell--week-start{border-left:2px solid rgba(129,140,248,.35);background:#6366f10a}.allocation-schedule-day-cell--month-start{border-left:2px solid rgba(99,102,241,.5)}.allocation-schedule-day-cell--today{background:#6366f11a}.allocation-schedule-bar{grid-row:1;height:24px;margin:0 1px;border-radius:5px;min-width:0;z-index:2;cursor:default;box-shadow:0 2px 10px #0000004d;align-self:center}.allocation-schedule-actions-col--head{align-self:stretch}.allocation-schedule-bar--ship{border:1px solid rgba(255,255,255,.15)}.allocation-schedule-bar--ship.allocation-schedule-bar--approved{box-shadow:inset 0 0 0 2px #10b981bf,0 2px 8px #00000040}.allocation-schedule-bar--draft{background:linear-gradient(90deg,#6366f1e6,#818cf8bf)}.allocation-schedule-bar--approved{background:linear-gradient(90deg,#10b981e6,#34d399bf)}.allocation-schedule-bar--promulgated{background:linear-gradient(90deg,#64748bd9,#94a3b8b3)}.allocation-schedule-bar--open{border-right:2px dashed rgba(255,255,255,.5)}.allocation-schedule-actions-col{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem;border-left:1px solid rgba(255,255,255,.05)}.allocation-schedule-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.allocation-schedule-modal{width:100%;max-width:480px;padding:1.25rem;border-radius:16px}.allocation-schedule-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.allocation-schedule-modal-header h4{font-size:1rem;font-weight:700}.allocation-schedule-form{display:flex;flex-direction:column;gap:.85rem}.allocation-schedule-form .promulgation-field{display:flex;flex-direction:column;gap:.4rem;margin:0}.allocation-schedule-form .promulgation-field>span{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);line-height:1.3;margin:0}.allocation-schedule-form .form-select-wrapper,.allocation-schedule-form .date-input-wrapper{width:100%}.allocation-schedule-form select.input-field.form-select-field,.allocation-schedule-form input[type=text].input-field,.allocation-schedule-form .date-input-field{box-sizing:border-box;width:100%;min-height:2.75rem;line-height:1.35;padding:.6rem .875rem;font-size:.9375rem}.allocation-schedule-form select.input-field.form-select-field{padding-right:2.5rem;background-position:right .75rem center}.allocation-schedule-form .date-input-field{padding-right:2.75rem}.allocation-schedule-form-hint{margin:.1rem 0 0;padding:0;font-size:.72rem;color:var(--text-muted);line-height:1.4}.allocation-schedule-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}[data-appearance=light] .allocation-schedule-grid-wrap{background:#f8fafc}[data-appearance=light] .allocation-schedule-warning--error{color:#b91c1c;background:#fef2f2}[data-appearance=light] .allocation-schedule-warning--warning{color:#a16207;background:#fffbeb}[data-appearance=light] .allocation-schedule-month-band{color:#3730a3;background:#eef2ff;border-right-color:#c7d2fe}[data-appearance=light] .allocation-schedule-week-band{background:#f8fafc;border-right-color:#a5b4fc}[data-appearance=light] .allocation-schedule-week-band{color:#4338ca}[data-appearance=light] .allocation-schedule-day-head{background:#f1f5f9;border-right-color:#e2e8f0}[data-appearance=light] .allocation-schedule-day-cell{background:#fafafa;border-right-color:#e2e8f0}[data-appearance=light] .allocation-schedule-day-cell--week-start{background:#f5f3ff}[data-appearance=light] .allocation-schedule-day-head--today,[data-appearance=light] .allocation-schedule-day-cell--today{background:#eef2ff;color:#4338ca}.app-layout--compact{display:flex;flex-direction:column}.app-main-column{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-layout--compact .app-main{flex:1;height:auto;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-layout--compact .app-container.app-main{padding:.75rem .85rem 1.25rem;gap:.75rem;max-width:none}.app-layout--compact .app-content{flex:none;min-height:auto;overflow:visible}.app-layout--compact .crew-registry,.app-layout--compact .finance-account-balance,.app-layout--compact .allocation-management,.app-layout--compact .promulgation-management,.app-layout--compact .admin-menu-grid,.app-layout--compact .dashboard-home{flex:none;min-height:auto}.app-layout--compact .crew-registry-panel,.app-layout--compact .glass-panel.panel-body{flex:none;min-height:auto;height:auto}.app-layout--compact .crew-registry-panel .compact-card-list,.app-layout--compact .crew-registry-panel .crew-assignment-body{flex:none}.mobile-top-bar{flex-shrink:0;display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;margin:0;border-radius:0;border-left:none;border-right:none;border-top:none;z-index:40}.mobile-menu-btn,.mobile-logout-btn{flex-shrink:0;padding:.45rem .55rem;min-width:2.5rem;min-height:2.5rem}.mobile-top-bar-title{flex:1;margin:0;font-size:.95rem;font-family:var(--font-display);font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;border:none;background:#0000008c;cursor:pointer}.mobile-nav-drawer{position:fixed;top:0;left:0;bottom:0;z-index:100;width:min(88vw,300px);max-width:300px;display:flex;flex-direction:column;padding:0;border-radius:0;border-top:none;border-bottom:none;border-left:none;transform:translate(-105%);transition:transform var(--transition-normal);box-shadow:8px 0 32px #00000073}.mobile-nav-drawer--open{transform:translate(0)}.mobile-nav-drawer-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border-glass)}.mobile-nav-drawer-title{margin:0;font-size:1.05rem;font-weight:700;font-family:var(--font-display)}.mobile-nav-close{padding:.4rem;min-width:2.25rem;min-height:2.25rem}.mobile-nav-drawer-body{flex:1;min-height:0;padding:.75rem 1rem 1rem;display:flex;flex-direction:column}.mobile-nav-drawer-body .sidebar-menu{flex:1;min-height:0;overflow-y:auto}.app-header--compact{display:none}@media (max-width: 640px){.app-layout--compact .app-container.app-main{padding:.55rem .65rem 1rem}.mobile-top-bar-title{font-size:.875rem}.panel-body{padding:1rem}.panel-title-area{flex-direction:column;align-items:flex-start;gap:.65rem}.crew-toolbar{flex-wrap:wrap;width:100%}.allocation-view-tabs{flex-wrap:wrap}.allocation-view-tab{flex:1 1 auto;min-width:0;font-size:.78rem;padding:.5rem .65rem}.promulgation-list-toolbar,.promulgation-list-filters{flex-direction:column;align-items:stretch;width:100%}.promulgation-list-filters .input-field,.promulgation-filter-date .date-input-wrapper{min-width:0;width:100%}.crew-assignment-toolbar,.allocation-schedule-toolbar,.allocation-schedule-toolbar .allocation-schedule-controls{flex-direction:column;align-items:stretch}}.compact-card-list{display:flex;flex-direction:column;gap:.65rem}.compact-card{padding:.85rem 1rem;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.06)}.compact-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.compact-card-title{margin:0;font-size:.9375rem;font-weight:600;font-family:var(--font-display);color:var(--text-primary)}.compact-card-subtitle{margin:.2rem 0 0;font-size:.75rem;color:var(--text-secondary)}.compact-card-badge{flex-shrink:0;font-size:.68rem;font-weight:600;padding:.2rem .45rem;border-radius:6px;background:#6366f126;color:var(--accent-muted)}.compact-card-body{display:flex;flex-direction:column;gap:.35rem}.compact-card-row{display:grid;grid-template-columns:5.5rem 1fr;gap:.35rem .65rem;font-size:.8125rem;align-items:baseline}.compact-card-row-label{color:var(--text-muted);font-size:.72rem}.compact-card-row-value{color:var(--text-secondary);word-break:break-word}.compact-card-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.05)}.compact-card-actions .btn{padding:.4rem .65rem;font-size:.72rem}.compact-desktop-only{text-align:center;padding:2rem 1.25rem}.compact-desktop-only-title{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.15rem}.compact-desktop-only-text{margin:0 auto .5rem;max-width:28rem;color:var(--text-secondary);font-size:.9rem;line-height:1.55}.compact-desktop-only-sub{margin:0;font-size:.78rem;color:var(--text-muted)}.compact-schedule-list{display:flex;flex-direction:column;gap:.5rem}.compact-schedule-hint{font-size:.78rem;color:var(--text-muted);margin:0 0 .75rem;line-height:1.45}.crew-assignment-compact-ship{margin-bottom:1rem}.crew-assignment-compact-ship-title{font-size:.9rem;font-weight:600;margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-glass)}.login-wrapper{padding:1rem}@media (max-width: 640px){.login-card{padding:1.5rem 1.25rem;width:100%;max-width:100%}}.app-layout--tablet-landscape .crew-registry,.app-layout--tablet-landscape .crew-registry-panel,.app-layout--tablet-landscape .allocation-schedule-panel{flex:none;min-height:auto;overflow:visible}.app-layout--tablet-landscape .allocation-schedule-grid-section{flex:none;min-height:auto}.app-layout--tablet-landscape .crew-table-wrapper,.app-layout--tablet-landscape .qual-table-scroll-wrap,.app-layout--tablet-landscape .table-scroll-wrap,.app-layout--tablet-landscape .promulgation-table-wrap,.app-layout--tablet-landscape .allocation-schedule-grid-host,.app-layout--tablet-landscape .allocation-schedule-grid-wrap{flex:none;max-width:100%;min-width:0;min-height:12rem;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.app-layout--compact .allocation-schedule-panel,.app-layout--compact .allocation-schedule-grid-section{flex:none;min-height:auto}.app-layout--compact .allocation-schedule-grid-host,.app-layout--compact .allocation-schedule-grid-wrap{flex:none;max-width:100%;min-width:0;min-height:12rem;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.table-scroll-hint{margin:0 0 .5rem;font-size:.75rem;color:var(--text-muted)}.finance-company-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.finance-company-dashboard-title{margin:0;font-size:1.2rem;font-family:var(--font-display)}.finance-company-dashboard-subtitle{margin:.35rem 0 0;font-size:.85rem;color:var(--text-secondary)}.finance-company-dashboard-weather{padding:1.25rem}.finance-company-dashboard-weather-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--text-secondary)}.finance-company-dashboard-weather-heading h4{margin:0;font-size:.95rem;font-weight:600}.finance-company-dashboard-weather-grid{display:grid;gap:.75rem}.finance-company-dashboard-weather-main{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.finance-company-dashboard-weather-condition{font-size:1.5rem;font-weight:700;font-family:var(--font-display)}.finance-company-dashboard-weather-temp{display:inline-flex;align-items:center;gap:.35rem;font-size:1.25rem;color:var(--text-secondary)}.finance-company-dashboard-weather-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:var(--text-secondary)}.finance-company-dashboard-weather-meta span{display:inline-flex;align-items:center;gap:.35rem}.finance-company-dashboard-muted{margin:0;font-size:.75rem;color:var(--text-muted)}.finance-company-dashboard-error{margin:0;font-size:.85rem;color:#f87171}.crew-timeline-grid-host.allocation-schedule-grid-host--readonly .allocation-schedule-grid-fab--right{right:calc(var(--schedule-summary-col-px, 72px) * 2 + 6px)}.crew-allocation-history-mobile-totals{margin:1rem 0 0;font-size:.85rem;font-weight:700;color:var(--text-secondary);text-align:right}.crew-timeline-slotbar{isolation:isolate}.crew-timeline-slotbar-label{display:inline-block;max-width:100%;padding:1px 5px;border-radius:4px;background:#ffffffe0;color:#0f172a!important;text-shadow:none;box-shadow:0 1px 3px #00000047}[data-appearance=light] .crew-timeline-slotbar-label{background:#fffffff0;color:#0f172a!important}.allocation-schedule-th--summary,.allocation-schedule-td--summary{width:var(--schedule-summary-col-px, 72px);min-width:var(--schedule-summary-col-px, 72px);max-width:var(--schedule-summary-col-px, 72px);text-align:center;font-size:.75rem;font-weight:700;padding:.35rem .25rem;white-space:nowrap;position:sticky;right:0;z-index:5;background:#0f111cfa}.allocation-schedule-th--summary:nth-last-child(2),.allocation-schedule-td--summary:nth-last-child(2){right:var(--schedule-summary-col-px, 72px)}.allocation-schedule-table thead .allocation-schedule-th--summary{z-index:45;background-color:#0f111c}.allocation-schedule-td--totals{font-weight:800;background:#1e293b8c!important}.crew-timeline-totals-row .allocation-schedule-td--label{font-weight:800}[data-appearance=light] .allocation-schedule-table thead .allocation-schedule-th--summary,[data-appearance=light] .allocation-schedule-th--summary,[data-appearance=light] .allocation-schedule-td--summary{background-color:#f8fafc}[data-appearance=light] .allocation-schedule-td--totals{background:#eef2ff!important}
