:root{--ink:#151a16;--muted:#747a74;--line:#e2e5e1;--paper:#fbfcf9;--lime:#d9ff57;--surface:#f1f3ee;--white:#fff;--danger:#bb3e2f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.app-shell{max-width:640px;margin:0 auto;padding:24px 18px 150px}.topbar,.section-heading,.dialog-head{display:flex;align-items:center;justify-content:space-between}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted);margin-bottom:3px}h1,h2{margin:0;line-height:1}h1{font-size:29px;letter-spacing:-.06em}h2{font-size:20px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--white);display:grid;place-items:center;color:var(--ink);font-size:25px}.icon-button svg,.scan-button svg,.search-box svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.scan-card{margin:26px 0 20px;padding:18px;border-radius:22px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 14px 30px #1a211322}.scan-copy{display:flex;align-items:center;gap:10px}.scan-copy strong,.scan-copy small{display:block}.scan-copy small{color:#adb2ac;font-size:11px;margin-top:2px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #d9ff571a}.scan-button{border:0;border-radius:13px;padding:12px 14px;background:var(--lime);color:var(--ink);font:700 13px inherit;display:flex;gap:7px;align-items:center}.search-box{height:50px;padding:0 15px;border:1px solid var(--line);background:white;border-radius:15px;display:flex;align-items:center;gap:10px}.search-box input{border:0;outline:0;width:100%;font:500 14px inherit;color:var(--ink)}.catalog{display:flex;gap:8px;overflow-x:auto;padding:12px 1px 8px;scrollbar-width:none}.product-chip{flex:0 0 auto;border:1px solid var(--line);border-radius:13px;background:white;padding:9px 12px;text-align:left;font:600 12px inherit;color:var(--ink)}.product-chip span{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:2px}.bill-section{margin-top:30px}.section-heading{border-bottom:1px solid var(--line);padding-bottom:14px}.section-heading>strong{font-size:22px}.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:17px 0;border-bottom:1px solid var(--line)}.item-info strong,.item-info span{display:block}.item-info span{font:11px "DM Mono";color:var(--muted);margin-top:5px}.item-side{text-align:right}.item-side>strong{display:block;margin-bottom:8px}.quantity{display:flex;align-items:center;gap:9px}.quantity button{border:1px solid var(--line);background:white;border-radius:8px;width:27px;height:27px;font-size:17px}.quantity span{min-width:14px;text-align:center;font:500 12px "DM Mono"}.empty-cart{text-align:center;color:var(--muted);padding:44px 10px;display:flex;flex-direction:column;align-items:center;gap:6px}.empty-cart strong{color:var(--ink)}.empty-icon{width:42px;height:42px;border:1px dashed #b8bdb7;border-radius:50%;font-size:25px}.checkout-bar{position:fixed;z-index:5;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:14px max(18px,calc((100vw - 604px)/2));padding-bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between}.checkout-bar div span,.checkout-bar div strong{display:block}.checkout-bar div span{font-size:11px;color:var(--muted)}.checkout-bar div strong{font-size:22px}.checkout-bar>button,.primary-button{border:0;background:var(--ink);color:white;border-radius:14px;padding:15px 18px;font:700 14px inherit}.checkout-bar>button:disabled{opacity:.35}.checkout-bar>button span{margin-left:14px}dialog{border:0;border-radius:24px;padding:22px;width:min(92vw,500px);box-shadow:0 25px 80px #0004}dialog::backdrop{background:#0d100db8;backdrop-filter:blur(3px)}.camera-wrap{height:280px;margin-top:20px;border-radius:18px;overflow:hidden;background:#111;position:relative;display:grid;place-items:center;color:white}.camera-wrap video{width:100%;height:100%;object-fit:cover}.camera-wrap>span{position:absolute;bottom:18px;font-size:12px}.scan-frame{position:absolute;width:80%;height:110px;border:2px solid var(--lime);border-radius:12px;box-shadow:0 0 0 999px #0005}.scanner-dialog p{font-size:12px;color:var(--muted)}.barcode-form{display:flex;gap:8px}.barcode-form input,.field input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit}.barcode-form button{border:0;border-radius:12px;background:var(--lime);font-weight:700;padding:0 18px}.field{display:flex;flex-wrap:wrap;gap:2px;font-weight:600;font-size:13px;margin:24px 0 18px}.field span{color:var(--muted);font-weight:400}.field input{flex-basis:100%;margin-top:7px}fieldset{border:0;padding:0;margin:0}legend{font-size:13px;font-weight:600;margin-bottom:8px}.payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.payment-options input{position:absolute;opacity:0}.payment-options span{display:block;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;font-size:13px}.payment-options input:checked+span{border-color:var(--ink);background:var(--ink);color:white}.checkout-total{display:flex;justify-content:space-between;align-items:end;margin:26px 0 14px}.checkout-total span{font-size:12px;color:var(--muted)}.checkout-total strong{font-size:25px}.primary-button{width:100%}.receipt-dialog{width:min(94vw,430px);max-height:92vh;background:#e9ebe7;padding:12px}.receipt-actions{display:flex;gap:6px;margin-bottom:10px}.receipt-actions button{flex:1;border:0;border-radius:9px;background:white;padding:10px;font:600 11px inherit}.receipt-actions .dark{background:var(--ink);color:white}.receipt{background:white;color:#111;padding:26px 24px;font:11px "DM Mono",monospace}.receipt-header{text-align:center}.receipt-header h2{font:700 19px "DM Sans";letter-spacing:-.03em}.receipt-header p{margin:5px 0}.receipt-title{text-align:center;border-top:1px dashed #777;border-bottom:1px dashed #777;margin:16px 0;padding:8px;font-weight:700}.receipt-meta{line-height:1.55}.receipt-table{width:100%;border-collapse:collapse;margin-top:14px}.receipt-table th{border-bottom:1px solid #999;text-align:left;padding:5px 2px}.receipt-table th:not(:first-child),.receipt-table td:not(:first-child){text-align:right}.receipt-table td{padding:6px 2px;vertical-align:top}.receipt-summary{border-top:1px dashed #777;margin-top:8px;padding-top:7px}.receipt-row{display:flex;justify-content:space-between;margin:5px 0}.receipt-row.total{font:bold 20px "DM Sans";border-top:1px solid #111;border-bottom:1px solid #111;padding:8px 0}.receipt-footer{text-align:center;margin-top:24px}.toast{position:fixed;z-index:20;left:50%;bottom:100px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:white;border-radius:999px;padding:10px 16px;font-size:12px;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:390px){.scan-copy small{display:none}.scan-button{padding:11px}.app-shell{padding-left:14px;padding-right:14px}}@media print{body{background:white}.app-shell,.checkout-bar,.no-print{display:none!important}.receipt-dialog{display:block!important;position:static;width:auto;max-height:none;padding:0;background:white;box-shadow:none}.receipt{padding:0}dialog::backdrop{display:none}}
[hidden]{display:none!important}
.product-link{display:inline-block;margin-top:7px;color:var(--ink);font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.receipt-table small{font-size:8px;color:#555}
.featured-product{display:grid;grid-template-columns:105px 1fr;gap:16px;align-items:center;background:white;border:1px solid var(--line);border-radius:20px;padding:10px;margin-bottom:12px}.featured-product img{width:105px;height:132px;object-fit:cover;border-radius:13px}.featured-product strong,.featured-product small{display:block}.featured-product strong{font-size:15px;line-height:1.25}.featured-product small{font-size:11px;color:var(--muted);margin:6px 0 11px}.featured-product button{border:0;border-radius:10px;padding:9px 12px;background:var(--ink);color:white;font:700 11px inherit}.variant-product{display:flex;gap:12px;align-items:center;margin:20px 0}.variant-product img{width:72px;height:88px;object-fit:cover;border-radius:12px}.variant-product strong,.variant-product span{display:block}.variant-product span{font-size:12px;color:var(--muted);margin-top:5px}.variant-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:360px;overflow:auto}.variant-option{border:1px solid var(--line);border-radius:12px;background:white;padding:12px;text-align:left;font:700 13px inherit}.variant-option span{display:block;color:var(--muted);font:500 10px "DM Mono";margin-top:4px}.discount-field{margin-top:18px;margin-bottom:0}
