@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --wh-ink:#102b28; --wh-deep:#173a35; --wh-green:#1f7a65; --wh-mint:#dff3eb; --wh-orange:#f26b38; --wh-bg:#f4f6f3; --wh-line:#dfe5df; --wh-muted:#71817c; }
.wh-app { min-height:100vh; background:var(--wh-bg); color:#203532; font-family:'IBM Plex Sans Thai','Manrope',sans-serif; display:grid; grid-template-columns:260px minmax(0,1fr); }
.wh-app button,.wh-app input,.wh-app select,.wh-app textarea,.wh-dialog { font-family:inherit; }
.wh-sidebar { position:sticky; top:0; height:100vh; padding:28px 18px 18px; background:var(--wh-ink); color:#fff; display:flex; flex-direction:column; z-index:10; }
.wh-brand { display:flex; align-items:center; gap:12px; padding:0 10px 28px; }
.wh-brand-mark { width:40px; height:40px; background:var(--wh-orange); color:white; display:grid; place-items:center; font:800 22px/1 Manrope; border-radius:11px 11px 11px 3px; box-shadow:0 8px 18px rgba(242,107,56,.25); }
.wh-brand div:last-child { display:flex; flex-direction:column; line-height:1; }
.wh-brand strong { font:800 18px Manrope; letter-spacing:.16em; }
.wh-brand span { font:600 9px Manrope; letter-spacing:.28em; color:#9bb8b0; margin-top:6px; }
.wh-site-picker { padding:12px 12px 11px; margin-bottom:20px; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.05); }
.wh-site-picker small { display:block; font-size:10px; color:#91aaa4; margin-bottom:4px; }
.wh-site-picker select { width:100%; border:0; padding:0 16px 0 0; color:white; background:transparent; font-size:12px; font-weight:600; outline:0; }
.wh-nav { display:grid; gap:5px; }
.wh-nav button { position:relative; display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:10px; min-height:46px; padding:0 13px; border:0; border-radius:11px; background:transparent; color:#9bb3ad; text-align:left; cursor:pointer; font-weight:500; transition:.15s ease; }
.wh-nav button:hover { color:white; background:rgba(255,255,255,.06); }
.wh-nav button.active { color:white; background:#225047; box-shadow:inset 3px 0 var(--wh-orange); }
.wh-nav button b { display:grid; place-items:center; min-width:22px; height:20px; padding:0 6px; border-radius:10px; background:rgba(255,255,255,.1); color:#cae1db; font-size:10px; }
.wh-icon { width:20px; height:20px; fill:currentColor; }
.wh-sidebar-foot { margin-top:auto; display:grid; grid-template-columns:36px 1fr 26px; gap:9px; align-items:center; padding:14px 8px 0; border-top:1px solid rgba(255,255,255,.1); }
.wh-user-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:#d6ebe3; color:#215148; font-weight:800; }
.wh-sidebar-foot div:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.wh-sidebar-foot strong { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wh-sidebar-foot span { color:#91aaa4; font-size:10px; }
.wh-sidebar-foot button { border:0; background:transparent; color:#91aaa4; font-size:20px; cursor:pointer; }
.wh-main { min-width:0; }
.wh-topbar { min-height:94px; padding:24px 34px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:rgba(255,255,255,.86); border-bottom:1px solid var(--wh-line); backdrop-filter:blur(12px); }
.wh-topbar p { margin:0 0 3px; color:var(--wh-orange); font:700 9px Manrope; letter-spacing:.18em; }
.wh-topbar h1 { margin:0; font-size:26px; color:var(--wh-ink); }
.wh-top-actions { display:flex; align-items:center; gap:12px; }
.wh-live { display:inline-flex; align-items:center; gap:6px; color:#28725e; font:700 10px Manrope; letter-spacing:.08em; }
.wh-live i,.wh-station-dot { width:7px; height:7px; border-radius:50%; background:#3bc28d; box-shadow:0 0 0 4px rgba(59,194,141,.13); }
.wh-content { padding:28px 34px 48px; max-width:1600px; margin:auto; }
.wh-btn { min-height:39px; padding:0 16px; border:1px solid #d6ded9; border-radius:9px; background:white; color:#38504b; font-weight:600; cursor:pointer; }
.wh-btn:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(25,55,49,.08); }
.wh-btn--primary { background:var(--wh-orange); border-color:var(--wh-orange); color:white; box-shadow:0 5px 13px rgba(242,107,56,.18); }
.wh-btn--ghost { background:transparent; }
.wh-btn--wide { width:100%; }
.wh-link { border:0; background:none; color:var(--wh-green); font-weight:700; cursor:pointer; }
.wh-date-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.wh-date-row div { display:flex; flex-direction:column; }
.wh-date-row strong { font-size:15px; color:#314742; }
.wh-date-row span { color:var(--wh-muted); font-size:12px; }
.wh-stats { display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)); gap:14px; margin-bottom:20px; }
.wh-stats--four { grid-template-columns:repeat(4,1fr); }
.wh-stat { position:relative; overflow:hidden; min-height:143px; padding:17px 18px; background:white; border:1px solid var(--wh-line); border-radius:14px; box-shadow:0 6px 18px rgba(26,57,49,.035); }
.wh-stat:after { content:''; position:absolute; right:-23px; bottom:-32px; width:80px; height:80px; border-radius:50%; background:currentColor; opacity:.05; }
.wh-stat-head { display:flex; align-items:center; gap:8px; margin-bottom:16px; }
.wh-stat-head span { width:28px; height:28px; display:grid; place-items:center; background:#eef2ef; border-radius:8px; color:#536b65; font-weight:800; }
.wh-stat-head small { color:#6e7f7a; font-weight:600; }
.wh-stat>strong { display:block; font:800 28px Manrope; color:var(--wh-ink); }
.wh-stat p { margin:4px 0 0; font-size:11px; color:#92a09c; }
.wh-stat--amber { border-top:3px solid #e9a42d; }.wh-stat--amber .wh-stat-head span{background:#fff2d9;color:#b77305}
.wh-stat--cyan { border-top:3px solid #28a3af; }.wh-stat--cyan .wh-stat-head span{background:#dff5f5;color:#187985}
.wh-stat--green { border-top:3px solid #37a77a; }.wh-stat--green .wh-stat-head span{background:#e0f5eb;color:#217659}
.wh-stat--red { border-top:3px solid #df5b52; }.wh-stat--red .wh-stat-head span{background:#fee8e5;color:#b13b34}
.wh-stat--purple { border-top:3px solid #8265c7; }.wh-stat--purple .wh-stat-head span{background:#efeafd;color:#6547ad}
.wh-grid { display:grid; gap:20px; }.wh-grid--dashboard{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)}
.wh-analytics{display:grid;gap:16px;margin-bottom:20px}.wh-analytics>.wh-panel-head{background:white;border:1px solid var(--wh-line);border-radius:15px}.wh-analytics-grid{align-items:start}.wh-analytics-chart{display:grid;gap:9px;padding:16px 20px;max-height:310px;overflow:auto}.wh-analytics-row{display:grid;grid-template-columns:minmax(130px,190px) minmax(90px,1fr) auto;gap:10px;align-items:center;font-size:11px}.wh-analytics-row>span{min-width:0;color:#536761}.wh-analytics-row>span strong,.wh-analytics-row>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wh-analytics-row>span small{margin-top:2px;color:#8a9894;font-size:9px}.wh-analytics-row>div{height:8px;overflow:hidden;border-radius:999px;background:#e9eeeb}.wh-analytics-row i{display:block;height:100%;background:currentColor}.wh-analytics-row>b{font:700 10px Manrope;white-space:nowrap}.wh-analytics-summary{margin:0;padding:0 20px 16px;color:#7d8c87;font-size:10px;line-height:1.5}
.wh-side-stack { display:grid; gap:20px; align-content:start; }
.wh-panel { background:white; border:1px solid var(--wh-line); border-radius:15px; box-shadow:0 8px 24px rgba(29,58,51,.035); overflow:hidden; }
.wh-panel-head { min-height:67px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #edf0ed; }
.wh-panel-head small { display:block; color:var(--wh-orange); font:700 8px Manrope; letter-spacing:.15em; margin-bottom:3px; }
.wh-panel-head h2,.wh-panel-head h3 { margin:0; color:var(--wh-ink); font-size:16px; }.wh-panel-head h3{font-size:14px}
.wh-activity>button { width:100%; display:grid; grid-template-columns:38px minmax(120px,1fr) auto 110px; align-items:center; gap:12px; padding:13px 20px; background:white; border:0; border-bottom:1px solid #edf0ed; text-align:left; cursor:pointer; }
.wh-activity>button:hover { background:#f8faf8; }
.wh-order-channel { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:#eaf2ef; color:#1c5c4d; font:800 10px Manrope; }
.wh-activity div { display:flex; flex-direction:column; }.wh-activity strong { font-size:13px; color:#263c37; }.wh-activity small,.wh-activity time { font-size:10px; color:#879690; }.wh-activity time{text-align:right}
.wh-badge { display:inline-flex; align-items:center; gap:6px; width:max-content; padding:5px 9px; border-radius:20px; font-size:10px; font-weight:700; white-space:nowrap; }
.wh-badge i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.wh-badge--neutral{background:#edf0ee;color:#697974}.wh-badge--blue{background:#e5eef9;color:#3e6e9e}.wh-badge--amber{background:#fff0d4;color:#a86705}.wh-badge--purple{background:#eee9fa;color:#6549a8}.wh-badge--cyan{background:#dff3f5;color:#187580}.wh-badge--green{background:#ddf3e9;color:#237357}.wh-badge--red{background:#fce7e5;color:#b23d36}
.wh-stock-panel { padding-bottom:18px; }.wh-stock-total { padding:20px 20px 12px; display:flex; align-items:baseline; gap:7px; }.wh-stock-total span{margin-right:auto;color:#6f817b;font-size:12px}.wh-stock-total strong{font:800 30px Manrope;color:var(--wh-ink)}.wh-stock-total small{font-size:10px;color:#9aa7a3}
.wh-stock-bars { display:grid; gap:12px; padding:0 20px; }.wh-stock-bars>div>span{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px}.wh-stock-bars b{font-weight:500;color:#667773}.wh-stock-bars em{font-style:normal;font-weight:700}.wh-stock-bars>div>i{display:block;height:6px;background:#edf0ed;border-radius:4px;overflow:hidden}.wh-stock-bars u{display:block;height:100%;background:#3faa7f;text-decoration:none;border-radius:4px}.wh-stock-bars u.amber{background:#e9a42d}.wh-stock-bars u.purple{background:#8265c7}
.wh-exception-row { display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:12px 18px;border-bottom:1px solid #f1f2f1}.wh-exception-row>span{width:27px;height:27px;display:grid;place-items:center;background:#fde7e4;color:#c7463d;border-radius:8px;font-weight:800}.wh-exception-row div{display:flex;flex-direction:column}.wh-exception-row strong{font:700 10px Manrope}.wh-exception-row small{font-size:9px;color:#91a09b}.wh-exception-row>b{font:800 17px Manrope;color:#c7463d}
.wh-success-empty,.wh-empty-box { margin:18px; padding:18px; border-radius:10px; background:#eef8f4; color:#28775e; font-size:12px; text-align:center; }.wh-empty-box{background:#f5f7f5;color:#84918d}
.wh-toolbar { display:flex;gap:10px;align-items:center;margin-bottom:15px}.wh-search{height:41px;display:flex;align-items:center;gap:8px;min-width:300px;flex:1;max-width:480px;padding:0 12px;background:white;border:1px solid var(--wh-line);border-radius:9px}.wh-search span{color:#8c9b96;font-size:20px}.wh-search input{width:100%;border:0;outline:0;background:transparent;color:#314641}.wh-toolbar>select{height:41px;padding:0 34px 0 12px;border:1px solid var(--wh-line);border-radius:9px;background:white;color:#536761}.wh-record-count{margin-left:auto;color:#8a9894;font-size:11px}
.wh-table-panel { border-radius:12px; }.wh-table-wrap{overflow:auto}.wh-table{width:100%;border-collapse:collapse}.wh-table th{padding:11px 16px;background:#f8faf8;color:#7a8a85;font-size:10px;text-align:left;border-bottom:1px solid var(--wh-line);white-space:nowrap}.wh-table td{padding:14px 16px;border-bottom:1px solid #edf0ed;font-size:12px;vertical-align:middle;white-space:nowrap}.wh-table td>strong,.wh-table td>small{display:block}.wh-table td>strong{color:#263c37;font-size:12px}.wh-table td>small{color:#8a9994;font-size:10px;margin-top:2px}.wh-table tr:hover td{background:#fbfcfb}.wh-empty{text-align:center!important;color:#8e9b97!important;padding:35px!important}
.wh-mini-progress{display:flex;align-items:center;gap:8px}.wh-mini-progress>span{width:70px;height:5px;background:#e8ece9;border-radius:3px;overflow:hidden}.wh-mini-progress i{display:block;height:100%;background:#2e9972}.wh-mini-progress small{font:600 9px Manrope;color:#7d8c87}.wh-kebab{border:0;background:transparent;color:#768781;cursor:pointer;font-weight:800;letter-spacing:2px}
.wh-drawer{position:fixed;right:-480px;top:0;width:min(460px,100vw);height:100vh;background:white;z-index:30;box-shadow:-20px 0 50px rgba(17,43,39,.18);transition:right .22s ease;display:flex;flex-direction:column}.wh-drawer.open{right:0}.wh-drawer-head{min-height:95px;padding:25px;display:flex;justify-content:space-between;border-bottom:1px solid var(--wh-line)}.wh-drawer-head small{color:var(--wh-orange);font:700 8px Manrope;letter-spacing:.17em}.wh-drawer-head h2{margin:4px 0 0;color:var(--wh-ink);font:800 23px Manrope}.wh-drawer-head button{border:0;background:#eef1ef;width:34px;height:34px;border-radius:9px;font-size:22px;cursor:pointer}.wh-drawer-body{padding:24px;overflow:auto}.wh-detail-status{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.wh-detail-status>span{font-size:11px;color:#73827e}.wh-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 25px}.wh-detail-grid div{padding:12px;background:#f6f8f6;border-radius:9px}.wh-detail-grid dt{font-size:9px;color:#81908c}.wh-detail-grid dd{margin:3px 0 0;font-size:12px;font-weight:600}.wh-drawer-body h3{font-size:12px;color:#566b65}.wh-item-list{border:1px solid var(--wh-line);border-radius:10px;overflow:hidden}.wh-item-list>div{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid #edf0ed}.wh-item-list span{display:flex;flex-direction:column}.wh-item-list strong{font-size:11px}.wh-item-list small{font-size:9px;color:#879690}.wh-item-list b{font:700 11px Manrope}.wh-drawer-foot{margin-top:auto;padding:20px 24px;border-top:1px solid var(--wh-line)}.wh-muted{color:#84928e;font-size:11px}
.wh-alert{padding:13px;margin-top:15px;border-radius:9px}.wh-alert--red{background:#feebe9;color:#a53f37}.wh-alert p{margin:3px 0 0;font-size:11px}
.wh-station-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;padding:12px 15px;border:1px solid var(--wh-line);background:white;border-radius:10px}.wh-station-header>div{display:flex;align-items:center;gap:12px}.wh-station-header>div>div{display:flex;flex-direction:column}.wh-station-header strong{font:800 12px Manrope;color:var(--wh-ink)}.wh-station-header small{font-size:9px;color:#82918c}.wh-station-header time{font:700 18px Manrope;color:#5e706a}
.wh-packing-select{max-width:680px;margin:55px auto;text-align:center}.wh-scan-art{width:72px;height:72px;margin:auto;display:grid;place-items:center;border-radius:18px;background:#e5f2ed;color:#246a57}.wh-scan-art svg{width:35px;height:35px}.wh-packing-select h2{margin:16px 0 4px;color:var(--wh-ink)}.wh-packing-select>p{margin:0 0 22px;color:#84938f;font-size:12px}.wh-packing-select>div:last-child{display:grid;gap:8px}.wh-packing-select button{display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:15px;padding:15px;text-align:left;background:white;border:1px solid var(--wh-line);border-radius:11px;cursor:pointer}.wh-packing-select button:hover{border-color:#79a99b}.wh-packing-select button>span{display:flex;flex-direction:column}.wh-packing-select button strong{font:700 12px Manrope}.wh-packing-select button small{font-size:10px;color:#84938f}
.wh-pack-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:18px}.wh-pack-order-head{padding:20px;background:var(--wh-ink);color:white}.wh-pack-order-head small{color:#91aaa4;font-size:9px}.wh-pack-order-head h2{margin:4px 0;font:800 23px Manrope}.wh-pack-order-head span{font-size:10px;color:#bad0ca}.wh-pack-items>div{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:15px;border-bottom:1px solid #edf0ed}.wh-product-icon{width:28px;height:28px;display:grid;place-items:center;background:#f0f2f0;color:#788983;border-radius:8px}.wh-pack-items>div.complete .wh-product-icon{background:#dcf3e8;color:#1f795a}.wh-pack-items>div>span:nth-child(2){display:flex;flex-direction:column}.wh-pack-items strong{font:700 11px Manrope}.wh-pack-items small{font-size:10px;color:#788983}.wh-pack-items em{font:500 8px Manrope;color:#9aa6a2}.wh-pack-items b{font:800 19px Manrope;color:var(--wh-ink)}.wh-pack-items b i{font-size:11px;color:#9aa6a2;font-style:normal}.wh-pack-total{display:flex;justify-content:space-between;padding:16px 20px;background:#f8faf8;font-size:11px}.wh-pack-total strong{font:800 13px Manrope}
.wh-scanner{padding:20px}.wh-scanner-status{min-height:85px;display:flex;align-items:center;gap:14px;padding:18px;background:#eef4f1;border:1px solid #dfe9e4;border-radius:12px}.wh-scanner-status>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:white;color:#678078;font-size:25px}.wh-scanner-status div{display:flex;flex-direction:column}.wh-scanner-status strong{font-size:15px;color:var(--wh-ink)}.wh-scanner-status small{color:#7b8c87;font-size:10px}.wh-scanner-status--pass{background:#e3f6ed;border-color:#a8dec8}.wh-scanner-status--pass>span{color:#16845f}.wh-scanner-status--fail{background:#feebe9;border-color:#f1bdb8}.wh-scanner-status--fail>span{color:#cc4036}.wh-scanner form{margin:18px 0}.wh-scanner form>label{font:700 8px Manrope;letter-spacing:.12em;color:#788983}.wh-scan-input{display:grid;grid-template-columns:1fr auto;margin-top:6px}.wh-scan-input input{height:50px;border:2px solid #b8cac4;border-radius:10px 0 0 10px;padding:0 15px;font:600 16px Manrope;outline:0}.wh-scan-input input:focus{border-color:#2d8b70;box-shadow:0 0 0 3px rgba(45,139,112,.1)}.wh-scan-input button{border:0;border-radius:0 10px 10px 0;background:var(--wh-deep);color:white;padding:0 18px;font-weight:700}.wh-scanner form>small{display:block;margin-top:5px;color:#98a5a1;font-size:9px}.wh-scan-history{margin-top:15px;border:1px solid var(--wh-line);border-radius:10px;overflow:hidden}.wh-scan-history .wh-panel-head{min-height:50px;padding:12px 15px}.wh-scan-history .wh-panel-head>span{font:600 9px Manrope;color:#8b9995}.wh-scan-history #scan-history>div{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:9px 14px;border-bottom:1px solid #edf0ed}.wh-scan-history #scan-history>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;font-size:11px}.wh-scan-history .pass>span{background:#dff3e9;color:#21775a}.wh-scan-history .fail>span{background:#fde7e4;color:#b13f37}.wh-scan-history #scan-history>div>div{display:flex;flex-direction:column}.wh-scan-history strong{font:600 10px Manrope}.wh-scan-history small,.wh-scan-history time{font-size:8px;color:#91a09b}
.wh-number{font:700 13px Manrope!important}.wh-number.amber{color:#b27312}.wh-number.purple{color:#7254b4}.wh-number.green{color:#1d7b5b}.wh-stock-ok,.wh-stock-low{font-size:10px;color:#23805f}.wh-stock-low{color:#ba7120}
.wh-ledger-note{display:flex;align-items:center;gap:13px;padding:14px 17px;margin-bottom:15px;border:1px solid #bcdacb;border-radius:10px;background:#e9f5ef;color:#245d4d}.wh-ledger-note>span{width:35px;height:35px;display:grid;place-items:center;background:white;border-radius:9px;font-weight:800}.wh-ledger-note strong{font-size:12px}.wh-ledger-note p{margin:2px 0 0;font-size:10px}.wh-panel-pad{padding-left:17px;padding-right:17px}.wh-movement-type{padding:4px 7px;border-radius:5px;background:#edf0ee;color:#5d706a;font:700 8px Manrope}.wh-movement-type--inbound,.wh-movement-type--opening{background:#ddf3e9;color:#24755a}.wh-movement-type--shipment{background:#e3edf8;color:#3b6894}.wh-movement-type--adjustment{background:#fff0d8;color:#a3680c}.wh-delta{font:600 11px Manrope!important;color:#a3aaa8}.wh-delta.plus{color:#18835e}.wh-delta.minus{color:#c24a42}
.wh-report-toolbar{display:flex;justify-content:flex-end;align-items:end;gap:9px;margin-bottom:15px}.wh-report-toolbar label{margin-right:auto;font-size:10px;color:#71827d}.wh-report-toolbar input{height:40px;border:1px solid var(--wh-line);border-radius:8px;padding:0 10px;background:white}.wh-report-paper{max-width:930px;margin:auto;background:white;border:1px solid var(--wh-line);border-radius:3px;box-shadow:0 12px 35px rgba(21,49,43,.08);padding:35px 42px}.wh-report-paper>header{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:start;padding-bottom:23px;border-bottom:3px solid var(--wh-ink)}.wh-report-paper>header small{font:800 9px Manrope;letter-spacing:.17em;color:var(--wh-orange)}.wh-report-paper>header h2{margin:3px 0;font:800 22px Manrope;color:var(--wh-ink)}.wh-report-paper>header p{margin:0;color:#7b8985;font-size:11px}.wh-report-paper>header>span{padding:5px 8px;border:1px solid #bfd0ca;color:#72837d;font:700 7px Manrope;letter-spacing:.12em}.wh-report-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:26px 0}.wh-report-paper h3{padding-bottom:7px;margin:0 0 8px;border-bottom:1px solid var(--wh-ink);font:800 9px Manrope;letter-spacing:.14em;color:var(--wh-ink)}.wh-report-paper dl{margin:0}.wh-report-paper dl>div,.wh-report-bottom section>div{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dotted #d5ddd9}.wh-report-paper dt,.wh-report-bottom span{font-size:10px;color:#667773}.wh-report-paper dd{margin:0;font:800 14px Manrope;color:#233d37}.wh-report-paper dd small{font:500 8px Manrope;color:#8d9a96}.wh-report-paper .danger dd{color:#c3483f}.wh-report-paper .highlight{background:#edf6f2;padding:8px 7px}.wh-report-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;padding-top:4px}.wh-report-bottom b{font:700 10px Manrope}.wh-report-paper>footer{display:flex;justify-content:space-between;margin-top:28px;padding-top:10px;border-top:1px solid #d6ded9;color:#9aa5a2;font:600 7px Manrope;letter-spacing:.08em}
.wh-opening-stock{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding:12px 14px;background:#edf6f2;border-left:3px solid var(--wh-green)}.wh-opening-stock span{font-size:11px;color:#516760}.wh-opening-stock strong{font:800 18px Manrope;color:var(--wh-ink)}.wh-opening-stock small{font:500 8px Manrope;color:#82908c}
.wh-dialog{width:min(620px,calc(100vw - 30px));max-height:90vh;padding:0;border:0;border-radius:15px;box-shadow:0 30px 80px rgba(10,33,29,.3);color:#2c423d}.wh-dialog::backdrop{background:rgba(13,36,32,.55);backdrop-filter:blur(3px)}.wh-dialog-head{padding:21px 24px;display:flex;justify-content:space-between;border-bottom:1px solid var(--wh-line)}.wh-dialog-head small{font:700 8px Manrope;letter-spacing:.15em;color:var(--wh-orange)}.wh-dialog-head h2{margin:3px 0 0;color:var(--wh-ink);font-size:20px}.wh-dialog-head>button{width:32px;height:32px;border:0;border-radius:8px;background:#edf0ee;font-size:20px}.wh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:22px 24px;max-height:60vh;overflow:auto}.wh-form-grid label{display:flex;flex-direction:column;gap:5px;color:#63766f;font-size:10px}.wh-form-grid input,.wh-form-grid select,.wh-form-grid textarea{width:100%;padding:10px 11px;border:1px solid #ccd8d3;border-radius:8px;background:white;color:#2d423d}.wh-form-grid textarea{min-height:90px;resize:vertical}.wh-form-grid .span-2{grid-column:span 2}.wh-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--wh-line);background:#f8faf8}.wh-sku-hints{display:flex;flex-wrap:wrap;gap:5px}.wh-sku-hints button{padding:4px 7px;border:1px solid #c9d9d3;border-radius:5px;background:#edf6f2;color:#23634f;font:600 8px Manrope;cursor:pointer}
.wh-wms-context{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px;padding:12px 15px;background:white;border:1px solid var(--wh-line);border-radius:10px}.wh-wms-context>div{display:flex;flex-direction:column}.wh-wms-context small{font:700 8px Manrope;letter-spacing:.13em;color:#81918c}.wh-wms-context strong{margin-top:2px;color:var(--wh-ink)}.wh-wms-context label{display:flex;align-items:center;gap:8px;font-size:10px;color:#687b75}.wh-wms-context select,.wh-form input,.wh-form select{min-height:38px;padding:7px 9px;border:1px solid #ccd8d3;border-radius:8px;background:white;color:#2d423d}.wh-wms-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:15px;padding-bottom:3px}.wh-wms-tabs button,.wh-filter-pills button{white-space:nowrap;border:1px solid #ccd8d3;background:white;color:#5f746d;border-radius:7px;padding:8px 10px;font:700 9px Manrope;cursor:pointer}.wh-wms-tabs button.active,.wh-filter-pills button.active{background:var(--wh-deep);border-color:var(--wh-deep);color:white}.wh-stats--wms{grid-template-columns:repeat(5,minmax(0,1fr))}.wh-separation{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px}.wh-separation>div{padding:14px;border:1px solid var(--wh-line);border-radius:9px;background:#f9fbfa}.wh-separation span,.wh-separation small{display:block;color:#74857f;font-size:9px}.wh-separation strong{display:block;margin:4px 0;font:800 24px Manrope;color:var(--wh-ink)}.wh-exception-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px}.wh-exception-links button{padding:13px;text-align:left;border:1px solid #ead5d0;background:#fff7f5;border-radius:9px;color:#8f443d;cursor:pointer}.wh-expected{background:#eef6fb!important;color:#346b87!important;font-weight:800}.wh-warning-label{display:inline-flex;align-items:center;padding:4px 7px;border-radius:5px;background:#fff0d8;color:#9a620d;font:700 8px Manrope}.wh-table--dense td{padding:10px 12px}.wh-alert--info{background:#eaf3f7;color:#365e70}.wh-alert--green{background:#e4f5eb;color:#236b50}.wh-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.wh-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#61756f}.wh-form>button{align-self:end}.wh-form--inline{grid-template-columns:1fr 1fr auto;align-items:end}.wh-import-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px}.wh-import-counts>div{padding:11px;border:1px solid var(--wh-line);border-radius:8px;background:#fafcfa}.wh-import-counts span{display:block;font-size:9px;color:#778882}.wh-import-counts strong{display:block;margin-top:3px;font:800 18px Manrope;color:var(--wh-ink)}.wh-receive-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px}.wh-receive-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#61756f}.wh-receive-form input,.wh-receive-form select{min-height:42px;padding:8px 10px;border:1px solid #bdcdc7;border-radius:8px}.wh-receive-form .wh-barcode-field{grid-column:span 2}.wh-receive-form .wh-barcode-field input{min-height:58px;font:700 22px Manrope;border-width:2px}.wh-receive-form .wh-qty-field input{min-height:58px;font:800 22px Manrope}.wh-form-actions{display:flex;gap:8px;align-items:end}.wh-help{padding:0 18px 15px;margin:0;color:#778882;font-size:10px}.wh-inline-feedback{margin:0 18px 16px;padding:10px 12px;border-radius:8px;font-size:11px}.wh-inline-feedback:empty{display:none}.wh-inline-feedback.success{background:#e4f5eb;color:#236b50}.wh-inline-feedback.error{background:#feebe9;color:#a53f37}.wh-state-label{font:700 9px Manrope;color:#8b5c12;background:#fff0d8;padding:5px 8px;border-radius:6px}.wh-filter-pills{display:flex;gap:6px;flex-wrap:wrap}.wh-number.red,.red{color:#b7433a}.wh-return-flow{padding:24px;font:700 13px Manrope;line-height:2;color:#536a63}.wh-exception-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.wh-exception-card{min-height:120px;padding:15px;text-align:left;border:1px solid #ead5d0;border-radius:10px;background:white;cursor:pointer}.wh-exception-card span,.wh-exception-card small{display:block;font-size:9px;color:#7f6b67}.wh-exception-card strong{display:block;margin:8px 0;font:800 25px Manrope;color:#a4463e}
.wh-toasts{position:fixed;right:20px;bottom:20px;z-index:80;display:grid;gap:8px}.wh-toast{min-width:270px;padding:13px 16px;border-radius:10px;background:var(--wh-deep);color:white;box-shadow:0 12px 35px rgba(18,46,40,.24);font-size:12px}.wh-toast--error{background:#b7433a}.wh-loading{min-height:200px;display:flex;align-items:center;justify-content:center;gap:10px;color:#768781;font-size:12px}.wh-loading>span{width:18px;height:18px;border:2px solid #c8d5d0;border-top-color:#26755e;border-radius:50%;animation:wh-spin .8s linear infinite}.wh-error{margin:40px auto;max-width:500px;padding:30px;text-align:center;background:white;border:1px solid #f0c5c1;border-radius:12px;color:#a13d36}.wh-error p{font-size:12px}@keyframes wh-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.wh-app{grid-template-columns:210px minmax(0,1fr)}.wh-sidebar{padding-left:11px;padding-right:11px}.wh-stats{grid-template-columns:repeat(3,1fr)}.wh-grid--dashboard{grid-template-columns:1fr}.wh-pack-layout{grid-template-columns:1fr}.wh-content{padding:22px}.wh-topbar{padding:20px 22px}}
@media(max-width:760px){.wh-app{display:block}.wh-sidebar{position:relative;width:100%;height:auto;padding:14px}.wh-brand{padding-bottom:12px}.wh-site-picker{margin:0}.wh-nav{display:flex;overflow:auto;margin-top:10px}.wh-nav button{min-width:max-content}.wh-nav button b{display:none}.wh-sidebar-foot{display:none}.wh-topbar{min-height:75px}.wh-topbar h1{font-size:21px}.wh-live{display:none}.wh-content{padding:16px}.wh-stats,.wh-stats--four{grid-template-columns:1fr 1fr}.wh-stat{min-height:120px}.wh-toolbar{flex-wrap:wrap}.wh-search{min-width:100%;max-width:none}.wh-record-count{display:none}.wh-activity>button{grid-template-columns:38px 1fr auto}.wh-activity time{display:none}.wh-report-sections,.wh-report-bottom{grid-template-columns:1fr}.wh-report-paper{padding:25px 20px}.wh-form-grid{grid-template-columns:1fr}.wh-form-grid .span-2{grid-column:auto}}

/* W9.2 presentation, density and keyboard polish */
.wh-app :focus-visible{outline:3px solid rgba(45,139,112,.25);outline-offset:2px}
.wh-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wh-table-wrap{max-width:100%;scrollbar-gutter:stable}
.wh-table th{position:sticky;top:0;z-index:2;background:#f8faf8}
.wh-table td.wh-number,.wh-table th.wh-number{text-align:right;font-variant-numeric:tabular-nums}
.wh-product-table .wh-primary-col{font-weight:700;color:#203a34}
.wh-product-table .wh-secondary-col{color:#71817c}
.wh-product-name{max-width:280px;white-space:normal!important}
.wh-product-name strong{overflow-wrap:anywhere}
.wh-toolbar--filters{position:sticky;top:0;z-index:4;padding:8px 0;background:var(--wh-bg)}
.wh-row-exception td{background:#fff8f5}
.wh-row-exception:hover td{background:#fff1eb!important}
.wh-receiving-panel{border-top:3px solid var(--wh-green)}
.wh-receive-form input:focus,.wh-receive-form select:focus{border-color:#2d8b70;box-shadow:0 0 0 3px rgba(45,139,112,.1);outline:0}
.wh-receive-form .wh-barcode-field input{letter-spacing:.03em}
.wh-exception-card:hover,.wh-exception-card:focus-visible{border-color:#c96a60;background:#fff4f1}
.wh-exception-card strong{font-variant-numeric:tabular-nums}
.wh-state-label{display:inline-flex;align-items:center;gap:5px}
.wh-state-label:before{content:'•';font-size:14px}
.wh-badge{line-height:1.2}
.wh-badge--red:before{content:'Attention';font-size:0}
.wh-inline-feedback{min-height:64px;display:flex;align-items:center;padding:12px 14px;font-size:18px;line-height:1.35;font-weight:700;border-radius:10px}
.wh-inline-feedback:empty{display:none;min-height:0}
.wh-session-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.wh-session-context>strong{grid-column:1/-1;font-size:18px}.wh-session-context div{display:flex;flex-direction:column;gap:2px}.wh-session-context span{font-size:12px;opacity:.75;text-transform:uppercase}.wh-session-context b{font-size:18px}.wh-confirm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.wh-confirm-grid span{display:flex;flex-direction:column;gap:2px;font-size:12px}.wh-confirm-grid b{font-size:16px}.wh-inline-feedback{white-space:pre-line}
.wh-receiving-station{max-width:1180px;margin:0 auto}.wh-receiving-setup{max-width:720px;margin:20px auto}.wh-receive-start-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.wh-receiving-station-grid{display:grid;gap:14px}.wh-receiving-workbench{padding:18px 20px}.wh-receive-station-form{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px 18px;align-items:start}.wh-scan-hero{grid-column:1/-1}.wh-scan-hero label{display:block;font-size:18px;font-weight:800;margin-bottom:7px}.wh-scan-hero input{width:100%;min-height:76px;font-size:30px;font-weight:800;letter-spacing:.04em;padding:12px 18px;border:2px solid #85a79d;border-radius:14px}.wh-scan-hero input:focus{border-color:#2d8b70;box-shadow:0 0 0 4px rgba(45,139,112,.12);outline:0}.wh-product-confirmation,.wh-recovery-panel{min-height:210px;padding:16px 18px;border-radius:14px;background:#f7fbf9;border:1px solid #d6e6e0}.wh-recovery-panel strong{font-size:22px}.wh-recovery-panel code{display:block;font-size:28px;font-weight:800;margin:10px 0}.wh-recovery-panel input,.wh-recovery-panel select{width:100%;min-height:44px;margin-top:5px}.wh-quantity-stage{display:grid;gap:10px}.wh-quantity-stage label{font-weight:700}.wh-quantity-stage input{width:100%;min-height:64px;font-size:30px;font-weight:800;text-align:center}.wh-qty-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.wh-qty-presets button{min-height:44px;border:1px solid #b9cfc8;background:#fff;border-radius:9px;font-weight:800;cursor:pointer}.wh-receive-confirm{min-height:58px;font-size:19px}.wh-receiving-metrics{margin-top:0}.wh-receiving-station .wh-session-context{margin:0}.wh-receiving-station .wh-inline-feedback{font-size:22px;min-height:82px}

@media(max-width:1280px){.wh-stats--wms{grid-template-columns:repeat(4,minmax(150px,1fr))}.wh-exception-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wh-receive-form{grid-template-columns:repeat(2,minmax(0,1fr))}.wh-receive-form .wh-barcode-field{grid-column:span 1}.wh-receive-station-form{grid-template-columns:minmax(0,1fr) 290px}.wh-scan-hero input{min-height:68px;font-size:27px}.wh-product-confirmation,.wh-recovery-panel{min-height:185px}.wh-receiving-workbench{padding:14px 16px}}
@media(max-width:1024px){.wh-app{grid-template-columns:190px minmax(0,1fr)}.wh-content{padding:14px}.wh-topbar{padding:14px 18px}.wh-stats,.wh-stats--wms{grid-template-columns:repeat(3,minmax(140px,1fr))}.wh-exception-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wh-wms-context{align-items:center}.wh-toolbar--filters{flex-wrap:wrap}.wh-toolbar--filters .wh-search{min-width:100%;max-width:none}.wh-toolbar--filters select{flex:1}.wh-receive-station-form{grid-template-columns:minmax(0,1fr) 250px;gap:10px 12px}.wh-scan-hero input{min-height:62px;font-size:24px}.wh-product-confirmation,.wh-recovery-panel{min-height:165px;padding:12px}.wh-quantity-stage input{min-height:56px;font-size:26px}.wh-qty-presets button{min-height:40px}.wh-receive-confirm{min-height:52px}.wh-receiving-station .wh-session-context{gap:6px}.wh-receiving-station .wh-session-context>strong{font-size:15px}.wh-receiving-station .wh-session-context b{font-size:15px}.wh-receiving-metrics{grid-template-columns:repeat(4,minmax(100px,1fr))}}
@media(max-width:760px){.wh-receive-form{grid-template-columns:1fr}.wh-stats--wms,.wh-exception-grid{grid-template-columns:1fr 1fr}.wh-wms-context{align-items:stretch;flex-direction:column}.wh-wms-context label{align-items:stretch}.wh-toolbar--filters select{width:100%}}
