:root{--bg:#f1f4f3;--surface:#fff;--ink:#14241f;--muted:#455a50;--line:#75877e;--soft-line:#d4dfd8;--accent:#145c40;--on-accent:#fff;--tint:#e5f1e9;--danger:#a51d2d;--danger-bg:#fff0f1;--warn:#704300;--warn-bg:#fff3d8;--radius:8px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--t1:16px;--t2:18px;--t3:20px;--t4:24px;--t5:32px;--enter:180ms;--exit:120ms;color-scheme:light;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--bg)}:root[data-theme=dark]{--bg:#111916;--surface:#1d2b24;--ink:#f5faf7;--muted:#c2d1c8;--line:#789486;--soft-line:#41594b;--accent:#a8e9c2;--on-accent:#102b1c;--tint:#263f32;--danger:#ffb4bc;--danger-bg:#421e26;--warn:#ffe0a2;--warn-bg:#3b3020;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:48px;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3) var(--s4);color:var(--ink);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font-weight:600;transition:background var(--enter),border-color var(--enter)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:active:not(:disabled){background:var(--tint)}@media(hover:hover){button:hover:not(:disabled){background:var(--tint);border-color:var(--accent)}.primary:hover:not(:disabled){filter:brightness(.92)}}button.primary,.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.quiet{border-color:transparent;background:transparent}button.danger{color:var(--danger)}a{color:var(--accent)}h1,h2,h3,.display{font-family:'Trebuchet MS',sans-serif;line-height:1.2}h1,h2,h3,p{margin:0}h1{font-size:var(--t4)}h2{font-size:var(--t4)}h3{font-size:var(--t3)}small,.meta{font-size:var(--t1);color:var(--muted)}svg.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brandmark{width:40px;height:40px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);border-radius:var(--radius)}.brandmark svg{width:24px;height:24px}.shell{height:100dvh;min-height:600px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--s6);background:var(--surface);border-bottom:1px solid var(--soft-line)}.brand{display:flex;align-items:center;gap:var(--s3)}.brand .od-field{gap:0}.brand small{font-size:16px}.top-actions{display:flex;gap:var(--s2);align-items:center}.connection{display:flex;align-items:center;gap:var(--s2);color:var(--muted);padding:var(--s2)}.favorites{display:flex;align-items:center;gap:var(--s4);padding:var(--s3) var(--s6);border-bottom:1px solid var(--soft-line);min-width:0}.fav-label{display:flex;align-items:center;gap:var(--s2);font-weight:700;white-space:nowrap}.favorites .od-rail{--od-rail-pad:0;flex:1}.favorite{white-space:nowrap;background:var(--surface);padding:var(--s2) var(--s4)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;gap:var(--s4);padding:var(--s4) var(--s6)}.selection{display:flex;flex-direction:column;min-width:0;min-height:0}.work-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s4)}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:16px;color:var(--muted)}.selection-title{font-size:28px;margin-top:4px}.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(200px,1.2fr);gap:var(--s2);flex:1;min-height:0}.stage{display:flex;flex-direction:column;min-width:0;border:1px solid var(--soft-line);border-radius:var(--radius);background:var(--surface);min-height:0}.stage-heading{padding:var(--s4) var(--s3);border-bottom:1px solid var(--soft-line);display:flex;gap:var(--s2);align-items:center;min-height:64px}.stage-heading h3{font-size:16px}.stage-number{font-weight:650;color:var(--muted);font-size:16px}.stage.active{border-color:var(--accent)}.stage.active .stage-number{color:var(--accent)}.stage-options{padding:var(--s2);display:flex;flex-direction:column;gap:var(--s2);overflow-y:auto;min-height:0}.option{width:100%;justify-content:space-between;text-align:left;padding:var(--s3);min-height:64px;flex:none;border-color:var(--soft-line)}.option .od-field{gap:4px;flex:1}.option small{font-weight:400}.option.selected{background:var(--tint);border:2px solid var(--accent);padding:11px;color:var(--accent)}.option.selected small{color:var(--accent)}.option .check{font-size:20px}.empty-stage{padding:var(--s4) var(--s3);color:var(--muted)}.stage-foot{margin-top:auto;padding:var(--s3);border-top:1px solid var(--soft-line)}.stage-foot .primary{width:100%}.price-preview{font-size:var(--t3);font-weight:700;white-space:nowrap;margin:var(--s2) 0 var(--s3)}.contextbar{margin-top:var(--s4);padding:var(--s4);display:flex;align-items:center;justify-content:space-between;gap:var(--s4);background:var(--surface);border:1px solid var(--soft-line);border-radius:var(--radius)}.context-actions{display:flex;gap:var(--s2);flex-wrap:wrap}.cart-panel{background:var(--surface);border:1px solid var(--soft-line);border-radius:var(--radius);display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;min-width:0}.cart-header{padding:var(--s4);border-bottom:1px solid var(--soft-line);display:flex;align-items:center;justify-content:space-between}.count{display:inline-flex;align-items:center;justify-content:center;background:var(--tint);color:var(--accent);border-radius:4px;min-width:32px;padding:4px 8px;font-weight:700}.cart-items{overflow-y:auto;min-height:0;padding:0 var(--s4)}.cart-row{padding:var(--s4) 0;border-bottom:1px solid var(--soft-line)}.cart-title{display:block;text-align:left;padding:0;min-height:44px;border:0;background:none;font-size:18px;justify-content:flex-start;width:100%;overflow-wrap:anywhere}.cart-meta{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;margin:var(--s2) 0}.pill{display:inline-flex;align-items:center;padding:4px 8px;background:var(--bg);border-radius:4px;color:var(--muted);font-size:16px}.cart-price{font-size:20px;font-weight:700;display:block;margin-bottom:var(--s2);font-variant-numeric:tabular-nums}.cart-actions{display:flex;gap:var(--s2)}.cart-actions button{flex:1;font-size:16px;padding:var(--s2)}.cart-total{padding:var(--s4);background:var(--bg);border-top:1px solid var(--soft-line);border-radius:0 0 var(--radius) var(--radius)}.total-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}.total-row strong{font-size:24px;font-family:'Trebuchet MS',sans-serif;white-space:nowrap}.cart-total .primary{width:100%}.empty-cart{padding:var(--s8) 0;display:grid;gap:var(--s4)}.empty-cart svg{width:32px;height:32px;color:var(--muted)}.statusbar{display:flex;gap:var(--s4);justify-content:space-between;padding:var(--s2) var(--s6);border-top:1px solid var(--soft-line);font-size:16px;color:var(--muted)}.statusbar span{display:flex;align-items:center;gap:var(--s2)}.stage-tabs{display:none}.mobile-cart{display:none}.alert{border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);padding:var(--s3);margin:var(--s2) 0;line-height:1.5}.notice{border:1px solid var(--line);background:var(--tint);padding:var(--s3);border-radius:var(--radius);color:var(--ink)}.warning{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-shadow:0 24px 64px #0003}dialog::backdrop{background:#07150e88}dialog[open]{animation:appear var(--enter) ease-out}dialog.drawer{margin:0 0 0 auto;width:min(560px,100%);max-height:none;height:100dvh;border-radius:0;border-width:0 0 0 1px}.dialog-inner{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.dialog-head .close{min-width:48px;padding:var(--s3)}.dialog-actions{display:flex;gap:var(--s2);justify-content:flex-end}.dialog-actions button{flex:1}.numeric-label{display:block;font-weight:650}.numeric-input{display:block;width:100%;padding:var(--s4);border:2px solid var(--accent);background:var(--bg);color:var(--ink);border-radius:var(--radius);font-size:32px;font-family:'Trebuchet MS',sans-serif;font-variant-numeric:tabular-nums}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.keypad button{font-size:24px;min-height:56px;background:var(--bg)}.keypad button:active{background:var(--tint)}.keypad-note{min-height:24px;color:var(--muted)}.numeric-error{min-height:24px;color:var(--danger)}.summary-list{display:grid;gap:var(--s3)}.summary-line{display:flex;justify-content:space-between;gap:var(--s4);border-bottom:1px solid var(--soft-line);padding-bottom:var(--s3)}.summary-line>div{min-width:0}.summary-line strong{white-space:nowrap}.sales-totals{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.sales-totals .od-stat{padding:var(--s4);background:var(--bg);border:1px solid var(--soft-line);border-radius:var(--radius)}.sales-totals strong{font-size:24px;font-family:'Trebuchet MS',sans-serif}.sales-list{display:flex;flex-direction:column;gap:var(--s3)}.sale-card{border:1px solid var(--soft-line);border-radius:var(--radius);padding:var(--s4);display:grid;gap:var(--s2)}.sale-card .od-row{justify-content:space-between}.sale-status{display:flex;align-items:center;gap:var(--s2);font-weight:650;color:var(--accent)}.sale-status.problem{color:var(--danger)}.sale-status.pending{color:var(--warn)}.sale-card button{width:100%}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--soft-line)}.settings-row>div{min-width:0}.theme-buttons{display:flex;gap:var(--s2);flex-wrap:wrap}.theme-buttons button[aria-pressed=true]{background:var(--tint);border:2px solid var(--accent);color:var(--accent)}.toast{position:fixed;bottom:48px;left:24px;max-width:calc(100vw - 48px);padding:var(--s4) var(--s6);background:var(--ink);color:var(--surface);border-radius:var(--radius);box-shadow:0 8px 32px #0003;z-index:20;pointer-events:none;opacity:0;transition:opacity var(--enter)}.toast.visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}del{color:var(--muted);font-size:16px;font-weight:400}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.availability-list{display:grid;gap:var(--s3)}.availability-item{display:flex;align-items:center;gap:var(--s3);justify-content:space-between;border-bottom:1px solid var(--soft-line);padding-bottom:var(--s3)}.availability-item button{flex:none}.availability-item .od-field{min-width:0}.receipt-lock{display:flex;gap:8px;align-items:center;color:var(--muted)}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1440px){.workspace{grid-template-columns:minmax(0,1fr) 360px}.columns{gap:var(--s3)}.stage-options{padding:var(--s3)}.option{min-height:72px}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 300px;padding:var(--s4)}.columns{grid-template-columns:repeat(2,minmax(0,1fr));overflow-y:auto}.stage{min-height:240px}.stage-options{overflow:visible}.stage-foot{margin-top:var(--s2)}.selection{overflow-y:auto}.topbar,.favorites{padding-left:var(--s4);padding-right:var(--s4)}.contextbar{flex-wrap:wrap}.connection{display:none}.statusbar{padding-inline:var(--s4)}}@media(max-width:767px){.shell{height:auto;min-height:100dvh;grid-template-rows:auto auto 1fr auto}.topbar{flex-wrap:wrap;gap:var(--s2);padding:var(--s3) var(--s4)}.brand h1{font-size:20px}.brand small{display:none}.brandmark{width:32px;height:32px}.top-actions{gap:var(--s2);margin-left:auto}.top-actions button{padding:var(--s2);min-width:48px}.top-actions .settings-label{display:none}.mobile-cart{display:inline-flex}.favorites{align-items:flex-start;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s4)}.favorites .od-rail{width:100%;flex:auto}.fav-label{font-size:16px}.workspace{display:block;padding:var(--s4);min-height:0}.cart-panel{display:none}.cart-panel.in-drawer{display:grid;min-height:480px;max-height:calc(100dvh - 130px);border:0}.cart-panel.in-drawer .cart-items{padding:0}.cart-panel.in-drawer .cart-total{margin-top:16px}.selection{overflow:visible}.selection-title{font-size:24px}.work-heading{align-items:flex-start}.work-heading .meta{display:none}.stage-tabs{display:flex;margin-bottom:var(--s3);--od-rail-pad:0}.stage-tabs button{white-space:nowrap}.stage-tabs button[aria-current=step]{background:var(--accent);color:var(--on-accent)}.columns{display:block;overflow:visible}.stage{display:none;min-height:320px}.stage.current{display:flex}.stage-options{overflow:visible}.stage-foot{margin-top:auto}.contextbar{align-items:flex-start}.context-actions{width:100%}.context-actions button{flex:1}.statusbar{flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.statusbar .sample-note{display:none}.dialog-inner{padding:var(--s4)}.sales-totals{grid-template-columns:1fr}.top-actions .sales-label{font-size:16px}.availability-item{align-items:flex-start;flex-wrap:wrap}}@media(max-width:390px){.topbar .brand{width:100%}.top-actions{width:100%;justify-content:space-between}.top-actions button{flex:1}.cart-price{font-size:18px}.total-row strong{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* v2 compact counter — header budgets refer to normal text scale. */
:root{--header-height:64px;--quick-height:56px;--stage-min:448px}
:root[data-header=b]{--header-height:56px;--quick-height:64px}
.shell{min-height:0;height:100dvh;grid-template-rows:auto auto minmax(0,1fr) auto}
.topbar{min-height:var(--header-height);padding:8px 16px;gap:16px;flex-wrap:nowrap}
.brand{gap:8px;flex:none}.brandmark{width:32px;height:32px}.brand h1{font-size:20px;white-space:nowrap}.brand small{display:none}
.top-actions{gap:8px}.topbar button{min-height:48px;padding:8px 12px;white-space:nowrap}
.header-status{display:flex;gap:16px;align-items:center;margin-left:auto;white-space:nowrap;font-size:16px}.header-status .connection{display:flex;padding:0}.header-date{color:var(--muted)}
.favorites{min-height:var(--quick-height);padding:4px 16px;gap:16px;flex-direction:row;align-items:center}.favorite{min-height:44px;padding:8px 12px}.secondary-status{display:flex;flex:none}.secondary-status:empty{display:none}
.workspace{padding:12px 16px;gap:12px;grid-template-columns:minmax(0,1fr) 320px}
.selection{overflow-y:auto;overscroll-behavior:contain;padding-right:4px;display:flex;flex-direction:column;gap:8px;scrollbar-gutter:stable}
.columns{overflow:visible;flex:1 0 auto;min-height:var(--stage-min);grid-template-columns:repeat(3,minmax(0,1fr)) minmax(200px,1.15fr);align-items:stretch}
.stage{overflow:visible;min-height:var(--stage-min)}.stage-heading{padding:12px;min-height:48px}.stage-options{overflow:visible;flex:none;padding:8px}.option{min-height:64px}.option:disabled{opacity:1;background:var(--bg);color:var(--muted);border-style:dashed}.option:disabled small{color:var(--danger)}
.stage-foot{margin-top:auto;padding:12px;position:sticky;bottom:0;background:var(--surface);z-index:1;border-radius:0 0 8px 8px}.stage-foot .primary{white-space:nowrap}.price-preview{margin:4px 0 8px}.contextbar{margin:0;padding:8px 12px;flex:none;gap:8px;flex-wrap:nowrap}.contextbar h3{font-size:18px}.context-actions{flex-wrap:nowrap}.context-actions button{padding:8px;min-height:44px}.work-heading{display:none}
.cart-header{padding:12px 16px}.cart-header h2{font-size:20px}.cart-row{padding:8px 0}.cart-title{min-height:32px;font-size:18px}.cart-meta{margin:4px 0;gap:8px}.pill{padding:0 4px}.cart-price{font-size:18px;margin-bottom:4px}.cart-actions button{min-height:44px;padding:8px}.cart-total{padding:12px 16px}.total-row{margin-bottom:8px}.cart-items{overscroll-behavior:contain;scrollbar-gutter:stable}.statusbar{padding:4px 16px;min-height:32px}.statusbar span{font-size:16px}.numeric-error:empty{display:none}.numeric-input{padding:8px 16px}.keypad-note{min-height:24px}.dialog-inner{padding:16px;gap:12px}.dialog-inner .od-stack{--od-gap:8px}.cart-panel.in-drawer{min-height:0;max-height:none;height:auto;grid-template-rows:auto auto auto}.cart-panel.in-drawer .cart-items{overflow:visible}.cart-panel.in-drawer .cart-total{position:sticky;bottom:0}
@media(min-width:1440px){.workspace{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:1150px){.header-status{gap:8px;font-size:16px}.settings-label{display:none}.topbar{gap:8px}.workspace{grid-template-columns:minmax(0,1fr) 320px}.columns{display:block;min-height:0}.stage{display:none;min-height:400px}.stage.current{display:flex}.stage-tabs{display:flex;flex:none;--od-rail-pad:0;margin-bottom:0;gap:8px}.stage-tabs button{min-height:44px;padding:8px;white-space:nowrap}.stage-tabs button[aria-current=step]{background:var(--accent);color:var(--on-accent)}.contextbar{flex-wrap:wrap}.context-actions{width:100%}.context-actions button{flex:1}.header-date{font-size:16px}}
@media(max-width:900px){.topbar{flex-wrap:wrap}.header-status{order:3;width:100%;justify-content:space-between}.top-actions{margin-left:auto}.secondary-status .header-status{width:auto}.favorites{flex-wrap:wrap}.secondary-status{width:100%}.secondary-status .header-status{width:100%}.shell{grid-template-rows:auto auto minmax(0,1fr) auto}}
@media(max-width:767px){.shell{height:100dvh;min-height:0}.workspace{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.selection{min-height:0;overflow-y:auto}.brand{width:auto}.topbar .brand{width:auto}.top-actions{width:auto;flex:none;justify-content:flex-end}.top-actions button{flex:none;padding:8px;min-width:44px;min-height:44px}.cashier-label{display:none}.header-status{font-size:16px}.favorites{align-items:center;gap:8px;padding:4px 16px}.favorites .od-rail{width:auto;flex:1;min-width:0}.fav-label{font-size:16px}.stage{min-height:400px}.stage-tabs{position:sticky;top:0;background:var(--bg);z-index:2;padding-block:4px}.statusbar{margin:0;min-height:32px}.statusbar .sample-note{display:none}.cart-panel.in-drawer{display:grid}.contextbar{align-items:center}.mobile-cart{display:inline-flex}.header-status .connection{display:flex}.top-actions .sales-label{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
