:root{--blue:#1f5eff;--blue-deep:#1746bf;--blue-tint:#eaf0ff;--ink:#1e2430;--ink-2:#3b4453;--steel:#6e7684;--line:#dde2ea;--paper:#f6f8fb;--head:#2b3445;--white:#fff;--amber:#c97a00;--green:#1e8a5a;--red:#d6304a;--red-tint:#fdecef;--amber-tint:#fff4e0;--green-tint:#e4f5ec;--teal:#0e8a8a;--violet:#6b4fd8}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}#root{flex-direction:column;min-height:100vh;display:flex}html{scrollbar-gutter:stable;overflow-y:scroll}body{background:var(--paper);color:var(--ink);flex-direction:column;min-height:100vh;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px;line-height:1.45;display:flex}button,input,select{font:inherit}svg.i{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.site-header{background:var(--white);border-bottom:1px solid var(--line);z-index:20;width:100%;padding:0 max(20px,env(safe-area-inset-left)) 0 max(20px,env(safe-area-inset-right));flex:none;position:sticky;top:0;container:header/inline-size}.header-inner{flex-wrap:nowrap;align-items:center;gap:10px 16px;width:100%;max-width:none;min-height:72px;margin:0;padding:0;display:flex}.site-header .logo{cursor:pointer;flex:none;min-width:0;line-height:1}.logo .w{letter-spacing:-.5px;font-family:IBM Plex Sans Condensed,sans-serif;font-size:26px;font-weight:700}.logo .w span{color:var(--blue)}.logo small{color:var(--ink-2);letter-spacing:.2px;margin-top:4px;font-size:13px;font-weight:500;display:block}.site-header .user{flex-wrap:nowrap;flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.site-header .header-nav{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-width:0;padding:4px 0;display:flex;overflow:auto hidden}.site-header .header-nav::-webkit-scrollbar{height:4px}.site-header .header-nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}@container header (width<=1120px){.header-inner{flex-wrap:wrap;row-gap:8px;padding-bottom:10px}.site-header .header-nav{border-top:1px solid var(--line);flex:100%;order:3;justify-content:flex-start;margin:0 -4px;padding:8px 0 2px}.site-header .user{margin-left:auto}}nav button,nav a,.header-nav a{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:none;align-items:center;gap:6px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}nav button:hover,nav a:hover,.header-nav a:hover{background:var(--paper)}nav button.active,nav a.active,.header-nav a.active{background:var(--blue);color:#fff}.nav-toggle{border:1px solid var(--line);background:var(--white);cursor:pointer;color:var(--ink-2);border-radius:6px;align-items:center;gap:8px;margin-right:4px;padding:8px 12px;font-size:13px;font-weight:500;display:none}.nav-toggle-bars{background:linear-gradient(var(--ink-2),var(--ink-2)) center/100% 2px no-repeat,linear-gradient(var(--ink-2),var(--ink-2)) top/100% 2px no-repeat,linear-gradient(var(--ink-2),var(--ink-2)) bottom/100% 2px no-repeat;width:18px;height:12px;display:block}.nav-backdrop{display:none}.avatar{background:var(--blue-tint);width:34px;height:34px;color:var(--blue-deep);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.user .who{line-height:1.2}.user .who b{font-weight:600;display:block}.user .who span{color:var(--steel);font-size:12px}.profile-dd{flex:none;position:relative}.profile-trigger{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:6px;align-items:center;gap:10px;max-width:100%;padding:5px 10px 5px 5px;display:flex}.profile-trigger:hover{border-color:var(--ink-2)}.profile-chev{width:16px;height:16px;color:var(--steel);transition:transform .15s}.profile-trigger[aria-expanded=true] .profile-chev{transform:rotate(180deg)}.profile-menu{border:1px solid var(--line);z-index:60;background:#fff;border-radius:8px;min-width:220px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 40px #1e24301f}.profile-menu-head{border-bottom:1px solid var(--line);padding:12px 16px;line-height:1.3}.profile-menu-head b{font-weight:600;display:block}.profile-menu-head span{color:var(--steel);font-size:12px}.profile-menu-item{cursor:pointer;width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:11px 16px;font-weight:500;display:flex}.profile-menu-item:hover{background:var(--paper)}:is(nav button,nav a,.header-nav a,.nav-toggle,.profile-trigger,.profile-menu-item,.btn,.card,.sub button,.acc-h,.chip):focus-visible{outline:2px solid var(--blue);outline-offset:2px}main{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:28px 32px}footer{border-top:1px solid var(--line);background:var(--white);color:var(--steel);text-align:center;padding:14px 32px;font-size:12px}footer b{color:var(--ink-2);font-weight:600}.tab{display:none}.tab.active{display:block}footer{flex:none}h1{margin-bottom:20px;font-family:IBM Plex Sans Condensed,sans-serif;font-size:28px;font-weight:700;line-height:1.1}h2{margin-bottom:12px;font-size:16px;font-weight:600}.panel{background:var(--white);border:1px solid var(--line);border-radius:6px;margin-bottom:24px;overflow:hidden}.panel-h{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:14px 20px;display:flex}.panel-h h2{margin:0}.panel-h .hint{color:var(--steel);font-size:13px}.panel-h .right{align-items:center;gap:8px;margin-left:auto;display:flex}.formula{background:var(--blue-tint);border-left:4px solid var(--blue);color:var(--ink-2);padding:12px 20px;font-size:13px}.formula code{color:var(--ink);font-family:inherit;font-weight:600}table{border-collapse:collapse;width:100%}th{text-align:center;color:#fff;background:var(--head);white-space:nowrap;vertical-align:bottom;padding:11px 12px;font-size:12px;font-weight:600}th:first-child,td:first-child{text-align:left}th .src{color:#b9c2d0;font-size:11px;font-weight:400;display:block}td{border-bottom:1px solid var(--line);vertical-align:middle;text-align:center;font-variant-numeric:tabular-nums;padding:11px 12px}tr:last-child td{border-bottom:0}table.compact td{padding:6px 12px}table.compact input{padding:3px 6px}td .sku{font-weight:600}td .name,.eta{color:var(--steel);font-size:12px}.status{white-space:nowrap;border-radius:3px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.s-now,.s-risk{background:var(--red);color:#fff}.s-soon,.s-tight{background:var(--amber-tint);color:#8a5700}.s-ok{background:var(--green-tint);color:#1f6b41}.neg{color:var(--red);font-weight:600}tr.now td{background:#fff7f8}.btn{border:1px solid var(--blue-deep);background:var(--blue-deep);color:#fff;cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:7px 14px;font-weight:500;display:inline-flex}.btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}select,input[type=text],input[type=number]{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:4px;padding:7px 10px}.cards{grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;display:grid}.card{background:var(--white);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:10px;min-height:200px;padding:30px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.card:hover{border-color:var(--c);transform:translateY(-3px);box-shadow:0 10px 24px #1e243014}.card .ic{background:color-mix(in srgb,var(--c) 12%,#fff);width:52px;height:52px;color:var(--c);border-radius:12px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.card .ic svg{width:26px;height:26px}.card h3{font-family:IBM Plex Sans Condensed,sans-serif;font-size:22px;font-weight:700;line-height:1.15}.card p{color:var(--steel);font-size:13.5px}.sub{border-bottom:1px solid var(--line);gap:4px;margin-bottom:20px;display:flex}.sub button{color:var(--steel);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px}.sub button.active{color:var(--blue-deep);border-bottom-color:var(--blue);font-weight:600}.subpane{display:none}.subpane.active{display:block}.bar{background:var(--paper);border-radius:2px;min-width:160px;height:10px;position:relative}.bar i{background:var(--green);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.bar i.tight{background:var(--amber)}.bar i.risk{background:var(--red)}.bar em{background:var(--ink);width:2px;position:absolute;top:-4px;bottom:-4px}.lookup{align-items:center;gap:10px;padding:20px 20px 12px;display:flex}.lookup input{flex:1;max-width:420px;padding:10px 12px;font-size:15px}.chips{border-bottom:1px solid var(--line);color:var(--steel);flex-wrap:wrap;align-items:center;gap:6px;padding:0 20px 18px;font-size:12px;display:flex}.chip{border:1px solid var(--line);background:var(--white);cursor:pointer;color:var(--ink);border-radius:14px;padding:3px 10px;font-size:12px}.chip:hover{border-color:var(--blue);color:var(--blue)}.pick{background:var(--blue-tint)}.pick td:first-child{border-left:4px solid var(--blue)}.tag{border-radius:3px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.tag.pick{background:var(--blue);color:#fff;margin:0}.tag.age{background:var(--amber-tint);color:#8a5700}.empty{color:var(--steel);text-align:center;padding:40px 20px}.setting{border-bottom:1px solid var(--line);grid-template-columns:260px 1fr;align-items:center;gap:16px;padding:16px 20px;display:grid}.setting:last-child{border-bottom:0}.setting .d{color:var(--steel);margin-top:2px;font-size:12px}.setting input{text-align:right;width:90px}.upbar{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:14px;padding:12px 20px;display:flex}.upbar .zone{color:var(--steel);background:#fff;border:1px dashed #b9c2d0;border-radius:6px;flex:1;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex}.upbar .zone.over{border-color:var(--blue);background:var(--blue-tint)}.upbar .zone .ok{color:var(--green);margin-left:auto;font-weight:500}.upbar .cols{color:var(--steel);font-size:12px}.acc-h{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;grid-template-columns:1.4fr 1fr 1fr 1fr 40px;align-items:center;padding:12px 20px;display:grid}.acc-h:hover{background:var(--paper)}.acc-h>*{text-align:center}.acc-h>:first-child{text-align:left}.acc-h .chev{transition:transform .15s}.acc-h[aria-expanded=true] .chev{transform:rotate(180deg)}.acc-head{background:var(--head);color:#fff;grid-template-columns:1.4fr 1fr 1fr 1fr 40px;padding:11px 20px;font-size:12px;font-weight:600;display:grid}.acc-head>*{text-align:center}.acc-head>:first-child{text-align:left}.acc-b{background:var(--paper);border-bottom:1px solid var(--line);display:none}.acc-b.open{display:block}.acc-b table th{color:var(--ink-2);background:#e4e8ef}.acc-b table{margin:0}.backdrop{z-index:50;background:#1e243073;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.backdrop.open{display:flex}.modal{background:#fff;border-radius:8px;width:420px;max-width:92vw;padding:24px;box-shadow:0 20px 50px #0003}.modal h2{margin-bottom:18px}.modal label{color:var(--ink-2);margin-bottom:14px;font-size:13px;display:block}.modal label input,.modal label select{width:100%;margin-top:5px;display:block}.modal .row{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}.cards{grid-template-columns:repeat(3,1fr);max-width:1200px}.card{min-height:150px}.card p{font-size:14px}.lt-in{text-align:center;width:62px;padding:4px 6px}.exp{cursor:pointer;color:var(--steel);background:0 0;border:0;padding:4px}.exp svg{transition:transform .15s}.exp[aria-expanded=true] svg{transform:rotate(180deg)}tr.detail td{background:var(--paper);border-bottom:1px solid var(--line);padding:0}.detail-in{grid-template-columns:1fr 1fr;gap:0;display:grid}.detail-in>div{padding:14px 20px}.detail-in>div:first-child{border-right:1px solid var(--line)}.detail-in h4{text-transform:uppercase;letter-spacing:.4px;color:var(--steel);margin-bottom:8px;font-size:12px}.line{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;display:flex}.line:last-child{border-bottom:0}.line .l{text-align:left}.line .r{text-align:right;white-space:nowrap}.line .mut{color:var(--steel);font-size:12px}.net{border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:18px;font-size:13px;display:flex}.net b.neg{color:var(--red)}.net b.pos{color:var(--green)}.s-safety{background:var(--blue-tint);color:var(--blue-deep)}.stage{border:1px solid var(--line);background:#fff;border-radius:4px;padding:4px 8px}.stage.conf{border-color:var(--green);color:var(--green);font-weight:600}.alloc{font-size:12px}.alloc.bad{color:var(--red);font-weight:600}.lead-q{text-align:center;width:60px;padding:4px 6px}.reason{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:2px 8px;font-size:11px;display:inline-block}.reason.ld{background:var(--green-tint);color:#1f6b41;border-color:#0000}.lnk{color:var(--blue-deep);cursor:pointer;text-underline-offset:3px;font-weight:600;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.modal.wide{width:720px}.modal table th{font-size:11px}.modal .sect{text-transform:uppercase;letter-spacing:.4px;color:var(--steel);margin:16px 0 6px;font-size:12px}input[type=date]{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:4px;padding:4px 6px;font-size:13px}.badge{background:var(--green);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}nav button.active .badge,nav a.active .badge{color:var(--blue-deep);background:#fff}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll table{min-width:640px}.table-scroll--wide table{min-width:1040px}.table-scroll--po table{min-width:720px}.fld-search{width:260px;min-width:0;max-width:100%}.fld-search--sm{width:240px;min-width:0;max-width:100%}.panel-h .right .fld-search,.panel-h .right .fld-search--sm,.panel-h .right select,.panel-h .right .btn{flex:0 auto;min-width:0}@media (width<=1200px){.cards{grid-template-columns:repeat(2,1fr);max-width:100%}main{padding:24px}nav button,nav a{padding:9px 11px;font-size:13px}}@media (width<=1024px){h1{font-size:24px}}@media (width<=900px){.site-header{padding:0 max(16px,env(safe-area-inset-left)) 0 max(16px,env(safe-area-inset-right))}.profile-trigger .who{display:none}.logo .w{font-size:22px}main{padding:16px max(16px,env(safe-area-inset-left)) 20px max(16px,env(safe-area-inset-right))}footer{padding:14px 16px}.cards{grid-template-columns:1fr}.card{min-height:120px;padding:22px 20px}.setting{grid-template-columns:1fr;gap:10px}.setting input{width:100%;max-width:120px}.panel-h{flex-wrap:wrap;align-items:flex-start;gap:10px 12px;padding:12px 16px}.panel-h h2{flex:100%;margin-bottom:0}.panel-h .hint{flex:100%;font-size:12px;line-height:1.4}.panel-h .right{flex-wrap:wrap;gap:8px;width:100%;margin-left:0}.panel-h .right .fld-search,.panel-h .right .fld-search--sm{flex:100%;width:100%}.panel-h .right select{flex:calc(50% - 4px);min-width:140px}.panel-h .right .btn{flex:auto}.formula{padding:12px 16px;font-size:12px;line-height:1.5}.lookup{flex-wrap:wrap;padding:16px}.lookup input{flex:100%;width:100%;max-width:none}.lookup .btn{flex:calc(50% - 5px)}.upbar{flex-wrap:wrap;padding:12px 16px}.upbar .zone{flex-wrap:wrap;width:100%;font-size:12px}.upbar .btn{justify-content:center;width:100%}.chips{padding:0 16px 14px}.modal.wide{width:calc(100vw - 32px);max-height:min(90vh,720px);margin:16px;overflow-y:auto}.modal{max-height:90vh;padding:20px 16px;overflow-y:auto}.acc-head,.acc-h{min-width:520px}#stockAcc,.acc-head{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=768px){.nav-toggle{display:inline-flex}.header-inner{flex-wrap:nowrap;min-height:60px;padding:8px 12px}.site-header .header-nav:not(.is-open){display:none}.site-header .header-nav.is-open{top:var(--site-header-height,60px);z-index:40;border-top:1px solid var(--line);background:var(--white);flex-direction:column;flex:auto;order:0;align-items:stretch;gap:4px;margin:0;padding:12px 16px 24px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden auto;box-shadow:0 12px 40px #1e24301f}.site-header .header-nav.is-open a{justify-content:flex-start;width:100%;min-height:48px;padding:12px 14px;font-size:15px}.nav-backdrop{z-index:35;cursor:pointer;background:#1e243059;border:0;display:block;position:fixed;inset:0}}@media (width<=600px){body{font-size:13px}h1{margin-bottom:14px;font-size:21px}.site-header .header-nav a{padding:12px 14px;font-size:14px}nav a,nav button{min-height:44px;padding:10px 12px;font-size:13px}.badge{min-width:18px;height:18px;font-size:10px}.btn{justify-content:center;min-height:44px;padding:10px 14px}.card h3{font-size:19px}.panel-h .right select{flex:100%}.panel-h .right .btn{width:100%}.upbar .zone .ok{text-align:left;flex:100%;margin-top:6px;margin-left:0}.backdrop{align-items:flex-end;padding:0}.backdrop.open .modal,.backdrop.open .modal.wide{border-radius:12px 12px 0 0;width:100%;max-width:100%;max-height:85vh;margin:0}.modal .row{flex-wrap:wrap}.modal .row .btn{flex:calc(50% - 4px)}table th,table td{padding:9px 8px;font-size:12px}th .src{font-size:10px}.chip{min-height:32px;padding:6px 12px}}@media (width<=380px){.logo small{font-size:11px}.logo .w{font-size:20px}.nav-toggle-text{display:none}.site-header .user{gap:6px}}
