:root{--bg:#f2f5f4;--surface:#fff;--surface-muted:#f7f9f8;--border:#e2e8e5;--border-strong:#cdd7d3;--text:#12201c;--text-secondary:#4f5d58;--text-muted:#6b7873;--brand-950:#082a24;--brand-900:#0b3830;--brand-700:#10584a;--brand-500:#14866d;--brand-300:#5fc8ab;--brand-100:#e2f3ee;--radius-sm:8px;--radius:14px;--radius-lg:18px;--shadow-sm:0 1px 2px #0c2a240f;--shadow:0 1px 2px #0c2a240d, 0 6px 18px #0c2a240f;--shadow-lg:0 2px 4px #0c2a240f, 0 16px 36px #0c2a241f;--ease:cubic-bezier(.2, .7, .2, 1);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--brand-700)}:focus-visible{outline:3px solid var(--brand-300);outline-offset:2px}.shell{max-width:1240px;margin:0 auto;padding:28px 20px 64px}.note{color:var(--text-secondary);max-width:44rem;line-height:1.6}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.rise{animation:rise .45s var(--ease) both}.spin{animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app-header{background:linear-gradient(105deg, var(--brand-950) 0%, var(--brand-900) 45%, var(--brand-700) 100%);color:#fff;z-index:20;position:sticky;top:0;box-shadow:0 6px 20px #082a2438}.app-header-inner{align-items:center;gap:1.25rem;max-width:1240px;min-height:60px;margin:0 auto;padding:0 20px;display:flex}.app-brand{color:#fff;flex:none;align-items:center;gap:.6rem;text-decoration:none;display:flex}.app-brand-mark{background:linear-gradient(135deg, var(--brand-300), var(--brand-500));letter-spacing:.04em;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff40}.app-brand-text{letter-spacing:.01em;font-size:1.02rem;font-weight:700}.app-nav{scrollbar-width:none;flex:1;gap:.25rem;min-width:0;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav-pill{color:#ffffffc7;transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);border-radius:999px;flex:none;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex}.app-nav-pill:hover{color:#fff;background:#ffffff1f}.app-nav-pill:active{transform:scale(.97)}.app-nav-pill[aria-current=page]{color:var(--brand-900);background:#fff;font-weight:650;box-shadow:0 2px 8px #0000002e}.app-nav-dot{border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 2px #ffffff59}.app-user{flex:none;align-items:center;gap:.6rem;margin-left:auto;display:flex}.app-avatar{background:#ffffff24;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:700;display:inline-flex}.app-user-text{line-height:1.2;display:grid}.app-user-name{font-size:.88rem;font-weight:600}.app-user-role{color:#ffffffb3;font-size:.76rem}.app-logout{color:#fff;cursor:pointer;font:inherit;transition:background .18s var(--ease);background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.85rem;display:inline-flex}.app-logout:hover{background:#ffffff2e}@media (max-width:760px){.app-header-inner{flex-wrap:wrap;gap:.5rem .75rem;padding:.5rem 14px}.app-brand-text,.app-user-text{display:none}.app-nav{flex-basis:100%;order:3;padding-bottom:.25rem}.app-logout span{display:none}}.page-hero{margin-bottom:1.5rem}.page-hero h1{letter-spacing:-.01em;margin:.15rem 0 .35rem;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.2}.page-eyebrow{color:var(--brand-500);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:650}.page-sub{color:var(--text-muted);margin:0}.overview-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.empty-state{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-secondary);padding:1.25rem}.btn-primary{background:linear-gradient(135deg, var(--brand-700), var(--brand-900));box-shadow:var(--shadow);color:#fff;cursor:pointer;font:inherit;transition:transform .18s var(--ease), box-shadow .18s var(--ease);border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-weight:600;display:inline-flex}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-primary:disabled{cursor:wait;opacity:.75;transform:none}.wh-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.wh-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:inherit;height:100%;transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);gap:1rem;padding:1.15rem 1.25rem 1rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.wh-card:before{background:var(--wh-accent,var(--brand-500));content:"";height:4px;position:absolute;inset:0 0 auto}.wh-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.wh-card:active{transform:translateY(-1px)}.wh-accent-0{--wh-accent:#2a78d6}.wh-accent-1{--wh-accent:#eb6834}.wh-accent-2{--wh-accent:#1baf7a}.wh-accent-3{--wh-accent:#eda100}.wh-accent-4{--wh-accent:#e87ba4}.wh-accent-5{--wh-accent:#008300}.wh-accent-6{--wh-accent:#4a3aa7}.wh-accent-7{--wh-accent:#e34948}.wh-card-head{align-items:center;gap:.7rem;display:flex}.wh-icon{background:var(--brand-700);color:#fff;border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.wh-name{font-size:1.12rem}.wh-badge{white-space:nowrap;border-radius:999px;margin-left:auto;padding:.25rem .6rem;font-size:.78rem;font-weight:650}.wh-badge-ok{color:#1d6b33;background:#e6f5ea}.wh-badge-warning{color:#7a5200;background:#fff3d6}.wh-badge-critical{color:#a12a2a;background:#fde8e7}.wh-body{align-items:center;gap:1.1rem;display:flex}.wh-ring{flex:none}.wh-ring-track{stroke:#edf1ef}.wh-ring-fill{transition:stroke-dasharray .8s var(--ease)}.wh-ring-text{fill:var(--text);font-size:13px;font-weight:700}.wh-facts{gap:.35rem;min-width:0;display:grid}.wh-fact{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.9rem;display:flex}.wh-fact svg{color:var(--text-muted);flex:none}.wh-fact-muted{color:var(--text-muted);font-size:.84rem}.wh-open{border-top:1px solid var(--border);color:var(--brand-700);justify-content:flex-end;align-items:center;gap:.35rem;padding-top:.75rem;font-weight:650;display:flex}.wh-open svg{transition:transform .22s var(--ease)}.wh-card:hover .wh-open svg{transform:translate(4px)}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,#e9eeec 0%,#f6f8f7 40%,#e9eeec 80%) 0 0/800px 100%;animation:1.3s linear infinite shimmer}.skeleton-card{height:190px}.skeleton-band,.skeleton-tile{height:110px}.login-shell{background:var(--bg);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.login-panel{flex-direction:column;justify-content:center;padding:clamp(1.5rem,5vw,4rem);display:flex}.login-brand-panel{background:radial-gradient(circle at 15% 10%, #5fc8ab38, transparent 45%), radial-gradient(circle at 90% 85%, #14866d59, transparent 50%), linear-gradient(150deg, var(--brand-950) 0%, var(--brand-900) 55%, var(--brand-700) 100%);color:#fff;gap:1.75rem;position:relative;overflow:hidden}.login-brand-panel:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.login-brand-panel>*{position:relative}.login-brand{align-items:center;gap:.7rem;display:flex}.login-brand .app-brand-mark{width:42px;height:42px;font-size:.95rem}.login-brand-text{letter-spacing:.01em;font-size:1.2rem;font-weight:700}.login-pitch .login-pitch-title{color:#fff;letter-spacing:-.015em;max-width:22ch;margin:0 0 .6rem;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700;line-height:1.15}.login-pitch p{color:#ffffffc7;max-width:40ch;margin:0;font-size:1.02rem;line-height:1.55}.login-illustration{filter:drop-shadow(0 18px 30px #00000047);width:100%;max-width:30rem;height:auto;display:block}.ill-post{fill:#8fb9ad}.ill-beam{fill:#f0a24a}.ill-pallet{fill:#a87a4a}.ill-box{stroke:#0000001f;stroke-width:1px}.ill-floor{fill:#ffffff2e}.ill-tag{fill:#fff}.ill-tag-text{fill:var(--brand-900);font-size:11px;font-weight:700}.ill-qr-card{fill:#fff}.ill-qr-dot{fill:var(--brand-950)}.ill-scan{fill:#ff5a4f;opacity:.85;animation:2.4s ease-in-out infinite alternate scan}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(50px)}}.login-features{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.login-features li{color:#ffffffe6;align-items:center;gap:.75rem;display:flex}.login-feature-icon{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.login-form-panel{background:var(--bg);align-items:center;gap:1rem}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:27rem;padding:clamp(1.5rem,4vw,2.25rem)}.login-card h1{letter-spacing:-.01em;margin:.25rem 0 .4rem;font-size:1.6rem}.login-hint{color:var(--text-muted);margin:0 0 1.4rem;font-size:.92rem;line-height:1.5}.login-form{gap:1.05rem;display:grid}.login-field{gap:.45rem;display:grid}.login-label{font-size:.9rem;font-weight:600}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.85rem}.login-input-wrap input{background:var(--surface-muted);border:1.5px solid var(--border-strong);color:var(--text);font:inherit;transition:border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);border-radius:12px;width:100%;padding:.8rem 2.9rem .8rem 2.6rem}.login-input-wrap input:hover{border-color:var(--brand-300)}.login-input-wrap input:focus{background:var(--surface);border-color:var(--brand-500);outline:none;box-shadow:0 0 0 4px #14866d26}.login-reveal{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;right:.4rem}.login-reveal:hover{background:var(--brand-100);color:var(--brand-700)}.login-submit{background:linear-gradient(135deg, var(--brand-500), var(--brand-900));color:#fff;cursor:pointer;font:inherit;transition:transform .18s var(--ease), box-shadow .18s var(--ease);border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;margin-top:.35rem;padding:.85rem 1rem;font-size:1rem;font-weight:650;display:inline-flex;box-shadow:0 8px 20px #10584a47}.login-submit:hover{transform:translateY(-1px);box-shadow:0 12px 26px #10584a5c}.login-submit:disabled{cursor:wait;opacity:.8;transform:none}.login-submit svg:last-child{transition:transform .18s var(--ease)}.login-submit:hover svg:last-child{transform:translate(3px)}.login-caps{color:#7a5200;background:#fff8e9;border-radius:10px;margin:0;padding:.55rem .75rem;font-size:.88rem}.login-error{color:#8a1c13;background:#fdf1f0;border:1px solid #f5c9c5;border-radius:10px;margin:0;padding:.65rem .8rem}.login-footnote{color:var(--text-muted);text-align:center;margin:0;font-size:.85rem}@media (max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand-panel{gap:1rem;padding-bottom:1.5rem}.login-illustration,.login-features{display:none}.login-pitch .login-pitch-title{font-size:1.45rem}.login-form-panel{justify-content:flex-start;padding-top:1.5rem}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.viz-root{--viz-surface:var(--surface);--viz-text:var(--text);--viz-text-secondary:var(--text-secondary);--viz-muted:var(--text-muted);--viz-grid:#e6ebe8;--viz-axis:#c9d2ce;--viz-track:#edf1ef}.viz-series-0{fill:#2a78d6;background:#2a78d6}.viz-series-1{fill:#eb6834;background:#eb6834}.viz-series-2{fill:#1baf7a;background:#1baf7a}.viz-series-3{fill:#eda100;background:#eda100}.viz-series-4{fill:#e87ba4;background:#e87ba4}.viz-series-5{fill:#008300;background:#008300}.viz-series-6{fill:#4a3aa7;background:#4a3aa7}.viz-series-7{fill:#e34948;background:#e34948}.viz-stroke-0{stroke:#2a78d6}.viz-stroke-1{stroke:#eb6834}.viz-stroke-2{stroke:#1baf7a}.viz-stroke-3{stroke:#eda100}.viz-stroke-4{stroke:#e87ba4}.viz-stroke-5{stroke:#008300}.viz-stroke-6{stroke:#4a3aa7}.viz-stroke-7{stroke:#e34948}.overview-muted{color:var(--viz-muted);font-size:.9rem}.overview-note{color:var(--viz-muted);text-align:center;margin-top:1.5rem;font-size:.85rem}.overview-body{transition:opacity .2s var(--ease);gap:1.25rem;display:grid}.overview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;transition:box-shadow .22s var(--ease);padding:1.25rem 1.35rem}.overview-card:hover{box-shadow:var(--shadow-lg)}.overview-card h2{margin:0 0 .85rem;font-size:1.05rem}.overview-card a{color:var(--brand-700);white-space:nowrap;font-weight:600}.overview-ok{color:var(--viz-text-secondary);margin:0}.title-with-icon{align-items:center;gap:.5rem;display:inline-flex}.title-with-icon>svg{background:var(--brand-100);box-sizing:content-box;color:var(--brand-700);border-radius:8px;flex:none;padding:5px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.9rem;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform .22s var(--ease), box-shadow .22s var(--ease);padding:1.05rem 1.25rem;position:relative}.stat-tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-icon{background:var(--brand-100);color:var(--brand-700);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:1rem;right:1rem}.stat-label{color:var(--viz-text-secondary);margin:0;padding-right:2.5rem;font-size:.9rem}.stat-value{letter-spacing:-.01em;margin:.3rem 0;font-size:2rem;font-weight:700;line-height:1.2}.stat-detail{color:var(--viz-muted);margin:.2rem 0 0;font-size:.85rem}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1.25rem;display:grid}.chart-wide{grid-column:1/-1}.warehouse-key{align-items:center;gap:.4rem;display:inline-flex}.viz-figure{margin:0}.viz-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;font-size:.98rem;font-weight:650;display:flex}.viz-toggle{background:var(--surface-muted);border:1px solid var(--border);color:var(--viz-text-secondary);cursor:pointer;font:inherit;transition:background .18s var(--ease);border-radius:999px;flex:none;padding:.25rem .7rem;font-size:.8rem;font-weight:500}.viz-toggle:hover{background:var(--brand-100)}.viz-legend{color:var(--viz-text-secondary);flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.viz-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.viz-plot{position:relative;overflow:hidden}.viz-plot svg{max-width:100%;display:block}.viz-grid{stroke:var(--viz-grid);stroke-width:1px}.viz-baseline{stroke:var(--viz-axis);stroke-width:1px}.viz-tick{fill:var(--viz-muted);font-variant-numeric:tabular-nums;font-size:11px}.viz-value{fill:var(--viz-text);font-size:11px;font-weight:600}.viz-hit{cursor:default;fill:#0000;outline:none}.viz-hit:hover,.viz-hit:focus-visible{fill:#10584a0f}.viz-tooltip{background:var(--viz-surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);pointer-events:none;border-radius:10px;padding:.55rem .7rem;font-size:.85rem;position:absolute;top:0}.viz-tooltip p{margin:0}.viz-tooltip .viz-tooltip-title{color:var(--viz-text-secondary);margin-bottom:.25rem}.viz-tooltip-row{color:var(--viz-text-secondary);align-items:center;gap:.4rem;display:flex}.viz-tooltip-row strong{color:var(--viz-text)}.viz-key{border-radius:1px;flex:none;width:12px;height:3px;display:inline-block}.fill-chart{gap:.9rem;display:grid}.fill-row{border-radius:var(--radius-sm);transition:background .18s var(--ease);outline:none;grid-template-columns:1fr auto;align-items:baseline;gap:.35rem .75rem;padding:.2rem .25rem;display:grid}.fill-row .fill-track{grid-column:1/-1}.fill-row:hover,.fill-row:focus-visible{background:var(--surface-muted)}.fill-track{background:var(--viz-track);border-radius:999px;height:12px;display:block;overflow:hidden}.fill-bar{min-width:4px;height:100%;transition:width .8s var(--ease);border-radius:999px;display:block}.fill-value{color:var(--viz-text-secondary);font-variant-numeric:tabular-nums;font-size:.9rem}.fill-value strong{color:var(--viz-text)}.fill-axis{color:var(--viz-muted);justify-content:space-between;font-size:.75rem;display:flex}.table-scroll{position:relative;overflow-x:auto}.table-scroll>table{min-width:40rem}.viz-table,.top-table,.zone-table,.compare-table{border-collapse:collapse;width:100%;font-size:.9rem}.viz-table th,.viz-table td,.top-table th,.top-table td,.compare-table th,.compare-table td{border-bottom:1px solid var(--viz-grid);text-align:left;vertical-align:top;padding:.6rem .65rem}.viz-table thead th,.top-table thead th,.compare-table thead th{background:var(--surface-muted);color:var(--viz-text-secondary);letter-spacing:.01em;font-size:.82rem;font-weight:650}.top-table tbody tr,.compare-table tbody tr{transition:background .15s var(--ease)}.top-table tbody tr:hover,.compare-table tbody tr:hover{background:var(--surface-muted)}.viz-table td,.top-table td:nth-child(3){font-variant-numeric:tabular-nums}.compare-table tbody th{white-space:nowrap;font-weight:600}.top-table caption,.zone-table caption{color:var(--viz-text-secondary);text-align:left;padding-bottom:.4rem;font-weight:650}.zone-table th{text-align:left;white-space:nowrap;padding:.3rem .5rem .3rem 0;font-weight:400}.zone-meter{width:100%}.zone-meter .fill-track{height:8px}.zone-count{color:var(--viz-text-secondary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding-left:.5rem}.backlog-list{margin:0;padding:0;line-height:1.7;list-style:none}.warehouse-details{border-top:1px solid var(--viz-grid);margin-top:.85rem;padding-top:.85rem}.warehouse-details summary{cursor:pointer;font-weight:500}.details-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem;margin-top:.85rem;display:grid}.attention-card{border-left:4px solid var(--brand-500)}.attention-ok{color:var(--viz-text-secondary);margin:0;font-size:1rem}.attention-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.attention-item{background:var(--surface-muted);border-left:4px solid var(--viz-axis);border-radius:var(--radius-sm);transition:transform .18s var(--ease), box-shadow .18s var(--ease);grid-template-columns:9.5rem minmax(8rem,11rem) 1fr auto;align-items:center;gap:.25rem .9rem;padding:.65rem .85rem;display:grid}.attention-item:hover{box-shadow:var(--shadow);transform:translate(2px)}.attention-critical{background:#fdf1f0;border-left-color:#d03b3b}.attention-warning{background:#fff8e9;border-left-color:#fab219}.attention-info{border-left-color:var(--viz-axis)}.attention-level{font-size:.85rem;font-weight:650}.attention-critical .attention-level{color:#a12a2a}.attention-warning .attention-level{color:#7a5200}.attention-info .attention-level{color:var(--viz-text-secondary)}.attention-text{color:var(--viz-text)}.attention-link{font-size:.9rem}@media (max-width:640px){.attention-item{grid-template-columns:1fr auto}.attention-text{grid-column:1/-1}}.section-summary{color:var(--viz-text-secondary);flex-wrap:wrap;gap:.25rem 1.5rem;margin:0 0 .85rem;display:flex}.subsection-title{margin:0 0 .5rem;font-size:.95rem}.chart-note{margin:.85rem 0 0;font-size:.8rem}.period-caption{color:var(--text-secondary);margin:.35rem 0 0;font-size:.92rem}.overview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin:-.5rem 0 1.25rem;display:flex}.toolbar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.period-picker{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.2rem;padding:.25rem;display:inline-flex}.period-picker-icon{color:var(--brand-700);margin:0 .3rem 0 .45rem}.period-option{color:var(--text-secondary);cursor:pointer;font:inherit;min-height:2.25rem;transition:background .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .95rem;font-size:.9rem;font-weight:600;display:inline-flex}.period-option:hover{background:var(--brand-100);color:var(--brand-900)}.period-option[aria-pressed=true]{background:var(--brand-900);box-shadow:var(--shadow-sm);color:#fff}.period-option:disabled{cursor:wait;opacity:.55}.btn-secondary{background:var(--surface);border:1px solid var(--border-strong);color:var(--brand-900);cursor:pointer;font:inherit;min-height:2.5rem;transition:background .18s var(--ease), box-shadow .18s var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:var(--brand-100);box-shadow:var(--shadow)}.btn-secondary:disabled{cursor:not-allowed;opacity:.55}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.85rem;display:flex}.section-head h2{margin:0}.section-action{font-size:.92rem}.stock-level{white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.82rem;font-weight:650;display:inline-block}.stock-out{color:#a12a2a;background:#fdf1f0}.stock-low{color:#7a5200;background:#fff8e9}.stock-ok{background:var(--brand-100);color:var(--brand-700)}.stock-unknown{background:var(--surface-muted);color:var(--text-muted)}.threshold-tabs{border-radius:var(--radius)}.tab-count{background:#082a2414;border-radius:999px;padding:0 .45rem;font-size:.78rem}.period-option[aria-pressed=true] .tab-count{background:#fff3}.threshold-form{grid-template-columns:minmax(0,2.2fr) minmax(7rem,.8fr) minmax(7rem,.8fr) auto;align-items:start;gap:.9rem 1rem;display:grid}.threshold-field{gap:.35rem;display:grid;position:relative}.threshold-input{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font:inherit;border-radius:12px;width:100%;min-height:2.9rem;padding:.6rem .75rem}.threshold-input:disabled{background:var(--surface-muted);color:var(--text-muted)}.threshold-input:focus{border-color:var(--brand-500);outline:3px solid var(--brand-100)}.threshold-actions{align-self:center;gap:.5rem;padding-top:1.3rem;display:flex}.suggestion-list{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:5;border-radius:12px;max-height:18rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:4.6rem;left:0;right:0;overflow-y:auto}.suggestion-list button{color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:.55rem .65rem}.suggestion-list button:hover,.suggestion-list button:focus-visible{background:var(--brand-100)}.suggestion-list code{color:var(--brand-700);margin-right:.35rem;font-weight:650}.suggestion-list em{color:var(--text-muted);font-size:.85rem}.form-ok{background:var(--brand-100);border-radius:var(--radius-sm);color:var(--brand-900);margin:.85rem 0 0;padding:.6rem .8rem}.check-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;font-size:.92rem;display:inline-flex}.row-actions{white-space:nowrap}.row-actions>*+*{margin-left:.4rem}.btn-link{color:var(--brand-700);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:.25rem;padding:.3rem .4rem;font-size:.88rem;font-weight:600;display:inline-flex}.btn-link:hover{background:var(--brand-100)}.btn-danger{color:#fff;cursor:pointer;font:inherit;background:#b42d2d;border:0;border-radius:999px;padding:.3rem .8rem;font-size:.85rem;font-weight:650}.btn-danger:hover{background:#8f2020}@media (max-width:760px){.threshold-form{grid-template-columns:1fr 1fr}.threshold-search,.threshold-actions{grid-column:1/-1}.threshold-actions{padding-top:0}.overview-toolbar{flex-direction:column;align-items:stretch}.period-picker{justify-content:space-between}.period-option{flex:1;justify-content:center;padding:.4rem .6rem}.period-picker-icon{display:none}}.search-card{border-left:4px solid var(--brand-500)}.search-field{align-items:center;display:flex;position:relative}.search-field input{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font:inherit;border-radius:14px;width:100%;min-height:3.1rem;padding:.7rem 2.75rem;font-size:1.02rem}.search-field input:focus{border-color:var(--brand-500);outline:3px solid var(--brand-100)}.search-icon{color:var(--brand-700);pointer-events:none;position:absolute;left:.95rem}.search-busy{color:var(--text-muted);position:absolute;right:.95rem}.search-count{margin:.85rem 0 .5rem}.place{color:var(--brand-900);font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.feed-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-bottom:.85rem;display:flex}.feed-select select{width:auto;min-height:2.6rem;padding:.4rem .75rem}.feed-more{margin-top:.85rem}.table-scroll>.feed-table{min-width:62rem}.table-scroll>.search-table{min-width:50rem}@media (max-width:760px){.feed-filters .period-option{flex:none}}.change-badge{white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.82rem;font-weight:650;display:inline-block}.change-put{color:#0f6b47;background:#e3f4ec}.change-take{color:#9a4214;background:#fdeee6}.change-move{color:#1d5b9c;background:#e3f1fb}.change-adjust{color:#7a5200;background:#fff8e9}.zone-fill{gap:.55rem}.details-table{margin-top:.85rem}@media print{@page{margin:12mm;size:A4 landscape}:root,body{background:#fff!important}.app-header,.no-print,.viz-toggle,.attention-link,.section-action,.overview-note,.feed-more,.feed-select{display:none!important}.shell{max-width:none;padding:0}.overview-body{opacity:1!important}.overview-card,.stat-tile,.wh-card{break-inside:avoid;border-color:#cdd7d3;box-shadow:none!important;transform:none!important}.table-scroll{overflow:visible}.table-scroll>table{min-width:0}.chart-grid{grid-template-columns:1fr 1fr}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;transition:none!important;animation:none!important}a{color:inherit;text-decoration:none}}.account-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.account-item{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}.account-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.account-avatar{color:var(--brand-700)}.account-text{flex:14rem;line-height:1.35;display:grid}.account-text code,.chart-note code{background:var(--brand-100);color:var(--brand-900);border-radius:4px;padding:0 .3rem}.account-action{margin-left:auto}.account-warehouses{color:var(--text-secondary);margin:.5rem 0 0 2.9rem;padding:0;font-size:.92rem;list-style:none}.password-form{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));align-items:end;gap:.75rem 1rem;margin-top:.85rem;padding-top:.85rem;display:grid}.password-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.6rem;display:flex}.password-form .login-error,.password-form .chart-note{grid-column:1/-1;margin:0}.journal-filters{grid-template-columns:minmax(9rem,12rem) minmax(9rem,12rem) minmax(0,1fr);align-items:end;gap:.75rem 1rem;margin-bottom:.85rem;display:grid}.journal-search .search-field input{min-height:2.9rem}.journal-types{margin-bottom:.6rem}.journal-count{margin:.4rem 0 .6rem}.table-scroll>.journal-table{min-width:64rem}@media (max-width:760px){.journal-filters{grid-template-columns:1fr 1fr}.journal-search{grid-column:1/-1}.journal-types .period-option{flex:none}}
