:root{--bg:#f8f5ef;--paper:#fffdf8;--panel:#fff;--ink:#24211c;--muted:#736d62;--line:#ded7ca;--brand:#1d6b5f;--brand-strong:#155348;--accent:#c24f35;--gold:#d99d31;--ok:#237d4f;--danger:#b43d31;--shadow:0 18px 42px #312b231a}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{line-height:1.4}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 88%, transparent), #24211cb8), url(/kitchen-counter.svg) center/cover;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(460px,100%);box-shadow:var(--shadow);background:#fffdf8f5;border:1px solid #ffffffa8;border-radius:8px;padding:28px}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;margin-bottom:18px;display:grid}.brand-mark img,.brand-logo-preview img,.outlet-logo-preview img,.outlet-card-logo img{object-fit:contain;width:100%;height:100%}.app-brand-logo{width:42px;height:42px;overflow:hidden}.app-brand-logo.compact{width:32px;height:32px}.login-brand-logo,.outlet-card-logo{overflow:hidden}.login-card h1,.page-title h1{letter-spacing:0;margin:0}.login-card h1{font-size:clamp(2rem,8vw,3.6rem);line-height:.95}.login-card p,.page-title p,.muted{color:var(--muted)}.form-stack{gap:14px;display:grid}.field{gap:7px;display:grid}.field span{color:var(--muted);font-size:.9rem;font-weight:650}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}.field textarea{resize:vertical;min-height:96px}.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:750;display:inline-flex}.primary-button{background:var(--brand);color:#fff;padding:10px 14px}.primary-button:hover{background:var(--brand-strong)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{border-color:var(--line);color:var(--ink);background:#fff;padding:10px 14px}.secondary-button.disabled{cursor:not-allowed;opacity:.5}.ghost-button{color:var(--muted);background:0 0;padding:8px 10px}.danger-button{color:var(--danger);background:#b43d311a;padding:10px 14px}.icon-button{width:42px;min-width:42px;color:var(--ink);border-color:var(--line);background:#fff;padding:0}.item-row-actions{gap:8px;display:flex;position:relative}.save-action{display:inline-flex;position:relative}.select-column{text-align:center;width:48px;min-width:48px}.select-column input{width:20px;height:20px;accent-color:var(--brand);cursor:pointer}.item-save-button{transition:background-color .16s,border-color .16s,color .16s,transform .16s}.item-save-button.is-saving{color:var(--brand)}.item-save-button.is-saved{color:#167454;background:#e5f5ee;border-color:#9acdb8;animation:.32s ease-out item-save-pop}.item-save-spinner{animation:.75s linear infinite item-save-spin}.save-success-bubble{z-index:3;color:#126247;pointer-events:none;background:#e5f5ee;border:1px solid #9acdb8;border-radius:6px;padding:4px 8px;font-size:.76rem;font-weight:800;line-height:1;animation:1.6s both item-save-bubble;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 5px 14px #12624724}@keyframes item-save-spin{to{transform:rotate(360deg)}}@keyframes item-save-pop{50%{transform:scale(1.08)}}@keyframes item-save-bubble{0%{opacity:0;transform:translateY(4px)}12%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.item-save-button,.item-save-button.is-saved,.item-save-spinner,.save-success-bubble{transition:none;animation:none}}.drag-handle{cursor:grab;color:var(--muted)}.drag-handle:active{cursor:grabbing}.dragging-row{opacity:.55;background:#1d6b5f14}.app-shell{grid-template-columns:258px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar-bg,#fffaf0);flex-direction:column;gap:16px;height:100vh;padding:18px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;font-size:1.05rem;font-weight:850;display:flex}.user-chip{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:2px;padding:12px;display:grid}.user-chip strong{font-size:.95rem}.user-chip span{color:var(--muted);font-size:.84rem}.nav-list{gap:4px;display:grid}.nav-link{color:#4e493f;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:9px 10px;font-weight:720;display:flex}.nav-link.active{color:var(--brand-strong);background:#e8f2ee}.nav-link:hover{background:#f0eadf}.main-content{min-width:0;padding:28px 28px 96px}.mobile-topbar{border-bottom:1px solid var(--line);background:var(--sidebar-bg,#fffaf0);z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:none;position:sticky;top:0}.mobile-nav{display:none}.page-title{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-title h1{font-size:clamp(1.65rem,4vw,2.5rem)}.grid{gap:14px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel,.card,.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 24px #312b230d}.panel{padding:18px}.card{padding:14px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.records-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.records-toolbar p{color:var(--muted);margin:4px 0 0}.records-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.order-record-filters{grid-template-columns:minmax(170px,.8fr) minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:14px;display:grid}.order-record-filters .field span,.supplier-price-date-form .field span{align-items:center;gap:6px;display:inline-flex}.order-record-filter-actions{align-items:center;gap:10px;margin-bottom:1px;display:flex}.order-record-filter-actions .badge{flex:none}.order-weight-breakdown{padding:0;overflow:hidden}.order-weight-breakdown summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:17px;font-weight:800;list-style:none;display:flex}.order-weight-breakdown summary::-webkit-details-marker{display:none}.order-weight-breakdown summary:before{content:"+";color:var(--brand);font-size:1.35rem;line-height:1}.order-weight-breakdown[open] summary:before{content:"−"}.order-weight-breakdown summary>span:first-of-type{margin-right:auto}.order-weight-breakdown-list{border-top:1px solid var(--line)}.order-weight-breakdown-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,1.3fr) minmax(180px,.8fr) minmax(100px,auto);align-items:center;gap:18px;padding:14px 17px;display:grid}.order-weight-breakdown-item{gap:3px;min-width:0;display:grid}.order-weight-breakdown-item strong,.order-weight-breakdown-item span{overflow-wrap:anywhere}.order-weight-breakdown-item span,.order-weight-breakdown-formula,.order-weight-breakdown-empty{color:var(--muted)}.order-weight-breakdown-total{white-space:nowrap;justify-self:end}.order-weight-breakdown-grand-total{background:color-mix(in srgb, var(--brand) 5%, #fff);justify-content:flex-end;align-items:center;gap:24px;padding:16px 17px;font-weight:800;display:flex}.order-weight-breakdown-empty{border-top:1px solid var(--line);margin:0;padding:17px}.records-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.records-resend-icon.is-spinning{animation:.9s linear infinite item-save-spin}.checkbox-cell{text-align:center;width:48px}.checkbox-cell input{width:18px;height:18px;accent-color:var(--brand)}.segmented{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.segment{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fff;border-radius:8px;padding:8px 12px;font-weight:750}.segment.active{background:var(--brand);border-color:var(--brand);color:#fff}.item-row,.order-row,.supplier-row,.user-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.item-row:first-child,.order-row:first-child,.supplier-row:first-child,.user-row:first-child{border-top:0}.item-meta,.order-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.order-supplier-meta{color:var(--ink);align-items:flex-start;gap:7px;margin-top:8px;font-size:.9rem;font-weight:700;line-height:1.35;display:flex}.order-supplier-meta svg{color:var(--brand);flex:none;margin-top:2px}.receiving-order-actions{align-items:stretch;gap:8px;display:flex}.receiving-order-actions .primary-button,.receiving-order-actions .danger-button{min-width:142px}.is-spinning{animation:.8s linear infinite control-spin}@keyframes control-spin{to{transform:rotate(360deg)}}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.history-order-summary{align-items:flex-start;gap:12px;min-width:0;display:flex}.history-order-summary h2{margin-top:0}.history-order-select{padding-top:4px;display:inline-flex}.history-order-select input{width:20px;height:20px;accent-color:var(--brand)}.quantity-guidance{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.quantity-guidance-item{min-height:42px;color:var(--brand-strong);background:#f4fbf7;border:1px solid #1d6b5f33;border-radius:999px;grid-template-columns:auto 42px;align-items:center;gap:7px;padding:4px 5px 4px 12px;font-weight:760;display:inline-grid}.quantity-guidance-item span{font-size:.82rem}.quantity-guidance-item strong{width:34px;height:34px;color:var(--brand-strong);background:#e8f4ef;border-radius:999px;place-items:center;font-size:1rem;display:grid}.order-items-compact{gap:9px;margin-top:10px;display:grid}.order-items-compact .item-row{background:#fffdf8;border:1px solid #e4dccf;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;box-shadow:0 6px 14px #312b230a}.order-items-compact .item-row:first-child{border-top:1px solid #e4dccf}.order-items-compact .item-row.selected{background:#f8fffb;border-color:#1d6b5f61;box-shadow:0 6px 16px #1d6b5f14}.order-items-compact .item-row h2{margin:0 0 4px;font-size:.94rem;line-height:1.22}.order-items-compact .item-meta{gap:5px;margin:0;font-size:.78rem}.order-items-compact .badge{min-height:24px;padding:3px 8px;font-size:.74rem}.order-items-compact .quantity-guidance{gap:6px;margin-top:5px}.order-items-compact .quantity-guidance-item{grid-template-columns:auto 30px;gap:4px;min-height:30px;padding:3px 4px 3px 9px}.order-items-compact .quantity-guidance-item span{font-size:.72rem}.order-items-compact .quantity-guidance-item strong{width:24px;height:24px;font-size:.82rem}.order-items-compact .qty-stepper{grid-template-columns:32px 36px 32px;margin-top:2px}.order-items-compact .qty-stepper button{width:32px;height:32px}.order-items-compact .qty-stepper input{height:32px}.order-items-compact .qty-stepper span,.order-items-compact .qty-stepper input{font-size:.9rem}.order-load-more{width:100%;margin-top:12px}.order-quantity-control{justify-items:center;gap:6px;display:grid}.order-unit{color:var(--ink);text-align:center;font-size:.82rem;font-weight:850;line-height:1.2}.staff-unit-picker,.stock-take-count-control{justify-items:stretch;gap:5px;display:grid}.staff-unit-picker{width:124px;color:var(--muted);font-size:.72rem;font-weight:760}.staff-unit-picker select{border:1px solid var(--line);width:100%;min-height:34px;color:var(--ink);background:#fff;border-radius:7px;padding:5px 8px;font-size:.88rem;font-weight:850}.staff-unit-picker small{text-align:center;line-height:1.2}.stock-take-count-control{justify-items:center}.stock-take-unit-counts{grid-template-columns:minmax(150px,1fr);align-items:end;gap:10px;display:grid}.stock-take-item-info{min-width:0}.stock-take-item-info h2,.stock-take-item-info .item-meta{margin:0}.stock-take-item-info h2{line-height:1.3}.stock-take-item-info .item-meta{margin-top:6px}.stock-take-unit-counts.has-alternate{grid-template-columns:repeat(2,minmax(150px,1fr))}.stock-take-unit-field{grid-template-columns:1fr auto;align-items:center;gap:5px 8px;display:grid}.stock-take-unit-field>span{color:var(--muted);grid-column:1/-1;font-size:.72rem;font-weight:800}.stock-take-unit-field>strong{min-width:38px;color:var(--ink);font-size:.82rem;font-weight:900}.stock-take-conversion{color:var(--brand-strong);text-align:center;grid-column:1/-1;font-weight:800}.order-category-select{width:min(340px,100%)}.item-filter-select{flex:240px;max-width:360px}.stock-month-picker{width:min(260px,100%)}.stock-take-record-filters{justify-content:flex-start;align-items:end}.stock-take-record-filters .badge{margin-bottom:10px}.checkbox-field{justify-content:end}.inline-check{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:0 12px;font-weight:760;display:flex}.inline-check input{width:18px;height:18px}.qty-stepper{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:38px 48px 38px;align-items:center;display:grid;overflow:hidden}.qty-stepper button{width:38px;height:38px;color:var(--brand);background:#fff;border:0;place-items:center;display:grid}.qty-stepper span,.qty-stepper input{text-align:center;font-weight:850}.qty-stepper input{border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--ink);background:#fff;border-radius:0;outline:0;padding:0 4px;font-size:1rem}.qty-stepper input:focus{background:#f8fffb;box-shadow:inset 0 0 0 2px #1d6b5f2e}.qty-stepper input::placeholder{color:var(--ink);opacity:1}.cart-dock{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);background:#fffdf8f2;border:1px solid #1d6b5f38;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:12px;display:flex;position:sticky;bottom:18px}.order-creator{min-width:0}.cart-dock-actions{gap:8px;width:min(340px,100%);display:grid}.cart-dock-actions>button{width:100%}.supplier-comment-button{color:#fff;white-space:nowrap;background:#138c89;border:1px solid #0b7776;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 14px;font-weight:800;transition:transform .12s,background-color .14s,box-shadow .14s;display:inline-flex}.supplier-comment-button:hover{background:#0b7776;transform:translateY(-1px);box-shadow:0 5px 14px #0b777629}.supplier-comment-button:active{transform:translateY(0)}.supplier-comment-button span{background:#fff3;border-radius:999px;padding:2px 7px;font-size:.72rem}.review-overlay{z-index:40;background:#221f1c57;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.review-sheet{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:min(82vh,720px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 24px 60px #221f1c3d}.review-header,.review-actions{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.review-header{border-bottom:1px solid var(--line)}.review-header h2{margin:0 0 3px;font-size:clamp(1.35rem,4vw,1.9rem)}.review-list{padding:4px 16px 16px;overflow-y:auto}.review-order-comment{background:#138c8912;border:1px solid #138c8947;border-radius:8px;margin-top:12px;padding:12px}.review-order-comment strong{color:#0b7776}.review-order-comment p{white-space:pre-wrap;margin:6px 0 0}.supplier-comment-sheet{grid-template-rows:auto auto auto}.supplier-comment-body{padding:16px}.supplier-comment-body textarea{min-height:150px}.supplier-comment-count{color:var(--muted);text-align:right;margin-top:6px;font-size:.78rem;font-weight:700;display:block}.supplier-comment-actions .supplier-comment-button{min-width:150px}.review-supplier{border-bottom:1px solid var(--line);padding:14px 0}.review-supplier:last-child{border-bottom:0}.review-supplier-title,.review-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-supplier-title{margin-bottom:8px}.review-line{min-height:40px;padding:8px 0}.review-line span{min-width:0;font-weight:720}.review-line strong{color:var(--brand-strong);flex:none}.review-actions{border-top:1px solid var(--line);background:#fffdf8}.badge{color:#5d554a;background:#f0eadf;border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:4px 8px;font-size:.82rem;font-weight:760;display:inline-flex}.badge.green{color:var(--ok);background:#e5f3eb}.badge.red{color:var(--danger);background:#f8e7e3}.badge.gold{color:#7a520d;background:#fbf0cf}.supplier-card{gap:12px;display:grid}.message-box{border:1px solid var(--line);color:#3d382f;white-space:pre-wrap;background:#f7f2e8;border-radius:8px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;overflow-x:auto}.photo-preview{aspect-ratio:4/3;border:1px dashed var(--line);background:#fffaf0;border-radius:8px;place-items:center;width:100%;display:grid;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.receiving-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.receiving-photo-card{min-width:0;position:relative}.receiving-photo-card img{aspect-ratio:4/3;border:1px solid var(--line);object-fit:cover;background:#fffaf0;border-radius:8px;width:100%}.photo-remove-button{color:#fff;background:#24211cc7;border:0;border-radius:999px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:6px;right:6px}.receiving-items-panel,.receiving-history-panel{grid-column:1/-1}.receiving-history-list{margin-top:10px;display:grid}.receiving-history-entry{border-top:1px solid var(--line);gap:10px;padding:14px 0;display:grid}.receiving-history-entry:first-child{border-top:0}.receiving-history-entry p{margin:0}.receiving-history-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;display:flex}.receiving-history-photos{grid-template-columns:repeat(auto-fill,minmax(92px,132px));gap:8px;display:grid}.receiving-history-photos img{aspect-ratio:4/3;border:1px solid var(--line);object-fit:cover;border-radius:6px;width:100%}.receiving-submit-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.partial-receive-button{color:#6d4a0e;background:#fff7df;border-color:#d4ad55}.receiving-completion-note{text-align:center;margin:0;font-size:.85rem}.receiving-completion-confirm{border:1px solid var(--line);min-height:46px;color:var(--ink);background:#f5faf7;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.receiving-completion-confirm input{width:20px;height:20px;accent-color:var(--brand);flex:0 0 20px}.receiving-item-list{gap:2px;margin-top:12px;display:grid}.receiving-item-list.compact{margin-top:10px}.receiving-selection-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 0;display:flex}.receiving-selection-toolbar .row-actions{margin-left:auto}.receiving-item-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.receiving-item-row:first-child{border-top:0}.receiving-item-row strong,.receiving-item-row span{display:block}.receiving-item-row span:not(.badge){color:var(--muted);margin-top:2px;font-size:.9rem}.receiving-item-row.itemized{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:minmax(220px,.85fr) minmax(520px,1.6fr);padding:14px}.receiving-item-row.itemized.selected{border-color:color-mix(in srgb, var(--brand) 44%, var(--line));background:color-mix(in srgb, var(--brand) 4%, #fff)}.receiving-item-check{align-items:flex-start;gap:10px;min-width:0;display:flex}.receiving-item-check input{width:21px;height:21px;accent-color:var(--brand);flex:0 0 21px;margin-top:2px}.receiving-item-check span,.receiving-item-check small{min-width:0;display:block}.receiving-item-check strong{overflow-wrap:anywhere}.receiving-item-check small{color:var(--muted);margin-top:4px}.receiving-quantity-summary{grid-template-columns:repeat(4,minmax(105px,1fr));align-items:stretch;gap:8px;display:grid}.receiving-quantity-summary>span,.receiving-quantity-summary>label{border:1px solid var(--line);background:var(--bg);border-radius:6px;align-content:center;gap:4px;min-height:66px;padding:8px 10px;display:grid}.receiving-quantity-summary small{color:var(--muted);font-size:.72rem;font-weight:700}.receiving-quantity-input{align-items:center;gap:7px;display:flex}.receiving-quantity-input input{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));width:100%;min-width:0;height:36px;font:inherit;background:#fff;border-radius:5px;padding:6px 8px;font-weight:800}.receiving-quantity-input b{color:var(--muted);font-size:.78rem}.receiving-outstanding{color:#8a5200;background:#fff7df!important}.receiving-complete{color:#146443;background:#edf8f2!important}.receiving-result-preview{border:1px solid var(--line);border-radius:7px;align-items:center;gap:9px;min-height:46px;padding:10px 12px;font-weight:750;display:flex}.receiving-result-preview.partial{color:#6d4a0e;background:#fff7df;border-color:#dfc47d}.receiving-result-preview.complete{color:#146443;background:#edf8f2;border-color:#add6c3}.receiving-record-items{border-left:3px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:var(--bg);color:var(--muted);gap:4px;margin-top:8px;padding:9px 10px;font-size:.84rem;display:grid}.receiving-history-quantities{grid-template-columns:repeat(3,minmax(108px,1fr));gap:7px;display:grid}.receiving-history-quantities>span{border:1px solid var(--line);background:var(--bg);border-radius:6px;min-height:52px;padding:7px 9px;font-weight:700;margin:0!important;font-size:.74rem!important}.receiving-history-quantities strong{color:var(--ink);margin-top:3px;font-size:.9rem}.receiving-history-quantities .outstanding-text{background:#fff7df;border-color:#dfc47d;color:#8a5200!important}.receiving-history-quantities .complete-text{background:#edf8f2;border-color:#add6c3;color:#146443!important}.order-record-detail{gap:16px;display:grid}.compact-table-wrap table{min-width:620px}.order-accounting-notice{color:#146443;align-items:center;gap:8px;margin:0 0 12px;font-weight:700;display:inline-flex}.order-accounting-error{margin:0 0 12px;display:inline-block}.order-accounting-quantity-cell{min-width:150px}.order-accounting-quantity-editor{grid-template-columns:minmax(86px,110px) auto;align-items:end;gap:4px 8px;display:grid}.order-accounting-quantity-editor span{color:var(--muted);grid-column:1/-1;font-size:.76rem;font-weight:700}.order-accounting-quantity-editor input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);font:inherit;background:#fff;border-radius:6px;padding:9px 10px;font-weight:700}.order-accounting-quantity-editor small,.order-accounting-original{color:var(--muted);font-size:.78rem}.order-accounting-original{white-space:nowrap;margin-top:4px;display:block}.order-photo-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;display:grid}.order-photo-card{color:inherit;gap:8px;display:grid}.order-photo-card img{aspect-ratio:4/3;border:1px solid var(--line);object-fit:cover;background:#fffaf0;border-radius:8px;width:100%}.order-photo-card span,.order-notes{color:var(--muted);font-size:.88rem}.order-photo-empty{min-height:180px;color:var(--muted);text-align:center;margin-top:12px}.order-photo-empty div{justify-items:center;gap:8px;display:grid}.order-notes{gap:8px;margin-top:12px;display:grid}.receiving-note-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;display:grid}.receiving-note-row:first-child{border-top:0}.receiving-note-row p{margin:0}.stat{gap:8px;display:grid}.stat span{color:var(--muted);font-weight:700}.stat strong{font-size:2rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.table-section-heading h2,.table-section-heading p{margin:0}.table-section-heading p{margin-top:4px}.stock-take-summary-table{min-width:680px}.stock-take-records-table{min-width:1120px}table{border-collapse:collapse;width:100%;min-width:1320px}.dashboard-outlet-table{table-layout:fixed;min-width:0}.dashboard-outlet-table th:first-child,.dashboard-outlet-table td:first-child{width:55%}.dashboard-outlet-table th:nth-child(2),.dashboard-outlet-table td:nth-child(2){text-align:center;width:15%}.dashboard-outlet-table th:last-child,.dashboard-outlet-table td:last-child{text-align:right;width:30%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px}th{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.82rem}td input,td select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.item-name-cell{min-width:260px;position:relative}.item-name-editor{border:1px solid var(--line);width:100%;height:38px;min-height:38px;color:var(--ink);resize:none;vertical-align:top;background:#fff;border-radius:8px;padding:8px 10px;line-height:1.35;overflow:hidden}.admin-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:10px;display:grid}.copy-items-form{grid-template-columns:1fr;align-items:stretch}.copy-destination-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.copy-destination-toolbar .inline-actions{gap:8px;display:flex}.text-button{min-height:34px;color:var(--brand-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 7px;font-weight:760}.text-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.copy-destination-list{overscroll-behavior:contain;border:1px solid var(--line);background:#fff;border-radius:6px;max-height:320px;overflow-y:auto}.copy-destination-option{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;padding:10px 12px;display:grid}.copy-destination-option:last-child{border-bottom:0}.copy-destination-option:has(input:checked){background:color-mix(in srgb, var(--brand) 10%, white)}.copy-destination-option input{width:20px;height:20px;accent-color:var(--brand);margin:0}.copy-destination-option span{gap:3px;min-width:0;display:grid}.copy-destination-option strong,.copy-destination-option small{overflow-wrap:anywhere}.copy-destination-option small,.empty-copy-destinations{color:var(--muted)}.empty-copy-destinations{text-align:center;margin:0;padding:22px 14px}.empty-state{text-align:center;color:var(--muted);padding:34px 18px}.brand-settings-panel{gap:16px;display:grid}.brand-preview-card{grid-template-columns:86px minmax(0,1fr);align-items:center;gap:14px;display:grid}.brand-logo-preview,.outlet-logo-preview{border:1px dashed var(--line);color:var(--muted);background:#fffaf0;border-radius:8px;place-items:center;display:grid;overflow:hidden}.brand-logo-preview{grid-row:span 2;width:86px;height:86px}.brand-file-button{justify-self:start}.brand-color-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.color-field input[type=color]{min-height:52px;padding:4px}.outlet-logo-list{gap:10px;margin-top:14px;display:grid}.outlet-logo-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.outlet-logo-row strong,.outlet-logo-row span{display:block}.outlet-logo-row span{color:var(--muted);margin-top:3px}.outlet-logo-preview{width:58px;height:58px}.employee-admin{gap:20px;width:100%;min-width:0;display:grid}.employee-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.employee-tabs{gap:42px;display:flex;overflow-x:auto}.employee-tabs button{color:#7b7770;background:0 0;border:0;border-bottom:3px solid #0000;min-height:48px;padding:0 4px;font-weight:850}.employee-tabs button.active{color:#ff6b21;border-color:#ff6b21}.employee-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.employee-add-button{color:#fff;white-space:nowrap;background:#ff6b21;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-weight:850;display:inline-flex}.employee-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:18px;box-shadow:0 10px 24px #312b230d}.employee-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.employee-section-heading h2{margin:0;font-size:1.08rem}.employee-filters{grid-template-columns:auto auto minmax(240px,500px);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:grid}.filter-control,.employee-search{border:1px solid var(--line);min-height:46px;color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:10px;display:flex}.filter-control{padding:0 12px}.filter-control select,.employee-search input{min-height:42px;color:var(--ink);background:0 0;border:0;outline:0;font-weight:720}.employee-search{justify-self:end;width:min(500px,100%);padding:0 14px}.employee-search input{width:100%;font-size:1rem}.employee-search input::placeholder{color:#a8a399}.employee-table-wrap{border:1px solid #ece8df;border-radius:8px;min-width:0;max-width:100%;overflow-x:auto}.catalog-arrange-help{margin:0 0 12px}.employee-table{min-width:980px}.employee-table th{color:#716f76;text-transform:none;background:#f2f0f5;font-size:.9rem}.employee-table td{vertical-align:middle;padding:14px 16px}.table-input{border:1px solid var(--line);width:min(280px,100%);min-height:38px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.employee-name-cell{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;display:grid}.employee-name-cell strong,.employee-outlet-cell strong{font-weight:780;display:block}.employee-name-cell span:not(.employee-avatar),.employee-outlet-cell span{color:var(--muted);margin-top:2px;font-size:.88rem;display:block}.employee-avatar{color:#312f35;background:#f0eef4;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.82rem;font-weight:850;display:grid}.employee-menu-button{color:#66605a;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;min-width:36px;height:36px;display:inline-grid}.employee-menu-button:hover{background:#f2eee7}.employee-edit-row td{background:#fffaf0}.employee-edit-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:14px;display:grid}.employee-edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.employee-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.employee-form.compact{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.grow{flex:260px}.empty-table-cell{color:var(--muted);text-align:center}.outlet-list{gap:8px;display:grid}.outlet-directory-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 0;display:grid}.outlet-directory-row:first-child{border-top:0}.outlet-directory-row strong,.outlet-directory-row span{display:block}.outlet-directory-row span{color:var(--muted);margin-top:3px}.outlet-edit-panel{grid-column:1/-1}.role-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.role-summary-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:16px;display:grid}.role-summary-card span,.employee-simple-row span{color:var(--muted);font-weight:720}.role-summary-card strong{font-size:2rem}.employee-simple-table{border-top:1px solid var(--line);display:grid}.employee-simple-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;display:grid}.supplier-directory-filters{grid-template-columns:minmax(280px,1fr) minmax(190px,250px) minmax(210px,270px);align-items:end;gap:12px;display:grid}.supplier-directory-filters .employee-search{justify-self:stretch;width:100%}.supplier-group-control{width:100%}.supplier-directory-guidance{border:1px solid color-mix(in srgb, var(--line) 88%, #fff);background:color-mix(in srgb, var(--bg) 48%, #fff);border-radius:8px;gap:8px;margin:2px 0 14px;padding:10px 12px;display:grid}.supplier-directory-guidance .catalog-arrange-help{margin:0;font-size:.88rem;line-height:1.45}.supplier-group-summary{color:var(--muted);align-items:flex-start;gap:10px;font-size:.84rem;display:flex}.supplier-group-summary>span{flex:none;padding-top:4px;font-weight:780}.supplier-group-summary>div{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.supplier-group-summary .badge{min-height:22px;padding:2px 7px;font-size:.76rem}.bulk-action-bar{border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 7%, #fff);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;margin:12px 0;padding:10px 12px;display:flex}.table-checkbox-cell{text-align:center;width:50px;min-width:50px}.table-checkbox-cell input{width:19px;height:19px;accent-color:var(--brand);cursor:pointer}.supplier-group-row td{background:color-mix(in srgb, var(--brand) 8%, #fff);color:var(--brand-strong);border-top:2px solid color-mix(in srgb, var(--brand) 22%, var(--line));padding:9px 16px;font-size:.88rem;font-weight:850}.supplier-outlet-selector{border:1px solid var(--line);background:#fff;border-radius:8px;grid-column:1/-1;min-width:0;margin:0;padding:16px}.supplier-outlet-selector legend{padding:0 6px;font-weight:800}.supplier-outlet-modes{width:fit-content;max-width:100%}.service-outlet-help{margin:10px 0 0}.supplier-outlet-checklist{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:260px;margin-top:12px;display:grid;overflow-y:auto}.supplier-outlet-option{border:1px solid var(--line);cursor:pointer;background:#fffdf9;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.supplier-outlet-option:has(input:checked){border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, white)}.supplier-outlet-option input{width:18px;height:18px;accent-color:var(--brand)}.supplier-outlet-option strong,.supplier-outlet-option small{display:block}.supplier-outlet-option small{color:var(--muted);margin-top:2px}.service-outlet-summary{min-width:140px;max-width:240px;color:var(--muted);white-space:normal;font-weight:750;display:block}.supplier-directory-table-wrap{scrollbar-gutter:stable;max-height:clamp(440px,100dvh - 300px,760px);overflow:auto}.supplier-directory-table{table-layout:fixed;min-width:1550px}.supplier-directory-table .supplier-col-select{width:56px}.supplier-directory-table .supplier-col-sort{width:72px}.supplier-directory-table .supplier-col-id{width:108px}.supplier-directory-table .supplier-col-brand,.supplier-directory-table .supplier-col-group{width:170px}.supplier-directory-table .supplier-col-name{width:270px}.supplier-directory-table .supplier-col-phone{width:165px}.supplier-directory-table .supplier-col-outlets,.supplier-directory-table .supplier-col-categories{width:240px}.supplier-directory-table .supplier-col-actions{width:58px}.supplier-directory-table thead th{z-index:3;background:color-mix(in srgb, var(--bg) 72%, #fff);height:54px;box-shadow:0 1px 0 var(--line);vertical-align:middle;position:sticky;top:0}.supplier-directory-table td{overflow-wrap:anywhere;min-width:0;padding:13px 12px;line-height:1.4}.supplier-directory-table .supplier-sort-cell,.supplier-directory-table .supplier-actions-cell{text-align:center}.supplier-id-cell,.supplier-phone-cell{font-variant-numeric:tabular-nums}.supplier-id-cell{color:var(--muted);font-weight:740}.supplier-brand-cell,.supplier-group-cell,.supplier-name-cell{word-break:normal}.supplier-brand-cell,.supplier-group-cell{color:color-mix(in srgb, var(--ink) 88%, var(--muted))}.supplier-name-cell .employee-name-cell>div{min-width:0}.supplier-name-cell .employee-name-cell strong{overflow-wrap:anywhere;line-height:1.35}.supplier-phone-cell{white-space:nowrap;overflow-wrap:normal;font-weight:720}.supplier-directory-table .service-outlet-summary{min-width:0;max-width:none;line-height:1.4}.supplier-category-badges{align-items:flex-start}.supplier-category-badges .badge{white-space:normal;max-width:100%;min-height:24px;line-height:1.3}.supplier-directory-table .supplier-actions-cell{z-index:2;background:#fff;padding-left:8px;padding-right:8px;position:sticky;right:0;box-shadow:-8px 0 14px -14px #211d19b8}.supplier-directory-table thead .supplier-actions-cell{z-index:5;background:color-mix(in srgb, var(--bg) 72%, #fff)}.supplier-directory-table .employee-edit-row td{position:static}.supplier-directory-table .supplier-group-row td{padding:9px 14px;position:static}@media (max-width:1100px){.supplier-admin-topbar{align-items:stretch}.supplier-directory-filters{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(180px,220px))}}.field-error{color:#b33b2e;margin:10px 0 0;font-weight:750}.supplier-category-list{gap:10px;display:grid}.copy-result-grid{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.supplier-category-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:12px;display:grid}@media (max-width:920px){.app-shell{display:block}.sidebar{display:none}.mobile-topbar{min-height:64px;display:flex}.mobile-nav{z-index:20;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf0f5;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav .nav-link{flex-direction:column;justify-content:center;gap:3px;min-height:52px;padding:6px;font-size:.72rem}.mobile-topbar .sidebar-brand,.mobile-nav .nav-link{min-width:0}.mobile-topbar .sidebar-brand{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main-content{padding:16px 12px calc(148px + env(safe-area-inset-bottom))}.page-title{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}.page-title h1{font-size:1.65rem;line-height:1.1}.page-title p{margin:5px 0 0;font-size:.92rem}.panel,.card,.employee-panel{padding:14px}.toolbar{align-items:stretch}.toolbar>.primary-button,.toolbar>.secondary-button,.toolbar>.danger-button,.page-title>.primary-button,.page-title>.secondary-button,.page-title>.danger-button{width:100%}.order-category-select,.item-filter-select,.stock-month-picker{width:100%;max-width:none}.stock-take-record-filters .badge{margin-bottom:0}.grid.two,.grid.three,.admin-form,.employee-filters,.employee-form,.employee-form.compact,.role-summary-grid,.supplier-category-row,.brand-color-grid,.brand-preview-card,.outlet-logo-row{grid-template-columns:1fr}.brand-logo-preview,.outlet-logo-preview{width:72px;height:72px}.supplier-directory-filters{grid-template-columns:1fr;display:grid}.supplier-group-control{width:100%}.supplier-directory-guidance{padding:9px 10px}.supplier-group-summary{gap:5px;display:grid}.supplier-directory-table-wrap{max-height:none}.bulk-action-bar{flex-direction:column;align-items:stretch}.bulk-action-bar .danger-button{width:100%}.employee-search{justify-self:stretch;width:100%}.employee-actions{width:100%}.employee-actions .secondary-button,.employee-actions .employee-add-button{flex:180px}.employee-tabs{gap:24px}.table-wrap,.employee-table-wrap{border-left:0;border-right:0;border-radius:0;margin-left:-14px;margin-right:-14px}table,.employee-table{font-size:.88rem}th,td,.employee-table td{padding:10px}.cart-dock{left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:18;margin:0;position:fixed}.order-creator{padding-bottom:max(64px, calc(var(--cart-dock-height,132px) - 56px))}.order-load-more{scroll-margin-bottom:calc(var(--cart-dock-height,132px) + 90px + env(safe-area-inset-bottom))}.login-card{padding:22px}.review-overlay{padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.review-sheet{max-height:86vh}}@media (max-width:520px){.login-page{padding:14px}.login-card h1{font-size:2.35rem}.item-row,.order-row,.receiving-item-row,.supplier-row,.user-row{grid-template-columns:1fr}.order-row,.receiving-item-row{gap:8px}.receiving-order-actions{grid-template-columns:minmax(0,1fr) auto;display:grid}.receiving-order-actions .primary-button,.receiving-order-actions .danger-button{min-width:0}.row-actions,.employee-edit-actions,.review-actions,.records-toolbar{flex-direction:column;align-items:stretch}.receiving-submit-actions{grid-template-columns:1fr}.receiving-selection-toolbar{flex-direction:column;align-items:stretch}.receiving-selection-toolbar .row-actions{width:100%;margin-left:0}.receiving-item-row.itemized{grid-template-columns:1fr;gap:10px;padding:12px}.receiving-quantity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.receiving-history-quantities{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.receiving-history-quantities>span{min-height:50px;padding:6px}.receiving-quantity-summary>span,.receiving-quantity-summary>label{min-height:58px}.row-actions .primary-button,.row-actions .secondary-button,.employee-edit-actions .primary-button,.employee-edit-actions .secondary-button,.employee-edit-actions .danger-button,.review-actions .primary-button,.review-actions .secondary-button{width:100%}.records-actions{flex-direction:column;align-items:stretch}.records-actions .secondary-button,.records-actions .danger-button,.records-toolbar-actions,.records-toolbar-actions .secondary-button,.records-toolbar-actions .danger-button{width:100%}.order-items-compact .item-row{grid-template-columns:minmax(0,1fr) auto}.qty-stepper{width:124px}.stock-take-unit-counts,.stock-take-unit-counts.has-alternate{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-take-item-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px;padding:9px 0}.stock-take-item-row.has-alternate .stock-take-unit-counts{grid-column:1/-1}.stock-take-item-row.single-unit .stock-take-unit-counts{grid-template-columns:106px}.stock-take-item-info h2{font-size:.98rem;font-weight:780;line-height:1.25}.stock-take-item-info .item-meta{margin-top:5px}.stock-take-item-info .badge{min-height:22px;padding:2px 7px;font-size:.68rem;line-height:1.2}.stock-take-unit-counts{gap:5px 8px}.stock-take-unit-field{grid-template-columns:1fr;justify-items:center;gap:2px}.stock-take-unit-field>span{font-size:.62rem;line-height:1.1}.stock-take-unit-field>strong{min-width:0;font-size:.72rem;line-height:1.1}.stock-take-item-row .qty-stepper{grid-template-columns:30px 44px 30px;width:106px}.stock-take-item-row .qty-stepper button,.stock-take-item-row .qty-stepper input{height:32px}.stock-take-item-row .qty-stepper button{width:30px}.stock-take-item-row .qty-stepper input{font-size:.9rem}.stock-take-conversion{margin-top:1px;font-size:.64rem;line-height:1.15}.cart-dock{flex-direction:column;align-items:stretch}.cart-dock .primary-button,.cart-dock-actions{width:100%}.mobile-nav{gap:2px;padding-left:5px;padding-right:5px}.mobile-nav .nav-link{min-height:50px;padding:5px 2px;font-size:.68rem}.review-header,.review-actions{padding:12px}.review-list{padding:4px 12px 12px}.review-line{align-items:flex-start}.review-line strong{text-align:right}}:root{--surface-soft:color-mix(in srgb, var(--bg) 72%, #fff);--surface-tint:color-mix(in srgb, var(--brand) 5%, #fff);--line-strong:color-mix(in srgb, var(--line) 74%, var(--ink));--shadow-soft:0 8px 22px #292d2a0e;--shadow-raised:0 14px 34px #292d2a17;--focus-ring:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent)}html{background:var(--bg)}body{background:color-mix(in srgb, var(--bg) 94%, #edf2f0);text-rendering:optimizelegibility}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:0}.login-page{background-color:color-mix(in srgb, var(--brand-strong) 88%, #202824);background-blend-mode:multiply;background-image:url(/kitchen-counter.svg);background-position:50%;background-size:cover}.login-card{background:color-mix(in srgb, var(--paper) 97%, transparent);border-color:#ffffffbd;box-shadow:0 22px 60px #141d193d}.login-card h1{line-height:1}.field input,.field select,.field textarea,td input,td select,.table-input,.item-name-editor,.filter-control,.employee-search,.inline-check{border-color:color-mix(in srgb, var(--line) 84%, var(--ink));background:color-mix(in srgb, #fff 98%, var(--brand));transition:border-color .14s,box-shadow .14s,background-color .14s}.field input:hover,.field select:hover,.field textarea:hover,td input:hover,td select:hover,.table-input:hover,.item-name-editor:hover{border-color:var(--line-strong)}.field input:focus,.field select:focus,.field textarea:focus,td input:focus,td select:focus,.table-input:focus,.item-name-editor:focus{border-color:var(--brand);box-shadow:var(--focus-ring);background:#fff;outline:0}.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button,.segment,.employee-add-button{transition:transform .12s,background-color .14s,border-color .14s,color .14s,box-shadow .14s}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.icon-button:hover,.employee-add-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.danger-button:active,.icon-button:active,.employee-add-button:active{transform:translateY(0)}.secondary-button,.icon-button{border-color:color-mix(in srgb, var(--line) 78%, var(--ink));background:#fff}.secondary-button:hover,.icon-button:hover{border-color:color-mix(in srgb, var(--brand) 40%, var(--line));color:var(--brand-strong);box-shadow:0 5px 14px #292d2a12}.danger-button:hover{background:color-mix(in srgb, var(--danger) 14%, #fff)}.app-shell{background:color-mix(in srgb, var(--bg) 94%, #edf2f0);grid-template-columns:246px minmax(0,1fr)}.sidebar{border-color:color-mix(in srgb, var(--line) 82%, var(--ink));background:color-mix(in srgb, var(--sidebar-bg,#fffaf0) 95%, #fff);gap:14px;padding:16px 14px}.sidebar-brand{min-width:0;padding:2px 4px 10px;font-size:1.02rem;line-height:1.18}.sidebar-brand>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.app-brand-logo{width:40px;height:40px;box-shadow:0 6px 14px color-mix(in srgb, var(--brand) 22%, transparent);flex:none}.user-chip{border-color:color-mix(in srgb, var(--line) 84%, var(--ink));background:color-mix(in srgb, var(--paper) 96%, var(--brand));grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px;box-shadow:0 3px 10px #292d2a09}.user-avatar{background:color-mix(in srgb, var(--brand) 13%, #fff);width:36px;height:36px;color:var(--brand-strong);border-radius:50%;place-items:center;font-size:.76rem;font-weight:850;display:grid}.user-chip-copy{gap:1px;min-width:0;display:grid}.user-chip-copy strong,.user-chip-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-chip-copy small{color:var(--muted);font-size:.75rem;font-weight:650}.nav-list{gap:2px}.nav-link{min-height:44px;color:color-mix(in srgb, var(--ink) 76%, var(--muted));border:1px solid #0000;font-weight:740;position:relative}.nav-link:before{content:"";background:0 0;border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.nav-link:hover{background:color-mix(in srgb, var(--brand) 5%, #fff);color:var(--ink)}.nav-link.active{border-color:color-mix(in srgb, var(--brand) 10%, transparent);background:color-mix(in srgb, var(--brand) 10%, #fff);color:var(--brand-strong)}.nav-link.active:before{background:var(--brand)}.sidebar-logout{border:1px solid #0000;justify-content:flex-start;width:100%;margin-top:auto}.sidebar-logout:hover{border-color:var(--line);color:var(--ink);background:#ffffffad}.main-content{width:min(100%,1600px);margin:0 auto;padding:26px 30px 104px}.page-title{align-items:center;margin-bottom:20px}.page-title-main{align-items:center;gap:12px;min-width:0;display:flex}.page-title-icon{border:1px solid color-mix(in srgb, var(--brand) 16%, var(--line));background:color-mix(in srgb, var(--brand) 9%, #fff);width:44px;height:44px;color:var(--brand-strong);border-radius:8px;flex:0 0 44px;place-items:center;display:grid}.page-title-copy{min-width:0}.page-title h1{font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.08}.page-title p{max-width:720px;margin:5px 0 0;font-size:.92rem}.panel,.card,.table-wrap,.employee-panel{border-color:color-mix(in srgb, var(--line) 84%, var(--ink));box-shadow:var(--shadow-soft)}.panel,.employee-panel{padding:17px}.panel>h2:first-child,.toolbar h2,.employee-section-heading h2,.table-section-heading h2{letter-spacing:0;line-height:1.2}.stat{align-content:space-between;min-height:126px;position:relative;overflow:hidden}.stat:after{content:"";background:color-mix(in srgb, var(--brand) 76%, var(--accent));height:3px;position:absolute;bottom:0;left:0;right:0}.stat span{text-transform:uppercase;font-size:.84rem}.stat strong{color:var(--ink);font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.05}.toolbar{min-width:0}.toolbar h2,.toolbar p{margin-top:0}.table-wrap,.employee-table-wrap{background:#fff}th,.employee-table th{background:color-mix(in srgb, var(--bg) 68%, #fff);color:color-mix(in srgb, var(--muted) 84%, var(--ink));font-size:.78rem;font-weight:820}tbody tr{transition:background-color .12s}tbody tr:hover{background:color-mix(in srgb, var(--brand) 3%, #fff)}td{border-color:color-mix(in srgb, var(--line) 88%, #fff)}.segment{background:color-mix(in srgb, var(--bg) 54%, #fff);min-height:40px}.segment:hover{border-color:color-mix(in srgb, var(--brand) 35%, var(--line));color:var(--brand-strong)}.segment.active{box-shadow:0 5px 12px color-mix(in srgb, var(--brand) 18%, transparent)}.badge{border:1px solid color-mix(in srgb, currentColor 10%, transparent)}.item-row,.order-row,.supplier-row,.user-row,.receiving-item-row{border-color:color-mix(in srgb, var(--line) 86%, var(--ink))}.panel.order-row{border-top:1px solid color-mix(in srgb, var(--line) 84%, var(--ink));padding:16px}.order-items-compact{gap:8px}.order-items-compact .item-row{border-color:color-mix(in srgb, var(--line) 82%, var(--ink));box-shadow:none;background:#fff}.order-items-compact .item-row:hover{border-color:color-mix(in srgb, var(--brand) 26%, var(--line));background:color-mix(in srgb, var(--brand) 2%, #fff)}.quantity-guidance-item{border-radius:8px}.quantity-guidance-item strong{border-radius:6px}.qty-stepper{border-color:color-mix(in srgb, var(--line) 78%, var(--ink))}.qty-stepper button:hover{background:color-mix(in srgb, var(--brand) 8%, #fff)}.cart-dock{border-color:color-mix(in srgb, var(--brand) 24%, var(--line));background:color-mix(in srgb, var(--paper) 94%, transparent);box-shadow:var(--shadow-raised)}.employee-tabs{border-bottom:1px solid var(--line);gap:30px}.employee-tabs button{min-height:46px}.employee-tabs button.active{border-color:var(--accent);color:var(--accent)}.employee-add-button{background:var(--accent);border-radius:8px}.employee-add-button:hover{background:color-mix(in srgb, var(--accent) 86%, #000)}.employee-avatar{background:color-mix(in srgb, var(--brand) 10%, #fff);color:var(--brand-strong)}.employee-edit-row td,.employee-edit-panel,.supplier-category-row,.role-summary-card,.outlet-logo-row,.supplier-outlet-selector{background:color-mix(in srgb, var(--paper) 78%, #fff)}.admin-quick-link{border-color:color-mix(in srgb, var(--line) 84%, var(--ink));min-height:74px;color:var(--ink);background:#fff;justify-content:flex-start;font-size:.96rem}.admin-quick-link:before{display:none}.admin-quick-link:hover{border-color:color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 4%, #fff);color:var(--brand-strong);box-shadow:var(--shadow-soft)}.admin-quick-link svg{background:color-mix(in srgb, var(--brand) 9%, #fff);width:34px;height:34px;color:var(--brand-strong);border-radius:7px;padding:7px}.outlet-selection-grid{grid-template-columns:repeat(auto-fit,minmax(250px,340px))}.outlet-selection-card{text-align:left;grid-template-rows:auto 1fr auto;place-items:start;gap:14px;min-height:210px;padding:20px;transition:transform .14s,border-color .14s,box-shadow .14s,background-color .14s;display:grid}.outlet-selection-card:hover{border-color:color-mix(in srgb, var(--brand) 34%, var(--line));background:color-mix(in srgb, var(--brand) 3%, #fff);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.outlet-selection-card .brand-mark{margin:0}.outlet-selection-card h2{align-self:center;margin:0;font-size:1.35rem;line-height:1.2}.outlet-selection-card .item-meta{margin:0}.message-box,.photo-preview,.receiving-photo-card img,.order-photo-card img{border-color:color-mix(in srgb, var(--line) 82%, var(--ink))}.empty-state{background:color-mix(in srgb, var(--panel) 96%, var(--brand));align-content:center;place-items:center;gap:8px;min-height:180px;display:grid}.app-shell.is-loading .sidebar,.app-shell.is-loading .mobile-topbar{animation:1.2s ease-in-out infinite alternate shell-loading-pulse}@keyframes shell-loading-pulse{0%{opacity:.72}to{opacity:1}}@media (prefers-reduced-motion:reduce){.app-shell.is-loading .sidebar,.app-shell.is-loading .mobile-topbar{animation:none}.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button,.segment,.employee-add-button,.outlet-selection-card,tbody tr{transition:none}}@media (max-width:920px){.app-shell{background:color-mix(in srgb, var(--bg) 96%, #edf2f0)}.mobile-topbar{border-color:color-mix(in srgb, var(--line) 82%, var(--ink));background:color-mix(in srgb, var(--sidebar-bg,#fffaf0) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-height:60px;padding:10px 12px}.mobile-topbar .sidebar-brand{padding:0;font-size:.96rem}.main-content{padding:15px 12px calc(142px + env(safe-area-inset-bottom))}.page-title{gap:9px;margin-bottom:13px}.page-title-main{align-items:flex-start;gap:10px}.page-title-icon{flex-basis:38px;width:38px;height:38px}.page-title h1{font-size:1.55rem}.page-title p{margin-top:4px;font-size:.86rem}.mobile-nav{min-height:68px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-color:color-mix(in srgb, var(--line) 80%, var(--ink));background:color-mix(in srgb, var(--sidebar-bg,#fffaf0) 94%, transparent);box-shadow:0 -8px 24px #292d2a13}.mobile-nav .nav-link{border:0;border-radius:7px;min-height:52px}.mobile-nav .nav-link:before{display:none}.mobile-nav .nav-link.active{background:color-mix(in srgb, var(--brand) 11%, #fff)}.panel,.card,.employee-panel{padding:13px}.stat{min-height:105px}.stat strong{font-size:1.75rem}.table-wrap,.employee-table-wrap{box-shadow:none}.outlet-selection-grid{grid-template-columns:1fr}.outlet-selection-card{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;min-height:150px;padding:16px}.outlet-selection-card .brand-mark{grid-row:1/-1}.outlet-selection-card h2{align-self:end}.outlet-selection-card .item-meta{align-self:start}}@media (max-width:520px){.login-card{padding:20px}.login-card h1{font-size:2.1rem}.page-title-main{width:100%}.order-items-compact .item-row{padding:9px}.order-items-compact .item-row h2{font-size:.92rem}.quantity-guidance-item{min-height:32px}.outlet-selection-card{min-height:138px}.admin-quick-link{min-height:60px}}.items-tool-launcher{align-items:center;gap:10px;padding:10px;display:flex}.items-tool-button{justify-content:flex-start;min-width:168px}.items-tool-button>svg:last-child{margin-left:auto}.items-tool-button .badge{justify-content:center;min-width:26px;margin-left:auto}.items-tool-button:has(.badge)>svg:last-child{margin-left:0}.items-tool-button.active{border-color:color-mix(in srgb, var(--brand) 38%, var(--line));background:color-mix(in srgb, var(--brand) 9%, #fff);color:var(--brand-strong);box-shadow:var(--focus-ring)}.items-tool-content{animation:.16s ease-out items-tool-reveal}@keyframes items-tool-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.items-table-wrap{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:max(520px,100vh - 210px);position:relative;overflow:auto}.items-list-toolbar{align-items:end;margin-top:2px}.items-list-toolbar>div:first-child{flex:360px;min-width:min(100%,280px)}.items-list-toolbar-actions{flex-wrap:wrap;flex:420px;justify-content:flex-end;align-items:end;gap:10px;display:flex}.items-bulk-actions{min-height:48px;margin:0}.supplier-price-date-form{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 42%, #fff);border-radius:8px;grid-template-columns:minmax(170px,210px) auto;align-items:end;gap:8px;padding:10px;display:grid}.supplier-price-date-form .field{gap:5px}.supplier-price-date-form input{min-height:40px;padding:7px 9px}.supplier-price-date-form .secondary-button{min-width:112px;min-height:40px}.supplier-price-date-form .save-success{border-color:color-mix(in srgb, var(--ok) 40%, var(--line));background:color-mix(in srgb, var(--ok) 10%, #fff);color:var(--ok)}.items-admin-table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:940px}.items-admin-table thead th{z-index:4;background:color-mix(in srgb, var(--bg) 82%, #fff);height:64px;box-shadow:inset 0 -1px 0 var(--line);vertical-align:middle;border-top:0;position:sticky;top:0}.items-admin-table .select-column{width:44px}.items-admin-table .items-name-column{width:auto}.items-admin-table .items-units-column{width:230px}.items-admin-table .items-amount-column{width:132px}.items-admin-table .items-ordering-column{width:136px}.items-admin-table .items-stock-column{text-align:center;width:64px}.items-admin-table th,.items-admin-table td{vertical-align:middle;padding:10px 8px}.items-column-heading{gap:2px;line-height:1.05;display:grid}.items-column-heading strong{font:inherit}.items-column-heading small{color:var(--muted);text-transform:none;font-size:.64rem;font-weight:700}.items-admin-table tbody tr{background:#fff}.items-admin-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--bg) 28%, #fff)}.items-admin-table tbody tr:hover{background:color-mix(in srgb, var(--brand) 4%, #fff)}.items-admin-table td input,.items-admin-table td select,.items-admin-table .item-name-editor{min-height:42px}.items-admin-table .item-name-editor{height:auto;min-height:68px}.item-name-control{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:8px;display:grid}.item-name-control .drag-handle{width:38px;min-width:38px;min-height:68px}.items-unit-editor,.items-ordering-editor{align-items:center;gap:5px;display:grid}.items-unit-editor{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 12px 54px}.items-ordering-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.items-unit-symbol{color:var(--muted);text-align:center;font-size:.9rem;font-weight:800}.items-unit-editor input,.items-ordering-editor input{min-width:0;min-height:40px;padding:7px 8px}.items-amount-column input,.items-ordering-editor input{text-align:center}.items-amount-column input{width:100%;min-width:0;padding-left:10px;padding-right:10px}.items-admin-table .items-stock-checkbox{width:23px;height:23px;min-height:23px;accent-color:var(--brand);cursor:pointer;padding:0;display:inline-block}.items-actions-column{width:146px;min-width:146px}.items-admin-table thead .items-actions-column{z-index:4}.items-actions-column .item-row-actions{flex-wrap:nowrap;justify-content:flex-end}.items-row-save{min-width:84px;min-height:40px;padding:8px 10px}.items-actions-column .row-delete-button{flex:0 0 40px;width:40px;min-width:40px;min-height:40px}@media (max-width:920px){.items-tool-launcher{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.items-tool-button{min-width:0}.items-table-wrap{border-left:0;border-right:0;border-radius:0;max-height:max(480px,100dvh - 170px);margin-left:-12px;margin-right:-12px}.items-admin-table{min-width:940px}.items-admin-table .items-name-column{width:auto}.items-actions-column{z-index:3;width:146px;min-width:146px;box-shadow:-10px 0 18px -16px #24211c8c, inset 1px 0 0 var(--line);background:#fff;position:sticky;right:0}.items-admin-table thead .items-actions-column{z-index:6;background:color-mix(in srgb, var(--bg) 82%, #fff)}.items-admin-table tbody tr:nth-child(2n) .items-actions-column{background:color-mix(in srgb, var(--bg) 28%, #fff)}.items-admin-table tbody tr:hover .items-actions-column{background:color-mix(in srgb, var(--brand) 4%, #fff)}}@media (max-width:760px){.order-record-filters{grid-template-columns:1fr 1fr}.order-record-filters .field:nth-of-type(3){grid-column:1/-1}.order-record-filter-actions{grid-column:1/-1;justify-content:space-between}.order-weight-breakdown-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px}.order-weight-breakdown-formula{grid-area:2/1/auto/-1}.order-weight-breakdown-total{grid-area:1/2}.items-list-toolbar-actions,.supplier-price-date-form{width:100%}}@media (max-width:520px){.order-record-filters,.supplier-price-date-form{grid-template-columns:1fr}.order-record-filters .field:nth-of-type(3){grid-column:auto}.order-record-filter-actions{flex-direction:column;align-items:stretch}.order-record-filter-actions .primary-button,.supplier-price-date-form .secondary-button{width:100%}.items-tool-launcher{grid-template-columns:1fr}.items-tool-button{width:100%}}@media (prefers-reduced-motion:reduce){.items-tool-content{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stock-take-detail-summary{gap:22px;display:grid}.admin-push-panel,.admin-push-copy{align-items:center;gap:14px;display:flex}.admin-push-panel{justify-content:space-between}.admin-push-copy>svg{color:var(--brand);flex:none}.admin-push-copy h2,.admin-push-copy p{margin:0}.admin-push-copy p+p{margin-top:8px}.stock-take-detail-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.stock-take-detail-feedback{min-height:32px}.stock-take-month-editor{max-width:240px;margin:14px 0 8px}.stock-take-inline-month input{width:150px;min-height:42px}.stock-take-record-row-actions{flex-wrap:nowrap}.stock-take-detail-table-wrap{max-height:calc(100dvh - 310px)}.stock-take-detail-table{table-layout:fixed;min-width:1040px}.stock-take-detail-table th:first-child,.stock-take-detail-table td:first-child{width:29%}.stock-take-detail-table th:nth-child(2),.stock-take-detail-table td:nth-child(2),.stock-take-detail-table th:nth-child(3),.stock-take-detail-table td:nth-child(3){width:15%}.stock-take-detail-table th:nth-child(4),.stock-take-detail-table td:nth-child(4),.stock-take-detail-table th:nth-child(5),.stock-take-detail-table td:nth-child(5){width:16%}.stock-take-detail-table th:last-child,.stock-take-detail-table td:last-child{width:9%}.stock-take-detail-table tbody td{vertical-align:middle}.stock-take-supplier-heading th,.stock-take-supplier-heading td{border-top:2px solid color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 9%, #fff);color:var(--brand-strong);text-align:left;padding-top:14px;padding-bottom:14px}.stock-take-supplier-heading td,.stock-take-supplier-subtotal td,.stock-take-grand-total td{text-align:right;white-space:nowrap}.stock-take-supplier-subtotal th,.stock-take-supplier-subtotal td{background:color-mix(in srgb, var(--bg) 68%, #fff);text-align:right}.stock-take-grand-total th,.stock-take-grand-total td{border-top:3px solid var(--brand);background:color-mix(in srgb, var(--brand) 13%, #fff);color:var(--brand-strong);text-align:right;padding-top:17px;padding-bottom:17px;font-size:1.05rem}.stock-take-detail-item{overflow-wrap:anywhere;font-weight:700;line-height:1.35}.stock-take-edit-quantity{grid-template-columns:minmax(74px,110px) minmax(34px,auto);align-items:center;gap:8px;display:grid}.stock-take-edit-quantity input{text-align:right;width:100%;min-width:0;min-height:42px;padding:8px 10px;font-weight:800}.stock-take-edit-quantity strong{color:var(--muted);overflow-wrap:anywhere}@media (max-width:760px){.admin-push-panel{flex-direction:column;align-items:stretch}.admin-push-panel>button{width:100%}.stock-take-detail-summary .toolbar,.stock-take-detail-actions{flex-direction:column;align-items:stretch}.stock-take-detail-actions .row-actions,.stock-take-detail-actions button{width:100%}.stock-take-detail-actions .row-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stock-take-detail-feedback:empty{display:none}.stock-take-detail-table-wrap{border-left:0;border-right:0;border-radius:0;max-height:calc(100dvh - 270px);margin-left:-12px;margin-right:-12px}}.load-error-panel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.load-error-panel .badge{margin:0}
