/* Mestizo: toasted orange, cacao and warm cream from the supplied identity.
   The original artwork is framed with CSS so the emblem and lettering stay exact. */
:root{--bg:#fffaf0;--paper:#fffdf7;--ink:#482619;--muted:#816552;--line:#edddc5;--gold:#ae4513;--gold-light:#fbe6ce;--dark:#502a1b;--brand-orange:#e96512;--brand-cream:#fff0c4}
.sidebar{background:#fff0cc;border-color:#eddbb9}
.brand{padding:0;gap:9px;flex-shrink:0}
.brand-mark,.brand-wordmark{display:block;position:relative;flex-shrink:0;background-image:url('/assets/mestizo-identidad.png');background-repeat:no-repeat;filter:contrast(1.5) brightness(1.2);mix-blend-mode:multiply}
.brand-mark{border:0;border-radius:0;width:40px;height:40px;background-size:232.222% auto;background-position:50.42% 23.53%;font-size:0}
.brand-mark:after{content:none}
.brand-wordmark{width:130px;height:37px;background-size:138.56% auto;background-position:50.14% 70.31%}
.nav-item{color:#79563e}.nav-item:hover{background:#f8dfb8}.nav-item.active{background:var(--dark);color:#fff5dd;box-shadow:0 4px 12px #502a1b16}.nav-item.active:after{background:#f29a4a}
.nav-group{color:#946d47}.side-note{background:#f8e3bb;color:#805c3f}.side-note strong{color:#613821}.user-card{border-color:#e6cdab}.avatar{background:#efcf9e;color:#5a301f}
.topbar{background:var(--paper)}.crumb b{color:#553324}.eyebrow{color:var(--gold)}
.btn:hover{background:#6b3822}.btn.secondary{background:var(--paper);border-color:#e4cdb2;color:#6b4129}.btn.secondary:hover{background:#fcebd4}.btn.ghost{background:transparent;color:#8a5132}.btn.gold{background:#b74d16}
.ticket-summary>.wide:not(.secondary):not(.ghost),.checkout-submit,.login-form button[type=submit]{background:#b94b12;color:#fffaf0}.ticket-summary>.wide:not(.secondary):not(.ghost):hover,.checkout-submit:hover,.login-form button[type=submit]:hover{background:#a13d0b}
.checkout-submit:disabled{background:#d6c6af;color:#fffaf0}.btn.secondary:disabled{background:var(--paper)}
.pill:not(.green):not(.red):not(.gray){background:#fbe4c6;color:#934815}.tab.active{background:#f8e2bf;color:#8f3d15;border-color:#e8c394}.product-card,.ticket,.panel,.queue-card{border-color:var(--line);background:var(--paper)}
.price,.collection-note,.queue-card-top>strong{color:#995222}.ticket-bottom{color:#8b6d50}.ticket-title{border-color:var(--line)}.add-mark{color:#9e4314;background:#fbe5c5}
.welcome{background:#fce6bd}.welcome:after{content:'';width:170px;height:170px;right:28px;top:-12px;background:url('/assets/mestizo-identidad.png') 50.42% 23.53% / 232.222% auto no-repeat;mix-blend-mode:multiply;opacity:.17;pointer-events:none}.welcome>*{position:relative;z-index:1}
.checkout-summary{background:#fff0ce;border-color:#e8cfab}.checkout-total{border-color:#e4cba7}.checkout-total strong,.received-display input,.numpad .btn{color:#512b1d}.checkout-items small,.checkout-service{color:#816044}
.checkout-qty{border-color:#e0b987;color:#934a1d}.checkout-extras{border-color:#e4cba7}.checkout-extras summary{color:#865028}.checkout-footnote{color:#89623d}
.payment-tabs .payment-tab.selected{background:#5a2d1b;border-color:#5a2d1b;color:#fff1cf}.payment-tabs .payment-tab{background:#fff6e5;color:#875e3d;border-color:#ead6b7}
.currency-toggle{background:#f7e7ca;border-color:#e6cda5}.currency-toggle .selected{color:#904418}.received-display{background:#fffaf0;border-color:#dcb98c}.received-display:focus-within{outline-color:#bd5b21}.received-display>span{color:#7d5434}
.numpad .btn{background:#fffdf7;border-color:#e6cfb0;box-shadow:0 2px 0 #e9d7bc66}.numpad .btn:hover{background:#fff0d7;border-color:#cc955e}.numpad .btn:active{background:#f6dbb2}.numpad .key-back{background:#f8ead3;color:#9b623d}
.quick-cash .btn:not(.exact):not(.clear){background:#f9e9cc;color:#86502c;border-color:#ead2aa}.checkout-hint{color:#816049}.checkout-hint:empty{display:none}
.card-illustration{background:linear-gradient(125deg,#5b2d1b,#a94e1a);color:#fff2ce}.card-illustration i{color:#ffd898}.success-order{background:#fff0ce;border-color:#ead2ad}.success-order strong{color:#984715}
.queue-tabs{background:#f5e4c7}.queue-tabs .selected{background:var(--paper);color:#8f431b}.queue-card h2{color:#512b1d}.queue-lines{border-color:#ead8bb}.queue-card-bottom{border-color:#ead8bb}
.config-dialog .choice.selected{background:#fff0d4;border-color:#bb662c;color:#66381e}.config-dialog .choice:hover{background:#fff1dc;border-color:#ce9a62}
.login-visual{background:var(--brand-cream);padding:160px 64px 48px;justify-content:center}
.login-visual .brand{top:46px;left:60px;gap:15px}.login-visual .brand-mark{width:58px;height:58px}.login-visual .brand-wordmark{width:186px;height:53px}
.login-visual h1{font-size:clamp(38px,3.6vw,60px);line-height:1.12;max-width:560px;color:#502a1b}
.login-visual p{color:#845733;max-width:390px;font-size:14px}.login-art{width:260px;height:180px;margin-top:30px;opacity:1;border-radius:120px 120px 20px 20px;box-shadow:0 12px 35px #70431912}
.login-form .eyebrow{font-size:10px;line-height:1.6;letter-spacing:1.6px}.login-form p{color:#80634e}.login-form input:focus{outline-color:#bc5b1b}
.public-nav{background:#fff1ce}.public-nav .brand-mark{width:52px;height:52px}.public-nav .brand-wordmark{width:176px;height:50px}.menu-intro h1{color:#502a1b}.menu-intro p,.menu-footer{color:#806043}
@media(max-width:1200px){.sidebar .brand{gap:6px}.sidebar .brand-mark{width:32px;height:32px}.sidebar .brand-wordmark{width:119px;height:34px}.login-visual{padding:145px 40px 35px}.login-visual .brand{left:40px}}
@media(max-width:900px){.sidebar .brand-wordmark{display:none}.sidebar .brand-mark{display:block;width:42px;height:42px}.sidebar .brand{justify-content:center}.login-art{width:210px;height:150px}.login-visual h1{font-size:38px}}
@media(pointer:coarse) and (min-width:651px) and (max-width:1100px){.sidebar .brand-mark{display:block;width:30px;height:30px}.sidebar .brand-wordmark{display:block;width:98px;height:28px}.sidebar .brand{padding:0;justify-content:center;gap:6px}}
@media(max-width:650px){.login-visual{padding:120px 28px 32px;min-height:300px}.login-visual .brand{top:30px;left:28px;gap:10px}.login-visual .brand-mark{width:43px;height:43px}.login-visual .brand-wordmark{width:145px;height:41px}.login-visual h1{font-size:35px;max-width:350px}.login-form{padding:30px 28px}.login-form h2{font-size:32px}.public-nav{gap:14px;padding:22px 18px}.public-nav .brand{gap:6px}.public-nav .brand-mark{width:34px;height:34px}.public-nav .brand-wordmark{width:115px;height:33px}.public-nav .actions{font-size:10px}.menu-intro h1{font-size:39px}.sidebar .brand{display:none}.eyebrow{letter-spacing:1.4px}}
@media print{.receipt{color:#000;background:#fff}}

/* A common reason is the final tap; inventory remains an explicit choice. */
.cancel-sale-dialog{max-width:760px}.cancel-sale-dialog .modal-header{padding:26px 30px 22px}.cancel-sale-dialog .modal-body{padding:22px 30px 24px}
.cancel-stock{padding:15px 17px;background:#fff2dc;border:1px solid #ead6b8;border-radius:12px}.cancel-stock .check{margin:0;font-size:13px;line-height:1.45;cursor:pointer}.cancel-stock .check input{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:#b94b12}.cancel-stock p{margin:7px 0 0 32px;font-size:12px;color:var(--muted)}
.cancel-point-note{font-size:12px;color:var(--muted);margin:12px 2px 0;line-height:1.5}.cancel-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.cancel-reason{display:flex;align-items:center;gap:12px;min-height:76px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.4;touch-action:manipulation}.cancel-reason>.icon:first-child{color:#a45c2c}.cancel-reason span{flex:1}.cancel-reason>.icon:last-child{width:16px;height:16px;color:#ad866b}.cancel-reason:hover,.cancel-reason:active{background:#fff0d4;border-color:#bd7945}.cancel-reason:focus-visible{outline:3px solid #ae4513;outline-offset:2px}.cancel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.cancel-footer .btn{min-height:48px}.cancel-custom{margin-top:16px;padding:16px;border:1px solid #d8b28b;border-radius:12px;background:#fff8e9}.cancel-custom[hidden]{display:none}.cancel-custom .btn{margin-top:12px}body[data-busy="true"] .cancel-sale-form{pointer-events:none;opacity:.65}
@media(max-width:600px){.cancel-sale-dialog .modal-header{padding:22px 20px 18px}.cancel-sale-dialog .modal-body{padding:18px 20px 20px}.cancel-reasons{grid-template-columns:1fr;gap:8px}.cancel-reason{min-height:60px;padding:12px 14px}.cancel-stock{padding:13px}.cancel-stock p{margin-left:0}}

/* Installed devices keep the same accessible interface and respect screen cutouts. */
.installed-app .install-app-link{display:none!important}
.login-form>.install-app-link{display:block;margin-top:20px;font-size:12px;color:#806043}
.kds-dialog .kds-install{display:block;padding:14px 16px;border:1px solid #e6d9c5;border-radius:12px;margin:12px 0;font-size:13px;color:#512b1d}
@media(display-mode:fullscreen),(display-mode:standalone){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}

/* Comfortable, independent login choices for touch devices. */
.login-options{display:grid;gap:9px;margin:4px 0 12px}.login-form .login-option{display:flex;align-items:center;gap:13px;margin:0;padding:13px 14px;min-height:68px;border:1px solid #e7d9c6;border-radius:12px;background:#fffbf3;cursor:pointer}.login-option:hover{border-color:#c59568;background:#fff5e5}.login-option:focus-within{outline:2px solid #bc5b1b;outline-offset:2px}.login-form .login-option input{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:0;accent-color:#b94b12}.login-option span{min-width:0}.login-option strong{display:block;font-size:13px;font-weight:600;color:#512b1d;line-height:1.4}.login-form .login-option small{display:block;margin:3px 0 0;text-align:left;font-size:11px;line-height:1.5;color:#80634e}
