/* RestoAdmin hospitality design system. Shared by operational modules. */
:root, body {
 --font-ui:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--text:var(--txt-main);--muted:var(--txt-dim);--surface:var(--bg-surface);--border:var(--border-dim);
 --bg-canvas:#f6f6f0;--bg-surface:#fffef9;--bg-highlight:#e9efea;
 --border-dim:#dce4df;--border-light:#c4d3cc;--accent:#20594f;--accent-glow:#20594f12;
 --txt-main:#102d29;--txt-dim:#59766e;--txt-dark:#4e6962;--danger:#a84631;--success:#367953;
 --font-display:'Manrope',sans-serif;--font-data:'Manrope',sans-serif;
 --dock-gold:#20594f;--dock-gold-deep:#20594f;--dock-label:#20594f;--dock-idle:#617a73;
 --dock-glass-hi:#f6f6f0;--dock-glass-lo:#f6f6f0;
 color-scheme:light;
}
body[data-hospitality-theme="dark"] {
 --bg-canvas:#091b17;--bg-surface:#102720;--bg-highlight:#19382f;
 --border-dim:#2c4940;--border-light:#416458;--accent:#a0d5b5;--accent-glow:#a0d5b512;
 --txt-main:#f0f5ef;--txt-dim:#a8c3b7;--txt-dark:#a8c3b7;--danger:#f4ad91;--success:#a0d5b5;
 --dock-gold:#a0d5b5;--dock-gold-deep:#a0d5b5;--dock-label:#a0d5b5;--dock-idle:#a8c3b7;
 --dock-glass-hi:#091b17;--dock-glass-lo:#091b17;color-scheme:dark;
}
html body,body #app-shell,body #viewport {background:var(--bg-canvas)!important;color:var(--txt-main);background-image:none!important;}
body #top-bar,body #bottom-dock,body #bottom-nav {background:var(--bg-canvas)!important;background-image:none!important;box-shadow:none!important;border-color:var(--border-dim)!important;}
body .ra-ambient,body .rh-perf,body .ra-workflow {display:none!important;}
body :is(h1,h2,h3,.pantry-hero-title,.rh-h1) {font-family:var(--font-ui)!important;letter-spacing:-.045em;font-weight:800;}
body :is(input,select,textarea) {background:var(--bg-surface)!important;color:var(--txt-main)!important;border-color:var(--border-light)!important;border-radius:12px;}
body :is(.tech-card,.rh-card,.rh-kpi,.ra-commercial-card,.gestion-tile,dialog) {background:var(--bg-surface)!important;color:var(--txt-main)!important;border-color:var(--border-dim)!important;box-shadow:none!important;border-radius:14px;}
body .rh {--rh-bg:var(--bg-surface);--rh-card:var(--bg-surface);--rh-dim:var(--txt-dim);--rh-ink:var(--txt-main);--rh-gold:var(--accent);--rh-line:var(--border-dim);}
body :is(.rh-hero,.pantry-hero,.ra-hero) {background:transparent!important;color:var(--txt-main)!important;border:0!important;box-shadow:none!important;}
body .rh-h1 {font-size:clamp(28px,4vw,40px)!important;}
body :is(.btn-primary,.btn-arch.primary,.ra-actions button:first-child) {background:var(--accent)!important;color:var(--bg-canvas)!important;border-color:var(--accent)!important;}
body .gestion-grid {display:flex!important;flex-direction:column!important;gap:0!important;}
body .gestion-tile {border:0!important;border-bottom:1px solid var(--border-dim)!important;border-radius:0!important;padding:18px 2px!important;}
body .gestion-tile-ic {background:transparent!important;color:var(--accent)!important;}
body .gestion-tile-s {color:var(--txt-dim)!important;}
body .gestion-tile [data-status-label] {color:var(--txt-dim)!important;font-size:11px!important;font-weight:500!important;}
body [data-management-group] {border:0!important;background:transparent!important;padding:10px 0!important;}
body [data-management-group]>.gestion-grid {margin-top:12px;}
body [data-management-group]>div:first-child {text-transform:uppercase;letter-spacing:.08em;font-size:12px;}
body .rh-kpis {gap:14px;}
body .rh-kpi:first-child {background:#1e554b!important;color:#fff!important;}
body .rh-kpi:first-child :is(.rh-kl,.rh-kv,.rh-krow) {color:#fff!important;}
body .rh-kv {font-family:var(--font-ui)!important;letter-spacing:-.05em;font-variant-numeric:tabular-nums;}
body .rh-kpi:first-child .rh-kbar i {background:#a1d8b6!important;}
body .rh-sec {color:var(--txt-main)!important;font-size:17px!important;text-transform:none!important;letter-spacing:-.025em!important;}
body .ra-demo-banner {background:var(--bg-highlight)!important;color:var(--txt-main)!important;border:1px solid var(--border-dim);border-radius:12px;padding:12px!important;}
body .ra-demo-banner button,.ra-trial-cta {background:var(--accent)!important;color:var(--bg-canvas)!important;border:0;border-radius:10px;padding:12px 16px;font-weight:700;}
.ra-service-tabs {display:flex;gap:4px;background:var(--bg-highlight);border-radius:24px;padding:4px;margin:8px 0 20px;}
.ra-service-tabs button {flex:1;background:transparent;color:var(--txt-dim);border:0;border-radius:20px;padding:11px 8px;min-height:44px;font:inherit;}
.ra-service-tabs button[aria-current] {background:var(--accent);color:var(--bg-canvas);}
.ra-appearance {border:1px solid var(--border-dim);background:var(--bg-surface);color:var(--txt-main);border-radius:50%;width:40px;height:40px;font-size:19px;}
.ra-management-search {display:block;width:100%;margin:0 0 22px;padding:14px 18px;}
body #auth-screen {display:flex!important;align-items:stretch!important;justify-content:flex-start!important;background:var(--bg-canvas)!important;color:var(--txt-main)!important;padding:24px!important;overflow:auto!important;}
body #auth-screen:before,body #auth-screen:after {display:none!important;}
body #auth-screen>* {width:100%;max-width:520px;margin-left:auto!important;margin-right:auto!important;}
body #auth-screen .auth-logo {width:52px!important;margin-bottom:8px!important;border-radius:0!important;}
body #auth-screen .auth-seal-line {color:var(--txt-dim)!important;letter-spacing:.12em;}
body #auth-screen .auth-intro-title {text-align:left!important;font-size:clamp(34px,6vw,52px)!important;line-height:1.12!important;color:var(--txt-main)!important;margin:24px auto 16px!important;}
body #auth-screen .auth-intro-copy {text-align:left!important;color:var(--txt-dim)!important;line-height:1.65;font-size:17px;}
body #auth-screen .auth-btn--demo {background:var(--accent)!important;color:var(--bg-canvas)!important;min-height:52px;}
body #auth-screen .auth-btn--google {background:#fff!important;color:#172b25!important;}
body #auth-screen .auth-btn--apple {background:#111!important;color:#fff!important;}
body #auth-screen #auth-device {color:var(--txt-main)!important;border-color:var(--border-light)!important;}
body #auth-screen .auth-footer a {color:var(--txt-dim)!important;}
.ra-first-photo {height:240px;object-fit:cover;border-radius:12px;margin-top:16px;}
.ra-trial-copy {text-align:center;color:var(--txt-dim);line-height:1.6;font-size:13px;margin:14px 0;}
.ra-trial-copy strong {color:var(--txt-main);display:block;font-size:18px;}
@media(max-width:600px) {body #viewport {padding-left:20px!important;padding-right:20px!important;}body .rh-kpis {grid-template-columns:repeat(2,minmax(0,1fr))!important;}body .rh-kpi:first-child {grid-column:1/-1;min-height:170px;}body .rh-kpi:first-child .rh-kv {font-size:44px!important;}body .rh-kbar{height:46px!important;}}
@media(prefers-reduced-motion:reduce){body *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}}
/* Override the previous workspace's ID-scoped materials, including iOS. */
#app-shell #top-bar,#app-shell #bottom-dock,#app-shell #bottom-nav {background:var(--bg-canvas)!important;border-radius:0!important;border-color:var(--border-dim)!important;box-shadow:none!important;backdrop-filter:none!important;}
#app-shell #top-bar::before,#app-shell #top-bar::after,#app-shell #bottom-dock::before,#app-shell #bottom-dock::after,body::before,body::after {display:none!important;}
#app-shell #header-title {color:var(--txt-main)!important;font-family:var(--font-ui)!important;}
#viewport .rh {padding:8px 0 40px!important;}
#viewport .rh-hero {background:transparent!important;border:0!important;box-shadow:none!important;padding:12px 0!important;border-radius:0!important;}
#viewport .rh-biz {font-size:15px!important;letter-spacing:.08em;text-transform:uppercase;font-weight:600!important;}
#viewport .rh-eye {display:none;}
#viewport .ra-day-title {font-size:34px;line-height:1.18;margin:24px 0 8px;}
#viewport .rh-hpills {display:none;}
#viewport .rh-kpi:first-child {background:#1e554b!important;border:0!important;color:#fff!important;}
#viewport .rh-kpi:first-child :is(.rh-kl,.rh-kv,.rh-krow,.rh-d) {color:#f3fff7!important;}
#viewport .rh-kpi:first-child .rh-kl {font-size:16px;text-transform:none;letter-spacing:0;}
#viewport .rh-kpi:first-child .rh-kbar i {background:#a1d8b6!important;}
#viewport .rh-kpi:first-child .rh-kbar {display:flex!important;}
#viewport .rh-kpi:first-child .ra-sales-line {width:100%;height:64px;color:#a1d8b6;display:block;margin-top:14px;}
#viewport .rh :is(.rh-tile,.rh-card,.rh-st-row) {color:var(--txt-main)!important;background:var(--bg-surface)!important;border-color:var(--border-dim)!important;}
#viewport .rh :is(.rh-tile,.rh-tile .ric) {box-shadow:none!important;}
#viewport .rh-sec::before {display:none!important;}
#viewport .ra-report-details {margin:20px 0;color:var(--txt-dim);font-size:13px;}
#viewport .ra-report-details summary {cursor:pointer;padding:12px 0;}
#app-shell .gestion-grid [hidden] {display:none!important;}
#viewport .ra-service-numbers {display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;gap:12px;}
.ra-service-numbers>div+div {border-left:1px solid var(--border-light);padding-left:12px;}
.ra-service-numbers strong {display:block;font-size:30px;letter-spacing:-.04em;}
.ra-service-numbers span {display:block;font-size:12px;color:var(--txt-dim);margin-top:5px;}
#viewport .ra-new-order,#viewport .ra-view-tables {display:block;width:100%;min-height:48px;border-radius:10px;border:0;font:600 15px var(--font-ui);margin:10px 0;}
#viewport .ra-new-order {background:var(--accent);color:var(--bg-canvas);}
#viewport .ra-view-tables {background:transparent;color:var(--accent);}
#viewport .ra-secondary-kpis {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
#viewport .ra-secondary-kpis .rh-kpi {background:var(--bg-surface)!important;color:var(--txt-main)!important;min-width:0;}
#viewport .ra-secondary-kpis .rh-kpi :is(.rh-kl,.rh-kv,.rh-krow,.rh-d) {color:var(--txt-main)!important;}
#viewport .ra-secondary-kpis .rh-kv {font-size:20px!important;}
#viewport .rh-kpis + p {font-size:11px;line-height:1.5;}
#auth-screen :is(.auth-intro-title,.auth-seal-line,.auth-intro-copy,.auth-btn,.ra-trial-copy) {text-shadow:none!important;filter:none!important;}
#auth-screen .auth-seal-line {display:none;}
#auth-screen .ra-wordmark {display:flex;align-items:center;gap:10px;font:600 20px var(--font-ui);}
#auth-screen .ra-monogram {font-size:32px;color:var(--accent);}
#auth-screen #auth-enter {margin-left:auto;background:transparent;color:var(--accent);border:0;padding:12px;font:inherit;font-size:14px;}
#auth-screen:not(.ra-signup-open) :is(.auth-btn--google,.auth-btn--apple,.auth-signup-hint) {display:none!important;}
#auth-screen .auth-signup-hint {margin:6px 0 2px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--txt-main);font-size:14px;line-height:1.5;text-align:center;}
#auth-screen .auth-signup-hint strong {color:var(--accent);}
#auth-screen .auth-signup-hint.is-pulsing {animation:ra-signup-pulse 1.4s ease-out 2;}
@keyframes ra-signup-pulse {0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent);}100%{box-shadow:0 0 0 14px transparent;}}
#auth-screen .auth-intro-title {font-weight:800!important;text-shadow:none!important;}
#auth-screen .auth-buttons {margin-top:18px;}
#auth-screen .auth-btn--demo {background:transparent!important;color:var(--accent)!important;border:1px solid var(--accent)!important;}
#viewport .ra-sales-line + small {font-size:11px;}
body {font-family:var(--font-ui)!important;text-shadow:none!important;}
body #auth-screen .ra-first-photo {flex:0 0 240px;min-height:240px;display:block;}
body #auth-screen .auth-btn--demo {background:transparent!important;color:var(--accent)!important;border:1px solid var(--accent)!important;}
#auth-screen .ra-wordmark {flex-shrink:0;}
#auth-screen .auth-buttons {flex-shrink:0;}
#viewport .rh-kpis {grid-template-columns:1fr!important;}
#viewport :is(.biz-modal-card,.modal-card,.pantry-card,.recipe-card,.biz-tabs,.biz-nav) {background:var(--bg-surface);color:var(--txt-main);border-color:var(--border-dim);box-shadow:none;}
#viewport .btn-arch:not(.primary) {background:var(--bg-highlight);color:var(--txt-main);border-color:var(--border-dim);box-shadow:none;}
:is(button,a,input,select,textarea,summary):focus-visible {outline:3px solid var(--accent);outline-offset:3px;}
#viewport [data-management-group],#viewport .gestion-tile {background:transparent!important;background-image:none!important;border-radius:0!important;}
#viewport [data-management-group] {border:0!important;padding:16px 0!important;}
#viewport .gestion-tile {border:0!important;border-bottom:1px solid var(--border-dim)!important;padding:16px 0!important;}
#viewport .gestion-tile-ic {border:0;background:transparent;border-radius:0;width:36px;height:36px;}
#viewport .gestion-tile-t {font:600 16px var(--font-ui);}
#viewport .gestion-tile-go {font-size:20px;}
#viewport .business-hero-img {background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;border-radius:0!important;}
#viewport .business-hero-img>img,#viewport .business-hero-img::before,#viewport .business-hero-img::after {display:none!important;}
#viewport .business-hero-img-content {position:static!important;background:transparent!important;padding:12px 0 20px!important;}
#viewport .business-hero-img-title {color:var(--txt-main)!important;font:800 32px/1.2 var(--font-ui)!important;text-shadow:none!important;text-transform:none;}
#viewport .business-hero-img-sub {color:var(--txt-dim)!important;text-shadow:none!important;}
#viewport .fin-card {background:var(--bg-surface)!important;border-color:var(--border-dim)!important;}
#viewport .tech-card {background:var(--bg-surface)!important;background-image:none!important;border:1px solid var(--border-dim)!important;}
#viewport .finance-view {display:flex;flex-direction:column;gap:16px;}
#viewport .finance-view>* {order:5;}
#viewport .finance-view>.fin-card:first-of-type {order:0;}
#viewport .finance-view>.fin-grid-kpi {order:1;}
#viewport .finance-view>.fin-two {order:2;}
#viewport .finance-view>#fin-expense-form {order:3;}
#viewport .fin-grid-kpi {grid-template-columns:repeat(auto-fit,minmax(145px,1fr));}
#viewport .ra-pantry-help {margin:12px 0;color:var(--txt-dim);font-size:13px;}
#viewport .ra-pantry-help summary {padding:10px 0;cursor:pointer;}
#viewport .pantry-hero {background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:12px 0!important;}
#viewport .pantry-hero::before,#viewport .pantry-hero::after {display:none!important;}
#viewport .pantry-tabs {flex-wrap:wrap;}
#viewport .card:has(.pantry-tabs)>div:first-child {flex-wrap:wrap;}
#viewport :is(.btn-arch,.chip) {color:var(--txt-main);}
#viewport :is(.chip.active,.chip.on,.btn-arch.primary) {color:var(--bg-canvas)!important;background:var(--accent)!important;border-color:var(--accent)!important;}
#viewport section[data-management-group] {background:transparent!important;border:0!important;}
#viewport .gestion-tile {background:transparent!important;border:0!important;border-bottom:1px solid var(--border-dim)!important;}
#viewport .business-hero-img {height:auto!important;}
body #viewport .btn-arch:not(.primary) {color:var(--txt-main)!important;background:var(--bg-highlight)!important;border-color:var(--border-light)!important;text-transform:none!important;}
body #viewport .btn-arch.danger {color:var(--danger)!important;}
body #viewport :is(input,select,textarea) {color:var(--txt-main)!important;background:var(--bg-surface)!important;}
#viewport :is(#crm-tabs,.register-tabs,.fin-category-row) .chip.active {background:var(--accent)!important;border-color:var(--accent)!important;color:var(--bg-canvas)!important;}
#viewport .fin-head+.fin-muted {font-size:12px;}
#viewport .pantry-tools-row .btn-arch {width:auto;flex:1;min-width:0;}
.ra-sales-line polyline {stroke-dasharray:1000;stroke-dashoffset:0;animation:ra-sales-reveal 1.2s ease-out;}
@keyframes ra-sales-reveal {from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
/* Screen compositions from the approved visual references. */
body {--font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-display:var(--font-ui);--font-data:var(--font-ui);}
#app-shell #top-bar {height:76px!important;padding:16px 24px!important;border:0!important;gap:12px;}
#app-shell #header-title.hp-brand {font:500 15px/1.3 var(--font-ui)!important;letter-spacing:.075em!important;text-transform:uppercase!important;}
body.ra-demo #header-title.hp-brand::after {content:'● Restaurante demo';display:block;color:var(--txt-dim);font:400 12px/1.7 var(--font-ui);letter-spacing:0;text-transform:none;}
html[lang='en'] body.ra-demo #header-title.hp-brand::after {content:'● Demo restaurant';}
#app-shell #header-actions {gap:8px!important;}
#app-shell .ra-appearance {width:34px;height:34px;min-height:34px;border:0;background:var(--bg-highlight);}
#app-shell #bottom-dock {left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;transform:none!important;padding:0!important;border-top:1px solid var(--border-dim)!important;}
#app-shell #bottom-nav {padding:6px 16px calc(8px + env(safe-area-inset-bottom))!important;min-height:68px;gap:0!important;border:0!important;}
#app-shell #bottom-nav .nav-item {border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;min-height:52px;}
#app-shell #bottom-nav .nav-item.active {background:transparent!important;color:var(--accent)!important;border:0!important;}
#app-shell #bottom-nav .nav-item::before,#app-shell #bottom-nav .nav-item::after {display:none!important;}
#app-shell #bottom-nav .nav-label {font:400 11px/1.5 var(--font-ui)!important;letter-spacing:0!important;}
#app-shell #bottom-nav .nav-item.active .nav-label {font-weight:600!important;}
#app-shell #bottom-nav .nav-ic {width:25px;height:25px;}
body #viewport {padding:8px 24px 90px!important;}
#viewport .hp-home {max-width:760px;margin:0 auto;font:400 15px/1.5 var(--font-ui);}
#viewport .hp-heading {margin:4px 0 18px;}
#viewport .hp-heading h1 {font:650 32px/1.17 var(--font-ui)!important;letter-spacing:-1.1px!important;margin:0 0 5px;}
#viewport .hp-heading p {color:var(--txt-dim);font-size:14px;margin:0;}
.hp-heading p>span {padding:0 8px;}
#viewport .hp-sales {padding:17px 19px 13px;border-radius:9px;background:#20574e;color:#f7fcf8;}
#viewport .hp-sales h2 {font:450 17px/1.4 var(--font-ui)!important;letter-spacing:0!important;color:inherit;margin:0 0 6px;}
#viewport .hp-sales-value {font:650 clamp(38px,10vw,48px)/1.16 var(--font-ui);letter-spacing:-1.2px;font-variant-numeric:tabular-nums;white-space:nowrap;}
#viewport .hp-sales-value>span {font-size:13px;letter-spacing:0;font-weight:400;color:#b7d4c8;}
#viewport .hp-sales p {margin:9px 0 0;font-size:13px;}
#viewport .hp-sales p span {color:#b7d4c8;}
#viewport .hp-sales .ra-sales-line {display:block;width:100%;height:54px;color:#a6d9b7;margin-top:8px;}
#viewport .hp-sales small {display:block;font-size:10px;color:#b7d4c8;text-align:right;}
#viewport .hp-numbers {display:grid;grid-template-columns:repeat(3,1fr);margin:23px 0 24px;}
#viewport .hp-numbers>div {min-width:0;}
#viewport .hp-numbers>div+div {padding-left:18px;border-left:1px solid var(--border-light);}
#viewport .hp-numbers strong {display:block;font:600 29px/1.1 var(--font-ui);letter-spacing:-.6px;}
#viewport .hp-numbers span {font-size:12px;color:var(--txt-dim);display:block;margin-top:6px;}
#viewport .hp-primary {display:block;border:0;background:var(--accent);color:var(--bg-canvas);width:100%;border-radius:7px;padding:13px;min-height:46px;font:500 16px var(--font-ui);}
#viewport .hp-text-link {display:block;width:100%;background:none;border:0;color:var(--accent);font:500 15px var(--font-ui);padding:17px 0 20px;}
#viewport .hp-attention {border-top:1px solid var(--border-dim);padding-top:18px;}
#viewport .hp-attention h2 {font:550 17px/1.4 var(--font-ui)!important;letter-spacing:-.4px!important;margin:0 0 9px;}
#viewport .hp-attention-row {width:100%;padding:12px 0;display:flex;gap:13px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--border-dim);background:transparent;color:var(--txt-main);font:450 13px/1.4 var(--font-ui);}
#viewport .hp-attention-row>span:nth-child(2) {flex:1;}
#viewport .hp-attention-row small {display:block;color:var(--txt-dim);font-size:12px;margin-top:4px;}
#viewport .hp-attention-icon {width:39px;height:39px;display:grid;place-items:center;flex-shrink:0;border:1px solid #e0ba78;border-radius:50%;background:#ffebca;color:#193b31;}
#viewport .hp-attention-icon svg {width:21px;height:21px;}
#viewport .hp-report-link {border:0;background:none;color:var(--accent);font:400 13px var(--font-ui);padding:18px 0;text-align:left;}
#viewport .hp-more {margin:12px 0;font-size:12px;color:var(--txt-dim);}
#viewport .hp-more>summary {padding:10px 0;cursor:pointer;}
#viewport .hp-management-group {margin:25px 0 0;}
#viewport .hp-management-group h2 {font:500 12px/1.4 var(--font-ui)!important;letter-spacing:.09em!important;text-transform:uppercase;color:var(--txt-main);margin:0 0 7px;}
#viewport .hp-management .gestion-tile {padding:14px 0!important;gap:12px!important;min-height:56px;}
#viewport .hp-management .gestion-tile-t {font:400 15px/1.4 var(--font-ui)!important;}
#viewport .hp-management :is(.gestion-tile-s,[data-status-label]) {display:none;}
#viewport .hp-management .gestion-tile-ic {width:30px;height:28px;margin-right:2px;}
#viewport .hp-management .gestion-tile-ic svg {width:25px;height:25px;}
#viewport .hp-management-more {margin-top:30px;font-size:13px;}
#viewport .hp-management-more summary {cursor:pointer;padding:14px 0;}
body[data-hospitality-route='gestion'] #viewport .rh-hero {margin-bottom:16px!important;padding-top:4px!important;}
body[data-hospitality-route='gestion'] #viewport .ra-hero-eyebrow,body[data-hospitality-route='gestion'] #viewport .pantry-hero-sub {display:none;}
body[data-hospitality-route='gestion'] #viewport .pantry-hero-title {font:650 32px/1.2 var(--font-ui)!important;letter-spacing:-1px;}
#viewport .ra-management-search {border:0!important;border-radius:22px!important;background:var(--bg-highlight)!important;padding:11px 16px;min-height:40px;margin-bottom:10px;font:400 14px var(--font-ui);}
body #auth-screen {padding:22px!important;}
body #auth-screen .ra-wordmark {font:500 19px var(--font-ui);}
body #auth-screen .ra-first-photo {height:250px;min-height:250px;flex-basis:250px;margin-top:20px!important;border-radius:0;}
body #auth-screen .auth-intro-title {font:650 39px/1.13 var(--font-ui)!important;letter-spacing:-1.3px!important;margin:24px auto 17px!important;}
body #auth-screen .auth-intro-copy {font:400 18px/1.55 var(--font-ui);margin-bottom:8px;}
body #auth-screen .ra-trial-copy {margin:9px 0 0!important;font-size:12px;}
body #auth-screen .ra-trial-copy strong {font:550 16px/1.6 var(--font-ui);}
body #auth-screen .auth-buttons {gap:12px;margin-top:22px;}
body #auth-screen .auth-btn {border-radius:7px;min-height:48px;padding:12px;font:500 14px/1.4 var(--font-ui);letter-spacing:0;}
body #auth-screen #auth-device {font-size:12px;margin-top:4px;min-height:40px;}
@media(min-width:900px){#viewport .hp-home{display:grid;grid-template-columns:1.2fr 1fr;gap:0 38px;align-items:start}#viewport .hp-heading{grid-column:1/-1}#viewport .hp-sales{grid-column:1;grid-row:2/5}#viewport .hp-numbers{grid-column:2;grid-row:2;margin-top:0}#viewport .hp-primary{grid-column:2;grid-row:3}#viewport .hp-text-link{grid-column:2;grid-row:4}#viewport .hp-attention,#viewport .hp-report-link,#viewport .hp-more{grid-column:1/-1}#viewport .hp-attention{margin-top:26px}#viewport .hp-management{max-width:760px;margin:auto}.hp-management-group{break-inside:avoid}}
#viewport .hp-service-title {font:650 32px/1.2 var(--font-ui)!important;letter-spacing:-1px!important;margin:4px 0 16px;}
#viewport .ra-service-tabs {margin:0 0 14px;padding:3px;gap:0;}
#viewport .ra-service-tabs button {font:400 14px var(--font-ui);min-height:36px;padding:9px 6px;}
body {--header-height:calc(76px + env(safe-area-inset-top,0px));}
#app-shell #top-bar {height:var(--header-height)!important;padding-top:calc(16px + env(safe-area-inset-top,0px))!important;}
body #viewport,body #viewport.home-tight-top,body #viewport.brew-tight-top {padding-top:calc(var(--header-height) + 8px)!important;}
#app-shell #header-title.hp-brand {flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0;}
#viewport .hp-management [data-status-label] {display:none!important;}
body .ra-demo-banner {display:flex!important;align-items:center;justify-content:space-between;gap:8px;border:0!important;border-radius:0!important;padding:0 0 12px!important;margin:0!important;background:transparent!important;font:400 10px/1.4 var(--font-ui)!important;}
body .ra-demo-banner button {flex-shrink:0;font:500 11px var(--font-ui);min-height:30px;padding:6px 9px;border-radius:6px;}
#app-shell .ra-help {min-width:0;min-height:30px;padding:6px 8px;font:400 11px var(--font-ui);color:var(--txt-dim);background:transparent;border:0;}
#viewport .hp-sales {padding-bottom:10px;}
#viewport .hp-sales .ra-sales-line {height:44px;}
#viewport .rh-hero {min-height:0!important;justify-content:flex-start!important;}
#viewport .hp-finance-view {display:block;}
#viewport .hp-finance {max-width:720px;margin:4px auto 0;font:400 15px/1.5 var(--font-ui);}
#viewport .hp-finance h1 {font:650 32px/1.2 var(--font-ui)!important;letter-spacing:-1px;margin:0 0 24px;}
#viewport .hp-fin-filter {display:flex;align-items:center;gap:12px;margin-bottom:22px;}
#viewport .hp-fin-filter label {flex:1;min-width:0;}
#viewport .hp-fin-filter select {width:100%;border-radius:25px;padding:10px 15px;font:400 14px var(--font-ui);}
#viewport .hp-fin-filter>span {border:1px solid var(--border-light);border-radius:25px;padding:10px 17px;}
#viewport .hp-fin-result {padding:0 0 15px;border-bottom:1px solid var(--border-dim);}
#viewport .hp-fin-result h2 {font:500 16px var(--font-ui)!important;letter-spacing:0;margin:0 0 8px;}
#viewport .hp-fin-result>strong {font:650 42px/1.2 var(--font-ui);letter-spacing:-1px;}
#viewport .hp-fin-result p {color:var(--txt-dim);font-size:13px;margin:6px 0 0;}
#viewport .hp-fin-rows {margin-top:10px;}
#viewport .hp-fin-rows>div {display:flex;justify-content:space-between;gap:16px;padding:6px 0;color:var(--txt-dim);font-size:14px;}
#viewport .hp-fin-rows b {color:var(--txt-main);font-weight:500;}
#viewport .hp-fin-rows .hp-fin-total {justify-content:flex-end;padding-top:10px;margin-top:9px;border-top:1px solid var(--border-light);font-size:23px;}
#viewport .hp-fin-note {font-size:11px;color:var(--txt-dim);margin:8px 0 25px;}
#viewport .hp-fin-coverage {border:1px solid var(--border-dim);border-radius:9px;padding:14px;display:flex;align-items:center;gap:16px;margin-bottom:20px;font-size:12px;color:var(--txt-dim);}
#viewport .hp-fin-coverage strong {display:block;color:var(--txt-main);font-weight:500;font-size:14px;margin-top:4px;}
#viewport .hp-fin-detail {margin:24px 0;font-size:13px;}
#viewport .hp-fin-detail summary {padding:10px 0;cursor:pointer;}
#viewport .hp-fin-chart {margin:24px 0 32px;}
#viewport .hp-fin-chart h2 {font:500 15px var(--font-ui)!important;letter-spacing:0!important;margin-bottom:20px;}
#viewport .hp-chart-bars {height:120px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--border-light);}
#viewport .hp-chart-bars>div {height:100%;flex:1;position:relative;display:flex;align-items:flex-end;}
#viewport .hp-chart-bars i {display:block;background:var(--accent);width:100%;border-radius:2px 2px 0 0;min-height:1px;}
#viewport .hp-chart-bars span {position:absolute;top:100%;padding-top:5px;left:0;right:0;text-align:center;font-size:11px;color:var(--txt-dim);}
/* Owner correction: light by default; restrained optional dark palette. */
body[data-hospitality-theme="dark"] {
 --bg-canvas:#171b19;--bg-surface:#222723;--bg-highlight:#2d342f;
 --border-dim:#39423b;--border-light:#4c574e;--accent:#a1afa3;--accent-glow:transparent;
 --txt-main:#edece6;--txt-dim:#adb5ac;--txt-dark:#adb5ac;--danger:#d29b8b;--success:#a2b39f;
 --dock-gold:#a1afa3;--dock-gold-deep:#a1afa3;--dock-label:#a1afa3;--dock-idle:#adb5ac;
 --dock-glass-hi:#171b19;--dock-glass-lo:#171b19;
}
body[data-hospitality-theme="dark"] #viewport .hp-sales {background:#30483d;color:#f0f0e9;}
body[data-hospitality-theme="dark"] #viewport .hp-sales :is(.ra-sales-line,small,p span,.hp-sales-value>span) {color:#b2c0af;}
body .ra-demo-banner {flex-direction:row!important;flex-wrap:nowrap!important;}
body .ra-demo-banner>span {min-width:0;font-weight:400!important;}
/* One responsive shell: fixed navigation is never a full-screen overlay. */
html,html body {height:100%;min-height:0;}
body {--nav-height:72px;--safe-area-bottom:env(safe-area-inset-bottom,0px);}
#app-shell {height:100dvh!important;min-height:0!important;overflow:hidden;}
#app-shell #top-bar {inset:0 0 auto!important;width:100%!important;transform:none!important;box-sizing:border-box;}
#app-shell #viewport {height:100%;min-height:0;box-sizing:border-box;padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))!important;}
#app-shell #bottom-dock {position:fixed!important;top:auto!important;height:auto!important;max-height:none!important;display:block!important;overflow:visible!important;}
#app-shell #bottom-nav {position:relative!important;inset:auto!important;width:100%!important;height:auto!important;display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;align-items:stretch;overflow:visible!important;box-sizing:border-box;}
#app-shell #bottom-nav .nav-item {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;height:54px!important;margin:0!important;padding:4px!important;gap:4px!important;}
#app-shell #bottom-nav .nav-item span {position:static!important;opacity:1!important;white-space:nowrap;text-align:center!important;max-width:none!important;color:var(--txt-dim)!important;}
#app-shell #bottom-nav .nav-item.active span {color:var(--accent)!important;}
#app-shell #header-actions {gap:4px!important;flex:0 0 auto!important;}
body.ra-demo #role-chip,body.ra-demo #operator-chip {display:none!important;}
#viewport .ra-service-tabs {position:sticky;top:0;z-index:20;background:var(--bg-canvas)!important;}
#viewport .ra-management-search {display:block!important;position:static!important;width:100%!important;height:44px!important;min-height:44px!important;box-sizing:border-box;flex:none!important;}
#viewport .hp-management .gestion-tile-s {display:block!important;font:400 12px/1.5 var(--font-ui);margin-top:5px;white-space:normal;}
#viewport .hp-management .gestion-tile-tx {min-width:0;}
#viewport .hp-management-more>summary {padding:24px 0 12px;font-weight:600;}
body :is(.biz-modal-card,.biz-modal-hd,.biz-modal-body,.biz-modal-actions,.modal-card,.ra-brand-setup) {background:var(--bg-surface)!important;color:var(--txt-main)!important;border-color:var(--border-dim)!important;}
body .biz-modal-card {max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px)!important;overflow:auto!important;}
body .biz-modal-hd {position:sticky;top:0;z-index:3;flex-shrink:0;}
body [data-menuqr-close] {flex:0 0 44px;min-width:44px;min-height:44px;color:var(--txt-main)!important;}
body .biz-modal-actions {display:flex!important;flex-wrap:wrap;gap:8px;}
body .biz-modal-actions button {flex:1 1 160px;}
body .biz-modal-body {min-height:0;}
body .biz-modal-body input:not([type=checkbox]):not([type=radio]):not([type=color]) {width:100%;min-width:0;flex:1 1 150px;}
body .ra-dialog :is(p,legend,label,small,strong,select) {color:var(--txt-main);}
body .ra-brand-preview {background:var(--bg-highlight)!important;color:var(--txt-main)!important;border:1px solid var(--border-light);border-left:5px solid var(--preview-accent);}
body .ra-brand-preview>* {background:transparent!important;color:var(--txt-main)!important;}
body :is(input[type=date],input[type=time]) {color-scheme:light;min-height:44px;min-width:0;box-sizing:border-box;}
body[data-hospitality-theme=dark] :is(input[type=date],input[type=time]) {color-scheme:dark;}
body #auth-screen {box-sizing:border-box;inset:0!important;width:100%!important;height:100dvh!important;padding:calc(18px + env(safe-area-inset-top,0px)) 22px calc(24px + env(safe-area-inset-bottom,0px))!important;}
body #auth-screen>* {flex-shrink:0;}
body #auth-screen .ra-trial-copy {margin:12px auto 0!important;}
body #auth-screen .ra-monogram {display:block;width:32px;height:36px;flex:0 0 32px;background:var(--accent);mask:url('../img/brand/ra_mark.png') center/contain no-repeat;-webkit-mask:url('../img/brand/ra_mark.png') center/contain no-repeat;}
body #auth-screen .auth-footer {padding-bottom:12px;}
@media(min-width:1000px) and (hover:hover) {
 #app-shell #top-bar {left:208px!important;width:calc(100% - 208px)!important;padding-left:32px!important;padding-right:32px!important;}
 #app-shell #viewport {padding-left:240px!important;padding-right:32px!important;padding-bottom:32px!important;}
 #app-shell #bottom-dock {top:0!important;right:auto!important;bottom:0!important;width:208px!important;height:100dvh!important;border-right:1px solid var(--border-dim)!important;border-top:0!important;padding:104px 16px 24px!important;box-sizing:border-box;}
 #app-shell #bottom-nav {display:flex!important;flex-direction:column!important;padding:0!important;gap:10px!important;}
 #app-shell #bottom-nav .nav-item {flex-direction:row!important;justify-content:flex-start!important;padding:0 16px!important;gap:14px!important;border-radius:8px!important;}
 #app-shell #bottom-nav .nav-item.active {background:var(--bg-highlight)!important;}
 #app-shell #bottom-nav .nav-label {font-size:14px!important;}
 body #auth-screen {display:grid!important;grid-template-columns:minmax(360px,1.15fr) minmax(360px,1fr);grid-template-rows:auto auto auto auto auto auto auto;gap:0 6vw;align-content:safe center!important;padding:32px max(40px,6vw)!important;}
 body #auth-screen>* {max-width:none!important;grid-column:2;}
 body #auth-screen .ra-wordmark {grid-column:1/-1;margin-bottom:24px!important;}
 body #auth-screen .ra-first-photo {grid-column:1;grid-row:2/8;width:100%;height:100%!important;min-height:440px;max-height:650px;object-fit:cover;margin:0!important;border-radius:4px;}
 body #auth-screen .auth-intro-title {font-size:clamp(38px,4vw,62px)!important;margin:16px 0!important;}
 body #auth-screen .ra-trial-copy {text-align:left;margin:12px 0!important;}
 body #auth-screen .auth-buttons {max-width:none!important;margin:18px 0!important;}
 body #auth-screen .auth-footer {text-align:left;}
}
body :is(h1,h2,h3,.pantry-hero-title,.rh-h1) {text-shadow:none!important;filter:none!important;}
#viewport .hp-sales .ra-sales-line {display:block;width:100%;height:136px!important;max-width:none;}
#viewport .hp-sales {padding:24px 24px 14px;}
#viewport .hp-sales-value {font-variant-numeric:tabular-nums;}
#toast-host {bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;pointer-events:none;}
#toast-host .toast {color:var(--txt-main)!important;background:var(--bg-surface)!important;border:1px solid var(--border-light)!important;box-shadow:0 4px 20px #102d2914!important;font:500 13px/1.5 var(--font-ui)!important;}
.demo-sync-note {font:400 13px/1.5 var(--font-ui);background:var(--bg-highlight);border-radius:10px;padding:12px 16px;color:var(--txt-dim);}
.demo-product {display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--border-dim);}
.demo-product small {display:block;color:var(--txt-dim);margin-top:3px;font-size:12px;}
.demo-product select {width:64px!important;min-width:64px;min-height:44px;}
.demo-quota {font-weight:600;color:var(--accent);}
.demo-order {border:1px solid var(--border-light);padding:16px;border-radius:12px;margin:16px 0;}
.demo-order h3 {margin:0 0 8px;}
.demo-order-actions {display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.demo-order-actions button[aria-pressed=true] {background:var(--accent)!important;color:var(--bg-canvas)!important;}
[data-public-demo] button {min-height:44px;padding:10px 14px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-highlight);color:var(--txt-main);font:500 14px/1.4 var(--font-ui);margin:4px 4px 4px 0;cursor:pointer;}
[data-public-demo] [data-demo-register],[data-public-demo] button[type=submit] {background:var(--accent);color:var(--bg-canvas);}
.demo-guide-step {border-bottom:1px solid var(--border-dim);padding:12px 0;}
[data-demo-qr] {display:flex;justify-content:center;margin:16px 0;}
[data-demo-qr] canvas {max-width:100%;}
.ra-mode-extras {display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--border-light);padding:16px;margin:18px 0;}
.ra-mode-extras label {display:flex;align-items:center;gap:8px;font-size:13px;}
#first-run-onboarding {background:var(--bg-canvas)!important;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))!important;}
#first-run-onboarding #fr-card {background:var(--bg-surface)!important;color:var(--txt-main)!important;border:1px solid var(--border-light)!important;box-shadow:none!important;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;}
#first-run-onboarding :is(h1,h2,h3,p,label,#fr-chrome-title,#fr-step-badge,#fr-note,#fr-name-preview) {color:var(--txt-main)!important;}
#first-run-onboarding :is(.fr-lang-card,.fr-goal-card,#fr-back) {background:var(--bg-highlight)!important;color:var(--txt-main)!important;border-color:var(--border-light)!important;box-shadow:none!important;}
#first-run-onboarding :is(.fr-lang-card,.fr-goal-card) :is(span,div) {color:inherit!important;}
#first-run-onboarding #fr-next {background:var(--accent)!important;color:var(--bg-canvas)!important;}
#fr-access {background:transparent;color:var(--accent);min-height:44px;border:0;font:500 13px var(--font-ui);}
#ra-access {font:500 11px var(--font-ui);border:1px solid var(--border-light);padding:8px;border-radius:7px;background:var(--bg-highlight);color:var(--txt-main);max-width:100px;}
#ra-commercial-status {position:fixed;top:var(--header-height);left:0;right:0;z-index:40;background:var(--bg-highlight);font:400 12px var(--font-ui);min-height:46px;padding:4px 24px;box-sizing:border-box;}
body:has(#ra-commercial-status) #viewport {padding-top:calc(var(--header-height) + 70px)!important;}
@media(min-width:1000px) and (hover:hover){#ra-commercial-status{left:208px}#toast-host{bottom:24px!important;left:240px!important}#app-shell #bottom-nav{flex:0 0 auto!important;height:auto!important;min-height:0!important;max-height:270px!important;}}
#header-title.hp-brand {border-left:3px solid var(--restaurant-accent,var(--accent));padding-left:10px;}
/* Whole business name on up to two lines, with an optional compact logo. */
#app-shell #header-title.hp-brand {white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15!important;font-size:14px!important;}
#app-shell #header-title.hp-brand.hp-brand-long {font-size:12px!important;letter-spacing:.03em!important;}
#app-shell #header-title.hp-brand.hp-brand-logo {display:flex!important;align-items:center;border-left:0!important;padding-left:0!important;-webkit-line-clamp:unset;}
#app-shell #header-title.hp-brand.hp-brand-logo img.hp-brand-img {height:32px;max-width:132px;width:auto;object-fit:contain;border-radius:7px;display:block;}
#app-shell #header-title.hp-brand.hp-brand-logo{gap:7px;}
#app-shell #header-title.hp-brand.hp-brand-logo img.hp-brand-img{width:32px;max-width:32px;flex:0 0 32px;}
#app-shell #header-title .hp-brand-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15;}
@media(max-width:430px){#app-shell #header-title.hp-brand.hp-brand-logo{font-size:11px!important;letter-spacing:0!important;gap:4px;}#app-shell #header-title.hp-brand.hp-brand-logo img.hp-brand-img{width:24px;max-width:24px;height:24px;flex-basis:24px;}}
#viewport .hp-heading {max-width:100%;}
#viewport .hp-management {padding-top:4px;}
#viewport .ra-commercial-card {padding:18px;border:1px solid var(--border-dim);margin:20px 0;}
#viewport .ra-commercial-card p {font:400 14px/1.6 var(--font-ui);margin:0 0 12px;}
#viewport .ra-commercial-card button {width:100%;white-space:normal;}
#app-shell #bottom-nav .nav-item {flex:0 0 auto!important;}
#app-shell #bottom-dock {border-radius:0!important;}
#security-layer {--spl-gold:#8da894;--spl-gold-hi:#dce6db;--spl-ink:#f1f1e8;background-color:#18271f;}
#security-layer .spl-bg {filter:hue-rotate(60deg) saturate(.3);}
#security-layer .spl-embers i {background:radial-gradient(circle,#dce6db 0%,#8da894 55%,transparent 78%);filter:none;}
#security-layer .spl-halo {filter:grayscale(.8);}
@media(min-width:1000px) and (hover:hover){#viewport .hp-home{max-width:1100px!important;}#app-shell #bottom-dock{border-radius:0!important;}#app-shell #bottom-nav .nav-item.active{background:var(--bg-highlight)!important;}}
.demo-menu-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0;}
.demo-menu-gallery h3 {grid-column:1/-1;}
.demo-menu-gallery button {min-width:0;padding:0;overflow:hidden;text-align:left;margin:0;}
.demo-menu-gallery img {width:100%;height:90px;object-fit:cover;}
.demo-menu-gallery span {display:block;padding:10px;font-size:13px;}
#fr-body div[style*="color:"] {color:var(--txt-main)!important;}
#fr-body .fr-goal-card {border-radius:12px!important;overflow:hidden;}
#fr-body .fr-goal-card[aria-pressed=true] {outline:2px solid var(--accent);outline-offset:-2px;}
#first-run-onboarding .fr-lang-card[aria-pressed=true] {outline:2px solid var(--accent);outline-offset:-2px;}
#first-run-onboarding #fr-name {background:var(--bg-highlight)!important;color:var(--txt-main)!important;border-color:var(--border-light)!important;}
#first-run-onboarding #fr-error {background:var(--bg-highlight)!important;color:var(--txt-main)!important;border-color:var(--border-light)!important;}
#first-run-onboarding .fr-card-check {background:var(--bg-surface)!important;color:var(--accent)!important;border-color:var(--accent)!important;}
#first-run-onboarding #fr-avatar-preview {background:var(--bg-highlight)!important;color:var(--accent)!important;}
#first-run-onboarding #fr-logo-pick {background:var(--bg-highlight)!important;color:var(--txt-main)!important;border-color:var(--border-light)!important;}
#first-run-onboarding #fr-logo-clear {color:var(--txt-dim)!important;}
#first-run-onboarding #fr-logo-error {color:var(--danger)!important;}
body #auth-screen .auth-intro-title {font-size:clamp(34px,4vw,56px)!important;}
body #auth-screen .ra-trial-copy strong {font-size:17px;}
/* Dialogs are attached to body, outside the route viewport. */
body .ra-dialog header {background:var(--bg-surface)!important;color:var(--txt-main)!important;border-color:var(--border-dim)!important;}
body .ra-dialog :is(h2,h3,label,.ra-close) {color:var(--txt-main)!important;}
body .ra-dialog :is(p,small,.ra-note,.ra-eyebrow,.ra-check small) {color:var(--txt-dim)!important;}
body .ra-dialog button:not(.ra-close) {background:var(--accent)!important;color:var(--bg-canvas)!important;border-color:var(--accent)!important;}
body .ra-dialog .demo-menu-gallery button {background:var(--bg-highlight)!important;color:var(--txt-main)!important;border-color:var(--border-dim)!important;}
body .ra-dialog .ra-check {border-color:var(--border-dim);}
body .ra-dialog :focus-visible {outline-color:var(--accent);}
#first-run-onboarding .fr-dot {background:var(--border-dim)!important;}
#first-run-onboarding .fr-dot[data-reached=true] {background:var(--accent)!important;}
#first-run-onboarding #fr-card>div>div:first-child>div:first-child>div:last-child>div:first-child {color:var(--txt-dim)!important;}
body #auth-screen .auth-btn--dev {color:var(--txt-dim)!important;border-color:var(--border-light)!important;}
#app-shell #bottom-nav .nav-item {max-width:none!important;}

/* The splash keeps the RestoAdmin silhouette and choreography in the new palette. */
#security-layer {background:#f5f3eb;--spl-ink:#183d33;--spl-gold:#527968;--spl-gold-hi:#8caa98;}
#security-layer .spl-bg {background:radial-gradient(ellipse at 50% 42%,#e0e8db 0%,#f5f3eb 62%);filter:none;}
#security-layer .spl-bg::after {background:none;}
#security-layer .spl-logo {background:#20574c;mask:url('../img/brand/ra_mark.png') center/contain no-repeat;-webkit-mask:url('../img/brand/ra_mark.png') center/contain no-repeat;filter:none;}
#security-layer .spl-halo {background:radial-gradient(circle,rgba(64,108,83,.12),transparent 68%);filter:none;}
#security-layer .spl-ring::before {background:conic-gradient(from 0deg,transparent 0 68%,#72917d 86%,transparent 100%);}
#security-layer .spl-word {color:#183d33;text-shadow:none;}
#security-layer .spl-sub {color:#59766e;}
#security-layer .spl-bar {background:#d7dfd6;}
#security-layer .spl-bar i {background:#527968;box-shadow:none;}
#security-layer .spl-embers i {background:#839c89;filter:none;}
#fr-exit {position:sticky;top:0;z-index:2;display:block;margin:0 0 14px auto;border:0;background:var(--bg-surface);color:var(--txt-dim);padding:10px 0;min-height:44px;text-decoration:underline;cursor:pointer;font:400 13px var(--font-ui);}
#fr-exit:disabled {opacity:.5;}
.hp-floor-preview {display:none;}
.hp-today-number {display:none;}
.hp-waterfall {min-width:0;}
.hp-waterfall h2 {font:500 18px var(--font-ui);}
.hp-waterfall svg {width:100%;height:auto;display:block;}
@media(min-width:1000px) {
 #app-shell #top-bar {left:128px!important;width:calc(100% - 128px)!important;border-bottom:1px solid var(--border-dim)!important;}
 #app-shell #viewport {padding-left:164px!important;padding-right:36px!important;}
 #app-shell #bottom-dock {width:128px!important;background:#173c33!important;padding:112px 10px 24px!important;}
 #app-shell #bottom-dock::before {content:'';display:block!important;position:absolute;top:26px;left:43px;width:42px;height:48px;background:#eeeadd;mask:url('../img/brand/ra_mark.png') center/contain no-repeat;-webkit-mask:url('../img/brand/ra_mark.png') center/contain no-repeat;}
 #app-shell #bottom-nav {background:transparent!important;max-height:none!important;overflow:visible!important;}
 #app-shell #bottom-nav .nav-item {height:auto!important;flex:0 0 auto!important;overflow:visible!important;}
 #app-shell #bottom-nav .nav-item span,#app-shell #bottom-nav .nav-item.active span {color:#dce5dc!important;opacity:1!important;}
 #app-shell #bottom-nav .nav-item {padding:12px 4px!important;min-height:66px;flex-direction:column!important;gap:7px!important;}
 #app-shell #bottom-nav .nav-item :is(i,svg,span) {color:#dce5dc!important;}
 #app-shell #bottom-nav .nav-item.active {background:#2a5547!important;}
 #app-shell #bottom-nav .nav-label {font-size:12px!important;}
 #ra-commercial-status {left:128px;}
 #viewport .hp-management {max-width:none!important;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:22px 0!important;}
 #viewport .hp-management-group {padding-right:20px;border-right:1px solid var(--border-dim);}
 #viewport .hp-management-group h2 {font:500 26px/1.2 Georgia,serif!important;letter-spacing:-.03em!important;text-transform:none!important;margin:0 0 16px!important;}
 #viewport .hp-management .gestion-tile {min-height:84px;padding:16px 0!important;}
 #viewport .hp-management-more {grid-column:1/-1;display:block;border-top:1px solid var(--border-dim);padding-top:18px;}
 #viewport .hp-management-more[open] {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;}
 #viewport .hp-management-more summary {grid-column:1/-1;margin-bottom:14px;}
 #viewport .hp-home {max-width:none!important;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:12px 32px;}
 #viewport .hp-heading {padding-top:0!important;margin:0!important;}
 #viewport .hp-heading {grid-column:1/-1;}
 #viewport :is(.hp-heading h1,.hp-finance>h1,.hp-service-title) {font:500 clamp(34px,3.2vw,48px)/1.08 Georgia,serif!important;letter-spacing:-.045em!important;}
 #viewport .hp-heading h1 {margin-bottom:10px;}
 #viewport .hp-numbers {grid-column:1;grid-row:2;margin:0;}
 #viewport .hp-today-number {display:block;}
 #viewport .hp-numbers {grid-template-columns:repeat(4,minmax(0,1fr));}
 #viewport .hp-numbers strong {font-size:26px!important;}
 #viewport .hp-primary {grid-column:2;grid-row:2;align-self:center;}
 #viewport .hp-text-link {display:none;}
 #viewport .hp-floor-preview {display:block;grid-column:1;grid-row:3;min-width:0;}
 .hp-floor-head {display:flex;align-items:center;justify-content:space-between;gap:12px;}
 .hp-floor-head h2 {font:500 22px var(--font-ui);margin:8px 0 14px;}
 .hp-floor-head button {border:0;background:transparent;color:var(--accent);cursor:pointer;}
 .hp-floor-map {display:block;width:100%;height:230px;border:1px solid var(--border-dim);background:var(--bg-highlight);padding:12px;cursor:pointer;}
 .hp-floor-map svg {display:block;width:100%;height:100%;}
 .hp-floor-preview p {font-size:12px;color:var(--txt-dim);}
 #viewport .hp-attention {grid-column:2;grid-row:3;margin:0;border-left:1px solid var(--border-dim);border-top:0;padding:8px 0 0 24px;}
 #viewport .hp-sales {grid-column:1/-1;grid-row:4;background:transparent!important;color:var(--txt-main)!important;border-top:1px solid var(--border-dim);border-radius:0;padding:20px 0 0;display:grid;grid-template-columns:1fr auto;}
 #viewport .hp-sales-value {font-size:32px;grid-column:2;grid-row:1/3;}
 #viewport .hp-sales :is(p,small) {color:var(--txt-dim)!important;}
 #viewport .hp-sales .ra-sales-line {grid-column:1/-1;height:90px!important;color:var(--accent);}
 #viewport .hp-sales .ra-sales-line {width:100%;}
 #viewport .hp-report-link {grid-column:2;grid-row:5;}
 #viewport .hp-more {grid-column:1;grid-row:5;}
 #viewport .fp-overlay {height:calc(100dvh - 260px)!important;min-height:430px!important;max-height:none!important;}
 #viewport .hp-finance {max-width:none!important;display:grid;grid-template-columns:1.5fr 1fr;gap:20px 40px;}
 #viewport .hp-finance>h1 {grid-column:1;}
 #viewport .hp-fin-controls {grid-column:2;grid-row:1;}
 #viewport .hp-fin-result {grid-column:1;grid-row:2;}
 #viewport .hp-waterfall {grid-column:1;grid-row:3;}
 #viewport .hp-fin-result strong {font:500 56px Georgia,serif;}
 #viewport .hp-fin-rows {grid-column:2;grid-row:2/4;border-left:1px solid var(--border-dim);padding-left:24px;}
 #viewport .hp-fin-note {grid-column:1;}
 #viewport .hp-fin-chart {grid-column:1;}
 #viewport .hp-fin-coverage {grid-column:2;align-self:center;}
 #viewport .hp-finance .hp-primary {grid-column:1/-1;grid-row:auto;}
}
#app-shell #bottom-nav .nav-label {display:block!important;text-transform:none!important;}
#app-shell #bottom-nav .nav-ic {background:none!important;box-shadow:none!important;filter:none!important;}
#app-shell #bottom-nav .nav-ic::before,#app-shell #bottom-nav .nav-ic::after {display:none!important;}
/* Mobile service: one toolbar, accessible sheets, persistent navigation marks. */
body #bottom-nav .nav-ic svg{display:block!important;visibility:visible!important;opacity:1!important;fill:currentColor!important}
body.is-ios #bottom-nav .nav-item .nav-ic{display:flex!important;align-items:center;justify-content:center}
body #bottom-nav .nav-ic .ic-r{display:block;opacity:1;visibility:visible}
body #bottom-nav .active .nav-ic .ic-r{display:none}
body #bottom-nav .nav-ic .ic-f{display:none}
body #bottom-nav .active .nav-ic .ic-f{display:block;opacity:1;visibility:visible}
body .fp-overlay.has-sheet{z-index:100000!important}
body:has(.fp-overlay.has-sheet) #app-shell #bottom-dock{display:none!important;pointer-events:none}
body .ra-dialog[open]{overflow:hidden!important;display:flex;flex-direction:column;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px)}
body .ra-dialog>header{position:static!important;flex:0 0 auto;transform:none!important;margin:0!important}
body .ra-dialog>.ra-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px;scroll-padding:20px}
body .rh{--rh-up:#426c58;--rh-gold:#496359}
body .rh-tile .ric{color:var(--txt-main)!important;background:var(--bg-highlight)!important}
body #menu-preview-modal>div:first-child{flex-shrink:0;background:var(--bg-surface);color:var(--txt-main)}
body #menu-preview-modal iframe{min-height:0}
.demo-guide-hint{position:relative;padding:16px 42px 16px 16px;margin:0 0 18px;border:1px solid var(--border-light);border-left:3px solid var(--accent);background:var(--bg-surface);border-radius:10px;color:var(--txt-main)}
.demo-guide-hint p{font-size:14px;line-height:1.5;margin:8px 0;color:var(--txt-dim)}
.demo-guide-hint button{min-height:44px;padding:8px 12px;background:var(--bg-highlight);color:var(--txt-main);border:1px solid var(--border-light);border-radius:7px}
.demo-guide-hint [data-dismiss-guide]{position:absolute;right:0;top:0;width:40px;background:none;border:0}
@media(max-width:760px){
 body #viewport .ra-service-tabs{position:relative!important;top:auto!important;z-index:2;margin:0 0 10px}
 body #viewport .hp-service-title{font-size:28px;margin:10px 0 12px}
 body #viewport .fp-overlay{height:calc(100dvh - 300px)!important;min-height:360px!important;max-height:600px}
 body #viewport .hp-heading h1{font:500 34px/1.08 Georgia,serif!important;letter-spacing:-.045em!important}
 body #viewport .hp-heading{margin-bottom:18px}
 body #viewport .hp-sales{padding:20px 20px 12px;border-radius:12px}
 body #viewport .hp-sales-value{font-size:40px}
 body #viewport .hp-sales .ra-sales-line{height:108px!important}
 body #viewport .hp-numbers{margin:20px 0}
 body #viewport .hp-numbers>div:nth-child(2){border-left:0}
 body #viewport .hp-more{margin-top:22px}
 body #viewport .hp-more>summary{font-size:18px;font-weight:700;padding:14px 0}
 body .ra-dialog .demo-guide-step{padding:18px 0;margin:0;border-top:1px solid var(--border-dim)}
 body .ra-dialog .demo-guide-step h3{font:500 25px/1.15 Georgia,serif!important;margin:6px 0 10px}
 body .ra-dialog .demo-guide-step p{font-size:15px;line-height:1.55;margin:10px 0 16px}
 body .ra-dialog .demo-guide-step button{width:100%;min-height:44px}
 body .demo-menu-gallery img{aspect-ratio:3/2;object-fit:cover}
}

/* Native selection controls keep their own geometry, including inside biz-field. */
body #viewport input::placeholder,body #viewport textarea::placeholder{color:var(--txt-dim)!important;opacity:1!important}
body .food-detail .data-cell{background:var(--bg-surface)!important;border:1px solid var(--border-light);box-shadow:none!important;padding:12px!important}
body .food-detail .data-val{font-family:var(--font-ui)!important;font-size:16px!important;letter-spacing:0!important}
body .food-detail .data-label{font-family:var(--font-ui)!important;letter-spacing:.04em!important}
@media(max-width:600px){body #biz-goals-out [style*="repeat(3"]>div:last-child,body #payroll-history-card .tech-card>div[style*="repeat(3"]>div:last-child{grid-column:1/-1}body #biz-inv-list{max-height:none!important;overflow:visible!important}}
body #viewport input:is([type=checkbox],[type=radio]),body.is-ios input:is([type=checkbox],[type=radio]){appearance:auto!important;-webkit-appearance:auto!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;flex:0 0 22px!important;padding:0!important;margin:0 10px 0 0!important;accent-color:#285a4d;border-radius:4px;box-shadow:none!important}
body #viewport label:has(>input:is([type=checkbox],[type=radio])){min-height:44px;align-items:center}
body input:is([type=date],[type=time])::-webkit-date-and-time-value{text-align:left;min-height:1.4em}
body input:is([type=date],[type=time]){padding:10px 12px!important;line-height:1.4!important;border:1px solid var(--border-light)!important;border-radius:12px!important}
body .food-thumb-icon:has(img[src*="demo-"]){width:72px;height:72px;flex:0 0 72px;padding:0;overflow:hidden;box-shadow:none}
body .food-thumb-icon img{width:100%;height:100%;object-fit:cover}
@media(max-width:600px){
body #payroll-history-card .rep-row{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 0}
body #payroll-history-card .rep-nums{text-align:left;padding-left:48px}
body .rep-sub,body .rep-s,body .rep-p{font-family:var(--font-ui)!important;letter-spacing:0}
body .pantry-view .pantry-hero{padding:20px 0!important;min-height:0!important}body .pantry-tools-row{display:flex;gap:8px}body .pantry-tools-row button{flex:1;min-width:0;padding:10px!important}body .pantry-tools-row select{max-width:130px}
body #biz-goals-out> .tech-card:first-of-type>div{flex-wrap:wrap}body #biz-goals-out .tech-card{box-shadow:none!important}
}

body #biz-goals-out .tech-card{background:var(--bg-surface)!important}body #biz-goals-out [style*="background:rgba(0,0,0"]{background:var(--bg-elevated)!important;font-family:var(--font-ui)!important;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){body #biz-goals-out> .tech-card>div[style*="display:flex"]{display:grid!important;grid-template-columns:1fr;gap:12px}body #biz-goals-out> .tech-card>div>div[style*="text-align:right"]{text-align:left!important}body #biz-goals-out [style*="repeat(3"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}body #biz-goals-out [style*="min-width:500px"]{min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}body .food-card{padding:16px!important}body .food-card>div{flex-wrap:wrap}body .food-card .food-card-price{margin-left:auto}body .food-card [style*="letter-spacing:0.04em"]{letter-spacing:0!important}body #payroll-history-card .tech-card .tech-card{border-radius:12px;padding:10px!important}body #payroll-history-card .rep-sub{font-size:12px}body #payroll-history-card .rep-s{font-size:14px}body .pantry-cat-media{box-shadow:none!important;background:transparent!important}}

body .food-header.hero-platillos{background:var(--bg-surface)!important;border:1px solid var(--border-light)!important;box-shadow:none!important}body .food-header.hero-platillos::before,body .food-header.hero-platillos::after{display:none!important}body .food-header.hero-platillos :is(h2,p,.ra-hero-eyebrow){color:var(--txt-main)!important}body .food-header .food-subtitle{color:var(--txt-dim)!important}body .food-cat-media,body .food-cat-icon,body .food-thumb-icon{box-shadow:none!important}body .food-card .pill{font-size:11px;padding:3px 6px}

body .food-cat-mark,body .food-cat-mark *,body .food-detail-mark,body .food-detail-mark *{box-shadow:none!important;filter:none!important}body .food-detail-mark:has(img[src*="demo-"]){width:84px;height:84px;padding:0;flex:0 0 84px;overflow:hidden;border-radius:14px}body .food-detail-mark img{width:100%;height:100%;object-fit:cover}
body .food-cat-mark{background:transparent!important}body .food-tab{color:var(--txt-main)!important}body .food-tab.active{background:var(--accent)!important;color:var(--txt-inverse,#fff)!important}

@media(max-width:600px){body [data-inv-row]{background:var(--bg-surface)!important;border-color:var(--border-light)!important;gap:10px!important;padding:14px!important}body [data-inv-row]>div:first-child{flex:1 1 100%;min-width:0!important}body [data-inv-row]>div:last-child{width:100%;justify-content:flex-start!important}body [data-inv-row] [data-inv-manage]{margin-left:auto}body [data-inv-row] .btn-mini{padding:8px 10px!important;min-height:40px}body .food-cats button,body .food-cat-mark{box-shadow:none!important}body #payroll-history-card .tech-card>div[style*="repeat(3"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Owner-supplied stone textures; opaque surfaces keep controls readable. */
body{--canvas-texture:url('../img/textures/piedra-clara.webp');--texture-wash:rgba(246,244,234,.38)}
body[data-hospitality-theme="dark"]{--canvas-texture:url('../img/textures/piedra-oscura.webp');--texture-wash:rgba(18,27,23,.2)}
html body,body #app-shell,body #viewport{background-image:linear-gradient(var(--texture-wash),var(--texture-wash)),var(--canvas-texture)!important;background-size:cover!important;background-position:center!important}
body #auth-screen{background-image:linear-gradient(var(--texture-wash),var(--texture-wash)),var(--canvas-texture)!important;background-size:cover!important}
body .ra-commercial-card button{background:var(--bg-highlight)!important;color:var(--txt-main)!important;border:1px solid var(--border-light)!important;border-radius:10px;min-height:44px;padding:10px 14px;font:600 14px var(--font-ui)}
body .cocina-subtabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:14px}
body .cocina-subtab{display:flex;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:44px;padding:10px 6px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--txt-dim)!important;font:600 13px var(--font-ui);box-shadow:none!important}
body .cocina-subtab.active{background:var(--bg-highlight)!important;color:var(--txt-main)!important}
body .pantry-view .card:has(.pantry-tabs){background:var(--bg-surface)!important;box-shadow:none!important;border:1px solid var(--border-light)!important;border-radius:16px!important}
body #viewport .card:has(.pantry-tabs)>div:first-child{display:grid!important;grid-template-columns:1fr;gap:10px!important}
body #viewport .pantry-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;width:100%;padding:4px;background:var(--bg-highlight);border-radius:10px}
body #viewport .pantry-tab{display:flex;align-items:center;justify-content:center;gap:8px;border:0!important;border-radius:7px!important;padding:10px 8px!important;min-height:44px;font:600 14px var(--font-ui)!important;color:var(--txt-dim)!important;background:transparent!important;letter-spacing:0!important}
body #viewport .pantry-tab i{font-size:16px!important;margin:0!important}
body #viewport .pantry-tab.active{color:var(--txt-main)!important;background:var(--bg-surface)!important;box-shadow:0 1px 3px #0001}
body #viewport .pantry-tools-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:8px!important}
body #viewport .pantry-sort{width:115px!important;max-width:115px!important;padding:8px!important;font-size:13px!important}
body #viewport .pantry-tools-row button{font-size:12px!important;min-height:40px;letter-spacing:0!important;text-transform:none!important}
body #viewport #pantry-more-tools{flex:0 0 42px!important}
body #viewport #pantry-toggle-group,body #viewport #pantry-toggle-archived{flex:1;white-space:normal}
body #viewport .pantry-group{margin:24px 0 0!important}
body #viewport .pantry-group-h{padding:12px 4px!important;min-height:52px;background:transparent!important;border:0!important;border-bottom:1px solid var(--border-light)!important;border-radius:0!important;box-shadow:none!important;color:var(--txt-main)!important}
body #viewport .pantry-group-title{font:500 25px/1.2 Georgia,serif!important;letter-spacing:-.02em!important;color:var(--txt-main)!important}
body #viewport .pantry-group-h .pantry-cat-media{width:30px;height:30px;border:0!important}
body #viewport .pantry-group-right .pill{font-size:12px;padding:4px 9px;min-width:28px;background:var(--bg-surface);border:1px solid var(--border-dim)}
body #viewport .pantry-item{background:var(--bg-surface)!important;border:1px solid var(--border-dim)!important;padding:16px!important;border-radius:12px!important;box-shadow:none!important;margin:10px 0!important}
body #viewport .pantry-compact-header{display:grid!important;grid-template-columns:minmax(0,1fr);gap:14px!important}
body #viewport .pantry-title{display:flex;align-items:center;gap:8px!important}
body #viewport .pantry-name{font:700 17px/1.3 var(--font-ui)!important}
body #viewport .pantry-subline{margin:6px 0 0!important;gap:6px!important;flex-wrap:wrap}
body #viewport .pantry-subline>.pill{font-size:11px!important;border:0!important;padding:0!important;background:transparent!important;min-height:0!important}
body #viewport .pantry-buyline{font-size:13px!important}
body #viewport .pantry-header-right{display:flex!important;align-items:center!important;justify-content:space-between;gap:12px!important;width:100%}
body #viewport .pantry-cost-compact{display:flex!important;align-items:baseline;gap:8px!important;min-width:0}
body #viewport .pantry-cost-val{font:700 18px var(--font-ui)!important;white-space:nowrap}
body #viewport .pantry-cost-val .muted{font-size:12px!important}
body #viewport .pantry-btn-expand{width:auto!important;flex:0 0 auto!important;min-height:40px;padding:8px 16px!important;font-size:13px!important}
body #viewport .pantry-dash-grid{gap:8px!important;margin:18px 0!important}
body #viewport .pantry-dash-stat{padding:13px 8px!important;background:var(--bg-surface)!important;border:1px solid var(--border-dim)!important;border-radius:12px!important;text-align:left!important;min-height:0!important}
body #viewport .pantry-dash-n{font-size:21px!important;color:var(--txt-main)!important}
body #viewport .pantry-dash-l{font-size:11px!important;letter-spacing:.03em!important;margin-top:5px}
body #payroll-history-card .tech-card{box-shadow:none!important}
body #payroll-history-card .rep-row{padding:16px 0;border-color:var(--border-dim)}
body #payroll-history-card .rep-nums{background:var(--bg-highlight);border-radius:10px;padding:10px 12px!important;margin-left:46px}
body #payroll-history-card .rep-s,body #payroll-history-card b{color:var(--txt-main)!important}
body #payroll-history-card .rep-p{color:var(--txt-dim)!important;font-size:13px}
body #payroll-history-card .biz-help{font-size:12px;line-height:1.55;padding:12px 0;border-bottom:1px solid var(--border-dim)}
body #payroll-history-card .tech-card>div[style*="repeat(3"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body #payroll-history-card .tech-card>div[style*="repeat(3"]>.tech-card{margin:0!important;padding:12px!important}
body #payroll-history-card .tech-card>div[style*="repeat(3"]>.tech-card:last-child{grid-column:1/-1;background:var(--bg-highlight)!important;display:flex;align-items:center;justify-content:space-between;gap:8px}
body #viewport .pantry-name,body #viewport .pantry-title,body #payroll-history-card .rep-name{color:var(--txt-main)!important}
body #viewport .pantry-item .muted,body #viewport .pantry-item .pantry-cat-pill,body #payroll-history-card .rep-sub{color:var(--txt-dim)!important}
body #viewport .pantry-group-right{color:var(--txt-main)!important}
body #viewport .pantry-group-body{margin-top:8px!important}

/* iOS review: compact translucent navigation with a readable opaque fallback. */
@media(max-width:999px){
 body{--header-height:calc(66px + env(safe-area-inset-top,0px))}
 #app-shell #top-bar{padding-top:calc(6px + env(safe-area-inset-top,0px))!important}
 #app-shell #bottom-dock{left:12px!important;right:12px!important;bottom:max(8px,env(safe-area-inset-bottom,0px))!important;width:auto!important;border:1px solid var(--border-light)!important;border-radius:36px!important;background:var(--bg-surface)!important;box-shadow:0 8px 28px #10241b24,inset 0 1px 0 #ffffff80!important;overflow:hidden!important}
 #app-shell #bottom-nav{background:transparent!important;min-height:62px!important;padding:5px!important;gap:3px!important;border-radius:32px!important}
 #app-shell #bottom-nav .nav-item{min-height:52px!important;padding:5px 4px!important;border-radius:28px!important;gap:3px!important}
 #app-shell #bottom-nav .nav-item.active{background:var(--bg-highlight)!important;box-shadow:inset 0 1px 0 #ffffff45!important}
 #app-shell #bottom-nav .nav-label{font-size:11px!important;line-height:14px!important;margin:0!important}
 #app-shell #bottom-nav .nav-ic{width:23px!important;height:23px!important;margin:0!important}
 #app-shell #viewport{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 @supports ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))){
  #app-shell #bottom-dock{background:rgba(247,248,241,.8)!important;backdrop-filter:blur(22px) saturate(1.35)!important;-webkit-backdrop-filter:blur(22px) saturate(1.35)!important}
  body[data-hospitality-theme=dark] #app-shell #bottom-dock{background:rgba(22,31,27,.84)!important;box-shadow:0 8px 28px #0005,inset 0 1px 0 #ffffff26!important}
 }
}
@media(prefers-reduced-transparency:reduce){#app-shell #bottom-dock{background:var(--bg-surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(max-width:760px){
 body #viewport{padding-left:14px!important;padding-right:14px!important}
 body #viewport .hp-service-title{margin:6px 0 10px;font-size:27px}
 body #viewport .ra-service-tabs{margin-bottom:8px;padding:3px}
 body #viewport .fp-overlay{height:auto!important;min-height:0!important;max-height:none!important;border-radius:16px;overflow:visible}
}
/* Photograph heroes use explicit light ink instead of inherited theme ink. */
body #viewport .hero-bebidas{isolation:isolate;overflow:hidden;border-radius:18px!important;padding:20px!important}
body #viewport .hero-bebidas::after{content:'';display:block!important;position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,17,.91),rgba(8,23,17,.58))!important;z-index:-1;pointer-events:none}
body #viewport .hero-bebidas :is(.food-title,.food-subtitle,.ra-hero-eyebrow){color:#fffdf5!important;text-shadow:0 1px 3px #0008}
body #viewport .hero-bebidas .food-title{font-size:30px!important}
body #viewport .hero-bebidas .food-subtitle{font-size:14px!important;line-height:1.5!important}
body #viewport .drink-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px!important;margin:0!important;border:1px solid var(--border-dim)!important;border-radius:14px!important;box-shadow:none!important;background:var(--bg-surface)!important}
body #viewport .drink-card .drink-mark{width:58px;height:64px;padding:0;border-radius:10px;overflow:hidden;box-shadow:none!important;background:var(--bg-highlight)!important}
body #viewport .drink-card .drink-mark img{display:block;width:100%;height:100%;object-fit:cover}
body #viewport .drinks-screen #drink-cat-scroll{flex-wrap:nowrap!important;overflow-x:auto!important;gap:7px!important;padding:4px 0 12px!important}
body #viewport #drink-cat-scroll .cat-chip-premium{flex-shrink:0;min-height:44px;background:var(--bg-surface)!important;border:1px solid var(--border-light)!important;border-radius:22px!important;padding:8px 13px!important}
body #viewport #drink-cat-scroll .cat-chip-premium[data-active='1']{background:var(--bg-highlight)!important;border-color:var(--accent)!important;color:var(--txt-main)!important}
body #viewport .drinks-screen .category-hero{box-shadow:none!important}
body #viewport .drink-detail-photo{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin:0 0 16px}
.recipe-photo-editor{display:grid;grid-template-columns:1fr auto;gap:12px;margin:18px 0;padding:16px;background:var(--bg-highlight);border:1px solid var(--border-light);border-radius:14px;color:var(--txt-main)}
.recipe-photo-editor strong,.recipe-photo-editor label,.recipe-photo-editor p,.recipe-photo-editor input[type=file]{grid-column:1/-1}
.recipe-photo-editor img{width:112px;height:100px;object-fit:cover;border-radius:10px}
.recipe-photo-editor img{grid-column:1/-1}
.recipe-photo-editor input[hidden]{display:none!important}
.recipe-photo-editor button{align-self:center}
.recipe-photo-editor img[hidden]{display:none}
.recipe-photo-editor label{display:flex;gap:8px;align-items:center;min-height:44px;font-size:14px}
.recipe-photo-editor p{margin:0;font-size:12px;line-height:1.5;color:var(--txt-dim)}
.recipe-photo-editor button{min-height:44px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-surface);color:var(--txt-main);padding:10px}
.recipe-photo-editor input[type=file]{max-width:100%;min-height:44px;font-size:13px}
body .food-thumb-icon:has(img),body .food-detail-mark:has(img){padding:0;overflow:hidden;box-shadow:none!important}
body #viewport :is(.settings-title,.settings-kicker){color:var(--txt-main)!important;text-shadow:none!important}
body #viewport .settings-sub{color:var(--txt-dim)!important;text-shadow:none!important}
body #viewport details>summary{color:var(--txt-main)!important;min-height:44px;line-height:1.4}
@media(max-width:760px){
 body #viewport .business-hero-img-content{padding:6px 0 8px!important}
 body #viewport .business-hero-img-title{font-size:27px!important;margin:4px 0 6px!important}
 body #viewport .business-hero-img-sub{font-size:13px;line-height:1.45}
 body #viewport .business-hero-img{margin-bottom:8px!important}
 body #viewport .ra-demo-banner{margin:6px 0 10px!important;padding:10px!important}
 body #viewport .rh-hero{margin-bottom:10px!important;padding:8px 0!important}
 body #viewport .ra-service-tabs~.view .business-hero-img{display:none!important}
 body #viewport .pantry-view .pantry-hero{padding:12px 0!important;margin-bottom:8px!important}
}

/* Keep chart labels and positive amounts readable on the dark stone. */
body[data-hospitality-theme=dark] .rh{--rh-up:var(--success);--rh-gold:var(--accent)}

/* Register workspace: visible cash reconciliation and an accessible transaction form. */
.cash-entry{display:grid;gap:12px;min-width:0}.cash-entry h2,.cash-reconciliation h2{font-size:1.05rem;margin:0 0 8px}
.cash-entry label{display:grid;gap:6px;font-size:.85rem;font-weight:700}.cash-entry input,.cash-entry select{width:100%;min-height:46px;box-sizing:border-box;padding:10px;min-width:0}
.cash-entry [hidden]{display:none!important}.cash-entry p,.cash-detail p,.cash-reconciliation p{font-size:.82rem;line-height:1.5;color:var(--txt-dim);margin:4px 0}
.cash-entry #register-expense-finance,.cash-entry #cash-purchase{display:grid;gap:12px}.cash-types,.cash-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cash-types{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-types button{min-height:46px;padding:8px!important}
.cash-balance{display:block;font-size:2rem;color:var(--txt-main)}.cash-reconciliation{padding:20px;margin-bottom:14px}.cash-reconciliation dl{display:grid;gap:10px}.cash-reconciliation dl>div{display:flex;justify-content:space-between;gap:12px}.cash-reconciliation dd{margin:0;font-weight:800}
.cash-detail{margin-top:8px;border-top:1px solid var(--border-dim);padding-top:8px}.cash-detail summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--accent)}.cash-detail dd{margin:0 0 8px;overflow-wrap:anywhere}.cash-detail dt{font-size:.75rem;color:var(--txt-dim)}
@media(max-width:600px){#bottom-nav .nav-item{min-width:0;padding-left:2px!important;padding-right:2px!important}#bottom-nav .nav-item span{font-size:10px!important}}

.report-workspace{padding:20px;margin-bottom:18px}.report-workspace h2{font-size:1.2rem}.report-workspace p{color:var(--txt-dim);font-size:.83rem;line-height:1.5}.report-workspace label{display:grid;gap:6px;font-size:.8rem}.report-workspace input,.report-workspace select{min-height:44px;min-width:0;width:100%;padding:8px;box-sizing:border-box}.report-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.report-workspace button{min-height:44px}.report-workspace #rp-generate{width:100%;margin-top:12px}.report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0}.report-kpis strong{display:block;font-size:1.15rem;overflow-wrap:anywhere}.report-kpis small{color:var(--txt-dim)}.report-bars{margin:18px 0}.report-bars>div{display:flex;align-items:center;gap:8px;margin-top:8px}.report-bars meter{flex:1;min-width:0;height:18px}.report-bars b{font-size:.8rem}.report-table-wrap{overflow:auto}.report-workspace table{width:100%;border-collapse:collapse;font-size:.8rem}.report-workspace th,.report-workspace td{padding:10px 6px;border-bottom:1px solid var(--border-dim);text-align:left}.report-category{display:flex;justify-content:space-between;gap:10px;padding:8px 0}.report-workspace summary{min-height:44px;padding-top:14px;cursor:pointer}

.report-trend>div{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:.78rem}.report-trend meter{flex:1;min-width:0;height:18px}.report-trend b{min-width:85px;text-align:right}

.menu-fixed-prices{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-dim)}.menu-fixed-prices p{font-size:.78rem;color:var(--txt-dim);line-height:1.45}.menu-fixed-prices label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}.menu-fixed-prices input{width:110px;min-height:44px}.menu-fixed-prices button{min-height:44px}

.ra-report-scope label[hidden]{display:none!important}.report-workspace meter::-webkit-meter-bar{background:var(--bg-highlight);border:0;border-radius:8px}.report-workspace meter::-webkit-meter-optimum-value{background:var(--accent);border-radius:8px}.report-workspace meter::-moz-meter-bar{background:var(--accent)}
/* In vertical label/field stacks the 150px basis must not become height. */
body .biz-modal-body .biz-field > input:not([type=checkbox]):not([type=radio]):not([type=color]),
body .biz-modal-body label[style*="column"] > input:not([type=checkbox]):not([type=radio]) {flex:0 0 auto;}

/* Public home: platform downloads stay outside the native login flow. */
body #auth-screen .ra-platform-downloads {margin:12px auto!important;text-align:left;}
.ra-platform-downloads>p {margin:0 0 10px;color:var(--txt-dim);font-size:13px;font-weight:600;}
.ra-platform-links {display:flex;flex-wrap:wrap;gap:10px;}
.ra-platform-links a {display:flex;align-items:center;gap:12px;flex:1 1 190px;min-height:64px;padding:12px 14px;box-sizing:border-box;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-surface);color:var(--txt-main);text-decoration:none;}
.ra-platform-links a:hover {background:var(--bg-highlight);border-color:var(--accent);}
.ra-platform-links a:focus-visible {outline:3px solid var(--accent);outline-offset:3px;}
.ra-platform-links i {font-size:28px;flex:0 0 28px;text-align:center;}
.ra-platform-links span {display:flex;flex-direction:column;gap:4px;}
.ra-platform-links strong {font-size:13px;font-weight:800;}
.ra-platform-links small {font-size:11px;color:var(--txt-dim);line-height:1.4;}

.ra-review-entry {background:transparent;border:0;color:var(--txt-dim);padding:8px 0;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;}
.ra-review-form {display:grid;gap:16px;}
.ra-review-form label {display:grid;gap:7px;font-size:14px;}
.ra-review-form input {padding:12px;min-height:44px;width:100%;box-sizing:border-box;}
.ra-review-form [role=status] {font-size:13px;line-height:1.5;}

/* Demo language is a device-only preference, available without registration. */
body #viewport .ra-demo-banner{flex-wrap:wrap!important}body .ra-demo-banner>span{flex:1 1 180px}body .ra-demo-language{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}body .ra-demo-language select{min-height:44px;border:1px solid var(--border-dim);border-radius:8px;padding:6px;background:var(--bg-surface);color:var(--txt);font:inherit}

/* A separate way back to sign-in from the read-only demo. */
body #viewport .ra-demo-banner [data-demo-exit]{background:transparent!important;color:var(--txt-main)!important;border:1px solid var(--border-dim)!important}

/* Values remain legible above the seven-day bars on phones and desktop. */
#viewport .hp-chart-bars {margin-top:28px;gap:8px;}
#viewport .hp-bar-value {position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:600;}

/* Quick-sale dialogs use the same readable controls as the POS workspace. */
body .modal-overlay:has(#qs-close) :is(input:not([type=checkbox]),select){min-width:0;max-width:100%;box-sizing:border-box;background:var(--bg-highlight)!important;color:var(--txt-main)!important;-webkit-text-fill-color:var(--txt-main)!important;border:1px solid var(--border-dim);border-radius:10px;padding:10px;font:inherit;min-height:44px}
body .modal-overlay:has(#qs-close) .qs-prod-btn :is(span,b,small){overflow-wrap:normal;word-break:normal}
body .modal-overlay:has(#qs-close) #qs-close{min-width:44px;min-height:44px}
.ra-help-options button{min-width:0;white-space:normal;overflow-wrap:anywhere}
.ra-dialog :is(.ra-actions,.po-grid)>button{white-space:normal;overflow-wrap:anywhere;min-width:0}
/* Provider recovery actions are direct section children, outside .ra-actions. */
body #ra-experience-dialog:has(#ig-status) section>button{display:block;width:100%;box-sizing:border-box;margin:12px 0;white-space:normal;line-height:1.4}
body .modal-overlay:has(#qs-close) .qs-prod-btn{padding-top:44px!important}
body .modal-overlay:has(#qs-close) div:has(>.qs-prod-btn){grid-auto-rows:1fr;align-items:stretch}

body .modal-overlay:has(#qs-close) .biz-field>span:has(#qs-review-reward){display:flex;align-items:center;gap:10px}body .modal-overlay:has(#qs-close) #qs-review-reward{width:20px;height:20px;flex:0 0 20px;margin:0}

body dialog.po-dialog{background:var(--bg-surface)!important;color:var(--txt-main)!important;border-color:var(--border-dim)!important}body dialog.po-dialog :is(input:not([type=checkbox]),select,textarea){background:var(--bg-highlight)!important;color:var(--txt-main)!important;-webkit-text-fill-color:var(--txt-main)!important;border:1px solid var(--border-light)!important;border-radius:10px!important;padding:10px!important;font:inherit!important;min-height:44px;box-sizing:border-box}body dialog.po-dialog label{font-weight:700}body dialog.po-dialog button{background:var(--bg-highlight)!important;color:var(--txt-main)!important;border-color:var(--border-light)!important}body .qs-prod-btn{align-self:stretch;display:flex;flex-direction:column}body .qs-prod-btn>div:last-child{margin-top:auto!important;padding-top:7px}

/* Preserve the compact one-row header and scale identity to available width. */
#app-shell #header-title.hp-brand{min-width:72px;overflow-wrap:anywhere;}
#app-shell #header-title.hp-brand.hp-brand-logo img.hp-brand-img{max-width:100%;object-fit:contain;}
@media(max-width:600px){
 #app-shell #top-bar{gap:6px!important;}
 #app-shell #header-title.hp-brand{font-size:clamp(11px,3.1vw,14px)!important;letter-spacing:.035em!important;padding-left:6px;}
 #app-shell #header-title.hp-brand.hp-brand-logo img.hp-brand-img{height:24px;width:24px;max-width:24px;flex-basis:24px;}
 #app-shell #header-actions{gap:3px!important;}
}
@media(max-width:430px){
 #app-shell #header-actions #operator-chip span{display:none!important;}
 #app-shell #header-actions #operator-chip{padding:6px 9px!important;}
}

/* Exact currency labels need horizontal room on narrow financial charts. */
#viewport .hp-fin-chart{overflow-x:auto;padding-bottom:28px;}
#viewport .hp-fin-chart .hp-chart-bars{min-width:650px;margin-left:4px;margin-right:4px;}
#viewport .hp-fin-chart .hp-chart-bars>div{min-width:82px;}

@media(max-width:430px){#app-shell #top-bar{padding-left:8px!important;padding-right:8px!important;}#app-shell #header-title.hp-brand{min-width:104px;font-size:11px!important;letter-spacing:0!important;}}
