:root{--font-sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--bg-app:#f8fafc;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-input:#fff;--border-subtle:#e2e8f0;--border-focus:#2563eb;--text-main:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-sidebar:#cbd5e1;--text-sidebar-active:#fff;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-subtle:#eff6ff;--status-green-bg:#ecfdf5;--status-green-text:#059669;--status-blue-bg:#eff6ff;--status-blue-text:#2563eb;--status-amber-bg:#fffbeb;--status-amber-text:#d97706;--status-red-bg:#fef2f2;--status-red-text:#dc2626;--shadow-card:0 1px 3px 0 #0000000d, 0 1px 2px -1px #0000000d;--shadow-dropdown:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:13px;line-height:1.5}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;border-radius:6px;transition:all .15s}input:not([type=checkbox]):not([type=radio]),select,textarea{color:var(--text-main);background-color:var(--bg-input);border:1px solid var(--border-subtle);box-sizing:border-box;border-radius:6px;width:100%;min-width:0;max-width:100%;padding:.45rem .65rem;font-family:inherit;font-size:12.5px;transition:border-color .15s,box-shadow .15s}input[type=checkbox],input[type=radio]{width:16px;min-width:16px;max-width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:0;padding:0}input[type=date]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:.45rem;font-size:11.5px}input[type=number]{box-sizing:border-box;width:100%;min-width:0;max-width:100%}input:focus,select:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #2563eb1f}.erp-shell{background-color:var(--bg-app);height:100vh;display:flex;overflow:hidden}.erp-sidebar{background-color:var(--bg-sidebar);border-right:1px solid #1e293b;flex-direction:column;flex-shrink:0;width:250px;display:flex}.erp-brand{border-bottom:1px solid #ffffff0f;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.brand-icon{background-color:var(--color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.15rem;display:flex}.brand-info{flex-direction:column;display:flex}.brand-name{color:#fff;letter-spacing:-.01em;font-size:15px;font-weight:700}.brand-tag{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.tenant-picker{background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;flex-direction:column;gap:.15rem;margin:1rem 1.25rem .5rem;padding:.6rem .85rem;display:flex}.tenant-label{text-transform:uppercase;color:#94a3b8;font-size:10px;font-weight:500}.tenant-name{color:#38bdf8;font-size:12px;font-weight:600}.erp-nav{flex-direction:column;flex:1;gap:.35rem;padding:.75rem 1rem;display:flex}.nav-item{color:var(--text-sidebar);cursor:pointer;border-radius:6px;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:#fff;background-color:#ffffff0d}.nav-item.active{background-color:var(--color-primary);color:#fff;font-weight:600}.nav-group{flex-direction:column;display:flex}.nav-parent{justify-content:space-between;align-items:center;display:flex}.nav-parent-title{align-items:center;gap:.75rem;display:flex}.nav-chevron{color:#94a3b8;font-size:11px;transition:transform .2s}.nav-submenu{border-left:1px solid #ffffff14;flex-direction:column;gap:.15rem;margin-top:.25rem;margin-bottom:.5rem;margin-left:.85rem;padding-left:.6rem;display:flex}.nav-subitem{color:#94a3b8;cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:12px;font-weight:500;transition:all .15s;display:flex}.nav-subitem:hover{color:#fff;background-color:#ffffff0d}.nav-subitem.active{color:#60a5fa;background-color:#1e3a8a80;border-left:2px solid #3b82f6;font-weight:600}.nav-subitem-badge{color:#cbd5e1;background-color:#ffffff14;border-radius:10px;padding:1px 6px;font-size:10px}.nav-subitem.active .nav-subitem-badge{color:#93c5fd;background-color:#1e3a8a}.sidebar-footer{color:#64748b;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:11px;display:flex}.status-indicator{align-items:center;gap:.4rem;display:flex}.dot-online{background-color:#10b981;border-radius:50%;width:7px;height:7px}.erp-main{background-color:var(--bg-app);flex-direction:column;flex:1;display:flex;overflow:hidden}.top-header{border-bottom:1px solid var(--border-subtle);background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 2rem;display:flex}.page-title-group{align-items:center;gap:.75rem;display:flex}.page-title{color:var(--text-main);letter-spacing:-.02em;font-size:18px;font-weight:700}.stage-pill{background:var(--color-primary-subtle);color:var(--color-primary);text-transform:uppercase;border:1px solid #bfdbfe;border-radius:9999px;padding:.2rem .6rem;font-size:11px;font-weight:600}.header-actions{align-items:center;gap:.75rem;display:flex}.btn-secondary{border:1px solid var(--border-subtle);color:var(--text-main);background:#fff;padding:.5rem .9rem;font-weight:500;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-primary{background:var(--color-primary);color:#fff;padding:.5rem 1.1rem;font-weight:600;box-shadow:0 1px 2px #2563eb33}.btn-primary:hover{background:var(--color-primary-hover)}.workbench-content{flex:1;grid-template-columns:395px 1fr;display:grid;overflow:hidden}.params-column{border-right:1px solid var(--border-subtle);box-sizing:border-box;background-color:#fff;flex-direction:column;gap:1.15rem;padding:1.25rem 1rem;display:flex;overflow:hidden auto}.form-card{border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);box-sizing:border-box;background-color:#fff;border-radius:8px;flex-direction:column;gap:.75rem;width:100%;max-width:100%;padding:.85rem 1rem;display:flex}.form-card-header{text-transform:uppercase;color:var(--color-primary);letter-spacing:.04em;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:.4rem;font-size:11px;font-weight:700;display:flex}.form-group{box-sizing:border-box;flex-direction:column;gap:.3rem;width:100%;min-width:0;display:flex}.form-label{color:var(--text-secondary);font-size:11px;font-weight:600}.form-row{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;width:100%;max-width:100%;display:grid}.distance-badge{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:11px;display:flex}.distance-val{font-family:var(--font-mono);color:var(--color-primary);font-weight:700}.fleet-selector-grid{flex-direction:column;gap:.35rem;max-height:180px;display:flex;overflow-y:auto}.fleet-item{border:1px solid var(--border-subtle);cursor:pointer;background:#f8fafc;border-radius:6px;justify-content:space-between;align-items:center;padding:.45rem .65rem;font-size:11px;transition:all .15s;display:flex}.fleet-item:hover{background:#f1f5f9}.fleet-item.selected{color:var(--color-primary);background:#eff6ff;border-color:#93c5fd;font-weight:600}.fleet-meta{color:var(--text-tertiary);font-size:10px}.results-column{flex-direction:column;gap:1.5rem;padding:1.75rem 2rem;display:flex;overflow-y:auto}.stats-banner{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.kpi-widget{border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:#fff;border-radius:8px;flex-direction:column;gap:.35rem;padding:1.15rem 1.25rem;display:flex;position:relative;overflow:visible}@keyframes kpiFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.kpi-info-trigger:hover{color:#2563eb!important;background-color:#2563eb14!important}.kpi-widget-top{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.kpi-widget-value{color:var(--text-main);letter-spacing:-.02em;font-size:1.75rem;font-weight:700;font-family:var(--font-sans)}.kpi-trend{align-items:center;gap:.25rem;font-size:11px;font-weight:600;display:inline-flex}.kpi-trend.positive{color:var(--status-green-text)}.kpi-trend.neutral{color:var(--text-secondary)}.mini-chart{width:100%;height:28px;margin-top:.4rem}.workbench-middle-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.25rem;display:grid}.workbench-middle-grid>*{min-width:0}@media (width<=1560px){.workbench-middle-grid{grid-template-columns:1fr}}.erp-table-container{border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:#fff;border-radius:8px;overflow:hidden}.erp-table-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.table-heading{color:var(--text-main);font-size:14px;font-weight:700}.erp-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.erp-data-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.05em;background-color:#f8fafc;padding:.75rem 1rem;font-size:10px;font-weight:600}.erp-data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:.85rem 1rem}.erp-data-table tr:hover{background-color:#f8fafc}.erp-data-table tr.optimal-row{background-color:#f0fdf4}.vessel-cell{flex-direction:column;display:flex}.vessel-cell-name{color:var(--text-main);font-weight:700}.vessel-cell-spec{color:var(--text-tertiary);font-size:10px}.badge-pill{border-radius:9999px;align-items:center;padding:.2rem .55rem;font-size:11px;font-weight:600;display:inline-flex}.badge-optimal{background-color:var(--status-green-bg);color:var(--status-green-text)}.badge-in-transit{background-color:var(--status-blue-bg);color:var(--status-blue-text)}.badge-warning{background-color:var(--status-amber-bg);color:var(--status-amber-text)}.badge-exception{background-color:var(--status-red-bg);color:var(--status-red-text)}.currency-bold{font-family:var(--font-mono);color:#059669;font-size:13px;font-weight:700}.table-action-btn{background:var(--color-primary);color:#fff;border-radius:4px;padding:.4rem .75rem;font-size:11px;font-weight:600}.table-action-btn:hover{background:var(--color-primary-hover)}.map-widget-card{border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:#fff;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.map-header{justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.map-svg{width:100%;height:100%}.map-legend{color:var(--text-secondary);flex-direction:column;gap:.4rem;font-size:11px;display:flex}.map-legend-row{justify-content:space-between;align-items:center;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{border:1px solid var(--border-subtle);width:580px;max-width:95vw;box-shadow:var(--shadow-dropdown);background-color:#fff;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{color:var(--text-main);font-size:16px;font-weight:700}.modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.modal-footer{border-top:1px solid var(--border-subtle);background:#f8fafc;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.masters-view-container{flex-direction:column;gap:1.25rem;height:calc(100vh - 65px);padding:1.5rem;display:flex;overflow-y:auto}.masters-top-bar{border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:#fff;border-radius:8px;flex-direction:column;gap:.85rem;padding:1rem 1.25rem;display:flex}.masters-header-row{justify-content:space-between;align-items:flex-start;display:flex}.masters-breadcrumb{color:var(--text-main);align-items:center;gap:.5rem;font-size:16px;font-weight:700;display:flex}.crumb-sep{color:var(--text-tertiary);font-weight:400}.crumb-current{color:var(--color-primary)}.masters-desc{color:var(--text-secondary);margin-top:.25rem;font-size:12px}.masters-subnav-row{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.masters-tab-group{white-space:nowrap;gap:.35rem;display:flex;overflow-x:auto}.masters-tab-btn{color:var(--text-secondary);cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.masters-tab-btn:hover{color:var(--text-main);background:#e2e8f0}.masters-tab-btn.active{background:var(--color-primary);color:#fff}.masters-actions-group{align-items:center;gap:.75rem;display:flex}.table-btn-group{align-items:center;gap:.4rem;display:flex}.btn-action-edit{color:var(--text-main);border:1px solid var(--border-subtle);cursor:pointer;background:#f1f5f9;border-radius:4px;padding:.3rem .65rem;font-size:11px;font-weight:600;transition:background .15s}.btn-action-edit:hover{background:#e2e8f0}.btn-action-delete{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.3rem .65rem;font-size:11px;font-weight:600;transition:background .15s}.btn-action-delete:hover{background:#fee2e2}.btn-action-sync{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:.3rem .65rem;font-size:11px;font-weight:600;transition:background .15s}.btn-action-sync:hover{background:#dbeafe}.modal-form-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.modal-form-grid .form-group.full-width{grid-column:1/-1}.ais-sync-indicator{font-size:10px;font-family:var(--font-mono);color:#0284c7;align-items:center;gap:4px;margin-top:3px;display:flex}@keyframes radar-pulse{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(2.6)}}@keyframes dash-flow{to{stroke-dashoffset:-28px}}.route-arc-active{stroke-dasharray:6 3;animation:1.2s linear infinite dash-flow}.map-viewport{background:#0f172a;border:1px solid #1e293b;border-radius:6px;justify-content:center;align-items:center;height:250px;display:flex;position:relative;overflow:hidden}.map-node-pulse{transform-origin:50%;animation:2s ease-out infinite radar-pulse}.map-controls-overlay{color:#94a3b8;background:#0f172ad9;border:1px solid #ffffff1a;border-radius:4px;gap:4px;padding:3px 6px;font-size:10px;display:flex;position:absolute;top:8px;right:8px}.fleet-view-container{flex-direction:column;gap:1.25rem;height:calc(100vh - 105px);padding:1.5rem;display:flex;overflow-y:auto}.fleet-stats-row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.fleet-stat-card{border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:#fff;border-radius:8px;flex-direction:column;gap:.35rem;padding:1.25rem;display:flex}.fleet-stat-title{color:var(--text-secondary);font-size:12px;font-weight:500}.fleet-stat-number{color:var(--text-main);letter-spacing:-.02em;font-size:24px;font-weight:700}.fleet-stat-desc{color:var(--text-secondary);font-size:11px}.fleet-filter-bar{border:1px solid var(--border-subtle);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.fleet-tabs{gap:.5rem;display:flex}.fleet-tab-btn{color:var(--text-secondary);cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:6px;padding:.4rem .85rem;font-size:12px;font-weight:600;transition:all .15s}.fleet-tab-btn.active{background:var(--color-primary);color:#fff}.analytics-view-container{flex-direction:column;gap:1.25rem;height:calc(100vh - 105px);padding:1.5rem;display:flex;overflow-y:auto}.analytics-grid-two{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.analytics-card{border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:#fff;border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.analytics-card-title{color:var(--text-main);justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.sensitivity-table{border-collapse:collapse;width:100%;font-size:12px}.sensitivity-table th,.sensitivity-table td{border-bottom:1px solid var(--border-subtle);text-align:left;padding:.5rem .75rem}.sensitivity-table th{color:var(--text-secondary);background:#f8fafc;font-size:11px;font-weight:600}.searchable-select-container{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-family:inherit;display:block;position:relative}.searchable-select-container.disabled{opacity:.6;cursor:not-allowed}.searchable-select-trigger{box-sizing:border-box;background-color:var(--bg-input);border:1px solid var(--border-subtle);width:100%;min-width:0;max-width:100%;color:var(--text-main);text-align:left;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;min-height:35px;padding:.45rem .65rem;font-size:12.5px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}.searchable-select-trigger:hover:not(:disabled){background-color:#fcfdfe;border-color:#cbd5e1}.searchable-select-trigger:focus,.searchable-select-trigger.open{border-color:var(--border-focus);background-color:#fff;outline:none;box-shadow:0 0 0 3px #2563eb1f}.trigger-content{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.trigger-value-wrapper{align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.trigger-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-main);flex:1;font-weight:500;overflow:hidden}.trigger-badge{white-space:nowrap;border:1px solid;border-radius:4px;flex-shrink:0;padding:.1rem .45rem;font-size:10px;font-weight:600}.trigger-placeholder{color:var(--text-tertiary);font-weight:400}.trigger-icons{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.trigger-clear-btn{color:#94a3b8;cursor:pointer;border-radius:4px;padding:2px 4px;font-size:11px;transition:color .15s,background .15s}.trigger-clear-btn:hover{color:#ef4444;background:#fee2e2}.trigger-chevron{color:#94a3b8;font-size:9px;transition:transform .2s cubic-bezier(.4,0,.2,1)}.trigger-chevron.rotate{color:var(--color-primary);transform:rotate(180deg)}.searchable-select-menu{z-index:1100;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;min-width:260px;animation:.15s cubic-bezier(.16,1,.3,1) fadeInDown;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 12px 28px -4px #0f172a26,0 6px 10px -4px #0f172a14}.searchable-select-menu.open-upwards{animation:.15s cubic-bezier(.16,1,.3,1) fadeInUp;top:auto;bottom:calc(100% + 4px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.search-input-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:.4rem;padding:.5rem .65rem;display:flex}.search-icon{color:#94a3b8;font-size:11px}.search-input-box{color:var(--text-main);background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;flex:1;padding:.35rem .5rem;font-size:12px;transition:border-color .15s,box-shadow .15s}.search-input-box:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #2563eb1f}.search-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:10px}.search-clear-btn:hover{color:#475569;background:#e2e8f0}.search-count-badge{color:#64748b;font-size:10px;font-weight:600;font-family:var(--font-mono);background:#e2e8f0;border-radius:9999px;padding:.15rem .45rem}.searchable-options-list{flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.searchable-option-item{cursor:pointer;border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;transition:background-color .1s;display:flex}.searchable-option-item:hover,.searchable-option-item.highlighted{background-color:#f1f5f9}.searchable-option-item.selected{background-color:#eff6ff}.searchable-option-item.selected .option-label{color:var(--color-primary);font-weight:600}.option-info{flex-direction:column;flex:1;gap:.1rem;display:flex;overflow:hidden}.option-main-row{align-items:center;gap:.45rem;display:flex;overflow:hidden}.option-label{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.option-sublabel{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.option-badge{white-space:nowrap;border:1px solid;border-radius:3px;padding:.05rem .35rem;font-size:9px;font-weight:600}.option-check-icon{color:var(--color-primary);flex-shrink:0;font-size:12px;font-weight:700}.search-highlight{color:#854d0e;background-color:#fef08a;border-radius:2px;padding:0 1px;font-weight:700}.searchable-no-options{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1.25rem 1rem;font-size:12px;font-weight:500;display:flex}.searchable-no-options-sub{color:var(--text-tertiary);font-size:11px}.modal-box,.modal-body{overflow:visible!important}.btn-estimate-action{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem 1.25rem;font-size:13.5px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #2563eb40}.btn-estimate-action:hover{background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.btn-estimate-action:active{transform:translateY(1px);box-shadow:0 2px 6px #2563eb33}.btn-estimate-action.calculating{opacity:.85;cursor:wait}.btn-estimate-badge-dirty{color:#fff;background:#f59e0b;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600}.save-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.save-modal-card{border:1px solid var(--border-subtle);background:#fff;border-radius:12px;width:100%;max-width:580px;animation:.2s ease-out modalSlideIn;overflow:hidden;box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a}.save-modal-header{border-bottom:1px solid var(--border-subtle);background:#f8fafc;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.save-modal-title{color:#0f172a;font-size:16px;font-weight:700}.save-modal-subtitle{color:#64748b;margin-top:2px;font-size:11.5px}.save-modal-body{flex-direction:column;gap:1.15rem;padding:1.25rem 1.5rem;display:flex}.save-option-card{cursor:pointer;box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:.75rem;width:100%;padding:.85rem 1rem;transition:all .15s;display:flex}.save-option-card:hover{background:#f8fafc;border-color:#93c5fd}.save-option-card.selected{background:#eff6ff;border-color:#2563eb}.save-option-radio{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;margin-top:2px!important}.save-option-content{flex-direction:column;flex:1;min-width:0;display:flex}.save-option-title{color:#0f172a;font-size:12.5px;font-weight:600}.save-option-desc{color:#64748b;margin-top:2px;font-size:11px}.save-vessel-selector{flex-direction:column;gap:.4rem;margin-top:.65rem;display:flex}.save-vessel-radio-item{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:11.5px;display:flex}.save-vessel-radio-item:hover{border-color:#cbd5e1}.save-vessel-radio-item.active{background:#eff6ff;border-color:#2563eb;font-weight:600}.save-modal-footer{border-top:1px solid var(--border-subtle);background:#f8fafc;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.estimate-detail-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;background-color:#0f172aa6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.estimate-detail-modal-card{border:1px solid var(--border-subtle);background-color:#fff;border-radius:12px;flex-direction:column;width:1040px;max-width:96vw;max-height:92vh;animation:.18s ease-out fadeInModal;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a}.estimate-detail-modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;overflow-y:auto}.estimate-summary-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.estimate-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.summary-card-label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:10.5px;font-weight:700}.summary-card-value{color:#0f172a;font-size:14px;font-weight:700}.summary-card-sub{color:#64748b;font-size:11px}.estimate-detail-scenarios-section{flex-direction:column;gap:.75rem;display:flex}.btn-action-view{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;align-items:center;gap:3px;padding:.35rem .65rem;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.btn-action-view:hover{color:#0f172a;background:#e2e8f0}.btn-action-workbench{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;align-items:center;gap:3px;padding:.35rem .65rem;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.btn-action-workbench:hover{color:#1d4ed8;background:#dbeafe}.row-optimal{background-color:#f0fdf4!important}.candidate-eval-hub{border:1px solid var(--border-subtle);background:#fff;border-radius:10px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 2px 8px #0f172a0d}.eval-hub-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(#fff 0%,#f8fafc 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;display:flex}.eval-hub-title-block{flex-direction:column;gap:.25rem;display:flex}.eval-hub-title{color:#0f172a;align-items:center;gap:.6rem;font-size:15px;font-weight:700;display:flex}.eval-hub-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.eval-hub-subtitle{color:#64748b;font-size:11px}.eval-hub-controls{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.eval-view-switcher{background:#e2e8f0;border-radius:7px;gap:2px;padding:2px;display:inline-flex}.eval-view-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.eval-view-btn:hover{color:#0f172a}.eval-view-btn.active{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #0000001a}.eval-export-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.eval-export-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.eval-save-btn{color:#fff;cursor:pointer;background:#059669;border:1px solid #047857;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 1px 3px #05966933}.eval-save-btn:hover{background:#047857;box-shadow:0 2px 6px #0596694d}.eval-category-bar{border-bottom:1px solid var(--border-subtle);background:#f8fafc;align-items:center;gap:.4rem;padding:.6rem 1.4rem;display:flex;overflow-x:auto}.eval-category-pill{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .65rem;font-size:11px;font-weight:500;transition:all .15s}.eval-category-pill:hover{color:#1e293b;border-color:#cbd5e1}.eval-category-pill.active{color:#fff;background:#1e293b;border-color:#1e293b;font-weight:600}.eval-transposed-wrapper{border-bottom:1px solid #cbd5e1;max-width:100%;max-height:680px;position:relative;overflow:auto}.eval-transposed-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.eval-transposed-table thead tr th{vertical-align:top;z-index:10;background:#f8fafc;border-bottom:2px solid #cbd5e1;border-right:1px solid #e2e8f0;padding:.85rem 1rem;position:sticky;top:0;box-shadow:0 2px 4px #0000000f}.eval-transposed-table thead tr th.th-metric-col{text-align:left;z-index:20;background:#f1f5f9;width:270px;min-width:250px;position:sticky;top:0;left:0;box-shadow:2px 2px 5px #0000000f}.eval-transposed-table thead tr th.th-vessel-col{text-align:right;background:#fff;min-width:200px}.eval-transposed-table thead tr th.th-vessel-col.optimal{background:#f0fdf4;border-top:3px solid #22c55e}.vessel-header-box{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.vessel-header-name{color:#0f172a;align-items:center;gap:.4rem;font-size:13.5px;font-weight:700;display:flex}.vessel-header-meta{color:#64748b;font-size:10.5px;font-weight:400}.vessel-header-action{margin-top:.25rem}.eval-transposed-table tr.transposed-section-row td{letter-spacing:.05em;text-transform:uppercase;border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;padding:.65rem 1rem;font-size:11px;font-weight:700}.transposed-section-specs{color:#1e40af;background:#eff6ff}.transposed-section-turnaround{color:#b45309;background:#fffbeb}.transposed-section-fuel{color:#6b21a8;background:#faf5ff}.transposed-section-commercial{color:#15803d;background:#f0fdf4}.eval-transposed-table tbody tr td{vertical-align:middle;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;padding:.6rem 1rem}.eval-transposed-table tbody tr:hover td{background:#f8fafc}.eval-transposed-table tbody tr td.td-metric-name{color:#334155;z-index:5;background:#fafbfc;border-right:2px solid #e2e8f0;width:270px;min-width:250px;font-weight:600;position:sticky;left:0;box-shadow:2px 0 4px #0000000a}.eval-transposed-table tbody tr:hover td.td-metric-name{background:#f1f5f9}.eval-transposed-table tbody tr td.td-metric-val{text-align:right;font-family:var(--font-mono);color:#1e293b;font-size:11.5px}.eval-transposed-table tbody tr td.td-metric-val.optimal-col{background:#f0fdf466}.eval-transposed-table tbody tr:hover td.td-metric-val.optimal-col{background:#e6f9ed}.eval-transposed-table tbody tr.row-hero td{background:#fff;border-top:1.5px solid #cbd5e1;border-bottom:1.5px solid #cbd5e1}.eval-transposed-table tbody tr.row-hero td.td-metric-name{color:#0f172a;font-size:12px;font-weight:700}.eval-transposed-table tbody tr.row-hero td.td-metric-val{font-size:12.5px;font-weight:700}.eval-transposed-table tbody tr.row-hero-emerald td.td-metric-val{color:#15803d}.eval-transposed-table tbody tr.row-hero-purple td.td-metric-val{color:#6b21a8}.eval-transposed-table tbody tr.row-hero-amber td.td-metric-val{color:#b45309}.eval-table-wrapper{border-bottom:1px solid #cbd5e1;max-width:100%;max-height:680px;position:relative;overflow:auto}.eval-master-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:12px}.eval-master-table thead tr.group-header-row th{letter-spacing:.06em;text-transform:uppercase;text-align:center;z-index:10;border-bottom:1px solid #cbd5e1;border-right:1px solid #0000000d;padding:.5rem .75rem;font-size:10px;font-weight:700;position:sticky;top:0}.group-th-vessel{color:#334155;background:#f1f5f9}.group-th-specs{color:#1e40af;background:#eff6ff}.group-th-turnaround{color:#b45309;background:#fffbeb}.group-th-fuel{color:#6b21a8;background:#faf5ff}.group-th-commercial{color:#15803d;background:#f0fdf4}.eval-master-table thead tr.column-header-row th{color:#475569;white-space:nowrap;z-index:10;background:#f8fafc;border-bottom:2px solid #cbd5e1;padding:.65rem .85rem;font-size:11px;font-weight:600;position:sticky;top:29px;box-shadow:0 2px 4px #0000000a}.eval-master-table thead tr.group-header-row th:first-child{z-index:25;background:#f1f5f9;border-right:2px solid #cbd5e1;position:sticky;top:0;left:0;box-shadow:2px 0 5px #0000000d}.eval-master-table thead tr.column-header-row th:first-child{z-index:25;background:#f8fafc;border-right:2px solid #cbd5e1;position:sticky;top:29px;left:0;box-shadow:2px 0 5px #0000000d}.eval-master-table tbody td{white-space:nowrap;vertical-align:middle;color:#1e293b;border-bottom:1px solid #f1f5f9;padding:.75rem .85rem}.eval-master-table tbody td:first-child{z-index:5;background:#fff;border-right:2px solid #cbd5e1;position:sticky;left:0;box-shadow:2px 0 5px #0000000d}.eval-master-table tbody tr:hover td{background:#f8fafc}.eval-master-table tbody tr:hover td:first-child{background:#f1f5f9}.eval-master-table tbody tr.optimal-row td{background:#f0fdf4}.eval-master-table tbody tr.optimal-row td:first-child{background:#ecfdf5}.eval-master-table tbody tr.optimal-row:hover td,.eval-master-table tbody tr.optimal-row:hover td:first-child{background:#e6f9ed}.eval-vessel-cell{flex-direction:column;gap:2px;display:flex}.eval-vessel-title{color:#0f172a;align-items:center;gap:.4rem;font-weight:700;display:flex}.eval-vessel-meta{color:#64748b;font-size:10px}.eval-number-cell{font-family:var(--font-mono);text-align:right;font-size:11.5px}.eval-unit-muted{color:#94a3b8;margin-left:2px;font-size:10px}.eval-best-highlight{color:#15803d;background:#dcfce7;border-radius:4px;padding:1px 5px;font-weight:700;display:inline-block}.eval-highlight-currency{color:#0f172a;font-weight:700}.eval-action-cell{text-align:center}.btn-fix-ship{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:5px;padding:.35rem .75rem;font-size:11px;font-weight:600;transition:all .15s}.btn-fix-ship:hover{background:#1d4ed8}.eval-cards-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem;padding:1.4rem;display:grid}.eval-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000a}.eval-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #2563eb14}.eval-card.optimal{border:2px solid #22c55e;box-shadow:0 4px 16px #22c55e1f}.eval-card-top{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex}.eval-card-top.optimal{background:#ecfdf5;border-color:#bbf7d0}.eval-card-ship-name{color:#0f172a;font-size:14px;font-weight:700}.eval-card-ship-sub{color:#64748b;font-size:11px}.eval-card-hero-row{text-align:center;background:#fff;border-bottom:1px solid #f1f5f9;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:.85rem 1rem;display:grid}.eval-card-hero-item{flex-direction:column;gap:2px;display:flex}.eval-card-hero-label{text-transform:uppercase;color:#64748b;letter-spacing:.04em;font-size:9.5px;font-weight:600}.eval-card-hero-val{font-family:var(--font-mono);color:#0f172a;font-size:13px;font-weight:700}.eval-card-hero-val.accent{color:#2563eb}.eval-card-hero-val.success{color:#16a34a}.eval-timeline-section{border-bottom:1px solid #f1f5f9;padding:.9rem 1.15rem}.eval-section-heading{text-transform:uppercase;letter-spacing:.05em;color:#64748b;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:10px;font-weight:700;display:flex}.eval-timeline-bar{background:#e2e8f0;border-radius:7px;height:14px;margin-bottom:.5rem;display:flex;overflow:hidden}.timeline-segment{height:100%;transition:width .3s}.segment-sea{background:#3b82f6}.segment-pol-work{background:#10b981}.segment-pol-wait{background:#f59e0b}.segment-pod-work{background:#06b6d4}.segment-pod-wait{background:#ef4444}.eval-timeline-legend{color:#475569;flex-wrap:wrap;gap:.6rem;font-size:10px;display:flex}.legend-item{align-items:center;gap:.3rem;display:flex}.legend-dot{border-radius:50%;width:7px;height:7px}.eval-card-details-grid{background:#fafbfc;grid-template-columns:1fr 1fr;gap:.6rem;padding:.85rem 1.15rem;font-size:11px;display:grid}.eval-detail-row{border-bottom:1px dashed #e2e8f0;justify-content:space-between;padding-bottom:2px;display:flex}.eval-detail-label{color:#64748b}.eval-detail-val{color:#1e293b;font-weight:600;font-family:var(--font-mono)}.eval-card-footer{background:#fff;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:auto;padding:.85rem 1.15rem;display:flex}.eval-analytics-wrapper{grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.4rem;display:grid}@media (width<=1024px){.eval-analytics-wrapper{grid-template-columns:1fr}}.analytics-chart-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem}.analytics-card-title{color:#0f172a;margin-bottom:.25rem;font-size:13px;font-weight:700}.analytics-card-desc{color:#64748b;margin-bottom:1rem;font-size:11px}.chart-bars-list{flex-direction:column;gap:1rem;display:flex}.chart-bar-group{flex-direction:column;gap:.3rem;display:flex}.chart-bar-header{color:#334155;justify-content:space-between;font-size:11px;font-weight:600;display:flex}.chart-stacked-bar{background:#e2e8f0;border-radius:5px;height:18px;display:flex;overflow:hidden}.chart-legend-list{color:#64748b;flex-wrap:wrap;gap:.8rem;margin-top:1rem;font-size:11px;display:flex}
