/* Desktop and tablet composition. Mobile retains its touch-first layout. */
#viewport .ra-service-tabs{position:relative;top:auto}
.hp-management-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 24px}
.hp-sales-chart{grid-column:1/-1;min-width:0;margin-top:16px}
.hp-sales-chart svg{display:block;width:100%;height:auto;max-height:280px;overflow:visible}
.hp-sales-chart text{font-family:var(--font-ui);fill:currentColor}
.hp-chart-values{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:10px;font-size:11px;text-align:center}
.hp-chart-values span,.hp-chart-values strong{display:block}
.hp-chart-values strong{font-variant-numeric:tabular-nums;font-size:12px;margin-top:5px}
#viewport .hp-sales .hp-chart-values{color:inherit}
#viewport .hp-sales small{margin-top:12px}
.hp-floor-map{border-radius:12px;overflow:hidden}
.hp-floor-map svg text{font-family:var(--font-ui)}
#viewport .hp-floor-board{position:relative;display:block;width:100%;height:100%;overflow:hidden;border:1px solid #0d0a07;border-radius:6px;box-shadow:inset 0 0 52px 6px rgba(0,0,0,.34)}
#viewport .hp-floor-board.mat-wood{background:repeating-linear-gradient(90deg,rgba(0,0,0,.34) 0 2px,transparent 2px 122px),repeating-linear-gradient(90deg,rgba(255,236,200,.03) 0 1px,transparent 1px 12px),repeating-linear-gradient(0deg,rgba(255,236,200,.03) 0 84px,rgba(0,0,0,.14) 84px 88px),radial-gradient(150% 90% at 28% 18%,rgba(255,205,140,.06),transparent 55%),linear-gradient(99deg,#291c11,#33251a 50%,#241810)}
#viewport .hp-floor-board.mat-duela{background:repeating-linear-gradient(0deg,rgba(0,0,0,.5) 0 3px,transparent 3px 50px),repeating-linear-gradient(90deg,rgba(255,236,200,.035) 0 1px,transparent 1px 10px),radial-gradient(140% 70% at 30% 18%,rgba(255,236,200,.05),transparent 60%),linear-gradient(96deg,#473b2c,#52442f 50%,#413527)}
#viewport .hp-floor-board.mat-tile{background:linear-gradient(45deg,rgba(0,0,0,.18) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.18) 75%) 0 0/68px 68px,linear-gradient(45deg,rgba(0,0,0,.18) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.18) 75%) 34px 34px/68px 68px,radial-gradient(60% 50% at 30% 20%,rgba(255,255,255,.04),transparent 60%),linear-gradient(0deg,#221e19,#27211a)}
#viewport .hp-floor-board.mat-barro{background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 2px,transparent 2px 80px),repeating-linear-gradient(90deg,rgba(0,0,0,.28) 0 2px,transparent 2px 80px),radial-gradient(38% 30% at 24% 22%,rgba(255,180,120,.12),transparent 60%),radial-gradient(42% 34% at 74% 70%,rgba(110,46,18,.3),transparent 62%),linear-gradient(135deg,#6f3b25,#5a2e1b 55%,#4c2616)}
#viewport .hp-floor-board.mat-piedra{background:radial-gradient(30% 24% at 18% 22%,rgba(255,255,255,.05),transparent 55%),radial-gradient(34% 26% at 64% 38%,rgba(0,0,0,.24),transparent 58%),radial-gradient(28% 30% at 40% 74%,rgba(0,0,0,.2),transparent 60%),repeating-linear-gradient(50deg,rgba(0,0,0,.12) 0 1px,transparent 1px 72px),repeating-linear-gradient(-40deg,rgba(0,0,0,.12) 0 1px,transparent 1px 66px),linear-gradient(140deg,#48453d,#3a3730 55%,#2f2c27)}
#viewport .hp-floor-board.mat-marmol{background:radial-gradient(55% 42% at 30% 24%,rgba(255,255,255,.06),transparent 55%),repeating-linear-gradient(125deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px,transparent 4px 92px),repeating-linear-gradient(58deg,rgba(255,255,255,.03) 0 1px,transparent 1px 132px),linear-gradient(140deg,#2c2925,#201e1b)}
#viewport .hp-floor-board.mat-concrete{background:radial-gradient(60% 40% at 20% 15%,rgba(255,255,255,.03),transparent 60%),radial-gradient(50% 45% at 80% 80%,rgba(0,0,0,.2),transparent 60%),radial-gradient(40% 35% at 55% 50%,rgba(0,0,0,.1),transparent 55%),linear-gradient(135deg,#24221e,#1c1a16)}
#viewport .hp-floor-table{position:absolute;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}
#viewport .hp-floor-table::before{content:"";position:absolute;inset:-6%;border:2px solid transparent;border-radius:16%;pointer-events:none;z-index:3}
#viewport .hp-floor-table.round::before{border-radius:50%}
#viewport .hp-floor-table[data-state=free]::before{border-color:#5bae86}
#viewport .hp-floor-table[data-state=occupied]::before{border-color:#cf8a3e}
#viewport .hp-floor-table[data-state=bill]::before{border-color:#5790c2}
#viewport .hp-floor-table[data-state=reserved]::before{border-color:#9277be}
#viewport .hp-floor-table[data-svc]::before{border-color:transparent}
#viewport .hp-floor-table[data-svc=green] .hp-floor-top{box-shadow:0 8px 16px -6px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,236,200,.14),inset 0 -3px 7px rgba(0,0,0,.4),0 0 0 1.5px rgba(91,174,134,.42)}
#viewport .hp-floor-table[data-svc=amber] .hp-floor-top{box-shadow:0 8px 16px -6px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,236,200,.14),0 0 20px -5px rgba(224,169,62,.6),0 0 0 1.5px rgba(224,169,62,.55)}
#viewport .hp-floor-table[data-svc=red] .hp-floor-top{box-shadow:0 8px 16px -6px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,236,200,.14),0 0 26px -3px rgba(216,84,62,.72),0 0 0 1.5px rgba(216,84,62,.66)}
#viewport .hp-floor-svc-dot{position:absolute;top:-4%;right:-4%;z-index:6;width:8px;height:8px;border-radius:50%;background:#5bae86;box-shadow:0 0 0 2px #291c11;pointer-events:none}
#viewport .hp-floor-svc-chip{position:absolute;top:-10%;right:-13%;z-index:6;display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:20px;font:700 clamp(5px,.42vw,8px)/1 ui-monospace,monospace;border:1px solid;white-space:nowrap;pointer-events:none}
#viewport .hp-floor-svc-chip i{width:5px;height:5px;border-radius:50%;flex:0 0 auto}
#viewport .hp-floor-svc-chip.amber{background:#241a0c;border-color:#5a4216;color:#e6bd6e}
#viewport .hp-floor-svc-chip.amber i{background:#e0a93e}
#viewport .hp-floor-svc-chip.red{background:#260f0c;border-color:#5e2018;color:#eb9a8b}
#viewport .hp-floor-svc-chip.red i{background:#d8543e}
#viewport .hp-floor-top{position:absolute;inset:0;border-radius:13px;box-shadow:0 2px 5px rgba(0,0,0,.5),0 12px 22px -6px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,236,200,.16),inset 0 -3px 8px rgba(0,0,0,.45)}
#viewport .hp-floor-table.round .hp-floor-top{border-radius:50%}
#viewport .hp-floor-table.bar .hp-floor-top{border-radius:9px}
#viewport .hp-floor-top.wood{background:radial-gradient(46% 34% at 33% 24%,rgba(255,241,212,.13),transparent 60%),repeating-linear-gradient(116deg,rgba(0,0,0,.14) 0 1px,transparent 1px 7px),repeating-linear-gradient(116deg,rgba(255,222,170,.05) 0 1px,transparent 1px 15px),radial-gradient(130% 130% at 30% 22%,#8a6038,#623f22 56%,#432a15)}
#viewport .hp-floor-top.stone{background:radial-gradient(42% 32% at 30% 22%,rgba(255,255,255,.17),transparent 58%),linear-gradient(125deg,rgba(255,255,255,.12),transparent 38%),repeating-linear-gradient(122deg,rgba(255,255,255,.06) 0 1px,transparent 1px 4px,transparent 4px 44px),repeating-linear-gradient(54deg,rgba(255,255,255,.035) 0 1px,transparent 1px 70px),radial-gradient(130% 130% at 30% 20%,#4d473f,#353029 58%,#28241f)}
#viewport .hp-floor-chairs{position:absolute;inset:0;z-index:1;pointer-events:none}
#viewport .hp-floor-chair{position:absolute;width:22%;height:22%;border-radius:6px 6px 8px 8px;background:radial-gradient(82% 82% at 40% 30%,#574428,#32271a);box-shadow:0 4px 7px -2px rgba(0,0,0,.62),0 1px 2px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,236,200,.11);transform:translate(-50%,-50%) rotate(var(--r,0deg))}
#viewport .hp-floor-chair::before{content:"";position:absolute;left:12%;right:12%;top:-13%;height:26%;border-radius:5px;background:linear-gradient(180deg,#5a4630,#3c2d1c)}
#viewport .hp-floor-chair.stool{border-radius:50%}
#viewport .hp-floor-label{position:relative;z-index:2;text-align:center;color:#f4ead9;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none;line-height:1}
#viewport .hp-floor-label .num{display:block;font:700 clamp(8px,.62vw,12px)/1 ui-monospace,monospace}
#viewport .hp-floor-label .sc{display:block;margin-top:3px;color:rgba(244,234,217,.66);font:600 clamp(5px,.42vw,8px)/1 var(--font-ui);letter-spacing:.02em}
#viewport .ra-commercial-card{width:100%!important;max-width:none!important;box-sizing:border-box}
@media(min-width:761px){
 #app-shell #viewport{padding-top:calc(var(--header-height) + 18px)!important}
 #viewport .view,#viewport .rh,#viewport #biz-body{max-width:none;width:100%;box-sizing:border-box;min-width:0}
 #viewport :is(.hp-home,.hp-finance){max-width:none!important}
 #viewport .hp-home{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:20px;align-items:start}
 #viewport .hp-heading{grid-column:1/-1;grid-row:1;margin:0}
 #viewport .hp-numbers{grid-column:1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:18px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:14px}
 #viewport .hp-today-number{display:block}
 #viewport .hp-numbers strong{font-size:clamp(18px,2vw,28px)!important}
 #viewport .hp-numbers>div+div{padding-left:12px}
 #viewport .hp-home>.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;padding:18px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:14px}
 .hp-floor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hp-floor-head h2{font-size:19px;margin:0 0 14px}.hp-floor-head button{border:0;background:none;color:var(--accent);min-height:44px}
 .hp-floor-map{display:block;width:100%;height:300px;padding:0;border:0;background:var(--bg-highlight)}.hp-floor-map svg{width:100%;height:100%}.hp-floor-preview p{font-size:12px;color:var(--txt-dim);margin:10px 0 0}
 #viewport .hp-attention{grid-column:2;grid-row:3;margin:0;padding:18px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:14px;max-height:410px;overflow:auto}
 #viewport .hp-sales{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:1fr auto;background:var(--bg-surface)!important;color:var(--txt-main)!important;border:1px solid var(--border-dim);border-radius:14px;padding:22px}
 #viewport .hp-sales-value{grid-column:2;grid-row:1/3;font-size:32px}
 #viewport .hp-sales :is(p,small,.hp-sales-value>span){color:var(--txt-dim)!important}
 #viewport .hp-sales small{grid-column:1/-1}
 #viewport .hp-more{grid-column:1/-1;grid-row:6;margin:0}
 #viewport .hp-report-link{grid-column:1/-1;grid-row:5;justify-self:end;padding:0;min-height:44px}
 #viewport .hp-more .rh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 #viewport .hp-more .rh-cols{min-width:0;width:100%}
 #viewport .hp-more .rh-cols>.rh-sec{margin-top:20px}
 #viewport .hp-more .rh-launch{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
 #viewport .hp-management{max-width:none!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0!important}
 #viewport .hp-management-group{margin:0;padding:20px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:14px}
 #viewport .hp-management-group h2{font:600 21px/1.3 var(--font-ui)!important;text-transform:none!important;letter-spacing:-.02em!important;margin:0 0 12px!important}
 #viewport .hp-management .gestion-tile{padding:14px 0!important;min-height:78px}
 #viewport .hp-management-more[open]{display:block;grid-column:1/-1;margin:0;padding:0;border:0}
 #viewport .hp-management-more summary{margin:0;padding:16px 0}
 #viewport .hp-management-tools{background:var(--bg-surface);border:1px solid var(--border-dim);padding:4px 20px;border-radius:14px}
 #viewport .hp-finance{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:start}
 #viewport .hp-finance>h1{grid-column:1;grid-row:1;margin:0}
 #viewport .hp-fin-controls{grid-column:2;grid-row:1}.hp-fin-filter{margin:0!important}
 #viewport .hp-fin-result{grid-column:1;grid-row:2;padding:22px;border:1px solid var(--border-dim);border-radius:14px;background:var(--bg-surface)}
 #viewport .hp-fin-result>strong{font:650 clamp(32px,3vw,46px)/1.3 var(--font-ui)}
 #viewport .hp-fin-rows{grid-column:2;grid-row:2;margin:0;padding:18px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:14px}
 #viewport .hp-waterfall{grid-column:1;grid-row:3;padding:20px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:14px}
 #viewport .hp-fin-chart{grid-column:2;grid-row:3;margin:0;padding:20px 20px 36px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:14px}
 #viewport .hp-fin-note{grid-column:1;grid-row:4;margin:0}.hp-fin-coverage{grid-column:2;grid-row:4;margin:0!important}
 #viewport .hp-finance>.hp-primary{grid-column:1/-1;grid-row:5;width:auto;justify-self:end}
 #viewport .hp-fin-detail{background:var(--bg-surface);padding:18px;border:1px solid var(--border-dim);border-radius:14px}
 #viewport .pantry-view .pantry-hero{display:block!important;width:100%!important;max-width:none!important;margin:0 0 16px!important;padding:8px 0!important}
 #viewport .pantry-hero-sub{max-width:760px!important;width:auto!important;font-size:14px!important;line-height:1.6}
 #viewport .pantry-dash-grid{display:grid!important;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))!important}
 #viewport .pantry-dash-stat{padding:18px!important;min-width:0}.pantry-dash-n{overflow-wrap:anywhere}
 #viewport .menu-product-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(265px,1fr))!important;gap:16px!important}
 #viewport .menu-fixed-prices p{margin:0 0 8px}.menu-fixed-prices input{flex:1;max-width:145px;min-width:80px}
 #viewport .cash-session-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);gap:16px;align-items:start}
 #viewport .cash-session-layout>.cash-reconciliation{grid-column:1;grid-row:1/3;margin:0}
 #viewport .cash-session-layout>.cash-session-status{grid-column:2;grid-row:1;margin:0!important}
 #viewport .cash-session-layout>.cash-methods{grid-column:2;grid-row:2;margin:0!important}
 #viewport .cash-session-layout>.cash-work-area{grid-column:1/-1;margin:0!important;gap:16px!important}
 #viewport .cash-reconciliation dl>div{padding:10px 0;border-bottom:1px solid var(--border-dim)}
 #viewport .cash-work-area>.tech-card{padding:20px!important}.cash-work-area .cash-movements{max-height:600px!important}
 #viewport .report-workspace>.cash-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
 #viewport .report-workspace #rp-generate{width:auto;padding-inline:28px}
 #viewport .fp-overlay{height:max(400px,calc(var(--fp-host,100dvh) - var(--fp-top,210px) - var(--fp-bottom,24px)))!important;min-height:400px!important;max-height:none!important;border-radius:14px;overflow:visible}
}
@media(min-width:761px) and (max-width:1100px){
 #viewport .hp-home{grid-template-columns:minmax(0,1.3fr) minmax(235px,1fr);gap:14px}
 #viewport .hp-management{grid-template-columns:repeat(2,minmax(0,1fr))}
 #viewport .hp-management-group:last-of-type{grid-column:1/-1}
 #viewport .hp-numbers{padding:14px 10px}.hp-floor-map{height:270px}
 #viewport .hp-numbers span{font-size:11px}
}
@media(min-width:1000px){
 #app-shell #bottom-dock{top:0!important;bottom:0!important;height:100dvh!important;right:auto!important;padding:108px 10px 20px!important}
 #app-shell #bottom-nav{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0!important}
 #viewport .ra-service-tabs{max-width:650px;margin-bottom:16px}
 #viewport :is(.hp-heading h1,.hp-finance>h1,.hp-service-title){font:650 34px/1.2 var(--font-ui)!important}
}
/* Theme is selected before the first paint, including the loading layer. */
html[data-hospitality-theme=dark]{background:#091b17;color-scheme:dark}
html[data-hospitality-theme=light]{background:#f5f3eb;color-scheme:light}
html[data-hospitality-theme=dark] #security-layer{background:#091b17;--spl-ink:#f0f5ef;--spl-gold:#a0d5b5;--spl-gold-hi:#c1dfce}
html[data-hospitality-theme=dark] #security-layer .spl-bg{background:radial-gradient(ellipse at 50% 42%,#19382f,#091b17 65%)}
html[data-hospitality-theme=dark] #security-layer :is(.spl-logo,.spl-bar i){background:#a0d5b5}
html[data-hospitality-theme=dark] #security-layer .spl-word{color:#f0f5ef}
html[data-hospitality-theme=dark] #security-layer .spl-sub{color:#a8c3b7}
html[data-hospitality-theme=dark] #security-layer .spl-bar{background:#2c4940}

.subscription-dialog{width:min(880px,calc(100vw - 28px))!important;max-width:880px!important}.subscription-offer{font:14px/1.6 var(--font-ui)}.subscription-offer p{color:var(--txt-dim)}.subscription-offer .offer-lead{font-size:17px;color:var(--txt-main)}.offer-benefits{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.offer-benefits span{padding:8px 12px;background:var(--bg-highlight);border-radius:8px}.offer-trial{background:var(--bg-highlight);padding:20px;border:1px solid var(--border-light);border-radius:14px;margin:16px 0}.offer-trial h3{margin:0;font-size:22px}.subscription-offer button{min-height:44px;padding:11px 16px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-highlight);color:var(--txt-main);cursor:pointer;font:600 14px var(--font-ui)}.offer-trial button,[data-offer-buy]{background:var(--accent)!important;color:var(--bg-canvas)!important;width:100%}.subscription-offer fieldset{border:0;padding:0;margin:20px 0}.subscription-offer legend{font-size:17px;font-weight:600;margin-bottom:12px}.offer-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}.offer-plans label{display:flex;align-items:flex-start;gap:10px;padding:18px;border:1px solid var(--border-light);border-radius:14px;cursor:pointer}.offer-plans label:has(:checked){border:2px solid var(--accent);padding:17px;background:var(--bg-highlight)}.offer-plans input{flex:none;margin-top:5px}.offer-plans span{min-width:0}.offer-plans strong{display:block;font-size:26px;margin:10px 0;color:var(--txt-main)}.offer-plans small{display:block;color:var(--txt-dim);font-size:12px}.offer-plans strong small{display:inline}.offer-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.offer-links a{color:var(--accent)}.offer-price-note{font-size:12px}.offer-links button{background:none;font-size:12px} [data-demo-qr]{flex-wrap:wrap;gap:16px}[data-demo-qr] a{width:100%;text-align:center;color:var(--accent)}
@media(max-width:600px){.offer-plans{grid-template-columns:1fr}.hp-chart-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hp-sales-chart svg{min-height:130px}.subscription-dialog .ra-dialog-body{padding:16px!important}}

.subscription-dialog .offer-plans input[type=radio]{width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px!important;padding:0!important;appearance:auto!important}.subscription-dialog .offer-plans label>span{flex:1;min-width:0}.subscription-dialog .offer-plans label{box-sizing:border-box;min-width:0}
@media(min-width:761px){
 #viewport .hp-management{align-items:start}
 #viewport .cash-session-layout{grid-template-rows:auto 1fr auto}
 #viewport .cash-methods{align-self:start}
 #viewport .cash-reconciliation dl{gap:0}.cash-session-layout .cash-reconciliation dl>div{padding:8px 0}
 #viewport :is(#cat-select-all,#cat-select-none,#cat-reset-margins,#catalog-open-modifiers){width:auto!important;flex:0 1 auto!important;padding-inline:18px}
 #viewport #cat-search{width:min(100%,440px)}
 #viewport .menu-product-grid{grid-template-columns:repeat(auto-fill,minmax(265px,1fr))!important}
 #viewport .menu-product-grid>.tech-card{padding:16px!important}
 #viewport .business-hero-img-content{padding-bottom:10px!important}
 body[data-hospitality-route=caja] #viewport .demo-sync-note,body[data-hospitality-route=menu] #viewport .demo-sync-note{margin:0 0 12px;padding:8px 14px}
}

.subscription-dialog input[type=radio]{accent-color:var(--accent)}
@media(min-width:761px){
 #viewport .pantry-view{gap:8px!important}
 #viewport .pantry-view .pantry-hero{min-height:0!important;margin-bottom:0!important}
 #viewport .pantry-view .ra-pantry-help{margin:0!important}
 #viewport .pantry-view #pantry-alerts:empty,#viewport .pantry-view #pending-missing-card:empty{display:none}
 #viewport .pantry-view .pantry-dash-grid{margin:4px 0 10px!important}
 #viewport .pantry-view>.card:has(.pantry-tools)>div:first-child{grid-template-columns:minmax(0,1fr) auto!important;flex-wrap:nowrap!important}
 #viewport .pantry-view .pantry-tabs{width:auto!important;flex:1!important;max-width:600px}
 #viewport .pantry-view #btn-add-item{width:auto!important;flex:0 0 auto!important;padding-inline:20px}
 #viewport .pantry-view .pantry-tools{display:grid!important;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px}
 #viewport .pantry-view .pantry-tools-row{margin:0!important;padding:0!important;gap:8px!important;flex-wrap:nowrap!important}
 #viewport .pantry-view .pantry-tools-row button{width:auto!important;flex:0 0 auto!important}
 #viewport .menu-product-grid>[data-cat-card]{margin:0!important}
 #viewport [data-cat-card]>div:first-child{min-height:62px}
 #viewport .menu-fixed-prices p{font-size:12px;min-height:52px}
 #viewport .menu-product-grid{align-items:stretch}
 #viewport .hp-sales p span{color:var(--txt-dim)!important}
}
@media(min-width:761px) and (max-width:1100px){#viewport .pantry-view .pantry-tools{grid-template-columns:1fr}}

/* Sheets must sit above the fixed header, including inside the scroll workspace. */
body.map-open #app-shell>#viewport{will-change:auto!important}
body:has(.fp-overlay.has-sheet) #app-shell>#viewport{z-index:600!important;transform:none!important}
.nav-section-title,.nav-support{display:none}
@media(min-width:1000px){
 #app-shell #bottom-dock{width:210px!important;padding:108px 16px 18px!important;display:flex!important;flex-direction:column!important;gap:0!important}
 #app-shell #bottom-dock::before{left:24px;top:25px;width:38px;height:44px}
 #app-shell #bottom-dock::after{display:block!important;content:'RESTOADMIN';position:absolute;top:43px;left:72px;font:600 12px var(--font-ui);letter-spacing:.08em;color:#eeeadd}
 #app-shell #bottom-nav{height:auto!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;gap:5px!important;border-radius:0!important;overflow-y:auto!important}
 #app-shell #bottom-nav .nav-section-title{display:block;flex:0 0 auto;color:#afc1b7;font:500 10px/1.2 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;padding:10px 8px 5px;border-top:1px solid #ffffff1f;margin-top:5px}
 #app-shell #bottom-nav .nav-section-title:first-child{padding-top:0;border:0;margin-top:0}
 #app-shell #bottom-nav .nav-item{height:44px!important;min-height:44px!important;padding:10px 12px!important;flex-direction:row!important;justify-content:flex-start!important;gap:12px!important;border-radius:12px!important}
 #app-shell #bottom-nav .nav-label{font-size:14px!important}
 #app-shell #bottom-nav .nav-ic{width:23px!important;height:23px!important;flex:0 0 23px!important;margin:0!important}
 #app-shell #bottom-dock .nav-support{display:block;border-top:1px solid #ffffff26;padding-top:14px;margin-top:18px;color:#c3d0c7}
 .nav-support button{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;border:0;color:inherit;font:500 13px var(--font-ui);cursor:pointer}
 .nav-support button svg{width:19px;height:19px}.nav-support small{display:block;font:10px/1.5 var(--font-ui);opacity:.7;padding:8px 4px 0}
 #app-shell #top-bar{left:210px!important;width:calc(100% - 210px)!important}
 #app-shell #viewport{padding-left:242px!important;padding-right:32px!important}
 #ra-commercial-status{left:210px!important}
 #viewport .hp-management{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
 #viewport .hp-management-group{height:100%;box-sizing:border-box}
 #viewport .hp-management-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
}
@media(min-width:761px){
 .service-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 12px}
 #viewport .service-workspace-heading .hp-service-title{margin:0!important;font-size:28px!important}
 #viewport .service-workspace-heading .ra-service-tabs{width:min(60%,560px);margin:0!important}
 body[data-hospitality-route=comandas] #viewport .business-hero-img{display:none!important}
 body[data-hospitality-route=comandas] #viewport .demo-sync-note{display:none!important}
 body[data-hospitality-route=comandas] #viewport .view{gap:0}
 #viewport .ra-service-tabs{position:relative!important;top:auto!important;z-index:2}
 #viewport>.view:empty{display:none}
 #viewport .cash-work-area{align-items:start!important}
 #viewport .cash-work-area>.tech-card{margin:0!important}
 body[data-hospitality-route=comandas] #biz-body>div:has(>[data-orders-filter]){align-items:center}
 body[data-hospitality-route=comandas] #biz-body .tech-card{margin-top:0!important}
}

/* Cash movements use restrained semantic tones and clear rows in both themes. */
#viewport .cash-movements{display:grid;gap:8px;padding:2px 2px 4px}
#viewport .cash-movement-row{--cash-tone:#527968;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--border-dim);border-left:3px solid var(--cash-tone);border-radius:12px;background:var(--bg-surface);color:var(--txt-main);box-sizing:border-box}
#viewport .cash-movement-row.cash-movement-in{--cash-tone:#527968}
#viewport .cash-movement-row.cash-movement-out{--cash-tone:#9d6c5d}
#viewport .cash-movement-row.cash-movement-void{--cash-tone:#8a8174;opacity:.76}
#viewport .cash-movement-row> :first-child{flex:1 1 auto;min-width:0}
#viewport .cash-movement-row .cash-movement-icon{flex:0 0 auto;width:18px;margin-top:4px;color:var(--cash-tone)!important;font-size:.82rem}
#viewport .cash-movement-row .cash-movement-amount{flex:0 0 auto;color:var(--cash-tone)!important;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
#viewport .cash-movement-row.cash-movement-void .cash-movement-amount{text-decoration:line-through}
#viewport .cash-movement-link,#viewport .cash-movement-void-note{font-size:.74rem;line-height:1.45;margin-top:4px;font-weight:750}
#viewport .cash-movement-link{color:#527968}
#viewport .cash-movement-void-note{color:#8a8174}
body[data-hospitality-theme=dark] #viewport .cash-movement-row{--cash-tone:#9bb9aa;background:var(--bg-surface)}
body[data-hospitality-theme=dark] #viewport .cash-movement-row.cash-movement-out{--cash-tone:#c08a7c}
body[data-hospitality-theme=dark] #viewport .cash-movement-row.cash-movement-void{--cash-tone:#9a9183}
body[data-hospitality-theme=dark] #viewport .cash-movement-link{color:#9bb9aa}
body[data-hospitality-theme=dark] #viewport .cash-movement-void-note{color:#b1a79a}

/* Subscription editorial panel: the image is decorative; all offer terms are real text. */
dialog.subscription-dialog{padding:0!important;width:min(1060px,calc(100vw - 32px))!important;max-width:1060px!important;max-height:calc(100dvh - 32px)!important;border:1px solid var(--border-light)!important;border-radius:22px!important;background:var(--bg-canvas)!important;overflow:hidden!important}
.subscription-dialog>header{position:absolute!important;right:12px;top:12px;padding:0!important;margin:0!important;background:transparent!important;border:0!important;z-index:5}
.subscription-dialog>header>div{display:none}
.subscription-dialog>header .ra-close{width:36px;height:36px;min-height:36px;border-radius:50%;background:var(--bg-highlight)!important;color:var(--txt-main)!important}
.subscription-dialog .ra-dialog-body{padding:0!important;overflow:auto!important;max-height:calc(100dvh - 34px)!important}
.subscription-dialog .subscription-offer{display:grid;grid-template-columns:.85fr 1.15fr;line-height:1.45}
.offer-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:80px;padding:32px;color:#fcf7e9;background:linear-gradient(180deg,#07191050,#07191008 40%,#071910df),url('../img/menu/subscription-restaurant.webp') center/cover;min-width:0}
.offer-wordmark{font:600 12px var(--font-ui);letter-spacing:.18em}.offer-story h2{font:400 clamp(28px,3.2vw,40px)/1.08 Georgia,serif!important;letter-spacing:-.035em;margin:28px 0 16px;color:inherit!important}.subscription-offer .offer-story p{color:#e4e8df;font-size:14px}
.offer-story .offer-benefits{display:grid;gap:14px;margin:0}.offer-story .offer-benefits>div{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #ffffff30;padding-top:13px}.offer-story .offer-benefits b{font:12px/1.7 var(--font-ui);color:#d7be85}.offer-story .offer-benefits span{background:transparent;padding:0;border-radius:0;font-size:14px;font-weight:600}.offer-benefits small{display:block;font-size:12px;line-height:1.5;font-weight:400;color:#d0dacf;margin-top:3px}
.offer-main{padding:30px 30px 20px;min-width:0;background:var(--bg-canvas)}
.offer-eyebrow{display:block;font:600 10px var(--font-ui);letter-spacing:.11em;color:var(--txt-dim);padding-right:28px}
.offer-intro h3{font-size:29px;line-height:1.15;margin:10px 0 8px}.offer-intro p{font-size:13px;margin:0}
.subscription-offer fieldset{margin:20px 0 16px}.subscription-offer legend{font-size:12px;font-weight:500;margin-bottom:8px;color:var(--txt-dim)}
.offer-plans{gap:10px}.offer-plans label{padding:12px!important;border-radius:12px;gap:8px;background:var(--bg-surface)}.offer-plans label:has(:checked){padding:11px!important;background:var(--bg-highlight)}
.offer-plans b{font-size:13px}.offer-plans em{display:block;font-size:10px;font-style:normal;font-weight:500;color:var(--accent)}.offer-plans strong{font-size:22px;margin:7px 0 4px;letter-spacing:-.035em}.offer-plans strong small{font-size:11px;white-space:nowrap}.offer-plans small{font-size:10px;line-height:1.5}
.offer-plans b{display:block;min-height:32px}
.cash-detail dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;padding:12px;background:var(--bg-highlight);border-radius:10px;font-size:12px}.cash-detail dt{margin:0;color:var(--txt-dim)}.cash-detail dd{margin:0;overflow-wrap:anywhere}
.offer-actions{display:grid;gap:8px}.subscription-offer .offer-actions button{width:100%;min-height:44px;border-radius:10px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:16px}
.subscription-offer [data-offer-trial]{background:var(--accent)!important;color:var(--bg-canvas)!important;border-color:var(--accent)!important}
.subscription-offer [data-offer-buy]{background:transparent!important;color:var(--txt-main)!important;border:1px solid var(--border-light)!important;font-weight:500}
.subscription-offer .offer-trial-note{font-size:11px;line-height:1.5;margin:0 0 3px;text-align:center}
.offer-conditions{margin-top:15px}.offer-conditions p{font-size:10px;line-height:1.5;margin:6px 0}.offer-links{gap:12px;margin-top:10px;justify-content:space-between}.offer-links a{font-size:11px}.offer-links button{padding:0!important;border:0;min-height:32px!important;font-size:11px;background:transparent}
[data-offer-error]:empty{display:none}
/* Fallback country/plan confirmation before the hosted checkout (only when the billing country is ambiguous). */
.checkout-dialog{width:min(520px,calc(100vw - 28px))!important}.checkout-picker{display:grid;gap:10px;padding:4px 2px 2px}.checkout-picker h3{margin:0;font-size:1.2rem;line-height:1.2}.checkout-picker .ra-note{margin:0;font-size:13px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.checkout-fields label{display:grid;gap:6px;font-size:12px;font-weight:700}.checkout-fields select{width:100%;min-height:46px;padding:10px 12px;font:500 15px var(--font-ui)}.checkout-terms{font-size:11px;line-height:1.5;margin:2px 0 0}.checkout-sandbox{font-size:11px;font-weight:700;margin:0;color:var(--txt-dim)!important}.checkout-links{font-size:11px;margin:0}.checkout-picker button[type=submit]{width:100%;min-height:46px;border-radius:10px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px}.checkout-picker [data-result]{font-size:12px;margin:6px 0 0;color:var(--danger,#b3261e)!important}.checkout-picker [data-result]:empty{display:none}
@media(max-width:480px){.checkout-fields{grid-template-columns:1fr}}
.order-action-label{font:500 10px/1.3 var(--font-ui);display:block}
#ra-experience-dialog.subscription-dialog>header{position:absolute!important;inset:12px 12px auto auto!important;width:auto!important;background:transparent!important}
#ra-experience-dialog.subscription-dialog [data-offer-buy]{background:transparent!important;color:var(--txt-main)!important;border-color:var(--border-light)!important}
#ra-experience-dialog.subscription-dialog [data-offer-buy].offer-cta-trial{background:var(--accent)!important;color:var(--bg-canvas)!important;border-color:var(--accent)!important;font-weight:700;font-size:15px;min-height:52px;box-shadow:0 12px 24px -14px rgba(0,0,0,.55)}
#ra-experience-dialog.subscription-dialog [data-offer-buy].offer-cta-trial:hover{filter:brightness(1.06)}
.subscription-offer .offer-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:var(--accent);color:var(--bg-canvas);font:700 11px/1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase}
.subscription-offer .offer-plans b .offer-free{display:inline-block;margin-left:6px;padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--bg-canvas);font:700 10px/1.2 var(--font-ui);letter-spacing:.04em;vertical-align:middle}
.subscription-offer .offer-plans small b{font-size:inherit;display:inline;min-height:0;font-weight:700;color:var(--txt-main)}
.subscription-offer .offer-cta-sub{font-size:12px;font-weight:600;text-align:center;margin:-2px 0 4px;color:var(--txt-main)}
.subscription-offer [data-offer-error]{font-size:12px;line-height:1.5;margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--bg-highlight);color:var(--txt-main)}
#ra-experience-dialog.subscription-dialog [data-offer-access]{background:transparent!important;color:var(--txt-dim)!important;border:0!important}
#ra-experience-dialog.subscription-dialog .offer-story :is(h2,p){color:#fcf7e9!important}
#ra-experience-dialog.subscription-dialog .offer-story small{color:#d0dacf!important}
@media(min-width:1000px){#app-shell #bottom-nav{justify-content:flex-start!important;scroll-padding-top:8px}#app-shell #bottom-nav .nav-item .nav-label{text-align:left!important;flex:1}#app-shell #bottom-nav .nav-section-title:first-child{padding-top:6px!important}}
#viewport button:has(>.order-action-label){display:inline-flex;flex-direction:column;gap:5px;min-width:54px;padding:8px!important}
@media(min-width:761px) and (max-height:720px){.offer-main{padding-top:24px;padding-bottom:14px}.offer-intro h3{font-size:26px}.subscription-offer fieldset{margin:14px 0 12px}.offer-story{padding:26px}.offer-conditions{margin-top:10px}}
@media(max-width:760px){
 .subscription-dialog .subscription-offer{display:block}.subscription-dialog .ra-dialog-body{padding:0!important}
 .offer-story{padding:26px 22px 22px;min-height:145px;background-position:center 42%}.offer-story h2{margin:14px 0 0;font-size:30px!important}.offer-story-top p,.offer-story .offer-benefits{display:none}
 .offer-main{padding:22px 18px}.offer-intro h3{font-size:27px}.offer-plans{grid-template-columns:1fr 1fr}.offer-plans strong{font-size:19px}.offer-plans label{gap:6px}
 .offer-links{gap:8px}.offer-conditions p{font-size:11px}
}

/* Wide touch shells (iPad, Android tablets, ≥1000px): use the full width. The 1180/980 caps of the
   phone-era iPad layout left gutters on both sides once the sidebar rail appeared. */
@media(min-width:1000px){
 body.is-ios.is-ipad,body.is-ipad,body.is-touch-ui{--content-max-width:1560px}
 #app-shell,#app-shell #viewport{width:100%!important;max-width:none!important}
 #app-shell #viewport{padding-left:232px!important;padding-right:24px!important}
 #app-shell #viewport>*{max-width:var(--content-max-width);margin-left:auto;margin-right:auto}
}
/* KPI tiles: the sales figure ("MX$11,660.00") must shrink to its cell instead of overlapping the next one. */
@media(min-width:761px){
 #viewport .hp-numbers{grid-column:1/-1;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))!important}
 #viewport .mz-launch{display:none}
 #viewport .hp-numbers>div{container-type:inline-size;min-width:0;overflow:hidden}
 #viewport .hp-numbers strong{font-size:clamp(15px,13cqw,29px)!important;letter-spacing:-.4px;white-space:nowrap}
}
/* Gestión between 761 and 1100px: the Administration group spans the row, so lay its tiles in two columns. */
@media(min-width:761px) and (max-width:1100px){
 #viewport .hp-management{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #viewport .hp-management-group:last-of-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;align-content:start}
 #viewport .hp-management-group:last-of-type .gestion-tile{min-width:0}
 #viewport .hp-management-group:last-of-type h2{grid-column:1/-1}
}
/* PC monitors ≥1600px: wider content area so the floor plan and reports use the screen. */
@media(min-width:1600px){
 html.is-web-shell{--content-max-width:1500px}
 #app-shell #viewport{padding-left:262px!important;padding-right:44px!important}
}
