:root{font-family:Tahoma,'Noto Sans Thai',system-ui,sans-serif;color:#22273a;background:#f3f4f8;font-size:16px;--brand:#4c27c9;--ink:#202438;--muted:#656d82;--line:#e1e4ec;--purple:#eee9ff;--good:#176944;--bad:#a62d37;--wait:#925607}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 15px;cursor:pointer;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}button:hover,.button:hover{border-color:var(--brand);background:#f4f0ff}button:disabled{cursor:not-allowed;opacity:.5}button.primary,.button.primary{background:var(--brand);color:white;border-color:var(--brand)}button.danger{color:var(--bad)}input,select,textarea{width:100%;border:1px solid #cbd0df;border-radius:8px;padding:11px;background:white;color:var(--ink);min-height:44px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--brand)}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:7px}label.check{display:flex;gap:9px;align-items:center;font-weight:400}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #b6a3ff;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:1.75rem;letter-spacing:-.025em;line-height:1.5;margin-bottom:4px}h2{font-size:1.12rem;margin-bottom:16px}h3{font-size:1rem}p{line-height:1.7}small,.muted{color:var(--muted);font-size:.85rem;line-height:1.7}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:var(--brand)}.logo{width:43px;height:43px;border-radius:12px;background:var(--brand);color:white;display:grid;place-items:center;font-weight:800;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:#202238;color:white;padding:25px 18px;z-index:5;display:flex;flex-direction:column}.sidebar .logo{background:#805af0}.sidebar .muted{color:#bfc4de}.nav{margin-top:28px;display:grid;gap:5px}.nav a{color:#cfd3e3;text-decoration:none;padding:12px 13px;border-radius:9px;display:flex;gap:13px;align-items:center;font-size:.92rem}.nav a.active{background:#6644d5;color:white}.nav a:hover{background:#343851}.nav-icon{width:22px;text-align:center;font-size:1.05rem}.sidebar-bottom{margin-top:auto;font-size:.8rem;color:#bfc4de;border-top:1px solid #464a64;padding-top:18px;line-height:1.8}.shell{margin-left:228px}.topbar{position:sticky;top:0;z-index:4;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar select{width:auto;max-width:245px;font-size:.875rem}.chip{display:inline-flex;padding:5px 9px;border-radius:6px;background:var(--purple);color:var(--brand);font-size:.78rem;line-height:1.6;font-weight:600}.chip.good{background:#e7f5ed;color:var(--good)}.chip.wait{background:#fff1d6;color:var(--wait)}.chip.error{background:#ffedef;color:var(--bad)}.statusbar{display:flex;align-items:center;gap:10px;padding:11px 28px;background:#f8f6ff;border-bottom:1px solid #e3dbff;font-size:.87rem;min-height:47px}.statusbar[data-kind=error]{background:#ffedef;color:var(--bad)}.statusbar[data-kind=waiting]{background:#fff5df;color:var(--wait)}.statusbar[data-kind=success]{background:#ebf8f0;color:var(--good)}.statusbar[data-kind=busy] .status-symbol{animation:spin 1s linear infinite}.status-symbol{display:inline-block}.statusbar time{margin-left:auto;font-size:.75rem;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}main{padding:26px 28px 65px;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.page-head p{margin:3px 0 0}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:21px;margin-bottom:18px;box-shadow:0 2px 3px #1c254004}.grid{display:grid;gap:16px}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{margin-bottom:15px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.notice{padding:13px 16px;border:1px solid #f0d79f;background:#fff8e8;border-radius:9px;color:#79500c;font-size:.875rem;line-height:1.75;margin-bottom:17px}.notice.purple{border-color:#d8cef5;background:#f7f4ff;color:#4c329b}.notice.error{background:#fff0f1;color:var(--bad);border-color:#ebc1c5}.stat{background:white;padding:20px;border:1px solid var(--line);border-radius:12px}.stat strong{font-size:1.7rem;display:block;margin-top:7px;letter-spacing:-.02em}.stat small{display:block}.work-card{text-align:left;align-items:flex-start;flex-direction:column;padding:23px;min-height:140px;border-radius:12px;font-weight:400}.work-card strong{font-size:1.08rem}.work-card .nav-icon{background:var(--purple);color:var(--brand);border-radius:10px;width:39px;height:36px;display:grid;place-items:center;font-size:1.25rem}.work-card small{line-height:1.7}.workspace{max-width:850px;margin:35px auto}.branch-card{padding:25px;text-align:left;align-items:flex-start;flex-direction:column;min-height:180px}.branch-card.selected{border:2px solid var(--brand);background:#f7f4ff}.sale-grid{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:20px}.cart{position:sticky;top:90px;align-self:start;padding:0;overflow:hidden}.cart-title{background:#292c43;padding:19px;color:white}.cart-body{padding:18px}.cart-line{padding:13px 0;border-bottom:1px solid var(--line)}.cart-line strong{font-size:.9rem;display:block}.quantity{display:flex;align-items:center;gap:8px;margin-top:10px}.quantity button{min-width:36px;min-height:34px;padding:4px 8px}.quantity input{width:64px;min-height:36px;padding:5px;text-align:center}.quantity .amount{margin-left:auto}.cart-total{display:flex;align-items:center;justify-content:space-between;padding:21px 0}.cart-total strong{font-size:1.55rem;color:var(--brand)}.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product{padding:0;display:block;text-align:left;overflow:hidden;position:relative;border-radius:12px}.product-visual{height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#eff0f6;color:#727a91;font-size:.75rem;font-weight:400;border-bottom:1px solid var(--line)}.product-visual b{font-size:1.4rem;letter-spacing:.05em;color:#b0b5c7}.product-info{padding:13px}.product-info strong{display:block;font-size:.91rem;line-height:1.6}.product-info .price{color:var(--brand);display:block;margin-top:7px}.product-info .stock{font-size:.78rem;font-weight:400;color:var(--muted)}.product .chip{position:absolute;top:8px;right:8px}.search-row{display:flex;gap:10px;margin-bottom:14px}.search-row select{max-width:170px}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:0;list-style:none}.breadcrumbs li{font-size:.83rem;color:var(--muted);background:#e9ebf2;padding:7px 12px;border-radius:6px}.breadcrumbs li.current{background:var(--purple);color:var(--brand);font-weight:600}.empty{padding:32px 18px;text-align:center;color:var(--muted);font-size:.92rem;border:1px dashed #cbd0df;border-radius:10px;line-height:1.8}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.87rem}th{text-align:left;padding:12px 10px;font-weight:600;color:var(--muted);background:#f6f7fa;white-space:nowrap}td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.65}td small{display:block}td .actions{min-width:125px}td button{padding:6px 10px;font-size:.8rem}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.93rem}.summary-row strong{text-align:right}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.timeline{border-left:2px solid #e0d9f3;margin-left:7px;padding-left:22px}.timeline p{position:relative;margin-bottom:15px;font-size:.875rem}.timeline p:before{content:'';position:absolute;left:-28px;top:8px;width:10px;height:10px;background:var(--brand);border:2px solid white;border-radius:100%}.login{min-height:100vh;display:grid;grid-template-columns:minmax(330px,.9fr) minmax(400px,1.1fr)}.login-story{background:#242139;color:white;padding:60px 50px;display:flex;flex-direction:column;justify-content:center}.login-story h1{font-size:2.7rem;line-height:1.4;margin-top:50px;max-width:490px}.login-story p{color:#c6bfdc;max-width:450px}.login-story .eyebrow{color:#b8a7ff}.login-story .steps{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}.login-story .steps span{border:1px solid #68607e;padding:9px 13px;border-radius:8px;font-size:.875rem}.login-panel{padding:45px;display:grid;place-items:center;background:#fcfcfe}.login-form{max-width:460px;width:100%}.login-form h2{font-size:1.7rem;margin:12px 0 8px}.login-form .primary{width:100%;margin-top:12px}.demo-tools{margin-top:25px;padding:16px;background:#eeedf6;border-radius:10px;font-size:.84rem}.demo-tools summary{cursor:pointer;font-weight:600}.demo-tools .actions{margin-top:15px}.readiness{font-size:.85rem;border-top:1px solid var(--line);padding:17px 0;margin-top:22px;color:var(--muted)}.split{display:flex;justify-content:space-between;align-items:center;gap:10px}.full{width:100%}.hidden{display:none!important}#toast{position:fixed;bottom:22px;right:25px;max-width:430px;z-index:20;background:#23263e;color:white;padding:14px 20px;border-radius:10px;box-shadow:0 9px 30px #0003;display:none;line-height:1.7}#toast.show{display:block}dialog{border:0;border-radius:14px;padding:28px;max-width:520px;width:calc(100% - 32px);box-shadow:0 25px 100px #0004}dialog::backdrop{background:#15162b88}.role-note{font-size:.8rem;margin:6px 0 0;color:var(--muted)}.badges{display:flex;gap:6px;flex-wrap:wrap}.scenario-list{display:grid;gap:11px}.scenario-list button{justify-content:flex-start}.menu-toggle{display:none}.tablinks{display:flex;gap:7px;margin:12px 0 22px;flex-wrap:wrap}.tablinks a{font-size:.85rem}.busy-overlay button:not([data-allow-busy]){pointer-events:none;opacity:.6}
@media(min-width:1500px){.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.sidebar{width:195px;padding:20px 12px}.shell{margin-left:195px}.topbar{padding:12px 18px}main{padding:22px 18px}.sale-grid{grid-template-columns:minmax(0,1fr) 300px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}.cols3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:245px;transition:transform .2s}.sidebar.open{transform:none;box-shadow:0 0 0 100vmax #17182d88}.shell{margin:0}.menu-toggle{display:inline-flex}.topbar{gap:8px;padding:10px 12px}.topbar .context{display:none}.topbar select{max-width:180px}.statusbar{padding:10px 14px}.statusbar time{display:none}main{padding:19px 14px 40px}.page-head{align-items:flex-start}.page-head h1{font-size:1.4rem}.page-head .actions{max-width:145px}.sale-grid{grid-template-columns:1fr}.cart{position:static}.cols2,.cols3{grid-template-columns:1fr}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.login{display:block}.login-story{padding:25px}.login-story h1{font-size:1.8rem;margin-top:22px}.login-story .steps,.login-story p{display:none}.login-panel{padding:28px 22px}.card{padding:17px}.search-row{flex-wrap:wrap}.search-row select{max-width:none}.page-head{flex-wrap:wrap}.detail-grid{display:block}.topbar .logout{padding:8px}.branch-card{min-height:140px}#toast{left:15px;right:15px;bottom:15px}.table-wrap{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sidebar{overflow-y:auto}.sidebar-bottom{padding-bottom:14px}.grid>* ,.sale-grid>* ,.detail-grid>*{min-width:0}.statusbar{overflow-wrap:anywhere}.login-panel .statusbar{border-radius:8px;font-size:.8rem}.work-card{color:var(--ink)}
/* Branch-scoped inventory status cards. */
.stock-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.stock-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;min-width:0;border:2px solid transparent}.stock-card.selected{border-color:var(--brand);background:var(--purple)}.stock-card small{font-size:1rem}.stock-card strong{font-size:2rem}.stock-card span{font-size:.875rem;color:var(--muted)}.stock-summary{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.stock-summary small{display:block;margin-top:7px;color:var(--muted)}@media(max-width:1000px){.stock-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.stock-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Owner-review inventory detail and complete menu catalogue. */
.sidebar{overflow-y:auto}.nav details{margin:6px 0}.nav summary{cursor:pointer;padding:12px 8px;font-size:.95rem;font-weight:700;color:#c8c0e7}.nav-entry{display:flex;align-items:center}.nav-entry a{flex:1;min-width:0;font-size:.875rem!important}.nav-entry>button{background:transparent;border:0;color:#b9a5ff;padding:8px;font-size:1rem}.nav-caption{color:#b9a5ff;padding:10px;font-size:.875rem}.nav-draft{font-size:.75rem;color:#b0a8c7;margin-left:auto}.stock-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stock-filters label{font-size:.875rem}.stock-filters select{margin-top:6px}.row-menu,.stock-tools{position:relative}.row-menu summary{cursor:pointer;font-size:1.5rem;list-style:none;padding:0 8px}.row-menu>div,.stock-tools>div{position:absolute;left:0;top:100%;z-index:8;min-width:215px;padding:7px;border:1px solid var(--line);background:white;box-shadow:0 8px 28px #25223a26;border-radius:10px}.row-menu button,.stock-tools button{display:block;width:100%;text-align:left;border:0;background:white;padding:10px;font-size:.875rem}.row-menu button:hover,.stock-tools button:hover{background:var(--purple)}.row-menu button small,.stock-tools small{color:var(--muted);float:right}.stock-tools>div{left:auto;right:0}.stock-tools summary{cursor:pointer;padding:12px;border:1px solid var(--line);border-radius:8px}.stock-table{min-height:390px}.product-name{border:0;background:none;color:var(--brand);padding:0;text-align:left;font-weight:700;min-width:160px}.product-panel{max-width:980px;width:calc(100% - 24px);padding:0;max-height:92vh}.product-panel>header{padding:16px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.product-panel h2{font-size:1.25rem;margin:0}.panel-body{padding:22px}.detail-tabs{display:flex;gap:8px;margin-bottom:18px}.detail-tabs [aria-pressed=true]{color:var(--brand);background:var(--purple);border-color:var(--brand)}.product-banner{display:flex;justify-content:space-between;gap:15px;padding:18px;background:#f3f2fa;border-radius:10px}.product-banner small{display:block;margin-top:8px}.product-section{padding:18px 0;border-bottom:1px solid var(--line)}.product-section h3{font-size:1rem;margin:0 0 15px}.product-section summary{cursor:pointer;font-weight:700}.product-section textarea{width:100%;margin-top:8px}.draft-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.draft-options label{font-size:.875rem}.draft-options input{width:auto}.panel-footer{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding-top:20px}.panel-footer small{color:var(--muted)}.review-steps{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.review-steps span{padding:10px 14px;border:1px solid var(--line);border-radius:8px;font-size:.875rem}@media(max-width:600px){.stock-filters{grid-template-columns:1fr}.draft-options{grid-template-columns:1fr}.panel-body{padding:14px}.product-banner{flex-wrap:wrap}}
.barcode-label{border:1px dashed #aaa;padding:3mm;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2mm;background:white;color:black;break-inside:avoid}.barcode-label strong{font-size:12px;line-height:1.4;max-width:100%;overflow-wrap:anywhere}.barcode-label small{font-size:10px}.barcode-svg{max-width:100%;height:auto}#label-preview{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;overflow-x:auto}#catalog-plan{margin-top:24px}#catalog-message:not(:empty),#label-message:not(:empty){padding:12px;background:#fff1d6;color:#79500c;margin-bottom:16px;border-radius:8px}.product-panel .table-wrap{max-height:380px;overflow:auto}@media print{body.printing-labels> *{display:none!important}body.printing-labels>#product-panel{display:block!important;position:static;width:100%;max-width:none;max-height:none;overflow:visible;margin:0;padding:0;box-shadow:none}body.printing-labels #product-panel>header,body.printing-labels .panel-body>:not(#label-preview){display:none!important}body.printing-labels .panel-body{padding:0}body.printing-labels #label-preview{display:flex!important;overflow:visible;margin:0;gap:0}body.printing-labels .barcode-label{border:0}body.printing-labels dialog::backdrop{display:none}}
:root{--topbar-height:78px}
[hidden]{display:none!important}
main>.page-head{position:sticky;top:var(--topbar-height);z-index:3;background:#f3f4f8;padding:12px 0;border-bottom:1px solid var(--line)}
.operational-stock-table{max-height:65vh;overflow:auto;overscroll-behavior:contain}
.operational-stock-table th{position:sticky;top:0;background:#f0edf8;z-index:2;box-shadow:0 1px 0 var(--line)}
.product-panel>header{position:sticky;top:0;z-index:5;background:white;border-bottom:1px solid var(--line)}
.stock-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stock-command-grid button{justify-content:flex-start;min-height:50px}
.stock-menu-button{font-size:24px;min-width:44px}
#stock-label-preview{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
#stock-label-preview .barcode-label{width:70mm;min-height:40mm;display:flex;flex-direction:column;align-items:center;padding:10px;border:1px solid #ddd;break-inside:avoid}
@media(max-width:600px){.stock-command-grid{grid-template-columns:1fr}.operational-stock-table{max-height:60vh}main>.page-head h1{font-size:1.25rem}}
@media print{body.printing-stock-labels>*{display:none!important}body.printing-stock-labels>#product-panel{display:block!important;position:static;max-height:none;border:0;width:100%;margin:0;padding:0}body.printing-stock-labels #product-panel>header,body.printing-stock-labels .panel-body>*:not(#stock-label-preview){display:none!important}body.printing-stock-labels .panel-body{padding:0}body.printing-stock-labels #stock-label-preview{display:flex!important}}
:root .registry-picker{position:relative;margin-bottom:12px;min-width:0}.registry-input{display:flex;gap:6px}.registry-input input{width:100%;min-width:0;margin:0}.registry-input button{flex-shrink:0;padding:6px 12px}.registry-options{position:absolute;top:calc(100% - 20px);left:0;right:0;z-index:12;max-height:270px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #ada4cb;border-radius:8px;box-shadow:0 8px 24px #20243825}.registry-options [role=option]{padding:11px 12px;cursor:pointer;border-bottom:1px solid #eee;overflow-wrap:anywhere}.registry-options [role=option]:hover,.registry-options [role=option].active{background:#eee9ff;color:#40209e}.registry-options [aria-selected=true]{font-weight:700}.registry-empty{padding:12px;color:#656d82}.registry-status{display:block;min-height:20px;font-size:12px;color:#656d82}
.auth-form input{display:block;width:100%;margin:8px 0 18px}.auth-form form>.primary{width:100%;margin-top:12px}.auth-links{display:flex;justify-content:space-between;margin-top:16px;gap:8px;flex-wrap:wrap}.auth-links button{border:0;background:transparent;color:var(--brand);padding:8px 0}.auth-error{color:#a62d37}.signed-in-person{display:flex;flex-direction:column;gap:3px;text-align:right}.signed-in-person small{color:#656d82;font-size:12px}.auth-staff-grid{grid-template-columns:minmax(220px,1fr) minmax(380px,2fr);align-items:start}.staff-person{display:flex;width:100%;align-items:flex-start;flex-direction:column;gap:4px;text-align:left;margin:8px 0}.staff-person.selected{border-color:var(--brand);background:#eee9ff}.staff-person span,.staff-person small{font-weight:400;font-size:12px}fieldset{border:0;padding:0;min-width:0}@media(max-width:800px){.auth-staff-grid{grid-template-columns:1fr}.signed-in-person small{max-width:180px;overflow:hidden;text-overflow:ellipsis}}
.sale-counter{--counter-blue:#2867b0}.counter-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.counter-heading h1{margin:0}.counter-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,390px);gap:18px;align-items:start}.counter-catalog{min-width:0}.counter-toolbar{position:sticky;top:68px;z-index:3;background:#f3f4f8;padding:12px 0 14px}.counter-toolbar .search-row{display:flex;gap:8px}.counter-toolbar .search-row input{flex:1;min-width:0}.counter-filters{display:flex;gap:10px;align-items:end;margin:12px 0 6px;flex-wrap:wrap}.counter-filters label:first-child{flex:1;min-width:160px}.counter-filters .check{padding:10px 0}.counter-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}.counter-product{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.counter-product>button:first-child{display:flex;align-items:stretch;justify-content:start;text-align:left;flex-direction:column;gap:5px;border:0;border-radius:0;padding:0 11px 8px;flex:1}.counter-image{height:135px;display:grid;place-items:center;background:#f8f9fb;margin:0 -11px 4px;color:#656d82;font-size:.8rem}.counter-image img{width:100%;height:100%;max-height:135px;object-fit:contain}.counter-product strong{font-size:.85rem;line-height:1.55}.counter-product b{color:var(--counter-blue);font-size:1.05rem}.counter-product small{font-size:.72rem}.counter-product .counter-detail{border-radius:0;border-width:1px 0 0;font-size:.75rem;min-height:36px}.counter-empty{color:#a62d37}.counter-more{width:100%;margin-top:16px}.counter-cart{position:sticky;top:80px;background:white;border:1px solid var(--line);border-radius:14px;overflow:visible;box-shadow:0 6px 22px #1c254010}.counter-cart>header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.counter-cart h2{margin:0;font-size:1.05rem}.counter-cart h2 span{font-size:.8rem;color:var(--muted)}.counter-customer{padding:14px 16px;border-bottom:1px solid var(--line)}.counter-customer details{margin:12px 0}.counter-customer summary{cursor:pointer;padding:9px 0;color:var(--counter-blue);font-size:.85rem}.counter-customer input{font-size:.85rem}.counter-customer .cols2{grid-template-columns:1fr;gap:8px}.counter-lines{max-height:340px;overflow:auto;padding:0 16px}.counter-lines article{padding:13px 0;border-bottom:1px solid var(--line)}.counter-line-head{display:flex;gap:8px;justify-content:space-between;align-items:start;font-size:.85rem}.counter-line-head button{min-height:28px;padding:0 7px}.counter-qty{display:flex;align-items:center;gap:6px;margin-top:7px}.counter-qty input{width:85px;text-align:center}.counter-qty button{padding:7px 12px}.counter-qty b{margin-left:auto;white-space:nowrap}.counter-cart-empty{padding:36px 12px;text-align:center;color:var(--muted)}.counter-cart footer{padding:16px;background:#f9fbff;border-radius:0 0 14px 14px}.counter-cart footer label{display:flex;align-items:center;gap:12px;font-size:.8rem}.counter-cart footer input{width:110px;margin-left:auto}.counter-total{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.counter-total strong{font-size:1.7rem;color:var(--counter-blue)}.counter-cart footer .primary{flex:1;background:var(--counter-blue);border-color:var(--counter-blue)}.counter-print-controls{display:flex;gap:16px;align-items:center;margin-bottom:20px}.receipt-thermal{max-width:302px;margin:auto;font-size:12px}.receipt-thermal table{min-width:0!important;font-size:11px}.receipt-thermal td,.receipt-thermal th{padding:6px!important}.receipt-a4 table{min-width:0!important}.counter-cart .registry-picker{min-width:0}
@media(min-width:1500px){.counter-products{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}}
@media(max-width:1100px){.counter-layout{grid-template-columns:minmax(0,1fr) 340px}.counter-products{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.counter-image{height:115px}.counter-heading{align-items:start;flex-direction:column}}
@media(max-width:820px){.counter-layout{grid-template-columns:1fr}.counter-cart{position:relative;top:auto}.counter-toolbar{top:60px}.counter-products{grid-template-columns:repeat(3,minmax(0,1fr))}.counter-catalog{max-height:65vh;overflow:auto}.counter-toolbar{top:0}.counter-cart .counter-customer .cols2{grid-template-columns:1fr 1fr}.counter-lines{max-height:none}.counter-heading .actions{gap:5px}.counter-heading .button,.counter-heading button{font-size:.78rem;padding:8px}}
@media(max-width:480px){.counter-products{grid-template-columns:repeat(2,minmax(0,1fr))}.counter-filters{align-items:center}.counter-filters .check{font-size:.75rem}.counter-cart .counter-customer .cols2{grid-template-columns:1fr}}
@media print{body:has(#counter-receipt) .shell,body:has(#counter-receipt) .sidebar,body:has(#counter-receipt) .counter-print-controls,body:has(#counter-receipt) #product-panel>header{display:none!important}body:has(#counter-receipt) #product-panel{position:static!important;display:block!important;max-width:none!important;width:100%!important;max-height:none!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important}body:has(#counter-receipt) #counter-receipt{display:block!important;color:#000}body:has(#counter-receipt) table{min-width:0!important}body:has(#counter-receipt) dialog::backdrop{display:none!important}}

.counter-image{flex-shrink:0;overflow:hidden}

/* Keep sale actions visible while the catalogue and cart contents scroll. */
main:has(.sale-counter){padding-bottom:16px}
.sale-counter{height:calc(100dvh - var(--topbar-height, 68px) - 42px);display:flex;flex-direction:column;min-height:0}
.counter-heading{flex-shrink:0}
.counter-layout{flex:1;min-height:0;align-items:stretch}
.counter-catalog{overflow:auto;min-height:0;overscroll-behavior:contain}
.counter-toolbar{top:0}
.counter-cart{position:relative;top:auto;min-height:0;display:flex;flex-direction:column}
.counter-cart>header,.counter-cart>footer{flex-shrink:0}
.counter-cart-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.counter-lines{max-height:none;overflow:visible}
.counter-adjustments{padding:16px}
.counter-adjustments label{display:flex;align-items:center;gap:12px;font-size:.8rem}
.counter-adjustments input{width:110px;margin-left:auto}
.counter-cart>footer{border-top:1px solid var(--line);z-index:2}
.counter-total{margin:0 0 12px}
@media(max-width:820px){
 .sale-counter{height:auto;display:block;padding-bottom:170px}
 .counter-layout{display:grid}
 .counter-cart-body{max-height:55dvh;flex:auto}
 .counter-cart>footer{position:fixed;bottom:0;left:0;right:0;z-index:5;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;box-shadow:0 -4px 18px #1c254018}
 .counter-total{margin-bottom:6px}
 .counter-total strong{font-size:1.4rem}
 .counter-cart>footer .actions{flex-wrap:nowrap}
 .counter-cart>footer small{font-size:.7rem}
}
@media print{.sale-counter{height:auto}.counter-cart>footer{position:static}}

@media(min-width:821px){
 .shell:has(.sale-counter){height:100dvh;display:flex;flex-direction:column}
 .shell:has(.sale-counter)>*{flex-shrink:0}
 main:has(.sale-counter){flex:1;min-height:0;width:100%;margin:0 auto;display:flex;flex-direction:column}
 main:has(.sale-counter)>*{flex-shrink:0}
 main>.sale-counter{height:auto;flex:1;min-height:0}
}

/* Shared AB team entry style, aligned with Contractor Labor. */
.team-access{min-height:100dvh;background:#f3f6f8;color:#193044;font:15px system-ui,sans-serif}
.team-header{min-height:76px;background:#102c3b;color:white;display:flex;align-items:center;justify-content:space-between;padding:14px 6vw;gap:20px}
.team-brand{display:flex;gap:12px;align-items:center}.team-brand small{display:block;color:#b5c8d0;margin-top:3px}.team-mark{border:1px solid #c7ad72;padding:10px;color:#e8d29c;font-weight:800}
.team-pill{display:inline-block;background:#fff0d5;color:#886a28;border-radius:30px;padding:6px 12px;font-size:12px}
.team-design{background:#e8edf0;padding:9px 6vw;color:#536673;font-size:13px}
main.team-login{max-width:1240px;margin:auto;padding:40px 28px;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;min-height:650px}
.team-hero{padding:35px}.team-eyebrow{font-size:12px;letter-spacing:2px;color:#5b807e;font-weight:750}.team-hero h1{font-size:43px;line-height:1.3;margin:20px 0}.team-hero p{color:#657b88;line-height:1.7}.team-hero ul{list-style:none;padding:0}.team-hero li{margin:18px 0}.team-hero li:before{content:'✓';color:#28726a;margin-right:12px}
.team-card{background:white;border:1px solid #dce5ea;border-radius:18px;padding:30px;box-shadow:0 12px 35px #17344306;min-width:0}.team-card h2{font-size:22px;margin:22px 0 12px}.team-card p{line-height:1.7}.team-muted{color:#657b88}.team-account{overflow-wrap:anywhere}
.team-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:white;border:1px solid #cbd8df;border-radius:9px;padding:15px;font-weight:650;margin:26px 0 12px}.google-letter{color:#356ada;font-size:20px;font-weight:bold}.team-status{background:#f1f6f5;border-radius:10px;padding:15px;color:#3a6861;font-size:13px}
.team-email,.team-help{border-top:1px solid #e4eaf0;margin-top:24px;padding-top:18px}.team-access summary{cursor:pointer;color:#256e69;line-height:1.7}.team-email form{margin-top:18px;display:grid;gap:9px}.team-access .primary{border:0;background:#246b60;color:white;padding:13px 22px;border-radius:9px}.team-access input{background:white;border:1px solid #cad8e0}.team-access .auth-links button{color:#256e69}.team-help{margin-bottom:22px}.team-help p{font-size:13px}.team-footer{text-align:center;color:#748a94;font-size:12px;padding:24px}
@media(max-width:760px){.team-header{padding:12px 18px;flex-wrap:wrap}main.team-login{padding:22px 16px;grid-template-columns:1fr;gap:14px;min-height:0}.team-hero{padding:10px}.team-hero h1{font-size:30px}.team-hero ul{display:none}.team-card{padding:20px}.team-header>.team-pill{font-size:11px}}
