:root{--bg:#faf9f6;--surface:#fff;--border:#e2e0d8;--text:#1c1c1a;--text-muted:#6e6c63;--accent:#1f5c4d;--accent-hover:#173f34;--accent-contrast:#fff;--error:#ad2b1f;--error-bg:#fbeae8;--font:-apple-system, "Segoe UI", Roboto, "Noto Sans Thai", "Leelawadee UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input{font-family:inherit;font-size:1rem}button{cursor:pointer}.centered-screen,.login-screen{justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:24px;display:flex}.centered-screen{text-align:center;flex-direction:column}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:32px 28px}.login-title{color:var(--accent);margin:0;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--text-muted);margin:4px 0 28px;font-size:.95rem}.field{margin-bottom:18px;display:block}.field span{color:var(--text-muted);margin-bottom:6px;font-size:.9rem;display:block}.field input{border:1px solid var(--border);background:var(--bg);width:100%;height:48px;color:var(--text);border-radius:8px;padding:0 14px}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field-error{color:var(--error);background:var(--error-bg);border-radius:8px;margin:0 0 18px;padding:10px 12px;font-size:.9rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;width:100%;height:48px;font-size:1rem;font-weight:600}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{width:auto;color:var(--text);border:1px solid var(--border);background:0 0;padding:0 18px}.btn-secondary:hover{background:var(--bg)}.page{flex-direction:column;gap:16px;max-width:640px;margin:0 auto;padding:16px 16px 32px;display:flex}.page.narrow{max-width:420px;padding-top:40px}.sale-page{padding-bottom:200px}.app-header{flex-direction:column;gap:4px;display:flex}.app-header-row{justify-content:space-between;align-items:center;display:flex}.app-brand{color:var(--accent);margin:0;font-weight:700}.back-link{color:var(--accent);padding:8px 0;font-weight:600;text-decoration:none}.page-title{margin:4px 0 0;font-size:1.4rem}.app-context,.hint{color:var(--text-muted);margin:0;font-size:.9rem}.link-button{color:var(--accent);text-underline-offset:3px;background:0 0;border:none;padding:8px 0;font-weight:600;text-decoration:underline}.section-title{margin:8px 0;font-size:1rem}.menu,.choice-list{flex-direction:column;gap:12px;display:flex}.menu-primary,.menu-item,.choice-button{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;flex-direction:column;gap:4px;padding:20px;text-decoration:none;display:flex}.menu-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);padding:28px 20px}.menu-title,.choice-title{font-size:1.15rem;font-weight:700}.menu-meta,.choice-meta{opacity:.8;font-size:.9rem}.customer-search{flex-direction:column;gap:8px;display:flex}.search-input{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;height:52px;padding:0 16px;font-size:1.05rem}.search-input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.result-list,.product-list,.plain-list{margin:0;padding:0;list-style:none}.result-list{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.result-item{text-align:left;border:none;border-bottom:1px solid var(--border);background:0 0;flex-direction:column;gap:2px;width:100%;padding:14px 16px;display:flex}.result-list li:last-child .result-item{border-bottom:none}.result-name{margin:0;font-weight:600}.result-meta{color:var(--text-muted);margin:0;font-size:.88rem}.member-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;padding:20px}.member-name{margin:0;font-size:1.2rem;font-weight:700}.member-meta{color:var(--text-muted);margin:4px 0 0}.points-big{color:var(--accent);font-variant-numeric:tabular-nums;margin:12px 0 0;font-size:2.4rem;font-weight:700}.points-big span{font-size:1rem;font-weight:600}.member-code-big{letter-spacing:.08em;color:var(--accent);margin:4px 0 12px;font-size:2rem;font-weight:700}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.stat-grid div{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.stat-grid dt{color:var(--text-muted);font-size:.85rem}.stat-grid dd{margin:4px 0 0;font-weight:600}.plain-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.plain-list li.voided{color:var(--text-muted);text-decoration:line-through}.plain-list .total-row{border-bottom:none;font-size:1.1rem;font-weight:700}.tag-row{flex-wrap:wrap;gap:8px;margin:0;display:flex}.tag{color:var(--accent);background:#e8efec;border-radius:999px;padding:6px 12px;font-size:.9rem}.tag.selectable{border:1px solid var(--border);background:var(--surface);color:var(--text);min-height:40px}.tag.selectable.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.consent-box{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px 16px;display:flex}.consent-box legend{padding:0 4px;font-weight:600}.check{align-items:flex-start;gap:10px;padding:6px 0;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin:1px 0 0}.as-link{justify-content:center;align-items:center;text-decoration:none;display:flex}.btn-secondary.wide{width:100%}.customer-chip{background:#e8efec;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.product-list{flex-direction:column;gap:8px;display:flex}.product-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.product-row.in-cart{border-color:var(--accent)}.product-main{text-align:left;color:var(--text);background:0 0;border:none;flex:1;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;display:grid}.product-name{font-weight:600}.product-meta{color:var(--text-muted);grid-column:1;font-size:.85rem}.product-price{font-variant-numeric:tabular-nums;grid-area:1/2/span 2;align-self:center;font-weight:700}.qty-control{border-left:1px solid var(--border);align-items:center;display:flex}.qty-control button{width:44px;height:100%;min-height:56px;color:var(--accent);background:0 0;border:none;font-size:1.4rem}.qty-control span{text-align:center;min-width:24px;font-weight:700}.checkout-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);flex-direction:column;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.checkout-bar>*{width:100%;max-width:608px;margin:0 auto}.payment-row{gap:6px;display:flex;overflow-x:auto}.pay-option{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:8px;flex:1;min-height:40px;padding:0 10px}.pay-option.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.button-row{gap:10px;display:flex}.button-row>*{flex:1}.choice-list.compact{gap:8px}.reward-box{flex-direction:column;gap:10px;display:flex}.reward-option{border:1px solid var(--border);background:var(--surface);min-height:52px;color:var(--text);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.reward-option.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#e8efec}.reward-option:disabled{opacity:.45}.reward-cost{color:var(--text-muted);white-space:nowrap;font-size:.88rem}.reward-used{color:var(--accent);margin:8px 0 0;font-weight:600}.last4-input{letter-spacing:.4em;text-align:center;max-width:200px;font-size:1.6rem}.chip-points{color:var(--accent);white-space:nowrap;margin:0;font-weight:700}.centered{text-align:center}.sale-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sale-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 14px}.sale-card.voided{opacity:.6}.sale-card.voided strong{text-decoration:line-through}.sale-head{justify-content:space-between;gap:12px;display:flex}.sale-items{color:var(--text-muted);margin:4px 0 0;font-size:.88rem}.sale-void{color:var(--error);margin:4px 0 0;font-size:.88rem}.void-box{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.link-button.danger{color:var(--error)}.btn-danger{background:var(--error);color:#fff;border:none;border-radius:10px;min-height:48px;font-weight:600}.btn-danger:disabled{opacity:.5}.admin-form{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.field select{border:1px solid var(--border);background:var(--surface);width:100%;height:48px;font:inherit;border-radius:10px;padding:0 12px}.promo-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem}.promo-hint.ok{color:var(--accent);font-weight:600}.qty-badge{color:var(--accent);border-left:1px solid var(--border);align-items:center;padding:0 14px;font-weight:700;display:flex}.cart-lines{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cart-line{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 0 0 14px;display:flex;overflow:hidden}.cart-line>div:first-child{padding:10px 0}.cart-line.selected{border-color:var(--accent)}.qty-control button:disabled{opacity:.3}.line-options{color:var(--text-muted);font-size:.85rem;display:block}.sheet-backdrop{z-index:20;background:#14141273;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:90vh;padding:18px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:14px;display:flex;overflow-y:auto}.sheet-group .section-title{margin-top:0}
