/* Kebarick POS cashier foundation — Stage 1 of 5. Scoped, authoritative till layout. */
:root{--kb-blue:#0a58c8;--kb-deep:#063e91;--kb-ink:#163054;--kb-muted:#697f9d;--kb-line:#e3eaf4;--kb-surface:#fff;--kb-bg:#f2f6fb}
html,body.kb-cashier{margin:0;width:100%;min-width:320px;background:var(--kb-bg);color:var(--kb-ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}body.kb-cashier *{box-sizing:border-box}
body.kb-cashier .kb-till.shell{max-width:none!important;width:100%;margin:0!important;padding:0 20px 18px!important}
body.kb-cashier .till-header{min-height:73px;background:linear-gradient(115deg,#063e91,#126bde);color:white;margin:0 -20px 17px;padding:10px 21px;display:flex;align-items:center;gap:13px;flex-wrap:wrap;box-shadow:0 3px 12px #102d5b24;border-radius:0!important}
body.kb-cashier .till-brand{display:flex;align-items:center;gap:10px;white-space:nowrap;margin-right:auto}
body.kb-cashier .till-brand strong{font-size:23px;letter-spacing:-.7px;color:white;font-weight:850;line-height:1.2}body.kb-cashier .till-brand strong span{color:#8bc6ff}body.kb-cashier .brand-icon{font-size:24px;line-height:1;color:#bde5ff}
body.kb-cashier .brand-division{font-size:12px;font-weight:650;white-space:normal;color:#e0edff;border-left:1px solid #91bcf69c;padding-left:12px;max-width:150px}
body.kb-cashier .till-meta{min-width:110px;display:flex;flex-direction:column;gap:3px}body.kb-cashier .meta-label{font-size:10px;color:#cfebff;font-weight:700}
body.kb-cashier .till-header select{width:auto!important;max-width:163px!important;min-width:104px;height:33px!important;min-height:33px!important;margin:0!important;border:1px solid #4b96e6!important;border-radius:7px;background:#145cb7!important;color:white!important;padding:4px 10px!important;font-size:12px!important;font-weight:700}
body.kb-cashier .till-cashier-id{display:flex;align-items:center;gap:8px;white-space:nowrap}body.kb-cashier .till-cashier-id small{display:block;font-size:10px;color:#d3e9ff}body.kb-cashier .till-cashier-id strong{display:block;font-size:12px;color:white}body.kb-cashier .cashier-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#ffffff26}
body.kb-cashier .shift-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}body.kb-cashier .shift-pill{font-size:11px;font-weight:800;background:#0b7b56;border-radius:24px;border:1px solid #66d9a3;padding:8px 10px;white-space:nowrap}body.kb-cashier .shift-buttons{display:flex;gap:4px}body.kb-cashier .shift-buttons button{min-height:32px!important;margin:0!important;padding:5px 9px!important;border:1px solid #73b6ff!important;border-radius:6px!important;font-size:11px!important;background:#f1f7ff!important;color:#074da6!important}
body.kb-cashier .poslayout{display:grid!important;grid-template-columns:minmax(0,1.85fr) minmax(340px,.90fr)!important;gap:14px!important;align-items:start!important;margin:0!important}
body.kb-cashier .till-left{display:flex;flex-direction:column;gap:12px;min-width:0}body.kb-cashier .till-products,body.kb-cashier .till-basket,body.kb-cashier .till-payment{background:#fff!important;margin:0!important;min-width:0!important;padding:16px!important;border:1px solid #dfe8f3!important;border-radius:13px!important;box-shadow:0 2px 10px #0b3c7d08!important}
body.kb-cashier .section-head{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:11px}body.kb-cashier h2{margin:0!important;font-size:17px!important;font-weight:800!important;letter-spacing:-.2px;color:#1053a6!important}body.kb-cashier .section-head p{margin:3px 0 0!important;font-size:11px!important;color:var(--kb-muted)}body.kb-cashier .keyboard-tag{border-radius:6px;padding:6px 8px;background:#eff5ff;color:#2c65a4;font-size:10px;white-space:nowrap}
body.kb-cashier .till-search-row{display:flex!important;align-items:center;gap:8px;position:relative;border:2px solid #2577df;border-radius:9px;min-height:53px;padding:0 12px;background:#fff}body.kb-cashier .till-search-row:focus-within{box-shadow:0 0 0 3px #1c70e12b}
body.kb-cashier .till-search-row #scan-code{display:block!important;width:100%;min-width:0!important;padding:12px 6px!important;border:0!important;background:none!important;margin:0!important;box-shadow:none!important;font-size:14px!important;min-height:48px!important;height:48px!important;outline:none!important}
body.kb-cashier .till-search-row #search{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;border:0!important;padding:0!important;left:0;top:0}
body.kb-cashier .scan-deco{color:#176bd1;font-size:26px}body.kb-cashier .scan-shortcut{color:#176bd1;font-size:21px}
body.kb-cashier .scan-feedback{display:block;min-height:17px;margin-top:3px;font-size:11px;color:#127a53}
body.kb-cashier .product-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 7px}body.kb-cashier .product-head h3{font-size:13px!important;margin:0!important;color:#23476e!important}body.kb-cashier .product-head-help{font-size:10px;color:#7486a0}
body.kb-cashier .till-categories{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:thin}body.kb-cashier .till-categories button{margin:0!important;min-height:32px!important;border-radius:6px!important;padding:5px 12px!important;border:1px solid #d4e2f3!important;background:#f8fbff!important;color:#275b95!important;font-size:11px!important;white-space:nowrap}body.kb-cashier .till-categories button.is-active{background:var(--kb-blue)!important;color:#fff!important;border-color:var(--kb-blue)!important}
body.kb-cashier #products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(133px,1fr))!important;gap:9px!important;max-height:245px;min-height:160px;overflow:auto;margin:0!important;padding:2px!important;align-content:start}
body.kb-cashier .producttile{display:flex!important;flex-direction:column;align-items:flex-start;position:relative;gap:5px;min-width:0!important;min-height:125px!important;padding:10px!important;text-align:left;border:1px solid #deebf7!important;border-radius:9px!important;background:#fff!important;color:var(--kb-ink)!important;margin:0!important;box-shadow:none!important;white-space:normal!important}
body.kb-cashier .producttile:hover,body.kb-cashier .producttile:focus-visible{border-color:#2673de!important;background:#f7fbff!important;outline:2px solid #9bc6ff;outline-offset:0}
body.kb-cashier .producttile b{color:#19375e!important;font-size:12px!important;line-height:1.35}body.kb-cashier .producttile .till-product-icon{display:grid;place-items:center;height:47px;width:100%;background:linear-gradient(120deg,#e9f2ff,#f4f8ff);border-radius:6px;font-size:25px;color:#166ac3}
body.kb-cashier .producttile .till-product-meta{font-size:10px;color:#7186a0;line-height:1.25}body.kb-cashier .producttile strong{color:#0a5bcb;font-size:13px;margin-top:auto}body.kb-cashier .till-product-plus{position:absolute;right:8px;bottom:8px;font-size:16px;line-height:20px;background:#176ee7;border-radius:5px;padding:0 6px;color:#fff}
body.kb-cashier #till-empty-help{font-size:10px;margin:6px 0 0!important;color:#8491a6}body.kb-cashier .till-no-stock{grid-column:1/-1;color:#677f9e;font-size:13px;padding:24px;text-align:center;background:#f7faff;border-radius:9px}
body.kb-cashier .basket-head{margin-bottom:10px}body.kb-cashier .basket-count-tag{font-size:10px;font-weight:700;background:#e9f2ff;color:#2262b4;border-radius:14px;padding:4px 8px;vertical-align:middle;white-space:nowrap}
body.kb-cashier .basket-clear{border:1px solid #f0cbcf!important;border-radius:7px!important;background:#fff6f6!important;color:#bb394b!important;font-size:11px!important;min-height:32px!important;margin:0!important;padding:6px 9px!important}
body.kb-cashier .pos-basket-head{display:grid!important;grid-template-columns:minmax(0,2fr) 63px 91px 95px 67px!important;gap:7px!important;background:#f0f5fb!important;border-radius:5px;padding:9px 10px!important;color:#56708e;font-size:10px!important;font-weight:800;white-space:normal!important;text-transform:uppercase}
body.kb-cashier #cart{max-height:365px!important;min-height:130px!important;overflow:auto}body.kb-cashier #cart .toolbar{display:grid!important;grid-template-columns:minmax(0,2fr) 63px 91px 95px 30px 30px!important;gap:7px!important;align-items:center;padding:10px 6px!important;border-bottom:1px solid var(--kb-line)!important;margin:0!important;min-height:63px}
body.kb-cashier .till-cart-name{display:flex;align-items:center;gap:9px;min-width:0}body.kb-cashier .till-cart-name>div{min-width:0}body.kb-cashier .till-cart-name b{font-size:12px!important;line-height:1.25;display:block;overflow-wrap:anywhere}body.kb-cashier .till-cart-name small{font-size:10px;display:block;color:#8090a3}body.kb-cashier .till-basket-icon{width:34px;height:35px;flex:0 0 34px;display:grid;place-items:center;background:#e9f3ff;border-radius:6px;font-size:21px;color:#176ed8}
body.kb-cashier #cart input{width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;padding:3px!important;text-align:center!important;border:1px solid #dce6f4!important;font-size:12px!important}
body.kb-cashier .till-unit-price{font-size:12px;color:#607798}body.kb-cashier .till-row-total{font-size:12px;font-weight:800;color:#173356}body.kb-cashier #cart .toolbar button{margin:0!important;min-height:30px!important;padding:3px!important;border:0!important;font-size:13px!important;background:#eff5ff!important;color:#2265bc!important}body.kb-cashier #cart .toolbar .till-remove{background:#fff0f1!important;color:#cc3b4d!important}
body.kb-cashier .till-empty-cart{display:grid;place-items:center;min-height:114px;background:#fafcff;color:#8092ab;font-size:13px}
body.kb-cashier .till-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}body.kb-cashier .till-quick-actions button{min-height:38px!important;margin:0!important;background:#f9fbff!important;border:1px solid #d8e5f4!important;border-radius:7px!important;font-size:11px!important;font-weight:700;color:#275b9a!important;padding:6px!important}
body.kb-cashier .till-payment{position:sticky;top:10px}body.kb-cashier .payment-head{padding-bottom:12px;border-bottom:1px solid var(--kb-line)}body.kb-cashier .payment-shift-label{font-size:10px;padding:5px 8px;border-radius:8px;background:#f0f6ff;color:#315f9a}
body.kb-cashier .till-totals-detail>div{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px solid #eef1f6;font-size:13px;color:#607794}body.kb-cashier .till-totals-detail strong{color:#123257;font-size:13px}
body.kb-cashier .cashier-total{display:flex!important;flex-direction:column;align-items:stretch!important;gap:8px;margin:14px 0 6px!important;padding:14px!important;border:0!important;border-radius:8px;background:#e7f1ff!important}body.kb-cashier .cashier-total span{font-size:11px;font-weight:850;color:#235ba8;letter-spacing:.03em}body.kb-cashier .cashier-total strong{font-size:clamp(29px,3vw,39px)!important;line-height:1.12;color:#064cb9!important;letter-spacing:-1px;white-space:normal!important;overflow-wrap:anywhere}
body.kb-cashier .tax-hint{margin:4px 0 14px;color:#8395ab;font-size:10px;line-height:1.45}
body.kb-cashier .till-methods{border-top:1px solid #e5ecf6;padding-top:14px;margin-top:11px}body.kb-cashier .till-methods h3{font-size:14px;margin:0 0 9px;color:#144c9b}body.kb-cashier .till-method-line{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important}
body.kb-cashier .till-method-line>span{display:flex;min-height:54px;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:1px solid #dce6f3;border-radius:8px;font-size:12px;font-weight:800;text-align:center;padding:7px 4px;background:#f9fbff;color:#335b89}body.kb-cashier .till-method-line .pos-pay-selected{background:#0d66df!important;border-color:#0d66df!important;color:#fff!important}body.kb-cashier .till-method-line .pos-pay-inactive{opacity:.65}body.kb-cashier .till-method-line small{font-size:9px;font-weight:550}
body.kb-cashier .tender-label{display:block;margin:15px 0 6px!important;font-size:12px!important;font-weight:750;color:#315074}body.kb-cashier .tender-field{display:flex;align-items:center;border:1px solid #cfddec;border-radius:8px;padding:0 11px;min-height:47px;gap:9px}body.kb-cashier .tender-field>span{font-size:12px;font-weight:800;color:#4d6a8d}body.kb-cashier #tendered{border:0!important;background:none!important;margin:0!important;min-height:43px!important;height:43px!important;padding:4px!important;font-size:19px!important;font-weight:800;outline:none;width:100%!important}
body.kb-cashier .quick-tender{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:7px}body.kb-cashier .quick-tender button{min-height:30px!important;margin:0!important;padding:5px 2px!important;border-radius:6px;background:#f3f7fd!important;border:1px solid #dde8f5!important;font-size:11px!important;color:#3b6594!important}
body.kb-cashier .cashier-change{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#e1f8eb;border:1px solid #c0ebd0;border-radius:8px;padding:12px;margin:13px 0;font-size:13px;font-weight:750;color:#146440}body.kb-cashier .cashier-change strong{font-size:20px;color:#087544;white-space:nowrap}
body.kb-cashier .cashier-primary{display:flex;align-items:center;justify-content:center;gap:7px;background:#116be4!important;color:#fff!important;border-radius:9px!important;width:100%!important;min-height:53px!important;margin:0!important;padding:8px!important;font-size:14px!important;font-weight:800!important;box-shadow:0 3px 9px #0b57bf2a}body.kb-cashier .cashier-primary span{margin-left:auto}body.kb-cashier .cashier-primary:disabled{opacity:.6}
body.kb-cashier .payment-foot{font-size:10px;color:#8094ad;text-align:center;margin-top:9px}
body.kb-cashier .till-advanced{margin-top:15px!important;padding:13px!important;background:#fff!important;border:1px solid #dbe5f2;border-radius:11px}body.kb-cashier .till-advanced>summary{font-size:12px;font-weight:750;color:#285e9c;cursor:pointer}body.kb-cashier .till-receipt{margin-top:12px!important;padding:15px!important}
body.kb-cashier .pos-industry-card{display:none!important}body.kb-cashier .sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.kb-cashier #toast:not(:empty){position:fixed;z-index:999;bottom:22px;left:50%;transform:translateX(-50%);background:#102f5d;color:white;padding:13px 19px;border-radius:9px;box-shadow:0 10px 25px #0b2e6150;max-width:min(95vw,700px)}
@media(max-width:1080px){body.kb-cashier .poslayout{grid-template-columns:minmax(0,1fr)!important}body.kb-cashier .till-payment{position:static}body.kb-cashier .till-header{gap:9px}}
@media(max-width:710px){body.kb-cashier .kb-till.shell{padding:0 9px 12px!important}body.kb-cashier .till-header{margin:0 -9px 10px;padding:11px!important}body.kb-cashier .till-brand{width:100%}body.kb-cashier .till-brand strong{font-size:20px}body.kb-cashier .till-cashier-id{display:none}body.kb-cashier .till-products,body.kb-cashier .till-basket,body.kb-cashier .till-payment{padding:11px!important}body.kb-cashier #products{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:260px}body.kb-cashier .pos-basket-head{display:none!important}body.kb-cashier #cart .toolbar{grid-template-columns:minmax(0,1fr) 56px 75px 25px 25px!important;gap:4px!important}body.kb-cashier .till-unit-price{display:none!important}body.kb-cashier .till-row-total{font-size:11px}body.kb-cashier #cart .toolbar .till-basket-icon{display:none}body.kb-cashier .quick-tender{grid-template-columns:repeat(4,minmax(0,1fr))}body.kb-cashier .till-brand .brand-division{max-width:none}}
@media print{body.kb-cashier .till-header,body.kb-cashier .poslayout,body.kb-cashier .till-advanced{display:none!important}body.kb-cashier .till-receipt{display:block!important;border:0!important;box-shadow:none!important}body.kb-cashier .kb-till.shell{margin:0!important;padding:0!important}}

body.kb-cashier .producttile .till-product-icon img{display:block;max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}

/* Scan-first retail: approved reference places the basket before product shortcuts. */
body.kb-cashier .till-products{padding:15px!important}
body.kb-cashier .till-popular-products{background:#fff!important;margin:0!important;min-width:0!important;padding:13px 15px!important;border:1px solid #dfe8f3!important;border-radius:13px!important;box-shadow:0 2px 10px #0b3c7d08!important}
body.kb-cashier .till-popular-products .product-head{margin:0 0 7px!important}
body.kb-cashier .till-popular-products #products{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(105px,1fr)!important;grid-template-columns:none!important;gap:8px!important;max-height:none!important;min-height:116px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;padding:3px 2px!important}
body.kb-cashier .till-popular-products .producttile{min-height:124px!important;max-width:none!important;padding:8px!important}
body.kb-cashier .till-popular-products .producttile .till-product-icon{height:46px}
body.kb-cashier .till-popular-products .producttile .till-product-meta{display:none}
body.kb-cashier .till-popular-products .producttile b{font-size:11px!important;max-height:28px;overflow:hidden}
body.kb-cashier .till-popular-products .producttile strong{font-size:11px!important}
body.kb-cashier .till-popular-products #till-empty-help{font-size:10px;margin-top:4px!important}
body.kb-cashier .till-products .section-head{margin-bottom:8px}
body.kb-cashier .till-products .scan-feedback{min-height:9px}
body.kb-cashier .till-popular-products .producttile .till-product-icon{font-family:Arial,sans-serif}
@media(max-width:710px){body.kb-cashier .till-popular-products{padding:11px!important}body.kb-cashier .till-popular-products #products{grid-auto-columns:108px!important}}
/* Critical: legacy global CSS turns every aside into a horizontal toolbar on mobile.
   A checkout payment aside must ALWAYS stay a vertical card. */
body.kb-cashier aside.till-payment{display:block!important;overflow:visible!important;color:var(--kb-ink)!important;width:100%!important;}
body.kb-cashier aside.till-payment>*{max-width:100%;}

