:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f3f6fb;--nav:#101827;--primary:#2563eb;--border:#dfe5ef;--muted:#68758a;--card:#fff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{touch-action:manipulation}body{margin:0;min-height:100vh}a{color:inherit}nav{min-height:76px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100% - 1600px)/2));box-shadow:0 2px 14px #0002;position:sticky;top:0;z-index:20}nav a{color:#fff;text-decoration:none;margin-left:10px;padding:16px 18px;border-radius:12px;font-size:18px}.brand{font-weight:850;font-size:23px;margin:0!important;padding-left:0!important}main{max-width:1600px;margin:30px auto;padding:0 28px 48px}h1{margin:0 0 8px;font-size:38px;line-height:1.1}h2{margin:0 0 20px;font-size:26px}.muted,.small{color:var(--muted)}.small{font-size:13px}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.kpis{display:flex;gap:14px}.kpi-box,.stockcard{background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px 22px;min-width:132px;box-shadow:0 3px 16px #14213d12;text-decoration:none}.kpi-box b,.stockcard b{font-size:30px;display:block}.kpi-box span,.stockcard span{font-size:14px;color:var(--muted)}.kpi-box.alert{border-color:#f3b6b2;background:#fff4f3}.filters,.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;margin-bottom:20px;box-shadow:0 3px 16px #14213d0d}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid #ccd5e2;border-radius:13px;padding:14px 15px;background:#fff;font-size:18px;min-height:54px}textarea{min-height:110px}.touch-filters input[name=q]{flex:1;min-width:320px}.touch-filters select{width:240px}.touch-check{min-height:54px;display:flex!important;align-items:center;gap:11px!important;padding:0 15px;border:1px solid #ccd5e2;border-radius:13px;margin:0!important;background:#fff;font-size:17px}.touch-check input{width:25px;height:25px;min-height:0;margin:0!important}.touch-check span{white-space:nowrap}button,.btn{border:0;border-radius:13px;background:var(--primary);color:#fff;padding:15px 20px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:750;min-height:54px;font-size:17px}.btn.light{background:#eaf1ff;color:#214f9c}.reset-btn{min-width:90px}.category-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 0 18px;scrollbar-width:thin}.cat-chip{flex:0 0 auto;text-decoration:none;background:#fff;border:1px solid var(--border);border-radius:999px;padding:13px 20px;font-weight:750;font-size:17px;min-height:50px;display:flex;align-items:center;box-shadow:0 2px 8px #14213d0a}.cat-chip.active{background:#172033;color:#fff;border-color:#172033}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.item-tile{display:flex;flex-direction:column;min-height:300px;background:var(--card);border:2px solid transparent;border-radius:22px;padding:20px;text-decoration:none;box-shadow:0 5px 20px #17203312;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;position:relative;overflow:hidden}.item-tile:active{transform:scale(.975)}.item-tile:hover{box-shadow:0 10px 28px #17203320;border-color:#cbd7ea}.item-tile.is-low{border-color:#efb1ab;background:#fffafa}.tile-head,.detail-tags{display:flex;align-items:center;justify-content:space-between;gap:10px}.category-tag{display:inline-flex;background:#eef2f7;color:#48566c;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800;max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill{font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px;letter-spacing:.03em}.status-pill.ok{background:#dcfce7;color:#12643a}.status-pill.low{background:#fee4e2;color:#9f2118}.status-pill.large{font-size:15px;padding:9px 13px}.item-name{font-size:25px;font-weight:850;line-height:1.15;margin:17px 0 3px;min-height:58px;display:flex;align-items:flex-start}.item-supplier{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.tile-qty{margin-top:auto;padding:30px 0 12px;display:flex;align-items:baseline;gap:7px;position:relative}.tile-qty span{font-size:13px;color:var(--muted);position:absolute;left:0;top:10px}.tile-qty strong{font-size:43px;line-height:1;font-weight:900}.tile-qty em{font-style:normal;font-size:17px;color:#4f5d70;font-weight:700}.tile-meta{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;border-top:1px solid #e8edf4;padding-top:13px}.tile-meta>div{min-width:0}.tile-meta span{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.tile-meta strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tap-hint{margin:16px -20px -20px;padding:13px 20px;background:#f6f8fb;color:#425168;font-size:13px;font-weight:750;text-align:right}.is-low .tap-hint{background:#fff0ef;color:#9f2118}.empty-state{grid-column:1/-1;padding:70px;text-align:center;background:#fff;border-radius:20px;border:1px solid var(--border)}.empty-state strong,.empty-state span{display:block}.empty-state strong{font-size:26px;margin-bottom:8px}.back-btn{display:inline-flex;padding:13px 18px;background:#e9eef5;border-radius:13px;text-decoration:none;font-weight:750;margin-bottom:18px;font-size:17px}.detail-hero{background:#fff;border:2px solid transparent;border-radius:24px;padding:26px 28px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 5px 20px #17203310}.detail-hero.is-low{border-color:#efb1ab;background:#fffafa}.detail-hero h1{font-size:44px;margin-top:14px}.hero-qty{text-align:right;min-width:230px}.hero-qty>span{display:block;color:var(--muted);font-size:14px}.hero-qty strong{font-size:62px;line-height:1;font-weight:900}.hero-qty em{font-style:normal;font-size:21px;font-weight:750;margin-left:5px}.hero-qty small{display:block;color:var(--muted);font-size:14px;margin-top:9px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.touch-card{padding:25px}.touch-dl{display:grid;grid-template-columns:150px 1fr;gap:16px 18px;font-size:18px}.touch-dl dt{color:var(--muted)}.touch-dl dd{margin:0;font-weight:650}.touch-form label,form label{display:block;margin:0 0 16px;font-weight:700;font-size:16px}.touch-form label input,.touch-form label select,.touch-form label textarea,form label input,form label select,form label textarea{margin-top:8px;font-weight:400}.touch-btn{width:100%;min-height:62px;font-size:20px;margin-top:4px}.touch-btn.secondary{width:auto;background:#eaf1ff;color:#214f9c;margin-top:20px}.history-card{margin-top:0}.tablewrap{overflow:auto;background:#fff;border:1px solid #e5e9f1;border-radius:14px}table{width:100%;border-collapse:collapse}th,td{padding:16px 17px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap;font-size:16px}th{background:#f8fafc;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#667085}.qty{font-weight:850;font-size:19px}.badge{font-size:12px;font-weight:800;padding:6px 9px;border-radius:999px}.badge.ok{background:#dcfce7;color:#166534}.badge.low{background:#fee2e2;color:#991b1b}dl{display:grid;grid-template-columns:130px 1fr;gap:9px}dt{color:var(--muted)}dd{margin:0}.check{display:flex!important;align-items:center;gap:10px}.check input{width:28px;min-height:28px;margin:0!important}.narrow{max-width:620px;margin:46px auto}.flash{padding:14px 17px;border-radius:12px;margin-bottom:16px;background:#dcfce7;font-size:17px}.danger{background:#b91c1c}.inactive{opacity:.45}
@media(min-width:1800px){.item-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}.item-tile{min-height:330px}.item-name{font-size:28px}.tile-qty strong{font-size:50px}}
@media(max-width:900px){nav{padding:0 14px;min-height:68px}.brand{font-size:19px}nav a{padding:13px 10px;font-size:15px}main{padding:0 14px 30px;margin-top:20px}.top,.detail-hero{flex-direction:column;align-items:stretch}.kpis{width:100%}.kpi-box{flex:1;min-width:0}.touch-filters>*{width:100%!important;min-width:0!important}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-tile{min-height:285px;padding:16px}.tap-hint{margin:14px -16px -16px;padding:12px 16px}.grid{grid-template-columns:1fr}.hero-qty{text-align:left}.detail-hero h1{font-size:36px}.hero-qty strong{font-size:54px}}
@media(max-width:560px){.item-grid{grid-template-columns:1fr}.kpis{flex-direction:column}.item-name{min-height:auto}.tile-meta{grid-template-columns:1fr 1fr}.touch-dl{grid-template-columns:115px 1fr}}
.nav-actions{display:flex;align-items:center;gap:6px}.lang-switch{background:#26344a;border:1px solid #40516b;color:#fff;min-height:50px;padding:10px 16px;font-size:16px;margin:0}.lang-switch:active{transform:scale(.96)}
.update-card{grid-column:span 1}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.action-choice{min-height:150px;padding:18px 14px;border:3px solid transparent;border-radius:20px;background:#f1f5f9;color:#172033;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;transition:.12s ease}.action-choice .action-symbol{font-size:46px;line-height:.9;font-weight:900}.action-choice strong{font-size:22px}.action-choice small{font-size:13px;line-height:1.25;color:#667085;font-weight:600}.action-choice.restock.selected{background:#e9fbef;border-color:#2da75b;color:#176b38}.action-choice.use.selected{background:#fff0ee;border-color:#df5c50;color:#9c2e24}.action-choice.adjust.selected{background:#eef4ff;border-color:#4b76dc;color:#254b9c}.action-choice:active{transform:scale(.97)}.movement-fields{border-top:1px solid #e4e9f1;padding-top:20px}.field-hint{display:block;color:var(--muted);font-size:13px;font-weight:500;margin-top:6px}
@media(max-width:900px){.nav-actions{gap:2px}.lang-switch{font-size:14px;padding:9px 11px;min-height:46px}.action-grid{grid-template-columns:1fr 1fr 1fr;gap:9px}.action-choice{min-height:135px;padding:12px 8px}.action-choice .action-symbol{font-size:38px}.action-choice strong{font-size:18px}.action-choice small{display:none}}
@media(max-width:560px){.action-grid{grid-template-columns:1fr}.action-choice{min-height:100px;flex-direction:row;justify-content:flex-start;text-align:left;padding:16px 22px}.action-choice small{display:block}.action-choice .action-symbol{width:48px}}

/* V4: touchscreen date/time selector */
.time-field{display:flex;flex-direction:column;gap:10px}.field-label{font-weight:800}.time-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.time-choice{min-height:58px;border:2px solid #d5dbe4;border-radius:14px;background:#fff;font-size:1rem;font-weight:800;cursor:pointer}.time-choice.selected{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.08)}.disabled-input{opacity:.62;background:#eef1f5!important}.time-field input[type=datetime-local]{min-height:58px;font-size:1.08rem}@media(max-width:700px){.time-mode-grid{grid-template-columns:1fr}.time-choice{min-height:64px}}

/* V5: Need to Order / Order Cart touchscreen workflow */
.order-nav{background:#fff7d6!important;color:#5f4a00!important;border:1px solid #e7d782!important;border-radius:12px!important;font-weight:850!important;white-space:nowrap}.order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;padding-bottom:92px}.order-item-card{background:#fff;border:2px solid transparent;border-radius:22px;padding:18px;box-shadow:0 5px 20px #17203312;display:flex;flex-direction:column;gap:13px}.order-item-card.is-low{border-color:#efb1ab;background:#fffafa}.order-item-card.selected{border-color:#2d70d6;background:#f6f9ff;box-shadow:0 0 0 3px #d9e7ff inset,0 7px 24px #17203315}.order-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.order-item-name{font-size:25px;font-weight:900;line-height:1.15;min-height:58px}.order-stock-line{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:9px;padding:12px 0;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.order-stock-line>span,.order-stock-line>small{color:var(--muted);font-size:13px}.order-stock-line>strong{font-size:24px}.order-supplier{font-size:14px;color:#5b6574;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-qty-label{margin:0!important;font-size:14px!important;color:#445064}.order-qty-label input{margin-top:6px!important;min-height:52px!important;font-size:18px!important}.order-select-btn{width:100%;min-height:62px;border-radius:15px;background:#172033;color:#fff;font-size:19px;font-weight:850;margin-top:auto}.order-select-btn.selected{background:#2d70d6}.cart-kpi{min-width:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#172033;color:#fff;border-radius:18px;padding:15px 20px;text-decoration:none}.cart-kpi b{font-size:34px;line-height:1}.cart-kpi span{font-size:14px;margin-top:5px}.order-sticky-bar{position:sticky;bottom:12px;z-index:20;margin:18px auto 0;max-width:760px;background:#172033;color:#fff;border-radius:18px;padding:12px 14px 12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 10px 35px #17203338}.order-sticky-bar strong{font-size:28px}.checkout-btn{background:#fff;color:#172033;min-width:230px}.supplier-section{background:#fff;border:1px solid var(--border);border-radius:20px;margin-bottom:20px;overflow:hidden;box-shadow:0 4px 18px #1720330d}.supplier-section h2{margin:0;padding:18px 22px;background:#f6f8fb;border-bottom:1px solid #e7ebf1;font-size:22px}.cart-row{padding:18px 22px;border-bottom:1px solid #edf0f5;display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.6fr);gap:22px;align-items:center}.cart-row:last-child{border-bottom:0}.cart-main strong{display:block;font-size:22px}.cart-main span{display:block;color:var(--muted);font-size:14px;margin-top:5px}.cart-edit{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(190px,1.2fr) auto auto;gap:10px;align-items:end}.cart-edit label{margin:0!important;font-size:13px}.cart-edit input{margin-top:5px!important;min-height:50px!important}.cart-edit .btn{min-height:50px;white-space:nowrap}.cart-count-big{background:#fff;border:1px solid var(--border);border-radius:18px;padding:15px 25px;text-align:center;min-width:150px}.cart-count-big b{display:block;font-size:38px}.cart-count-big span{font-size:14px;color:var(--muted)}.clear-order-form{display:flex;justify-content:flex-end;padding-bottom:30px}.order-empty{display:flex;flex-direction:column;gap:14px;align-items:center}.order-empty .btn{margin-top:8px}
@media(max-width:900px){.order-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cart-row{grid-template-columns:1fr}.cart-edit{grid-template-columns:1fr 1fr}.cart-edit .btn{width:100%}.cart-kpi{width:100%;min-width:0}.order-nav{font-size:14px!important;padding:9px 11px!important}}
@media(max-width:560px){.order-grid{grid-template-columns:1fr}.order-sticky-bar{flex-direction:column;align-items:stretch}.checkout-btn{min-width:0;width:100%}.cart-edit{grid-template-columns:1fr}.supplier-section h2{font-size:19px}.order-item-name{min-height:auto}.nav-actions{flex-wrap:wrap;justify-content:flex-end}}
.order-kpi{border-color:#e7d782!important;background:#fffaf0!important}.order-kpi b{color:#7a5b00}

/* V5.2 read-only Excel-style table view */
.table-kpi b{font-size:2rem;line-height:1}
.table-filters{margin-bottom:14px}
.excel-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--border,#dfe3e8);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch}
.excel-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px;font-size:15px}
.excel-table th,.excel-table td{padding:13px 14px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap;vertical-align:middle}
.excel-table th{position:sticky;top:0;z-index:3;background:#f3f4f6;font-weight:800}
.excel-table tbody tr:nth-child(even) td{background:#fafafa}
.excel-table tbody tr.table-low td{background:#fff3f3}
.excel-table .sticky-item{position:sticky;left:0;z-index:2;background:#fff;min-width:190px}
.excel-table tbody tr:nth-child(even) .sticky-item{background:#fafafa}
.excel-table tbody tr.table-low .sticky-item{background:#fff3f3}
.excel-table th:first-child{position:sticky;left:0;z-index:5;background:#f3f4f6}
.table-sort{display:block;color:inherit;text-decoration:none;min-height:44px;line-height:44px;margin:-13px -14px;padding:0 14px}
.num-cell{font-variant-numeric:tabular-nums;font-weight:700}
@media(max-width:700px){.excel-table{font-size:14px;min-width:1050px}.excel-table th,.excel-table td{padding:11px 12px}.table-sort{margin:-11px -12px;padding:0 12px}.excel-table .sticky-item{min-width:160px}}

/* V5.3 order quantity picker */
.order-qty-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.order-qty-title{font-size:14px;font-weight:800;color:#445064;white-space:nowrap}.qty-stepper{display:grid;grid-template-columns:58px minmax(72px,92px) 58px;gap:7px;align-items:center}.qty-step-btn{min-height:56px!important;height:56px;padding:0!important;border-radius:14px!important;background:#eaf1ff!important;color:#173f7a!important;font-size:30px!important;font-weight:900!important;line-height:1}.order-qty-input{width:100%!important;min-width:0!important;height:56px!important;min-height:56px!important;margin:0!important;padding:7px 6px!important;text-align:center;font-size:24px!important;font-weight:900!important;border:2px solid #cfd8e6!important;border-radius:13px!important;background:#fff!important}.order-item-card.selected .order-qty-input{border-color:#8db4ee!important}.qty-step-btn:active{transform:scale(.95)}
@media(max-width:520px){.order-qty-picker{align-items:stretch;flex-direction:column}.qty-stepper{grid-template-columns:64px minmax(80px,1fr) 64px;width:100%}}

/* V5.4 order summary fields */
.cart-edit{grid-template-columns:minmax(115px,.48fr) minmax(90px,.38fr) minmax(120px,.52fr) minmax(180px,1.05fr) auto auto}
.cart-readonly-field{display:flex;flex-direction:column;gap:5px;min-width:0}.cart-readonly-field span{font-size:13px;font-weight:700;color:#445064}.cart-readonly-field strong{display:flex;align-items:center;min-height:50px;padding:10px 12px;border:1px solid #dfe5ed;border-radius:12px;background:#f7f9fc;font-size:16px;overflow-wrap:anywhere}
@media(max-width:1100px){.cart-edit{grid-template-columns:1fr 1fr 1fr}.cart-edit label:last-of-type{grid-column:1 / span 3}.cart-edit .btn{width:100%}}
@media(max-width:700px){.cart-edit{grid-template-columns:1fr 1fr}.cart-edit label:last-of-type{grid-column:1 / span 2}}
@media(max-width:520px){.cart-edit{grid-template-columns:1fr}.cart-edit label:last-of-type{grid-column:auto}}

.order-unit-note{display:flex;flex-direction:column;gap:4px;margin:8px 0 12px;font-size:15px}.order-unit-note small{opacity:.75}
