/* MrBistrio Brand Board v4.0 — owner-selected identity. Supplied v5.0 vector masters are used unchanged. */
@font-face{font-family:Manrope;src:url('/brand-assets/fonts/manrope-variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Figtree;src:url('/brand-assets/fonts/figtree-variable.ttf') format('truetype');font-weight:300 900;font-style:normal;font-display:swap}
:root{--ink:#101A4B;--paper:#F6F7FB;--action:#2F5BFF;--brand-accent:#FF5E7D;--accent:#101A4B;--muted:#5B6080;--line:#DADDE8;--white:#FFFFFF;--soft:#F6F7FB;--lavender:#C9C2FF;font-family:Figtree,system-ui,'Segoe UI',sans-serif;font-size:16px;color:var(--ink);background:var(--paper);font-synthesis:none}
body{color:var(--ink);background:var(--paper);line-height:1.5}body.visitor-page{background:var(--white)}
h1,h2,h3,legend{font-family:Manrope,'Segoe UI',system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
h1{font-size:clamp(31px,4vw,49px);line-height:1.1}h2{font-size:31px;line-height:1.15}h3{font-size:25px;line-height:1.15}p{line-height:1.6}p,li{max-width:68ch}
button,input,select,textarea{font-family:inherit;font-size:16px;border-radius:10px}input,select,textarea{color:var(--ink);background:white;border-color:var(--muted)}
button{background:var(--action);border-color:var(--action);color:white;font-weight:600;min-height:44px}button.secondary{background:white;border-color:var(--action);color:var(--action)}button:disabled{background:#E5E7EF;border-color:#C4C7D5;color:var(--muted);opacity:1;cursor:not-allowed}
a{color:var(--action);text-underline-offset:4px}:focus-visible,input:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--action);outline-offset:4px}
header{background:white;align-items:center;flex-wrap:wrap;border-color:var(--line)}.brand{display:inline-flex;align-items:center;text-decoration:none;font:inherit}.brand-logo{display:block;width:280px;max-width:100%;height:auto;object-fit:contain;background:white}.menu-signature{display:flex;align-items:center;gap:10px;width:168px;max-width:100%;background:white}.menu-signature img{display:block;height:auto;flex:none}.menu-signature .signature-bow{width:40px}.menu-signature .signature-wordmark{width:118px}.menu-label,#pilot-menu-label{font-size:12px;letter-spacing:.1em;font-weight:600;color:var(--muted)}
.demo-badge{font-size:12px;letter-spacing:.04em;background:var(--paper);color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.1em;color:var(--muted)}.panel,.notice,.management-notice{background:white;border:1px solid var(--line);border-radius:16px}.management-notice{border-left:4px solid var(--brand-accent)}.notice{color:var(--muted)}
.dish{background:white;border-color:var(--line);border-radius:12px}.dish h2{font-size:20px;font-weight:700}.dish p{font-size:16px;color:var(--muted)}.dish .price,.price{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.dish .allergens,.allergens,.allergen-note{font-size:14px;line-height:1.5;color:var(--muted)}.allergens::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand-accent);margin-right:6px;vertical-align:middle}.unavailable,.translation-notice{font-size:14px;color:var(--ink)}.hero-art{background:var(--paper)}
#categories button{color:var(--action);border-color:var(--line);background:white}#categories button[aria-pressed=true]{background:var(--action);border-color:var(--action);color:white}label,.label{font-size:14px}#status{color:var(--ink)}footer{background:white;color:var(--muted);border-color:var(--line)}footer strong{font-family:Manrope,sans-serif}.visitor-page .hero{padding-top:32px}.visitor-page .hero-art{display:none}
/* Pilot uses the same identity and controls as the primary demonstration. */
body:has(#pilot-brand) header{max-width:1100px;margin:auto;padding:24px 30px;display:flex;justify-content:space-between;gap:20px}body:has(#pilot-brand) main{max-width:960px;padding:24px 30px}body:has(#pilot-brand) footer{max-width:960px;margin:auto;padding:24px 30px}body:has(#pilot-brand) fieldset{background:white;border-color:var(--line);border-radius:16px;padding:24px}body:has(#pilot-brand) legend{font-size:20px;padding:0 8px}body:has(#pilot-brand) #fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}body:has(#pilot-brand) #fields label{font-size:14px}body:has(#pilot-brand) #fields input,body:has(#pilot-brand) #fields textarea{width:100%}body:has(#pilot-brand) #fields input[type=checkbox]{width:24px}body:has(#pilot-brand) #fields p{font-size:14px;color:var(--muted)}body:has(#pilot-brand) dialog{background:white;color:var(--ink);border-color:var(--line);border-radius:16px;padding:24px}body:has(#pilot-brand) .dish{padding:24px;border:1px solid var(--line);margin-bottom:16px}body:has(#pilot-brand) nav a{padding:8px 0;min-height:44px}#pilot-tagline{font-size:14px;color:var(--muted);max-width:270px}body:has(#pilot-brand).visitor-page header{padding:20px 30px}
@media(max-width:650px){header{gap:16px}.brand-logo{width:260px;max-width:100%}.demo-badge{max-width:100%;font-size:12px}h1{font-size:31px}h2{font-size:25px}body:has(#pilot-brand) #fields{grid-template-columns:1fr;gap:4px}body:has(#pilot-brand) header,body:has(#pilot-brand) main,body:has(#pilot-brand) footer{padding:20px}body:has(#pilot-brand) fieldset{padding:16px}.dish .price{font-size:20px}.dish .allergens{font-size:14px}.brand-logo{flex-shrink:0}#pilot-tagline{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep legacy technical screens within the same neutral/focus system. */
details{border-color:var(--line)}
:is(#draft-error,#menu,#backup-preview,#storage-source-preview,#management-preview,#lab-status,#lab-error,#tx-status,#tx-error,#tx-import-preview,#tx-source-preview):focus{outline-color:var(--action)}
