@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2)format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2)format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2)format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2)format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page:#f3f6fa;--surface:#fff;--surface-2:#edf2f7;--border:#0e2d461a;--border-strong:#0e2d4633;--text-primary:#0b1f30;--text-secondary:#4c5e70;--text-muted:#8a99a8;--brand:#0e426a;--brand-strong:#082c47;--brand-soft:#15568c;--brand-sky:#2e86c1;--accent:#0e426a;--accent-strong:#082c47;--accent-dim:#0e426a1a;--accent-soft-bg:#e8eff5;--good:#0ca34f;--warning:#d98c00;--serious:#ec835a;--critical:#d0393b;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#c98500;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--radius:14px;--radius-sm:9px;--radius-lg:20px;--shadow-sm:0 1px 2px #091e300d;--shadow-md:0 8px 24px #091e3014;--shadow-lg:0 20px 48px #091e3029;--sans:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:14px/1.55 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-primary);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{background:var(--page);height:100%;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{font-family:var(--sans);color:var(--text-primary);letter-spacing:-.2px;margin:0;font-weight:600}p{color:var(--text-secondary);margin:0}button{font-family:var(--sans)}::selection{background:var(--accent-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.scrollbar-thin{scrollbar-width:thin}.app-shell{height:100vh;display:flex;overflow:hidden}.side-nav{background:linear-gradient(190deg, var(--brand) 0%, var(--brand-strong) 100%);flex-direction:column;flex-shrink:0;width:240px;padding:20px 14px;display:flex;overflow-y:auto}.side-nav-brand{padding:6px 8px 22px}.side-nav-links{flex-direction:column;flex:1;gap:2px;display:flex}.side-nav-link{color:#ffffffad;border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.side-nav-link:hover{color:#fff;background:#ffffff14}.side-nav-link.active{color:#fff;background:#ffffff24}.side-nav-footer{border-top:1px solid #ffffff1f;align-items:center;gap:8px;margin-top:10px;padding:12px 8px 4px;display:flex}.side-nav-user{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.side-nav-avatar{color:#fff;background:#ffffff29;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.side-nav-user-info{flex-direction:column;min-width:0;display:flex}.side-nav-user-email{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.side-nav-user-role{color:#ffffff8c;font-size:10.5px}.side-nav-logout{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:7px;display:flex}.side-nav-logout:hover{color:#fff;background:#ffffff1a}.app-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.page{flex-direction:column;gap:10px;padding:14px 32px 26px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header h1{letter-spacing:-.3px;font-size:18px}.page-header p{color:var(--text-muted);margin-top:2px;font-size:12px}.page-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.page-header-actions .btn{width:auto}.breadcrumb-back{color:var(--accent-strong);margin-bottom:2px;font-size:11px;font-weight:500;text-decoration:none;display:inline-block}.breadcrumb-back-btn{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;margin-bottom:2px;padding:0;font-size:11px;font-weight:500;display:inline-block}.breadcrumb-back-btn:hover{text-decoration:underline}.shipment-tag{font-family:var(--mono);color:var(--accent-strong);background:var(--accent-soft-bg);border:1px solid #0e426a2e;border-radius:999px;padding:5px 10px;font-size:12px}.view-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 0 0 2px;display:flex}.view-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:20px;padding:10px 4px;font-size:13px;font-weight:600}.view-tab:hover{color:var(--text-secondary)}.view-tab.active{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.step-nav{align-items:center;margin:2px 0 8px;display:flex}.step-nav-item-wrap{flex:1;align-items:center;display:flex}.step-nav-item-wrap:last-child{flex:0}.step-nav-item{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:3px 4px;font-size:12px;font-weight:600;display:flex}.step-nav-item:disabled{cursor:not-allowed;opacity:.5}.step-nav-item.active{color:var(--accent-strong)}.step-nav-item.done{color:var(--text-secondary)}.step-nav-circle{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex}.step-nav-item.active .step-nav-circle{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.step-nav-item.done .step-nav-circle{background:var(--good);border-color:var(--good);color:#fff}.step-nav-wide{flex-wrap:wrap;row-gap:10px}.step-nav-wide .step-nav-item{gap:6px;font-size:12px}.step-nav-wide .step-nav-circle{width:20px;height:20px;font-size:10px}.step-nav-wide .step-nav-line{min-width:10px;margin:0 4px}.step-nav-line{background:var(--border);flex:1;height:1px;margin:0 8px}.step-actions{gap:10px;display:flex}.step-footer{justify-content:space-between;margin-top:20px;display:flex}.shipment-details-step,.shipment-plane-step{flex-direction:column;gap:16px;display:flex}.containers-step-body{align-items:flex-start;gap:20px;display:flex}.containers-step-main{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.containers-step-sidebar{flex-shrink:0;width:300px;position:sticky;top:20px}@media (width<=960px){.containers-step-body{flex-direction:column}.containers-step-sidebar{width:100%;position:static}}.shipment-summary-grid{grid-template-columns:repeat(3,1fr);gap:16px 24px;font-size:13px;display:grid}.shipment-summary-grid strong{color:var(--text-primary);font-size:14px}.table-pagination{color:var(--text-secondary);justify-content:center;align-items:center;gap:12px;padding:12px 0 0;font-size:12px;display:flex}.position-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:12px 12px 0;display:flex}.category-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.category-general{background:var(--surface-2);color:var(--text-secondary)}.category-food{color:#166534;background:#dcfce7}.category-dangerous_goods{color:#991b1b;background:#fee2e2}.category-frozen{color:#1e40af;background:#dbeafe}.category-chilled{color:#0369a1;background:#e0f2fe}.panel-section{flex-direction:column;gap:10px;padding:16px;display:flex}.panel-section h2{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);font-size:12px;font-weight:600}.field{flex-direction:column;flex:1;gap:4px;display:flex}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px}.field-row{gap:8px;display:flex}.field-hint{color:var(--text-muted);margin:2px 0 0;font-size:11px;line-height:1.4}.quote-piece-table{border-collapse:collapse;width:100%;margin-bottom:10px}.quote-piece-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);padding:4px 6px;font-size:11px}.quote-piece-table td{padding:3px 6px}.quote-piece-table input,.quote-piece-table select{width:100%;min-width:0}.quote-piece-checkbox{text-align:center}.quote-unfit-list{color:var(--critical);margin:8px 0 0;padding-left:18px;font-size:13px}.quote-unfit-list li{margin-bottom:4px}.drop-stop-new-row{align-items:center;gap:6px;display:flex}.drop-stop-new-row input{flex:1}input,select{background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);width:100%;font-size:13px;font-family:var(--sans);border-radius:9px;padding:9px 10px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.checkbox-row{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.checkbox-row label{align-items:center;gap:5px;display:flex}.checkbox-row input{width:auto;accent-color:var(--accent)}.uld-checkbox-list{flex-direction:column;align-items:flex-start;gap:8px}.uld-recommendation-note{color:var(--accent-strong);background:var(--accent-dim);border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:12px}.uld-checkbox-list label.uld-recommended{color:var(--accent-strong);font-weight:700}.btn{cursor:pointer;border:none;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600;transition:filter .15s,opacity .15s,background .15s,transform .1s}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;width:auto;padding:8px 14px;font-size:12.5px;box-shadow:0 6px 16px #0e426a47}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--surface-2);color:var(--accent-strong);border:1px solid #0e426a38;width:auto}.btn-secondary:hover:not(:disabled){background:var(--accent-soft-bg)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-link{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:12px}.btn-icon:hover{color:var(--critical)}.piece-list{flex-direction:column;gap:6px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.piece-row{background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:7px 8px;display:flex}.piece-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.piece-info{flex-direction:column;flex:1;min-width:0;display:flex}.piece-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.piece-meta{color:var(--text-muted);font-size:11px}.empty-state{color:var(--text-muted);padding:6px 0;font-size:12px}.error-banner{color:var(--critical);background:#d0393b14;border:1px solid #d0393b59;border-radius:8px;padding:8px 10px;font-size:12px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stat-tile{flex-direction:column;gap:6px;padding:16px;display:flex;position:relative;overflow:hidden}.stat-tile-icon{background:var(--accent-soft-bg);width:32px;height:32px;color:var(--accent);border-radius:9px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.stat-tile-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-size:11px}.stat-tile-value{color:var(--text-primary);letter-spacing:-.4px;font-size:26px;font-weight:700}.stat-tile-value.tone-good{color:var(--good)}.stat-tile-value.tone-warning{color:var(--warning)}.stat-tile-value.tone-critical{color:var(--critical)}.stat-tile-caption{color:var(--text-muted);font-size:11px}.meter-group{flex-direction:column;gap:14px;padding:16px;display:flex}.meter{flex-direction:column;gap:6px;display:flex}.meter-header{color:var(--text-secondary);justify-content:space-between;font-size:12px;display:flex}.meter-value{font-weight:600;font-family:var(--mono);color:var(--text-primary);font-size:12px}.meter-track{background:var(--surface-2);border-radius:6px;height:10px;overflow:hidden}.meter-fill{border-radius:6px;height:100%;transition:width .5s}.unpacked-list{padding:14px}.unpacked-title{color:var(--warning);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.unpacked-list ul{color:var(--text-secondary);margin:0;padding-left:18px;font-size:13px}.container-insights,.container-plan-summary{padding:16px}.plan-summary-headline{color:var(--text-secondary);margin:4px 0 14px;font-size:14px}.plan-summary-headline strong{color:var(--text-primary)}.insight-list{color:var(--text-secondary);flex-direction:column;gap:6px;margin:6px 0 0;padding-left:18px;font-size:13px;display:flex}.fit-diagram-card{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.fit-diagram-header{justify-content:space-between;align-items:center;display:flex}.fit-diagram-header h2{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);font-size:12px;font-weight:600}.fit-badge{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.fit-badge.fit-ok{color:var(--good);background:#0ca34f1f}.fit-badge.fit-bad{color:var(--critical);background:#d0393b1a}.fit-diagram-svg{width:100%;height:160px;display:block}.fit-details{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.fit-good-text{color:var(--good)}.fit-bad-text{color:var(--critical)}.load-plan-panel{flex-direction:column;gap:16px;display:flex}.load-plan-plane-card{flex-direction:column;gap:10px;padding:16px;display:flex}.plane-3d-card{background:#0a0e17;border-color:#232b3d}.plane-3d-title{color:#e5e9f0}.plane-3d-actions{align-items:center;gap:10px;display:flex}.btn-3d-toggle{color:#38bdf8;cursor:pointer;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:999px;flex-shrink:0;width:auto;padding:7px 14px;font-size:12px;font-weight:600}.btn-3d-toggle:hover{background:#38bdf833}.plane-3d-body{align-items:stretch;gap:12px;display:flex}.plane-3d-wrap{background:#05070c;border-radius:10px;flex:1;min-width:0;height:420px;overflow:hidden}.load-plan-plane-card .load-plan-note{color:#8a99ac}.bin-number-label{color:#38bdf8;white-space:nowrap;pointer-events:none;background:#05070cd9;border:1px solid #38bdf866;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.bin-number-label.selected{color:#05070c;background:#fffffff2;border-color:#fff}.bin-number-label.bin-type-pallet{color:#f5a623;border-color:#f5a62380}.bin-number-label.bin-type-pallet.selected{color:#05070c;border-color:#fff}.overload-banner{color:#fb7185;white-space:nowrap;pointer-events:none;background:#fb718529;border:1px solid #fb7185b3;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;box-shadow:0 0 18px #fb718559}.load-metrics-panel{background:#0a0e17;border:1px solid #232b3d;border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:220px;padding:14px;display:flex;overflow-y:auto}.load-metrics-empty{color:#6e7d8c;text-align:center;justify-content:center;padding:20px 12px;font-size:12px}.load-metrics-verdict{text-align:center;border-radius:8px;width:100%;padding:8px 10px;font-size:12px;font-weight:700}.load-metrics-verdict.verdict-ok{color:#34d399;background:#34d39924}.load-metrics-verdict.verdict-bad{color:#fb7185;background:#fb718524}.load-metric-gauge{align-items:center;gap:10px;width:100%;display:flex}.load-metric-gauge-label{flex-direction:column;gap:2px;min-width:0;display:flex}.load-metric-gauge-label strong{color:#e5e9f0;font-size:12px}.load-metric-gauge-label span{color:#8a99ac;white-space:nowrap;font-size:10px}.load-metrics-warnings{background:#fb71851a;border:1px solid #fb71854d;border-radius:8px;width:100%;padding:10px;font-size:11px}.load-metrics-warnings strong{color:#fb7185;margin-bottom:4px;display:block}.load-metrics-warnings ul{color:#f3c6cc;flex-direction:column;gap:4px;margin:0;padding-left:16px;display:flex}.load-metrics-note{color:#8a99ac;text-align:center;font-size:11px}@media (width<=900px){.plane-3d-body{flex-direction:column}.load-metrics-panel{flex-flow:wrap;justify-content:center;width:100%}}.load-plan-note{color:var(--text-muted);margin:0;font-size:12px}.strategy-panel-card{flex-direction:column;gap:10px;padding:16px;display:flex}.strategy-panel-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin:0;font-size:13px}.strategy-option-list{flex-direction:column;gap:8px;display:flex}.strategy-option{text-align:left;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.strategy-option:hover{border-color:var(--accent)}.strategy-option.active{border-color:var(--accent);background:var(--accent-dim)}.strategy-option-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.strategy-option-label{color:var(--text-primary);font-size:12px;font-weight:700}.strategy-option-score{color:var(--accent-strong);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:800}.strategy-option-desc{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.4}.strategy-option-stats{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.strategy-panel-footnote{color:var(--text-muted);margin:4px 0 0;font-size:10.5px;line-height:1.5}.strategy-inline-note{color:var(--text-muted);margin:0;font-size:12px}.load-plan-viewer-card{flex-direction:column;gap:10px;padding:16px;display:flex}.load-plan-viewer-frame{background:radial-gradient(at 50% 32%,#fff 0%,#eef2f8 55%,#dbe4ef 100%);border-radius:10px;height:360px;overflow:hidden}.load-plan-contents{flex-direction:column;gap:10px;padding:16px;display:flex}.contents-card{flex-direction:column;gap:12px;padding:16px;display:flex}.contents-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.contents-card-header .btn{flex-shrink:0;width:auto}.contents-card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.contents-table-scroll{border:1px solid var(--border);border-radius:8px;max-height:320px;overflow:auto}.contents-table{border-collapse:collapse;width:100%;font-size:13px}.contents-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:11px;position:sticky;top:0}.contents-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px}.contents-table tr:last-child td{border-bottom:none}.contents-table-flags{flex-wrap:wrap;gap:4px;display:flex}.flag-badge{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600}.flag-badge.flag-fragile{color:var(--critical);background:#d0393b1a}.flag-badge.flag-nostack,.flag-badge.flag-norotate{color:var(--warning);background:#d98c001f}.load-plan-contents-stats{color:var(--text-secondary);border-top:1px solid var(--border);flex-wrap:wrap;gap:14px;padding-top:10px;font-size:12px;display:flex}@media (width<=900px){.load-plan-detail{grid-template-columns:1fr}}.uld-label{border:1px solid var(--border);box-shadow:var(--shadow-sm);white-space:nowrap;pointer-events:none;background:#ffffffeb;border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:4px 10px;font-size:11px;display:flex;transform:translate(-50%)}.uld-label strong{color:var(--accent-strong);font-size:12px}.uld-label span{color:var(--text-muted);font-size:10px}.orientation-label{letter-spacing:.3px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-sm);border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700}.orientation-label-top{color:#fff;background:#0e426ae6}.init-error{text-align:center;flex-direction:column;gap:8px;max-width:480px;margin:auto;padding:28px;display:flex}.data-table-wrap{flex-direction:column;display:flex;overflow:hidden}.data-table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.data-table-search{max-width:260px}.data-table-filter{max-width:180px}.data-table-toolbar-spacer{flex:1}.data-table-toolbar .btn{width:auto}.data-table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px;font-size:11px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);white-space:nowrap;padding:10px 16px}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:var(--surface-2)}.data-table-empty{text-align:center;color:var(--text-muted);padding:28px 16px!important}.data-table-actions{text-align:right;width:40px}.data-table-pagination{color:var(--text-muted);justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;display:flex}.data-table-pagination-controls{align-items:center;gap:10px;display:flex}.modal-overlay{z-index:100;background:#09142080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);overflow-y:auto}.modal-card.modal-wide{max-width:640px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{font-size:15px}.modal-body{padding:20px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.modal-actions .btn{width:auto}.entity-form{flex-direction:column;gap:12px;display:flex}.btn-danger{color:var(--critical);background:#d0393b1a;border:1px solid #d0393b4d}.btn-danger:hover{background:#d0393b2e}.status-badge{text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.status-badge.tone-neutral{background:var(--surface-2);color:var(--text-secondary)}.status-badge.tone-accent{background:var(--accent-soft-bg);color:var(--accent-strong)}.status-badge.tone-good{color:var(--good);background:#0ca34f1f}.status-badge.tone-muted{background:var(--surface-2);color:var(--text-muted)}.status-badge.tone-warning{color:var(--warning);background:#d98c001f}.status-badge.tone-critical{color:var(--critical);background:#d0393b1f}.dashboard-page{gap:16px}.dashboard-topline{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.dashboard-topline-heading{align-items:center;gap:14px;display:flex}.dashboard-topline-icon{background:linear-gradient(155deg, var(--accent) 0%, var(--brand-strong) 100%);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 6px 14px #0e426a47}.dashboard-eyebrow{text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-size:11px;font-weight:600;display:inline-block}.dashboard-topline h1{letter-spacing:-.6px;margin:1px 0 2px;font-size:25px;line-height:1.2}.dashboard-topline-subtitle{color:var(--text-secondary);font-size:13px}.dashboard-range-toggle{background:var(--surface-2);border:1px solid var(--border);padding:4px}.dashboard-range-toggle button{padding:7px 16px;font-size:12.5px}.dashboard-range-toggle button.active{background:var(--accent);color:#fff;box-shadow:0 3px 10px #0e426a4d}.kpi-strip{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--card-accent,var(--accent));border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:9px;padding:13px 15px;display:flex}.kpi-card-icon{background:color-mix(in srgb, var(--card-accent) 16%, transparent);width:24px;height:24px;color:var(--card-accent);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.kpi-card-text{flex-direction:column;gap:1px;display:flex}.kpi-card-value{color:var(--text-primary);letter-spacing:-.3px;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1.2}.kpi-card-label{color:var(--text-muted);font-size:11px}.kpi-card-gauge{flex-direction:row;align-items:center}.kpi-gauge-svg-wrap{flex-shrink:0;width:52px;height:52px;position:relative}.kpi-gauge-value{color:var(--text-primary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.kpi-card-gauge .kpi-card-value{display:none}.dashboard-main-grid{grid-template-columns:2fr 1fr;align-items:start;gap:12px;display:grid}.dashboard-main-col,.dashboard-side-col{flex-direction:column;gap:12px;display:flex}.dashboard-main-row{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.chart-card{border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:14px 16px 16px;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex}.card.chart-card{border:1px solid var(--border);border-left:4px solid var(--card-accent,var(--accent));position:relative;overflow:hidden}.card.chart-card:before{content:"";background:radial-gradient(closest-side, color-mix(in srgb, var(--card-accent,var(--accent)) 10%, transparent), transparent 72%);pointer-events:none;width:42%;height:170%;position:absolute;top:-35%;right:-12%}.card.chart-card>*{position:relative}.chart-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.chart-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-card-heading{align-items:flex-start;gap:10px;display:flex}.chart-card-icon{background:var(--accent-soft-bg);width:26px;height:26px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.chart-card-header h3{letter-spacing:-.1px;color:var(--text-primary);font-size:13px;font-weight:700}.chart-card-subtitle{color:var(--text-muted);margin-top:2px;font-size:11px}.chart-legend{flex-shrink:0;gap:12px;display:flex}.chart-legend-item{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.chart-legend-swatch{border-radius:2px;width:8px;height:8px;display:inline-block}.chart-svg-wrap{position:relative}.chart-svg{width:100%;height:220px;display:block;overflow:visible}.chart-gridline{stroke:var(--border);stroke-width:1px}.chart-dot-grid{fill:var(--border);opacity:.6}.chart-axis-label{fill:var(--text-muted);font-size:9.5px;font-family:var(--sans)}.chart-end-label{fill:var(--text-secondary);font-size:10px;font-weight:600;font-family:var(--sans)}.chart-crosshair{stroke:var(--border-strong);stroke-width:1px}.chart-tooltip{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-primary);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-md);z-index:2;border-radius:8px;padding:8px 10px;font-size:11px;position:absolute;top:4px;transform:translate(-50%)}.chart-tooltip-date{opacity:.85;margin-bottom:4px;font-weight:600}.chart-tooltip-row{align-items:center;gap:6px;display:flex}.chart-tooltip-key{border-top:2px solid;width:8px;height:0;display:inline-block}.chart-tooltip-label{opacity:.85;flex:1}.chart-tooltip-value{font-variant-numeric:tabular-nums}.bar-chart{flex-direction:column;gap:2px;display:flex}.bar-chart-row{border-radius:6px;grid-template-columns:120px 1fr 56px;align-items:center;gap:10px;padding:3px 0;display:grid}.bar-chart-row.hovered{background:var(--surface-2)}.bar-chart-label{color:var(--text-secondary);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.bar-chart-track{background:var(--surface-2);border-radius:0 4px 4px 0;height:20px;display:block;overflow:hidden}.bar-chart-fill{border-radius:0 4px 4px 0;height:100%;transition:width .25s,opacity .15s;display:block}.bar-chart-value{color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-weight:600}.pie-chart-body{align-items:center;gap:20px;display:flex}.pie-chart-svg-wrap{flex-shrink:0;width:160px}.pie-chart-svg{width:100%;height:auto;display:block}.pie-chart-slice{cursor:pointer;transition:opacity .15s}.pie-chart-center-value{fill:var(--text-primary);font-size:22px;font-weight:700;font-family:var(--sans)}.pie-chart-center-label{fill:var(--text-muted);font-size:10px;font-family:var(--sans);text-transform:capitalize}.chart-legend-vertical{flex-direction:column;flex:1;align-items:stretch;gap:8px;min-width:0}.chart-legend-vertical .chart-legend-item{cursor:pointer;border-radius:6px;justify-content:flex-start;padding:4px 6px;font-size:12px}.chart-legend-vertical .chart-legend-item.active{background:var(--surface-2)}.chart-legend-item-label{text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;color:var(--text-secondary);flex:1;overflow:hidden}.chart-legend-vertical .chart-legend-item strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.auth-shell{width:100%;min-height:100vh;display:flex}.auth-brand-panel{background:linear-gradient(160deg, var(--brand) 0%, var(--brand-strong) 100%);flex:1.1;justify-content:center;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.auth-brand-grid{background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 30% 30%,#000,#0000 75%);mask-image:radial-gradient(circle at 30% 30%,#000,#0000 75%)}.auth-brand-content{z-index:1;flex-direction:column;gap:18px;max-width:420px;display:flex;position:relative}.auth-brand-title{color:#fff;letter-spacing:-.5px;margin-top:12px;font-size:32px;font-weight:700;line-height:1.2}.auth-brand-sub{color:#ffffffb8;font-size:14.5px;line-height:1.6}.auth-brand-plane{opacity:.85;margin-top:28px}.auth-form-panel{background:var(--page);flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.auth-form-card{flex-direction:column;gap:22px;width:100%;max-width:360px;display:flex}.auth-form-header h2{margin-bottom:6px;font-size:24px}.auth-form-header p{color:var(--text-muted);font-size:13px}.auth-form{flex-direction:column;gap:16px;display:flex}.input-with-icon{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.input-with-icon:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.input-with-icon svg{color:var(--text-muted);flex-shrink:0}.input-with-icon input{background:0 0;border:none;padding:11px 0}.input-with-icon input:focus{box-shadow:none;outline:none}.input-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.auth-demo-hint{background:var(--accent-soft-bg);border:1px solid #0e426a26;border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;font-size:12px;display:flex}.auth-demo-hint span{color:var(--text-secondary);font-weight:600}.auth-demo-hint code{font-family:var(--mono);color:var(--accent-strong);font-size:12px}.auth-demo-hint .btn-link{align-self:flex-start}.cargo-setup-grid{grid-template-columns:380px 1fr;align-items:start;gap:20px;display:grid}.cargo-setup-forms{flex-direction:column;gap:14px;max-height:calc(100vh - 40px);display:flex;position:sticky;top:20px;overflow-y:auto}.cargo-setup-list{flex-direction:column;gap:14px;display:flex}.cargo-setup-list .piece-list{max-height:none}.segmented-control{background:var(--surface-2);border-radius:999px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.segmented-control button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.segmented-control button.active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.contents-panel{flex-direction:column;gap:12px;display:flex}.manifest-divider{background:var(--surface-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600;padding:6px 12px!important}.manifest-row-unpacked{opacity:.75}.unpacked-reason{color:var(--text-muted)}.ai-note{color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:0;padding:8px 12px;font-size:12px}.ai-note-used{color:var(--accent-strong);background:var(--accent-soft-bg);border-color:#0e426a2e}.weight-balance-panel{flex-direction:column;gap:14px;display:flex}.wb-disclosure{background:var(--accent-soft-bg);border-color:#0e426a26;padding:12px 16px}.wb-disclosure p{color:var(--text-secondary);margin:0;font-size:12px}.wb-section{flex-direction:column;gap:14px;padding:16px;display:flex}.wb-section h2{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);font-size:12px;font-weight:600}.cg-gauge{flex-direction:column;gap:6px;display:flex}.cg-gauge-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.cg-gauge-track{background:var(--surface-2);border-radius:7px;height:14px;position:relative;overflow:visible}.cg-gauge-envelope{background:#0ca34f2e;border-radius:4px;position:absolute;top:0;bottom:0}.cg-gauge-marker{background:var(--text-primary);border-radius:2px;width:3px;height:20px;position:absolute;top:-3px;transform:translate(-50%)}.cg-gauge-marker.marker-good{background:var(--good)}.cg-gauge-marker.marker-bad{background:var(--critical)}.cg-gauge-scale{color:var(--text-muted);justify-content:space-between;font-size:10px;display:flex}.cg-gauge-scale-value{font-family:var(--mono);color:var(--text-primary);font-weight:600}@media (width<=900px){.app-main{flex-direction:column}.control-panel{width:100%}.stat-grid{grid-template-columns:repeat(2,1fr)}.side-nav{display:none}.dashboard-main-grid,.dashboard-main-row{grid-template-columns:1fr}.bar-chart-row{grid-template-columns:90px 1fr 48px}.dashboard-topline{flex-direction:column;align-items:flex-start;gap:10px}.auth-brand-panel{display:none}.cargo-setup-grid{grid-template-columns:1fr}}.body-muted{color:var(--text-secondary);font-size:13.5px;line-height:1.5}.btn-sm{width:auto;padding:5px 10px;font-size:11.5px}.import-demo-row{background:var(--surface-2);color:var(--text-secondary);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.import-preview{border-top:1px solid var(--border);margin-top:8px;padding-top:16px}.import-errors{color:var(--critical);background:#d0393b14;border:1px solid #d0393b40;border-radius:10px;margin-bottom:16px;padding:14px 16px;font-size:13px}.import-errors ul{margin:8px 0 0;padding-left:18px}.import-errors li{margin-bottom:4px}.import-ok{color:var(--good);margin-bottom:16px;font-size:13.5px;font-weight:600}.playground-page{background:var(--page);flex-direction:column;gap:14px;min-height:100vh;padding:16px 24px 24px;display:flex}.playground-topbar{align-items:center;gap:16px;display:flex}.playground-topbar h1{margin:0;font-size:18px}.playground-body{flex:1;gap:16px;min-height:0;display:flex}.playground-main{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.multi-view-grid{flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:10px;min-height:560px;display:grid}.multi-view-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.multi-view-cell canvas{display:block}.multi-view-label{z-index:2;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-strong);border:1px solid var(--border);pointer-events:none;background:#ffffffe6;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:700;position:absolute;top:8px;left:10px}.playground-plane-full{border-radius:var(--radius);height:460px;box-shadow:var(--shadow-sm);background:#05070c;overflow:hidden}.multi-view-grid-dark{min-height:380px}.multi-view-grid-6{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr)}@media (width<=1000px){.multi-view-grid-6{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);min-height:560px}}.multi-view-cell-dark{background:#05070c;border-color:#1b2334}.multi-view-label-dark{color:#38bdf8;background:#05070cd9;border:1px solid #38bdf866}.playground-topbar .btn-3d-toggle{margin-left:auto}.playground-topbar{flex-wrap:wrap}.playground-query-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:340px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:10px;padding:16px;display:flex}.playground-query-title{margin:0;font-size:14px}.playground-query-hint{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.playground-chat-log{flex-direction:column;flex:1;gap:8px;min-height:220px;max-height:calc(100vh - 320px);padding-right:2px;display:flex;overflow-y:auto}.playground-chat-msg{border-radius:10px;max-width:92%;padding:8px 11px;font-size:12.5px;line-height:1.45}.playground-chat-user{background:var(--accent);color:#fff;align-self:flex-end}.playground-chat-system{background:var(--surface-2);color:var(--text-primary);align-self:flex-start}.playground-chat-thinking{color:var(--text-muted);font-style:italic}.playground-chat-form{gap:8px;display:flex}.playground-chat-form input{flex:1}@media (width<=1100px){.playground-body{flex-direction:column}.playground-query-panel{width:100%}.multi-view-grid{min-height:420px}}
