:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233044;background:#f5f6f9;font-size:13px;font-synthesis:none;--line:#e0e5ed;--navy:#192a42;--accent:#ce3d4b;--muted:#7c8798;--product:336px;--sold:84px;--stock:92px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:7px;padding:8px 12px;color:#344257;font-weight:600;white-space:nowrap;transition:background .12s}button:hover{background:#f0f3f8}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:white}button.primary:hover{background:#b82f3d}button.dark{background:var(--navy);color:white;border-color:var(--navy)}button.quiet{border:0;background:transparent}input,select{border:1px solid #dce2ec;border-radius:6px;background:white;padding:8px;color:#24344b}input:focus,select:focus{border-color:#697e9c;outline:2px solid #d9e1ef}input[type=checkbox]{accent-color:var(--accent)}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none}a{color:inherit;text-decoration:none}.topbar{height:67px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 27px}.brand-group,.top-right{display:flex;align-items:center;gap:20px}.wordmark{font-size:29px;font-weight:800;letter-spacing:-1.6px;display:flex;align-items:center;gap:15px}.wordmark:before{content:"";width:6px;height:27px;border-radius:3px;background:#d94a55}.wordmark span{font-size:10px;letter-spacing:2.3px;font-weight:600;color:#aebccd;border-left:1px solid #556077;padding-left:15px}.menu-button{color:white;border-color:#4c5a6e;background:transparent;width:33px;padding:5px;font-size:19px}.top-right{font-size:12px;color:#b5c0d1;gap:14px}.top-right a{border:1px solid #526079;border-radius:5px;padding:6px 10px}.avatar{background:#40516a;border:1px solid #71809a;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:700}.preview-banner{background:#fff4dc;color:#7a5b26;text-align:center;padding:7px;font-size:11px}.workspace{padding:22px 27px 0}.breadcrumb{font-size:11px;color:#8a94a6;letter-spacing:.3px;margin-bottom:13px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.heading{display:flex;align-items:center;gap:13px}.heading h1{font-size:26px;letter-spacing:-.8px;margin:0}.heading .subtitle{font-size:12px;color:var(--muted);margin-top:5px}.title-actions{display:flex;align-items:center;gap:9px}.season{padding:7px 9px;min-width:95px;font-weight:700}.save-state{font-size:11px;color:#8b94a3}.save-state.dirty{color:#b86c1c}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:15px 17px;position:relative;min-height:99px}.metric-label{color:#7a8596;font-size:11px;text-transform:uppercase;letter-spacing:.8px;display:flex;justify-content:space-between}.metric-value{font-size:24px;font-weight:650;letter-spacing:-.5px;margin-top:9px}.metric-value small{font-size:13px;font-weight:500;margin-left:4px;color:#8a94a5}.metric-foot{font-size:11px;color:#8a94a5;margin-top:5px}.metric-icon{color:#95a1b3;font-size:15px}.control-card{background:white;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:22px;padding:11px 16px;margin-bottom:17px}.control-card label{font-size:11px;color:#778296;display:block;margin-bottom:6px}.growth{display:flex;align-items:center;gap:7px}.growth input{width:68px;font-weight:650;text-align:center}.growth .hint{font-size:11px;color:#8a94a5;margin-left:8px}.v-divider{width:1px;height:36px;background:var(--line)}.rate-group{display:flex;align-items:center;gap:10px}.rate-mode{border:1px solid var(--line);border-radius:6px;display:flex;padding:3px;gap:3px}.rate-mode button{font-size:12px;border:0;padding:7px 10px;background:transparent}.rate-mode button.active{background:#f1e7ea;color:#b23748}.rate-value{font-weight:650;font-size:14px}.rate-value small{font-size:10px;color:#8b97a8;display:block;font-weight:400;margin-top:4px}.estimate input{width:92px;padding:7px}.distribution{margin-left:auto;display:flex;align-items:center;gap:14px}.distribution>span{font-size:11px;color:#8992a2;line-height:17px}.mini-chart{display:flex;align-items:end;gap:6px;height:43px}.mini-chart button{width:14px;padding:0;border:0;background:#c9d3e2;min-height:3px;border-radius:3px 3px 0 0}.mini-chart button.highlight{background:#ce6470}.filters{display:flex;align-items:center;gap:8px;margin-bottom:13px;flex-wrap:wrap}.search{width:260px;padding-left:13px}.filters select{font-size:12px;padding:8px 9px}.series-filter{margin-left:auto}.filter-chip{border:1px solid var(--line);padding:7px 11px;font-size:11px;border-radius:5px;background:white;color:#8992a3}.filter-chip strong{color:#45536a}.data-banner{border:1px solid #e1e6ef;border-radius:6px;background:#f0f3f9;color:#7b889c;padding:9px 13px;font-size:11px;display:flex;justify-content:space-between;margin-bottom:12px}.data-banner button{font-size:11px;border:0;padding:0;background:transparent;color:#41536c}.table-shell{border:1px solid var(--line);border-radius:8px;background:white;overflow:hidden}.table-scroll{overflow:auto;max-height:calc(100vh - 465px);min-height:255px;scrollbar-color:#bcc7d6 #f0f3f8;position:relative}.forecast-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.forecast-table th,.forecast-table td{border-right:1px solid #e2e7ef;border-bottom:1px solid #e5e9f0}.forecast-table th{position:sticky;top:0;background:#f4f6fa;z-index:5;font-weight:600;vertical-align:middle;color:#6f7b8f}.forecast-table th.product-cell{font-size:11px;letter-spacing:.3px;padding:16px;text-align:left}.forecast-table th.sold-cell,.forecast-table th.stock-cell{font-size:10px;line-height:15px;text-align:center}.forecast-table .product-cell{width:var(--product);min-width:var(--product);max-width:var(--product);position:sticky;left:0;z-index:3;background:white;box-shadow:2px 0 0 #edf0f5}.forecast-table .sold-cell{width:var(--sold);min-width:var(--sold);max-width:var(--sold);position:sticky;left:var(--product);z-index:3;background:white;text-align:center}.forecast-table .stock-cell{width:var(--stock);min-width:var(--stock);max-width:var(--stock);position:sticky;left:calc(var(--product) + var(--sold));z-index:3;background:white;text-align:center;box-shadow:4px 0 6px #2035530a}.forecast-table th.product-cell,.forecast-table th.sold-cell,.forecast-table th.stock-cell{z-index:7;background:#f4f6fa}.month-cell{width:127px;min-width:127px;text-align:center}.month-head{padding:12px 6px 10px}.month-title{font-size:12px;font-weight:750;color:#354257;line-height:22px}.month-totals{font-size:10px;line-height:16px;color:#8b96a8}.month-totals .month-qty{color:#5f6f88;font-weight:650}.series-row td{height:31px;background:#eef2f7;font-size:10px;color:#607089;letter-spacing:.6px;font-weight:750;padding:8px 14px;text-transform:uppercase}.series-row td.series-label{position:sticky;left:0;z-index:4}.product-row td{height:100px;padding:11px 9px;background:#fff}.product-row:hover td{background:#fafbfe}.product-row .product-cell{padding:10px 13px}.product-top{display:flex;justify-content:space-between;align-items:center;gap:7px}.product-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;gap:5px}.row-actions button{padding:3px 6px;font-size:10px;border-radius:5px;line-height:18px}.row-actions button.info{padding:3px 8px;font-family:serif;font-weight:800}.product-name{font-size:11px;margin:7px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#57647a}.product-prices{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600}.product-prices .sale-price{font-weight:450;color:#79869a}.flag{margin-left:auto;font-size:20px;line-height:18px}.stock-value{font-size:19px;font-weight:550;letter-spacing:-.5px}.empty-value{color:#a1abb9;font-size:17px}.projection{display:flex;justify-content:center;align-items:center;gap:6px;margin-bottom:7px;color:#8992a3;font-size:9px;line-height:11px}.projection strong{color:#6d7b90;font-size:12px;font-weight:650}.risk{width:15px;height:15px;display:grid;place-items:center;padding:0;font-size:10px;line-height:1;border-radius:50%;border:0}.risk.yellow{background:#fff3cf;color:#b97816}.risk.red{background:#ffe4e7;color:#c74252}.qty-wrap{display:flex;justify-content:center;align-items:center;gap:4px;min-height:32px}.qty-input{width:68px;height:31px;padding:5px;text-align:center;font-size:12px;color:#43536d}.qty-input.filled{font-weight:650;background:#fafbfd}.qty-warning{font-weight:800;font-size:11px;color:#bc741b;background:#fff2d6;border:0;width:16px;height:16px;border-radius:50%;padding:0}.month-cost{font-size:9px;color:#94a0b1;margin-top:6px;line-height:13px}.month-cost .tl{color:#8795a9}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;font-size:11px;color:#8995a6;background:#fff;gap:15px}.pagination{display:flex;align-items:center;gap:10px}.pagination button{padding:4px 10px;font-size:11px}.footer{display:flex;justify-content:space-between;padding:12px 0;color:#98a2b1;font-size:10px}.empty-state{background:white;border:1px dashed #d3dbe8;border-radius:12px;text-align:center;padding:65px 25px;margin-top:25px}.empty-state h2{font-size:22px}.empty-state p{color:var(--muted);line-height:22px}.file-icon{font-size:32px;color:#b3bdcd}.gate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:15px}.gate .wordmark{color:var(--navy)}.gate p{color:var(--muted)}.gate a{padding:12px 20px;border-radius:7px;background:var(--navy);color:white;font-weight:600}.gate h1{font-size:22px;margin:8px}.overlay{position:fixed;inset:0;background:#10203966;z-index:30;display:flex;align-items:center;justify-content:center;padding:25px;backdrop-filter:blur(2px)}.modal{background:white;border-radius:12px;width:min(660px,100%);max-height:88vh;overflow:auto;box-shadow:0 22px 70px #10203933}.modal-header{padding:22px 25px 17px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-header h2{font-size:20px;margin:0;letter-spacing:-.4px}.modal-header p{font-size:12px;color:#8993a3;margin:7px 0 0}.modal-header button{padding:3px 8px;font-size:18px;font-weight:400}.modal-body{padding:20px 25px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 25px;border-top:1px solid var(--line);position:sticky;bottom:0;background:white}.series-tools{display:flex;justify-content:space-between;gap:10px;padding-bottom:13px}.series-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.series-option{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:6px;font-size:11px}.series-option:has(input:checked){background:#f8f9fc}.series-option small{margin-left:auto;color:#a2acb9;font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{font-size:11px;color:#7d899a;display:flex;flex-direction:column;gap:7px}.form-grid .span2{grid-column:span 2}.form-grid input,.form-grid select{width:100%;font-size:12px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#f6f8fb;border-radius:8px;padding:18px}.info-grid dt{color:#8a94a5;font-size:11px;margin-bottom:7px}.info-grid dd{margin:0;font-size:16px;font-weight:600}.modal-note{font-size:11px;color:#8e99aa;line-height:18px;padding:13px 0}.warning-list{color:#a4641a;background:#fff7e7;padding:16px 26px;line-height:25px;border-radius:7px}.drawer-overlay{position:fixed;inset:0;background:#10203966;z-index:30}.drawer{background:white;width:270px;height:100%;padding:26px 20px;box-shadow:10px 0 50px #10203933}.drawer .wordmark{color:var(--navy);margin-bottom:32px}.drawer button.nav{display:block;width:100%;text-align:left;margin:7px 0;border:0;padding:13px;background:#f6f8fb;color:#54647c}.drawer button.nav.active{background:#f3e7e9;color:#b43949}.drawer .drawer-foot{font-size:11px;color:#9da7b5;position:absolute;bottom:30px;line-height:20px}.customs-list{background:white;border:1px solid var(--line);border-radius:8px;overflow:auto}.customs-list table{border-collapse:collapse;width:100%;font-size:12px}.customs-list th{background:#f4f6fa;text-align:left;color:#8a94a6;font-size:10px;text-transform:uppercase;letter-spacing:.6px;padding:15px}.customs-list td{padding:17px 15px;border-top:1px solid var(--line)}.status{padding:5px 9px;font-size:10px;border-radius:5px;background:#fff2d8;color:#9b7029;display:inline-block}.status.completed{background:#e7f4ee;color:#348362}.status.portal_pending{background:#e8edf7;color:#57749b}.customs-actions{display:flex;gap:6px}.customs-actions button{font-size:11px}.detail-table{border-collapse:collapse;width:100%;font-size:11px;margin:15px 0}.detail-table th,.detail-table td{text-align:left;padding:9px;border-bottom:1px solid var(--line)}.detail-table th{color:#8c97a9}.detail-table select{max-width:170px;font-size:11px}.settings-card{background:white;border:1px solid var(--line);border-radius:8px;padding:25px;max-width:850px}.settings-card dl{display:grid;grid-template-columns:200px 1fr;gap:20px}.settings-card dt{color:#8290a4}.settings-card dd{margin:0}.view-label{font-size:12px;color:#8b96a8}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#25354c;color:white;z-index:50;border-radius:7px;padding:12px 20px;max-width:80vw;box-shadow:0 5px 20px #20355030;display:none;font-size:12px}#toast.show{display:block}.month-focus{background:#f1f4fa!important}.distribution-panel{display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:12px;height:150px;padding:15px 10px;border-bottom:1px solid var(--line);background:#fff}.distribution-panel button{border:0;background:transparent;padding:0;display:flex;flex-direction:column;justify-content:end;height:125px;align-items:center;gap:7px;font-size:10px;color:#8895a8}.distribution-bar{width:75%;max-width:60px;border-radius:4px 4px 0 0;background:#8194b1;min-height:3px}.distribution-panel button.highlight .distribution-bar{background:#ce6470}.distribution-panel strong{color:#51647f;font-size:10px}.data-warning{color:#b77829;font-size:10px}@media(min-height:1000px){.table-scroll{max-height:calc(100vh - 465px)}}@media(max-width:1100px){.workspace{padding:18px}.topbar{padding:0 18px}.distribution{display:none}.control-card{gap:15px}.summary{gap:9px}.metric-value{font-size:20px}.title-actions{gap:5px}.title-actions button{font-size:11px}.growth .hint{display:none}.heading h1{font-size:23px}}@media(max-width:750px){.summary{grid-template-columns:1fr 1fr}.control-card{flex-wrap:wrap}.page-title{align-items:start;flex-direction:column}.top-right .user-name{display:none}.series-filter{margin-left:0}.search{width:100%}.series-list{grid-template-columns:1fr}.table-scroll{max-height:60vh}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}:root{--product:270px;--sold:70px;--stock:78px}.metric-value{font-size:20px}.footer{flex-direction:column;gap:7px}}
/* Dense, viewport-filling forecast layout. First three column offsets remain exact. */
:root{--product:260px;--sold:64px;--stock:68px;--month:80px}
.settings-card{margin-bottom:16px}.settings-card h2{margin:0 0 7px;font-size:18px}.settings-intro{color:#7d899a;font-size:12px;margin:0 0 20px}.lead-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.lead-grid label{position:relative;color:#6f7c90;font-size:11px}.lead-grid input{display:block;width:100%;margin-top:7px;padding-right:42px;font-size:14px;font-weight:650}.lead-grid label span{position:absolute;right:12px;bottom:10px;color:#98a3b3}.lead-example{background:#f4f6fa;border-radius:7px;color:#69778c;font-size:11px;line-height:19px;padding:12px 14px;margin-bottom:16px}.connection-settings{margin-top:0}
@media(max-width:750px){.lead-grid{grid-template-columns:1fr}}
[hidden]{display:none!important}.app-layout{min-height:100dvh;display:flex;flex-direction:column}.app-layout.forecast-layout{height:100dvh;min-height:0;overflow:hidden}.forecast-layout .topbar{height:51px;flex-shrink:0}.forecast-layout .preview-banner{flex-shrink:0;padding:5px}.forecast-layout .workspace{padding:13px 18px 0;flex:1;min-height:0;display:flex;flex-direction:column}.forecast-layout .breadcrumb{margin-bottom:7px;font-size:10px}.forecast-layout .page-title{margin-bottom:11px}.forecast-layout .heading h1{font-size:23px}.forecast-layout .heading .subtitle{font-size:10px;margin-top:3px}.forecast-layout .title-actions{gap:6px}.forecast-layout .title-actions button{font-size:11px;padding:7px 10px}.forecast-overview{flex-shrink:0}.forecast-layout .summary{margin-bottom:10px;gap:10px}.forecast-layout .metric{padding:10px 13px;min-height:81px}.forecast-layout .metric-value{font-size:21px;margin-top:6px}.forecast-layout .metric-label{font-size:10px}.forecast-layout .metric-foot{font-size:10px;margin-top:4px}.forecast-layout .control-card{padding:8px 12px;margin-bottom:10px;gap:16px}.forecast-layout .control-card label{font-size:10px;margin-bottom:4px}.forecast-layout .rate-mode button{font-size:11px;padding:6px 8px}.forecast-layout .filters{margin-bottom:8px;gap:6px;flex-shrink:0}.forecast-layout .filters input,.forecast-layout .filters select,.forecast-layout .filters button{font-size:11px}.forecast-layout .data-banner{margin-bottom:8px;padding:7px 10px;font-size:10px;flex-shrink:0}.forecast-layout .table-shell{flex:1;min-height:0;display:flex;flex-direction:column}.forecast-layout .table-scroll{flex:1;min-height:0;max-height:none}.forecast-layout .table-footer{padding:8px 11px;font-size:10px;flex-shrink:0}.forecast-layout .footer{flex-shrink:0;padding:8px 0;font-size:9px}.forecast-table{width:100%;min-width:calc(var(--product) + var(--sold) + var(--stock) + 12 * var(--month))}.forecast-table .col-product{width:var(--product)}.forecast-table .col-sold{width:var(--sold)}.forecast-table .col-stock{width:var(--stock)}.forecast-table .month-cell{width:auto;min-width:var(--month)}.forecast-table th.product-cell{padding:12px}.month-head{padding:9px 3px}.month-title{font-size:11px;line-height:20px}.month-totals{font-size:9px;line-height:14px}.product-row td{height:80px;padding:8px 3px}.product-row .product-cell{padding:8px 10px}.product-code{font-size:10px}.product-name{font-size:10px;margin:5px 0;line-height:14px}.product-prices{font-size:11px;gap:7px}.product-prices .sale-price{font-size:10px}.row-actions button{font-size:9px;line-height:16px;padding:2px 5px}.row-actions button.info{padding:2px 7px}.stock-value{font-size:17px}.projection{font-size:8px;gap:4px;margin-bottom:4px}.projection strong{font-size:11px}.qty-input{width:49px;height:28px;font-size:11px;padding:3px}.qty-wrap{gap:3px;min-height:28px}.qty-warning,.risk{width:13px;height:13px;font-size:9px}.month-cost{font-size:8px;line-height:11px;margin-top:4px}.month-cost .tl{display:block}.series-row td{height:25px;padding:6px 10px;font-size:9px}.distribution-toggle{display:flex;gap:2px;border:1px solid var(--line);border-radius:5px;padding:2px;background:white}.distribution-toggle button{border:0;padding:4px 9px;font-size:10px;background:transparent}.distribution-toggle button.active,.distribution-toggle button[aria-pressed=true]{background:#f3e6e9;color:#a93645}.distribution{gap:10px}.distribution-caption{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7b889a;padding:7px 12px 0}.distribution-expanded{flex-shrink:0;border-bottom:1px solid var(--line)}.distribution-panel{height:119px;border-bottom:0;padding:5px 10px;gap:7px}.distribution-panel button{height:108px;font-size:9px;gap:5px}.distribution-panel strong{font-size:9px;font-weight:550}.mini-chart .incomplete,.distribution-panel .incomplete .distribution-bar{background:repeating-linear-gradient(45deg,#9caeca,#9caeca 4px,#d4deec 4px,#d4deec 7px)}.distribution-missing{padding:0 12px 8px;font-size:10px;color:#a2742e}.table-focus .topbar,.table-focus .preview-banner,.table-focus .breadcrumb,.table-focus .heading .subtitle,.table-focus .forecast-overview,.table-focus .data-banner,.table-focus .footer,.table-focus .distribution-expanded{display:none!important}.table-focus.forecast-layout .workspace{padding:10px 12px 8px}.table-focus.forecast-layout .page-title{margin-bottom:8px}.table-focus.forecast-layout .heading h1{font-size:19px}.table-focus .table-footer{padding:6px 9px}.table-focus .save-state{font-size:10px}.table-focus .series-filter{margin-left:auto}@media(max-width:1100px){.forecast-layout .distribution{display:flex}.forecast-layout .growth .hint{display:none}.forecast-layout .control-card{gap:10px;flex-wrap:wrap}.forecast-layout .save-state{display:none}.forecast-layout .title-actions{flex-wrap:wrap}.forecast-layout .page-title{gap:12px}}@media(max-width:750px){:root{--product:220px;--sold:58px;--stock:60px}.app-layout.forecast-layout{height:auto;min-height:100dvh;overflow:visible}.forecast-layout .table-scroll{max-height:70dvh;min-height:320px}.forecast-layout .page-title{align-items:stretch;gap:8px}.forecast-layout .title-actions{justify-content:flex-start}.forecast-layout .distribution{margin-left:0}.forecast-layout .summary{grid-template-columns:1fr 1fr}.table-focus.forecast-layout{height:100dvh;min-height:0}.table-focus.forecast-layout .workspace{min-height:0}.table-focus.forecast-layout .table-scroll{max-height:none;min-height:0}.table-focus .filters .search{width:180px}.table-focus .filters{flex-wrap:wrap}}
