/* El Brollo — shared visual identity. Keep this after each module stylesheet. */
@font-face{font-family:"Nunito Brollo";font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/nunito-latin-ext-v32.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Brollo";font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/nunito-latin-v32.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Bangers;src:url('/assets/fonts/bangers-latin-ext-v25.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Bangers;src:url('/assets/fonts/bangers-latin-v25.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--brollo-body:"Nunito Brollo",Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif!important;--brollo-display:Bangers,Impact,sans-serif!important;--brollo-ink:#101010;--brollo-paper:#fffdf4;--brollo-yellow:#f1e203;--brollo-cyan:#06eff3;--brollo-pink:#f22e9a;--brollo-radius:10px;--brollo-shadow:3px 3px 0 var(--brollo-ink)}
body,body.club-app,.driver-shell,.driver-main,.driver-login,.driver-topbar{font-family:var(--brollo-body)!important;font-weight:600}
body :is(input,select,textarea,option,optgroup){font-family:var(--brollo-body)!important;letter-spacing:normal;line-height:1.45}
body :is(h1,h2,h3,h4),body .terminal-titlebar h1,body .terminal-layout h2,body .terminal-checkout-dialog .pos-dialog-head h2,body .pos-club h3{font-family:var(--brollo-display)!important;font-weight:400!important;letter-spacing:.025em}
body :is(button,summary,.comic-button,.pos-button,.club-button,.nav-admin,.nav-cta,.reservation-nav-cta){font-family:var(--brollo-display)!important;font-weight:400;letter-spacing:.035em}
/* Information remains easy to scan; comic lettering is for headings and actions. */
body :is(th,td,label,legend,.pos-kicker,.pos-brand small,.club-badge,.inv-state,.terminal-hint,.terminal-product-add>em,.terminal-product-add>small,.terminal-account-meta,.terminal-account-name,.terminal-account-location small,.terminal-payment-shortcuts small,.terminal-titlebar h1 small){font-family:var(--brollo-body);letter-spacing:normal}
body :is(.club-name,.club-metric,.inv-summary>button,.brollo-mail-row,.panel-notice,.terminal-account-list>button,.terminal-product-add,.fp-seat){font-family:var(--brollo-body)!important;letter-spacing:normal;text-transform:none}
body :is(.club-metric b,.panel-area-label strong,.terminal-account-location>strong,.terminal-product-add>strong){font-family:var(--brollo-display);font-weight:400;letter-spacing:.025em}
body :is(.terminal-product-price,.terminal-total strong,.terminal-pay strong,.terminal-account-list>button>strong,.inv-summary strong,.inv-table td>b,.pos-metrics strong,.pos-money,.terminal-line>b,.terminal-keypad button,.terminal-keypad output,.fp-seat,.quantity-control,.cart-line-actions span){font-family:var(--brollo-body)!important;letter-spacing:normal;font-variant-numeric:tabular-nums;font-weight:800}
body.club-app textarea.club-message{font-family:var(--brollo-body)!important;font-weight:500;text-transform:none;letter-spacing:normal}
/* One geometry and ink treatment across operational screens. */
@media screen{
body:has(>.pos-top),body.club-app,.panel-page,.staff-page{background-color:var(--brollo-paper);background-image:radial-gradient(#1010100c .8px,transparent .8px);background-size:18px 18px}
:is(.panel-content,.auth-card,.staff-page,.pos-top,#pos-main,#pos-dialog,#inventory-dialog,.club-app,.driver-app,.driver-login,.delivery-delete-dialog,.el-brollo-order-dialog,.brollo-mail-delete) :is(button,summary,.pos-button,.club-button):not(.fp-seat):not(.terminal-product-add):not(.brollo-mail-row):not(.panel-notice):not(.club-name):not([role=switch]):not([role=checkbox]){border-radius:var(--brollo-radius);border-color:var(--brollo-ink);border-style:solid;border-width:2px;box-shadow:var(--brollo-shadow);font-size:18px;line-height:1.25;white-space:normal;overflow-wrap:break-word;min-height:44px;transition:box-shadow .15s,background-color .15s,transform .15s}
body .panel-sidebar .brollo-admin-nav button{font-family:var(--brollo-display)!important;font-size:20px;font-weight:400;letter-spacing:.035em;border:2px solid #555;border-radius:10px;padding:10px 12px;line-height:1.2;box-shadow:2px 2px 0 #000}
body .panel-sidebar .brollo-admin-nav button.is-active{border-color:var(--brollo-cyan);background:var(--brollo-cyan);color:var(--brollo-ink);box-shadow:3px 3px 0 var(--brollo-pink)}
body .panel-sidebar .brollo-nav-search input{font-family:var(--brollo-body)!important}
body .pos-top nav :is(a,button){font-family:var(--brollo-display)!important;font-size:18px;letter-spacing:.035em;font-weight:400;border:2px solid var(--brollo-ink);border-radius:10px;box-shadow:var(--brollo-shadow);line-height:1.25}
body :is(.pos-top,.club-top){background:var(--brollo-paper);border-bottom:3px solid var(--brollo-ink)}
body :is(.panel-card,.pos-check-card,.pos-management-card,.pos-promotion,.inv-card,.inv-summary>article,.inv-summary>button,.inv-table-panel,.inv-control,.club-panel,.club-metric,.pos-report-grid>section,.pos-metrics>article){border:2px solid var(--brollo-ink);border-radius:12px;box-shadow:4px 4px 0 var(--brollo-ink)}
body .pos-kitchen-card{border-top-width:8px}
body .pos-kitchen-card.is-preparing{border-top-color:var(--brollo-yellow)}
body .pos-kitchen-card.is-ready{border-top-color:#2c9b59}
body .pos-kitchen-card.is-void{border-top-color:var(--brollo-pink)}
body :is(.inv-card.critical,.pos-promotion.is-inactive){border-color:#a72039}
body :is(.panel-content,.pos-form,.club-form,.auth-card,.driver-login-form,.inv-filterbar) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-width:2px;border-color:var(--brollo-ink);border-radius:8px}
body :is(.panel-content,.pos-report-table,.inv-table,.club-table) thead th{background:#fff3a6;color:var(--brollo-ink);font-weight:800}
body :is(.pos-tabs,.inv-tabs,.club-toolbar,.pos-filters) :is(button,a)[aria-current=page],body .club-tabs button[aria-pressed=true]{background:var(--brollo-yellow);color:var(--brollo-ink);box-shadow:3px 3px 0 var(--brollo-pink)}
body dialog{margin:auto;border:3px solid var(--brollo-ink);border-radius:14px;box-shadow:6px 6px 0 var(--brollo-ink);color:var(--brollo-ink);background:var(--brollo-paper);max-height:calc(100dvh - 32px)}
body dialog::backdrop{background:#10101099;backdrop-filter:blur(2px)}
body :is(.pos-dialog-head,.club-dialog-head){border-bottom:2px solid var(--brollo-ink);padding-bottom:16px}
body .club-dialog{padding:24px}
body :is(.pos-dialog-head,.club-dialog-head) h2{font-size:clamp(25px,3vw,34px);line-height:1.12}
body :is(.pos-dialog-head,.club-dialog-head) button{min-width:44px;flex-shrink:0}
/* The touch register uses the same comic surfaces without changing its workflow. */
body.pos-terminal{background-color:var(--brollo-paper)}
body .terminal-titlebar h1{font-size:28px;line-height:1.1}
body .terminal-layout h2{font-size:23px;line-height:1.15}
body .terminal-layout>:is(aside,.terminal-menu){border:2px solid var(--brollo-ink);border-radius:12px;box-shadow:3px 3px 0 var(--brollo-ink)}
body .terminal-ticket>header{background:#fff3a6;border-bottom:2px solid var(--brollo-ink)}
body .terminal-product{border:2px solid var(--brollo-ink);box-shadow:2px 2px 0 var(--brollo-ink);border-radius:10px}
body .terminal-product-add{border:0;border-radius:0;box-shadow:none;font-size:14px;line-height:1.35}
body .terminal-product-add>strong{font-size:20px;line-height:1.15}
body .terminal-product-art{color:var(--brollo-ink)}
body .terminal-product>footer button{font-size:16px;box-shadow:none;border:0;border-radius:0}
body .terminal-account-list>button{font-size:14px;text-align:left;line-height:1.35;box-shadow:2px 2px 0 #101010;border:2px solid #101010}
body .terminal-account-list>button[aria-pressed=true]{background:#fff3a6;border-color:#101010;box-shadow:3px 3px 0 var(--brollo-pink)}
body .terminal-account-location>strong{font-size:20px}
body .terminal-payment-shortcuts button{font-size:17px}
body .terminal-payment-shortcuts small{font-size:11px}
body .terminal-pay{font-size:24px!important}
body .terminal-payment-main .pos-pay-total{background:#101010;border:2px solid #101010;box-shadow:3px 3px 0 var(--brollo-cyan)}
body .terminal-keypad>div button{font-size:24px;box-shadow:2px 2px 0 var(--brollo-ink)}
body .terminal-keypad output{background:white;border:2px solid #101010}
body .terminal-checkout-dialog :is(.pos-payer,.pos-tip-picker,.pos-payment){border:2px solid var(--brollo-ink);border-radius:10px}
body .terminal-checkout-dialog .pos-tender-choices button[aria-pressed=true]{border-color:#101010;box-shadow:3px 3px 0 var(--brollo-pink);background:var(--brollo-cyan)}
body .terminal-checkout-dialog .pos-tender-choices button[data-tender=Binance][aria-pressed=true]{background:var(--brollo-yellow)}
/* Numeric map overlays keep the exact positions, states and artwork. */
body .fp-seat{font-family:var(--brollo-body)!important;letter-spacing:0}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #00777e;outline-offset:4px}
@media(hover:hover){
:is(.panel-content,.auth-card,.pos-top,#pos-main,#pos-dialog,#inventory-dialog,.club-app,.driver-app) :is(button,.pos-button,.club-button):not(:disabled):not(.fp-seat):not(.terminal-product-add):not(.brollo-mail-row):not(.club-name):not([role=switch]):not([role=checkbox]):hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--brollo-ink)}
}
@media(max-width:760px){
body .pos-top nav :is(a,button){font-size:17px}
body.pos-terminal .terminal-header-tools{flex-shrink:1;min-width:0}
body.pos-terminal .terminal-header-tools>button{font-size:16px;padding:8px;min-width:0}
body.pos-terminal .terminal-header-tools>button .terminal-icon{flex:0 0 18px;width:18px;height:18px}
body .panel-content :is(.panel-section-heading,.panel-card-heading){align-items:flex-start;gap:14px}
body .terminal-titlebar h1{font-size:26px}
body .terminal-layout h2{font-size:22px}
body .club-dialog{padding:18px}
body :is(.pos-heading,.inv-heading,.terminal-titlebar){gap:12px;flex-wrap:wrap}
body .terminal-title-actions{flex-wrap:wrap}
body .inv-heading>.pos-actions button{font-size:17px}
}
@media(prefers-reduced-motion:reduce){body :is(button,.pos-button,.club-button){transition:none!important}}
}
@media print{body{background:white!important;color:#000}body :is(.panel-card,.pos-check-card,.club-panel,dialog){box-shadow:none!important;background:white!important}body :is(button,.pos-button,.club-button){box-shadow:none!important;transform:none!important}}
