/* Public surfaces only. Employee Restaurant/Store styles never load this sheet. */
:root{--customer-background:#FFFFFF;--customer-surface:#FFFFFF;--customer-secondary-surface:#F6F7F8;--customer-text:#263136;--customer-muted:#5C686E;--customer-border:#E4E8E7;--customer-control-border:#879197;--customer-primary:#263136;--customer-on-primary:#FFFFFF;--customer-secondary:#263136;--customer-on-secondary:#FFFFFF;--customer-accent-ink:#263136;--customer-secondary-ink:#263136;--customer-focus:#263136;--customer-success:#16754B;--customer-on-success:#FFFFFF;--customer-success-soft:#E8F4ED;--customer-error:#B3261E;--customer-warning:#825800;--customer-processing:#68757B;color-scheme:light}
html,body{background:var(--customer-background);color:var(--customer-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
button,input,textarea,select{font-family:inherit}
button,input,textarea,select,dialog,fieldset{border-color:var(--customer-border)}
button,input,textarea,select,dialog{background:var(--customer-surface);color:var(--customer-text)}
button{min-height:44px}
button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,select:focus-visible{outline-color:var(--customer-focus)}
.primary,button.primary{background:var(--customer-primary);border-color:var(--customer-primary);color:var(--customer-on-primary)}
.muted,small{color:var(--customer-muted)}
header,nav,footer,.menu-tools,.product,.card,.summary,.search-wrap,.product-actions,.profile-card,.profile-login,.profile-entry{background:var(--customer-surface);color:var(--customer-text);border-color:var(--customer-border)}
.welcome,.account-help,#notice,.profile-intro,.profile-benefit,.profile-benefits,.profile-placeholder{background:var(--customer-secondary-surface);color:var(--customer-text)}
#brand-name,h1,h2,#breadcrumb,.detail-body h2{font-family:inherit;color:var(--customer-text)}
#brand-name{font-weight:650}h1,.detail-body h2{font-weight:650}
.product .price,.eyebrow,#product-price,nav button[aria-selected=true],.section-heading,.profile-benefit-icon{color:var(--customer-accent-ink)}
.product .add,.categories .selected{background:var(--customer-primary);color:var(--customer-on-primary);border-color:var(--customer-primary)}
.product-visual,.image-placeholder,.detail-image{background:var(--customer-secondary-surface);color:var(--customer-muted)}
.product .description,.row p,.profile-benefit-description{color:var(--customer-muted)}
#table,#subsections .selected,.close{background:var(--customer-surface);color:var(--customer-accent-ink)}
#product-error,#profile-error,[role=alert]{color:var(--customer-error)}
.confirmation,.payment-approved{background:var(--customer-success-soft);color:var(--customer-success);border-color:var(--customer-success)}
.test,.warning{background:var(--customer-secondary-surface);color:var(--customer-warning)}
/* Shared display keeps a neutral canvas. Brand accents are confined to actions. */
.customer-display,.customer-display.cart-active,.customer-display.promotion-active #waiting{background:var(--customer-background);color:var(--customer-text)}
.customer-display header,.customer-display .panel,.customer-display #loyalty-panel,.customer-display.cart-active #checkout .ticket,.customer-display .input-dialog-card,.customer-display .cart-table th,.customer-display .card-brand{background:var(--customer-surface);color:var(--customer-text);border-color:var(--customer-border)}
.customer-display .ticket,.customer-display .cart-table td,.customer-display #ticket-title,.customer-display .totals .grand,.customer-display #loyalty-panel{border-color:var(--customer-border)}
.customer-display #total,.customer-display #ticket-title,.customer-display .paid-banner strong,.customer-display h1,.customer-display h2,.customer-display .points-number{color:var(--customer-text)}
.customer-display .cart-table th,.customer-display .totals>div,.customer-display .points-card #points-invite,.customer-display .paid-banner>span:last-child,.customer-display .loyalty-benefits p,.customer-display .registration-note,.customer-display #connection{color:var(--customer-muted)}
.customer-display button{background:var(--customer-primary);border-color:var(--customer-primary);color:var(--customer-on-primary)}
.customer-display button.secondary,.customer-display .receipt-decline{background:var(--customer-surface);color:var(--customer-accent-ink);border-color:var(--customer-border)}
.customer-display .receipt-decline{background:var(--customer-secondary-surface)}
.customer-display input,.customer-display select{background:var(--customer-surface);color:var(--customer-text);border-color:var(--customer-border)}
.customer-display input:focus,.customer-display button:focus{outline-color:var(--customer-focus)}
.customer-display .points-card,.customer-display .points-card.points-celebrating{background:var(--customer-secondary-surface);border:1px solid var(--customer-border);color:var(--customer-text)}
.customer-display .points-card .eyebrow,.customer-display .points-card #points-title,.customer-display .section-heading h3{color:var(--customer-text)}
.customer-display .section-heading>span{background:var(--customer-border)}
.customer-display .points-sparkles,.customer-display .benefit-icon{color:var(--customer-accent-ink);background:transparent}
.customer-display .benefit-icon{background:var(--customer-secondary-surface)}
.customer-display .points-sparkles path{fill:var(--customer-secondary-ink)}
.customer-display .points-confetti i,.customer-display .points-confetti i:nth-child(3n){color:var(--customer-secondary-ink)}
.customer-display .terminal-card-icon{background:var(--customer-secondary-surface);color:var(--customer-text)}
.customer-display #terminal-prompt h1{color:var(--customer-text)}
.customer-display #terminal-prompt>p{color:var(--customer-muted)}
.customer-display .terminal-processing{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--customer-processing);font-size:15px;margin-top:22px}
.processing-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--customer-border);border-top-color:var(--customer-processing);border-radius:50%;animation:customer-processing-spin 1s linear infinite}
@keyframes customer-processing-spin{to{transform:rotate(360deg)}}
/* Approved is always semantic green, even when brand primary is red. */
.customer-display .paid-checkout .paid-check{background:var(--customer-success-soft);color:var(--customer-on-success)}
.customer-display .paid-checkout .paid-check svg{background:var(--customer-success);color:var(--customer-on-success)}
.customer-display [data-state=error],.customer-display [role=alert]{color:var(--customer-error)}
.customer-display [data-state=processing]{color:var(--customer-processing)}
.customer-display.customer-brand-visible:not(.promotion-active) header{display:flex;min-height:56px;padding:10px 24px;border-bottom:1px solid var(--customer-border);background:var(--customer-surface)}
.customer-display.customer-brand-visible header #connection{display:none}
@media(prefers-reduced-motion:reduce){.processing-spinner{animation:none;border-top-width:4px}}

.payment-panel,.reward-invitation,#profile-login,.profile-benefits li,#profile-promos .promo-block,.profile-reward,.profile-order,.profile-history{background:var(--customer-surface);color:var(--customer-text);border-color:var(--customer-border)}
.profile-benefit-icon,.reward-icon,.payment-panel .bill-panel-icon{background:var(--customer-secondary-surface);color:var(--customer-secondary-ink)}
.payment-message{color:var(--customer-processing)}
.payment-message[data-state=error],#profile-error,#product-error{color:var(--customer-error)}
.customer-display #account-instructions{color:var(--customer-muted);font-size:14px;line-height:1.4}
.customer-display .points-sparkles,.customer-display .benefit-icon{color:var(--customer-secondary-ink)}

/* Fields remain identifiable against neutral and dark surfaces. */
input,textarea,select,.customer-display input,.customer-display select{border-color:var(--customer-control-border)}
nav button[aria-current=page]{color:var(--customer-accent-ink)}
.customer-display.cart-active #total,.customer-display .totals strong,.customer-display .paid-checkout .paid-banner strong{color:var(--customer-text)}
.customer-display.cart-active .totals .grand,.customer-display .paid-checkout .paid-banner>span:last-child,.customer-display .loyalty .loyalty-benefits p,.customer-display #payment-details,.customer-display #contact-result,.customer-display #receipt-result,.customer-display #receipt-email-result,.customer-display #receipt-print-result{color:var(--customer-muted)}
.customer-display.cart-active #ticket-title,.customer-display.cart-active .totals .grand,.customer-display #receipt-choice,.customer-display .payment-breakdown{border-color:var(--customer-border)}
.customer-display.cart-active #checkout .ticket{box-shadow:0 6px 24px #2631360A}
.customer-display .cart-thumbnail{background:var(--customer-secondary-surface);color:var(--customer-muted)}
.customer-display .loyalty #contact-form input{border-color:var(--customer-control-border)}
.customer-display #contact-result[data-state=error],.customer-display #receipt-email-error[data-state=error]{color:var(--customer-error)}
.customer-display #contact-result[data-state=processing],.customer-display #receipt-email-error[data-state=processing]{color:var(--customer-processing)}
.customer-display .paid-checkout .receipt-decline{background:var(--customer-secondary-surface);border-color:var(--customer-border);color:var(--customer-text)}
.customer-display #tools-toggle,.customer-display #tools-menu,.customer-display #tools-menu button{background:var(--customer-surface);color:var(--customer-text);border-color:var(--customer-border)}
/* Preserve the current QR layout and use contrast-correct accents on text tabs. */
.bottom-dock,.language select,.field select,#product-actions,.service-time-actions,.promo-hero-block .promo-controls{background:var(--customer-surface);color:var(--customer-text);border-color:var(--customer-border)}
#categories button.selected{color:var(--customer-accent-ink);border-bottom-color:var(--customer-focus)}
#subsections button{color:var(--customer-muted)}
#subsections button.selected{color:var(--customer-accent-ink);background:var(--customer-secondary-surface)}
.bottom-dock>nav button{color:var(--customer-muted)}
.bottom-dock>nav button[aria-current=page]{color:var(--customer-accent-ink)}
.tip-option{background:var(--customer-surface);color:var(--customer-text)}
.tip-option[aria-pressed=true]{background:var(--customer-primary);color:var(--customer-on-primary)}
.field input,.field textarea,fieldset textarea,.field select,.profile-email-control{border-color:var(--customer-control-border);background:var(--customer-surface);color:var(--customer-text)}
.service-time-notice,.bill-state-icon,.optional-label,.portion-item-paid,.paid-badge{background:var(--customer-secondary-surface);color:var(--customer-text);border-color:var(--customer-border)}
.bill-state h2,.bill-panel-heading h2{color:var(--customer-text)}
.bill-state>p,.bill-updating,.payment-secure,.service-time-copy small{color:var(--customer-muted)}
.bill-panel-icon,.service-time-notice>svg{color:var(--customer-secondary-ink)}
.payment-test{background:var(--customer-secondary-surface);color:var(--customer-warning)}
.cart-unavailable,.service-time-dialog [role=alert],fieldset[aria-invalid=true]{color:var(--customer-error);border-color:var(--customer-error)}
input::placeholder,textarea::placeholder{color:var(--customer-muted);opacity:1}
body.has-menu-hero #menu-search{background:var(--customer-secondary-surface);box-shadow:0 0 0 10px var(--customer-background)}
