/* Same Brollo typeface, hosted locally so every screen can load it reliably. */
@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:'Arial Rounded MT Bold','Helvetica Neue',Arial,sans-serif;--brollo-display:Bangers,Impact,sans-serif;--ink:#070707;--paper:#fffdf4;--yellow:#f1e203;--pink:#f22e9a;--cyan:#06eff3;--delivery-ink:var(--ink);--delivery-paper:var(--paper);--delivery-yellow:var(--yellow);--delivery-pink:var(--pink);--delivery-cyan:var(--cyan)}
body{font-family:var(--brollo-body)}
:where(button,input,select,textarea){font-family:inherit}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 6px var(--cyan)}
:where(button,a,input,select,textarea){touch-action:manipulation}
:where(section,[id]){scroll-margin-top:100px}
.panel-page{background:var(--paper);grid-template-columns:240px minmax(0,1fr)}
.panel-content{width:100%;max-width:1440px;min-width:0;padding:clamp(20px,2.6vw,40px);overflow:visible;container-type:inline-size;container-name:brollo-panel}
.panel-content :where(article,section,form,label,header,footer,fieldset){min-width:0}
.panel-page :where(button,input,select,textarea),#el-brollo-delivery-control :where(button,input,select,textarea),.driver-main :where(button,input,select,textarea){font-family:var(--brollo-body);font-size:1rem;line-height:1.35}
.panel-page :where(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;min-width:0;min-height:44px}
.panel-page :where(button),.driver-main :where(button,a),.site-header a{min-height:44px}
.panel-content :where(h1,h2,h3,h4),.delivery-delete-dialog h2{font-family:var(--brollo-display)!important;font-weight:400!important;line-height:1.1!important;letter-spacing:.025em;overflow-wrap:break-word!important}
.panel-content h1{font-size:clamp(2.7rem,4.4vw,4.4rem)}
.panel-content h2{font-size:clamp(1.9rem,2.6vw,2.7rem)}
.panel-content h3{font-size:clamp(1.5rem,2vw,2rem)}
.panel-content p{line-height:1.5}
.panel-content :where(button,summary){font-weight:700}
.panel-content :where(.panel-card,.delivery-editor,.delivery-pending-card,.delivery-job-card,.delivery-driver-card,.delivery-platform-card){border-color:var(--ink);border-radius:12px;box-shadow:5px 5px 0 var(--ink)}
.panel-content :where(.panel-section-heading,.panel-card-heading){gap:16px;flex-wrap:wrap}
.panel-content .staff-tab-list{width:100%;max-width:100%;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.panel-content .staff-tab-list button{white-space:normal;min-width:0;min-height:48px}
.panel-content .staff-tab-content{min-width:0;width:100%}
.panel-sidebar{height:100vh;height:100dvh;padding:18px 12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--cyan) var(--ink)}
.panel-sidebar nav{gap:4px;flex-shrink:0}
.panel-sidebar nav button{font-family:var(--brollo-body);font-size:14px;min-height:44px;padding:10px 12px;line-height:1.3}
.panel-sidebar :where(.panel-logo,.panel-user-card){flex-shrink:0}
.panel-sidebar nav button.is-active{background:var(--cyan);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--pink)}
.brollo-menu-backdrop{position:fixed;inset:72px 0 0;z-index:29;background:#07070799;border:0;width:100%;padding:0}
.brollo-menu-backdrop[hidden]{display:none}
.brollo-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.brollo-table-scroll table{min-width:620px;width:100%}
.brollo-table-scroll:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
/* All delivery layouts fit the available content, not the whole browser window. */
.delivery-hero{grid-template-columns:110px minmax(0,1fr);border-radius:12px;padding:24px;gap:16px;box-shadow:6px 6px 0 var(--ink)}
.delivery-hero h1{font-size:clamp(2.7rem,4.6vw,4.8rem)}
.delivery-hero>button{grid-column:2;justify-self:start}
.delivery-hero-mark{width:100%;grid-row:1/3;transform:rotate(-3deg)}
.delivery-hero p,.delivery-hero>div>span{font-size:14px;line-height:1.5}
.delivery-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.delivery-metrics article{border-radius:12px;padding:16px;box-shadow:4px 4px 0 var(--ink)}
.delivery-metrics strong{font-family:var(--brollo-display);font-weight:400;font-size:2.8rem;line-height:1.1}
.delivery-metrics :where(small,span){font-family:var(--brollo-body);font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.delivery-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border-radius:10px}
.delivery-tabs button{padding:12px 8px;min-width:0;border:2px solid transparent;font-weight:700}
.delivery-tabs button.is-active{border-color:var(--ink);box-shadow:3px 3px 0 var(--pink)}
.delivery-section-heading{align-items:center}
.delivery-section-heading p{font-size:14px}
.delivery-job-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.delivery-job-facts :where(b,small),.delivery-job-card>header>div{overflow-wrap:anywhere}
.delivery-job-facts b{font-variant-numeric:tabular-nums;font-size:1rem}
.delivery-split,.delivery-zone-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.delivery-settings-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
.delivery-guardrails{grid-column:1/-1}
.delivery-editor{position:static}
.delivery-zone-card:nth-child(n){transform:none;grid-template-columns:48px minmax(0,1fr);gap:12px;border-radius:12px}
.delivery-zone-number{width:44px;height:44px;font-family:var(--brollo-display)}
.delivery-zone-range{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.delivery-zone-range>strong{font-size:2.8rem;line-height:1.1;font-weight:400}
.delivery-zone-range>strong small{font:700 13px var(--brollo-body)}
.delivery-fee-poster .delivery-fee-value b{font-weight:400;font-size:clamp(3rem,5vw,4.4rem);line-height:1.1;white-space:nowrap;overflow-wrap:normal}
.delivery-fee-poster{min-width:0;transform:none}
.delivery-owner-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:14px;margin-top:14px;border-top:2px dashed var(--ink)}
.delivery-owner-actions button{border:2px solid var(--ink);border-radius:6px;background:#fff;color:#9e1831;padding:10px 14px;font-weight:700}
.delivery-owner-actions small{font-size:12px;color:#555}
.delivery-editor[data-dirty],form[data-delivery-form][data-dirty]{outline:3px dashed #755900;outline-offset:4px}
form[data-delivery-form][data-dirty]::after{content:'Cambios sin guardar · actualización automática en pausa';grid-column:1/-1;font:700 13px/1.4 var(--brollo-body);color:#584000;padding:8px;background:#fff9cd}
.delivery-delete-dialog{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:4px solid var(--ink);border-radius:14px;padding:24px;background:var(--paper);color:var(--ink);box-shadow:8px 8px 0 var(--ink);font-family:var(--brollo-body)}
.delivery-delete-dialog::backdrop{background:#070707b3;backdrop-filter:blur(3px)}
.delivery-delete-kicker{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}
.delivery-delete-dialog h2{font-size:2.6rem;margin:12px 0 20px}
.delivery-delete-ticket{display:grid;gap:6px;padding:16px;border:3px solid var(--ink);background:var(--yellow);box-shadow:4px 4px 0 var(--ink);overflow-wrap:anywhere}
.delivery-delete-dialog p{font-size:14px;line-height:1.55}
.delivery-delete-dialog label{display:grid;gap:8px;font-size:14px}
.delivery-delete-dialog input{box-sizing:border-box;min-width:0;width:100%;font:16px var(--brollo-body);padding:12px;border:2px solid var(--ink);border-radius:6px}
.delivery-delete-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.delivery-delete-actions button{flex:1 1 160px;min-height:48px;border:3px solid var(--ink);border-radius:6px;padding:10px;font:700 14px var(--brollo-body);background:var(--cyan);color:var(--ink);cursor:pointer}
.delivery-delete-actions button[type=submit]{background:var(--pink)}
.delivery-delete-actions button:disabled{opacity:.45;cursor:not-allowed}
[data-delete-error]{color:#9e1831;font-weight:700}
/* Repartidor: retain the original motorcycle art, bring text back into the brand. */
.driver-main,.driver-login,.driver-topbar{font-family:var(--brollo-body)}
.driver-main :where(h1,h2,h3){font-family:var(--brollo-display);font-weight:400;line-height:1.08}
.driver-main :where(input,select,button){font-family:var(--brollo-body);font-size:16px}
.driver-main :where(small,.driver-job-ref,.driver-status,.driver-address span,.driver-order-details span){font-size:13px;line-height:1.4}
/* Tablet navigation needs room for the existing driver shortcut as well. */
@media(min-width:681px) and (max-width:1250px){
 .site-header .nav-wrap{grid-template-columns:110px minmax(0,1fr);gap:16px}
 .site-header .nav-links{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:8px 26px;padding:0 0 6px;font-size:13px}
 .site-header .nav-actions{grid-column:2;grid-row:1;gap:8px;min-width:0}
 .site-header .nav-mobile-reservation{display:inline-flex}
 .site-header .nav-logo img{width:100px}
 .site-header .nav-admin,.site-header .nav-cta,.site-header .nav-mobile-reservation{padding-inline:12px}
 :where(section,[id]){scroll-margin-top:150px}
}
.order-form :where(input,textarea,select),.owner-hotline-form :where(input,textarea,select){font-size:16px}
.floating-order[hidden]{display:none!important}
@media(max-width:600px){
 .contact-section{grid-template-columns:minmax(0,1fr)}
 .contact-content{min-width:0}
 .contact-content h2{font-size:clamp(2.6rem,11vw,4rem);overflow-wrap:break-word}
 .contact-burst{font-size:6.5rem;width:max-content;min-width:0;max-width:calc(100% - 32px);margin:40px 0 12px;transform:rotate(-5deg)}
}
@container brollo-panel (max-width:1000px){
 .panel-dashboard-grid,.editor-layout,.staff-action-grid,.sales-entry-grid,.costing-entry-grid,.costing-recipe-grid,.menu-builder-grid,.schedule-layout{grid-template-columns:minmax(0,1fr)}
 .delivery-split,.delivery-zone-workspace{grid-template-columns:minmax(0,1fr)}
 .delivery-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .panel-metric-grid,.delivery-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1199px){
 .panel-page{display:block}
 .panel-mobile-header{display:flex;position:sticky;top:0;z-index:40;box-sizing:border-box;height:72px;min-height:72px;align-items:center;justify-content:space-between;padding:7px 16px;border-bottom:4px solid var(--ink);background:var(--yellow)}
 .panel-mobile-header img{width:78px;height:auto}
 .panel-mobile-header button{width:48px;height:46px;border:3px solid var(--ink);border-radius:7px;background:var(--cyan);color:var(--ink);font-size:22px}
 .panel-sidebar{position:fixed;top:72px;left:0;z-index:30;box-sizing:border-box;width:min(320px,88vw);height:calc(100vh - 72px);height:calc(100dvh - 72px);transform:translateX(-110%);transition:transform .18s}
 .panel-sidebar.is-open{transform:translateX(0)}
 .panel-content{padding:24px 24px 40px}
 .delivery-hero{scroll-margin-top:96px}
}
@media(min-width:1200px){.brollo-menu-backdrop{display:none}}
@media(max-width:700px){
 .panel-content{padding:20px 16px 36px}
 .panel-content h1{font-size:2.8rem}
 .delivery-hero{grid-template-columns:70px minmax(0,1fr);padding:16px;text-align:left}
 .delivery-hero h1{font-size:2.5rem}
 .delivery-hero-mark{grid-row:1;align-self:start}
 .delivery-hero>button{grid-column:1/-1;justify-self:stretch}
 .delivery-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .delivery-settings-layout,.delivery-platform-grid{grid-template-columns:minmax(0,1fr)}
 .delivery-metrics{gap:12px}
 .delivery-metrics article{padding:12px}
 .delivery-job-card>header,.delivery-pending-card>header{flex-wrap:wrap;gap:12px}
 .delivery-fee-poster .delivery-fee-value b{font-size:3.5rem}
 .costing-summary-strip{grid-template-columns:auto minmax(0,1fr)}
}
@media (hover:none) and (pointer:coarse){.panel-content :where(button,summary){min-height:44px}.panel-content input[type=checkbox]{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.panel-sidebar{transition:none}}
