
/* Layout: mobile = una vista por rol con pestañas; escritorio = Mesa · Cocina · Mozo lado a lado. Paleta tomada de la carta de Chateau Vanguardia: crema, marrón tostado y filetes taupe */
:root{
  --bg:#f4efe6; --surface:#fbf8f2; --sunk:#ebe3d6; --line:#d8cdbd;
  --fg:#3a2f27; --muted:#7a6d60;
  --accent:#4f3b2c; --accent-fg:#fbf8f2; --accent-soft:#e7dccb;
  --ticket:#fffbe8; --ticket-line:#e6dcb6;
  --warn:#a85d12; --warn-soft:#f6e3c8; --alert:#a8321f; --alert-soft:#f5dcd5; --ok:#3d6b3f; --ok-soft:#dde9d6;
  --f-display:"League Spartan", "Arial Narrow", system-ui, sans-serif;
  --f-body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
  --f-brand:var(--f-display); --bw:700;
  --r:12px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#1b1713; --surface:#241e19; --sunk:#2e2620; --line:#40362d;
  --fg:#f0e8dc; --muted:#ab9d8d;
  --accent:#d8bd96; --accent-fg:#1b1713; --accent-soft:#3a2e24;
  --ticket:#2a2719; --ticket-line:#4a4428;
  --warn:#eba65a; --warn-soft:#3a2a16; --alert:#f08a78; --alert-soft:#3d201b; --ok:#9cc89a; --ok-soft:#22301f;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#1b1713; --surface:#241e19; --sunk:#2e2620; --line:#40362d;
  --fg:#f0e8dc; --muted:#ab9d8d;
  --accent:#d8bd96; --accent-fg:#1b1713; --accent-soft:#3a2e24;
  --ticket:#2a2719; --ticket-line:#4a4428;
  --warn:#eba65a; --warn-soft:#3a2a16; --alert:#f08a78; --alert-soft:#3d201b; --ok:#9cc89a; --ok-soft:#22301f;
  color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.45;padding-inline:16px;padding-block:0 120px}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance}

/* barra superior */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);margin-inline:-16px;padding:10px 16px 0;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand b{font-family:var(--f-display);font-weight:800;font-size:22px;letter-spacing:-.02em}
.brand b i{font-style:normal;color:var(--accent)}
.brand small{color:var(--muted);font-size:12px}
.tabs{display:flex;gap:4px;margin-top:8px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:1;border:0;background:none;padding:10px 6px 11px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px}
.tab[aria-selected="true"]{color:var(--fg);border-color:var(--accent)}
.badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--alert);color:var(--surface);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.badge[data-n="0"]{display:none}

.panes{display:block;padding-top:16px}
.pane{display:none;min-width:0}
.pane.on{display:block}
.pane-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.pane-h h2{font-size:20px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

@media (min-width:1100px){
  body{padding-bottom:24px}
  .tab{flex:0 0 auto;padding-inline:16px}
  .tab.mob{display:none}
  .tab.desk{display:flex}
  .panes:not(.admin) #pane-admin,.panes:not(.admin) #pane-wait,.panes:not(.admin) #pane-overview{display:none}
  .panes.admin{display:block}
  .panes.admin .pane{display:none}
  .panes.admin .pane.on{display:block;max-height:none;overflow:visible;background:none;border:0;padding:0}
  .panes{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
  .pane{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;max-height:calc(100vh - 90px);overflow:auto;position:relative}
  .pane.client .cartbar{position:sticky;bottom:0;left:auto;right:auto;margin:12px -16px -16px;border-radius:0 0 16px 16px}
}

/* cliente */
.qr{display:flex;align-items:center;gap:10px;background:var(--sunk);border-radius:var(--r);padding:10px 12px;margin-bottom:14px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.qr select{font:inherit;font-weight:600;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.resto{margin-bottom:14px}
.resto h1{font-family:var(--f-brand);font-size:28px;font-weight:var(--bw);letter-spacing:.14em;text-transform:uppercase;line-height:1.15}
.resto p{margin:4px 0 0;color:var(--muted)}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;display:flex;align-items:center;gap:10px;padding:16px 2px 14px;cursor:pointer;font-family:var(--f-brand);font-weight:var(--bw);font-size:18px;letter-spacing:.14em;text-transform:uppercase}
.acc summary::-webkit-details-marker{display:none}
.acc summary .cnt{font-family:var(--f-body);font-size:12px;font-weight:700;background:var(--accent);color:var(--accent-fg);border-radius:10px;padding:1px 8px}
.acc summary .cnt[data-n="0"]{display:none}
.acc summary .chev{margin-left:auto;transition:transform .2s;color:var(--muted)}
.acc details[open] summary .chev{transform:rotate(180deg)}
.items{display:grid;gap:2px;padding-bottom:12px}
.item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:6px 12px;padding:12px 0;border-top:1px dashed var(--line);align-items:start}
.item:first-child{border-top:0}
.item h3{font-family:var(--f-body);font-size:15px;font-weight:600}
.item p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.item .price{font-weight:600;margin-top:4px}
.choices{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.item .choices{grid-column:2/-1}
@media (max-width:420px){.item .choices{grid-column:1/-1}}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:13px}
.chip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--fg);font-weight:600}
.step{display:flex;align-items:center;gap:2px;align-self:start}
.step button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:18px;line-height:1;display:grid;place-items:center}
.step button.add{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.step span{min-width:24px;text-align:center;font-weight:700}
.step[data-q="0"] .minus,.step[data-q="0"] span{visibility:hidden}

.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--fg)}
.btn.sm{padding:8px 10px;font-size:13px;border-radius:9px}
.btn:disabled{opacity:.5;cursor:default}

.track{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:14px}
.track h3{font-size:16px;margin-bottom:6px}
.trow{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px}
.trow .nm{min-width:0}
.st{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:2px 7px;white-space:nowrap;align-self:center}
.st.pendiente{background:var(--warn-soft);color:var(--warn)}
.st.listo{background:var(--accent-soft);color:var(--accent)}
.st.servido{background:var(--sunk);color:var(--muted)}
.tot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-weight:700}

.cartbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
.cartbar .btn{width:100%;justify-content:space-between}

/* hoja del pedido */
.sheet-bg{position:fixed;inset:0;background:rgb(0 0 0 / .45);z-index:40;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--surface);width:100%;max-width:520px;border-radius:18px 18px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom,0px));max-height:85vh;overflow:auto}
@media (min-width:600px){.sheet-bg{align-items:center}.sheet{border-radius:18px}}
.sheet h2{font-size:22px;margin-bottom:10px}
.line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.line small{display:block;color:var(--muted)}
.sheet textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--bg);color:var(--fg);margin:12px 0;min-height:60px;resize:vertical}
.pay{display:grid;gap:8px;margin:12px 0}
.pay .chip{text-align:left;border-radius:10px;padding:12px}

/* cocina: tickets */
.tickets{display:grid;gap:12px}
.ticket{background:var(--ticket);border:1px solid var(--ticket-line);border-radius:4px;padding:12px 14px;font-family:var(--f-mono);font-size:13px;box-shadow:0 1px 0 var(--ticket-line);position:relative}
.ticket::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:radial-gradient(circle at 5px 0,transparent 4px,var(--ticket) 4.5px) 0 0/10px 6px repeat-x}
.ticket header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--ticket-line);padding-bottom:8px;margin-bottom:6px}
.ticket header b{font-size:20px}
.time{font-weight:700}
.time.late{color:var(--alert)}
.tk{display:flex;gap:10px;align-items:flex-start;padding:6px 0;width:100%;border:0;background:none;text-align:left;font-family:inherit}
.tk .box{width:18px;height:18px;border:2px solid var(--fg);border-radius:4px;flex:none;margin-top:1px;display:grid;place-items:center;font-size:12px}
.tk.done{color:var(--muted);text-decoration:line-through}
.tk.done .box{background:var(--fg);color:var(--ticket)}
.tk q{display:block;quotes:none;color:var(--muted);font-size:12px;text-decoration:none}
.note{background:var(--warn-soft);color:var(--fg);padding:6px 8px;border-radius:4px;margin:6px 0;font-family:var(--f-body)}
.ticket .btn{width:100%;margin-top:8px;font-family:var(--f-body)}
.empty{color:var(--muted);text-align:center;padding:28px 12px;border:1px dashed var(--line);border-radius:var(--r);font-size:14px}

/* mozo */
.tables{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:16px}
.tbl{border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center;background:var(--surface);font-size:12px;color:var(--muted);font-family:inherit}
.tbl b{display:block;font-family:var(--f-display);font-size:20px;color:var(--fg)}
.tbl.busy{background:var(--accent-soft);border-color:var(--accent)}
.tbl.need{background:var(--alert-soft);border-color:var(--alert)}
.feed{display:grid;gap:10px}
.card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:10px;padding:12px}
.card.listo{border-left-color:var(--ok)}
.card.mozo{border-left-color:var(--fg)}
.card.cuenta{border-left-color:var(--warn)}
.card.cocina{border-left-color:var(--alert)}
.card.barra{border-left-color:var(--accent)}
.card .hd{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.card .hd b{font-family:var(--f-display);font-size:17px}
.card .hd span{font-size:12px;color:var(--muted)}
.card ul{margin:6px 0 10px;padding-left:18px;font-size:14px}
.card p{margin:4px 0 10px;font-size:14px}
.sect{margin:18px 0 8px}

.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;z-index:60;max-width:calc(100% - 32px);text-align:center;box-shadow:0 6px 20px rgb(0 0 0 / .2)}
@media (prefers-reduced-motion:no-preference){.toast{animation:up .25s ease-out}@keyframes up{from{opacity:0;transform:translate(-50%,10px)}}}
.demo{font-size:12px;color:var(--muted);margin-top:18px;text-align:center}
.soldout h3,.soldout .price{color:var(--muted)}
.soldout .price{text-decoration:line-through}
.tk.hold{color:var(--alert)}
.tk.hold .box{border-color:var(--alert)}
.flag{font-style:normal;font-size:10px;font-weight:700;background:var(--fg);color:var(--ticket);padding:1px 5px;border-radius:3px;margin-left:6px;text-decoration:none;display:inline-block}
.tbtns{display:grid;gap:6px;margin-top:8px}
.ticket .tbtns .btn{margin-top:0}
.btn.ghost{background:transparent;border-color:var(--ticket-line)}
.quote{font-style:italic;color:var(--muted)}
.btnrow{display:flex;gap:6px;flex-wrap:wrap}
.soldbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px;font-size:13px;color:var(--muted)}
.picklist{display:grid;gap:6px;margin:8px 0 12px}
.pick{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left}
.pick[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}
.label{font-weight:600;margin:14px 0 6px;font-size:13px}
.trow small{color:var(--muted);margin-left:4px}
.tab.desk{display:none}
.banner{background:var(--ok-soft);border-radius:var(--r);padding:12px 14px;margin-bottom:14px;display:grid;gap:8px}
.banner b{font-family:var(--f-display);font-size:17px}
.banner.part{background:var(--warn-soft)}
.paybox{background:var(--sunk);border-radius:10px;padding:12px;margin:12px 0;display:grid;gap:10px}
.paybox p{margin:0;font-size:14px}
.or{text-align:center;color:var(--muted);font-size:13px;margin:14px 0 0}
.counter{display:flex;align-items:center;gap:12px}
.counter button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:18px}
.counter b{min-width:28px;text-align:center;font-size:18px}
.sum{display:grid;gap:4px;margin:12px 0;font-size:14px}
.sum div{display:flex;justify-content:space-between;gap:10px}
.sum .big{font-weight:700;font-size:17px;border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.gw{text-align:center;padding:6px 0}
.gw .amt{font-family:var(--f-display);font-size:34px;font-weight:800;margin:6px 0}
.spinner{width:38px;height:38px;border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;margin:18px auto}
@media (prefers-reduced-motion:no-preference){.spinner{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}
.okmark{width:60px;height:60px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center;font-size:30px;font-weight:700;margin:8px auto}
.card.pagado{border-left-color:var(--ok)}
.admin-wrap{max-width:960px;margin-inline:auto}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:12px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.stat span{font-size:12px;color:var(--muted)}
.stat b{display:block;font-family:var(--f-display);font-size:22px;font-variant-numeric:tabular-nums}
.seg{display:flex;gap:4px;background:var(--sunk);padding:4px;border-radius:10px;margin:16px 0;overflow-x:auto}
.seg button{flex:1;border:0;background:none;padding:9px 12px;border-radius:7px;font-weight:600;color:var(--muted);white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgb(0 0 0 / .12)}
.asec{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.asec h3{font-size:18px}
.asec .hint{color:var(--muted);font-size:13px;margin:4px 0 0}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.mrow:first-of-type{border-top:0}
.mrow small{color:var(--muted);display:block;font-size:12px}
.mrow .nm{font-weight:600}
.sw{width:42px;height:24px;border-radius:12px;border:0;background:var(--line);position:relative;flex:none;padding:0}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);transition:left .15s}
.sw[aria-checked="true"]{background:var(--accent)}
.sw[aria-checked="true"]::after{left:21px}
.swl{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.setrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.setrow small{display:block;color:var(--muted);font-size:12px}
.field{display:grid;gap:4px;margin-bottom:10px;min-width:0}
.field label{font-size:13px;font-weight:600}
.inp{font:inherit;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--fg);width:100%;min-width:0}
.inp:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.err{color:var(--alert);font-size:13px;margin:0 0 8px}
.qrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
.qrc{border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;background:var(--bg)}
.qrc .code{background:#ffffff;border-radius:8px;padding:8px;max-width:100%}
.qrc .code svg{width:100%;height:auto;display:block}
.qrc b{font-family:var(--f-display);font-size:18px;display:block;margin-top:6px}
.qrc small{color:var(--muted);font-size:11px;word-break:break-all}
.addrow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;margin-top:12px}
@media (max-width:620px){.addrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.addrow .inp:first-child,.addrow .btn{grid-column:1/-1}}
.role{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:2px 7px;background:var(--accent-soft);color:var(--accent)}
.role.Cocina{background:var(--ticket);color:var(--fg);border:1px solid var(--ticket-line)}
.role.Encargado{background:var(--sunk);color:var(--fg)}
.ph{padding:0;border:0;border-radius:10px;overflow:hidden;width:76px;height:76px;background:var(--sunk);cursor:zoom-in}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.soldout .ph{opacity:.5}
.bigph{width:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;background:var(--sunk)}
.phnote{font-size:12px;color:var(--muted);margin:6px 0 0}
.tkrow{display:flex;align-items:flex-start;gap:8px}
.tkrow .tk{flex:1;min-width:0}
.rbtn{flex:none;margin-top:4px;border:1px solid var(--ticket-line);background:var(--surface);border-radius:6px;padding:3px 8px;font-family:var(--f-body);font-size:12px;font-weight:600}
.rmeta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--muted);margin:6px 0 4px}
.rmeta b{color:var(--fg)}
.rgrid{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:14px;align-items:start}
@media (max-width:420px){.rgrid{grid-template-columns:minmax(0,1fr)}}
.ring{margin:0;padding-left:18px;display:grid;gap:4px}
.rph{margin:14px 0 0}
.rph img{width:100%;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.rph figcaption{font-size:11px;color:var(--muted);text-align:center;margin-top:4px}
.rsteps{margin:0;padding-left:20px;display:grid;gap:8px}
.rsteps li::marker{font-weight:700;color:var(--accent)}
.mname{display:flex;gap:10px;align-items:center;min-width:0}
.mth{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none}
.phedit{display:flex;gap:12px;align-items:flex-start}
.phedit img{width:96px;height:96px;object-fit:cover;border-radius:10px;flex:none;background:var(--sunk)}
.phbtns{display:grid;gap:6px;min-width:0;flex:1}
.phbtns small{color:var(--muted);font-size:12px}
textarea.inp{resize:vertical;min-height:80px}
.deskl{display:none}
@media (min-width:1100px){.deskl{display:inline}.mobl{display:none}}
@media (max-width:520px){.tab{flex:0 0 auto;padding-inline:9px;font-size:14px;gap:4px}}
.tbl .cap{display:block;font-size:10px;color:var(--muted);margin-top:1px}
.tbl.resv{background:var(--warn-soft);border-color:var(--warn)}
.resvnote{font-size:13px;background:var(--warn-soft);border-radius:8px;padding:8px 10px;margin:-8px 0 12px}
.waitgrid{display:grid;gap:20px;max-width:1000px;margin-inline:auto}
@media (min-width:860px){.waitgrid{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start}}
.wcol{min-width:0}
.phone{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:20px 16px;margin-top:8px;box-shadow:0 8px 24px rgb(0 0 0 / .08)}
.pos{text-align:center;display:grid;gap:2px;padding:6px 0 4px;color:var(--muted)}
.posn{font-family:var(--f-display);font-size:56px;font-weight:800;color:var(--accent);line-height:1}
.ready{text-align:center;display:grid;gap:4px;background:var(--ok-soft);border-radius:14px;padding:14px}
.ready b{font-family:var(--f-display);font-size:20px}
.ready small{color:var(--muted)}
.bigmesa{font-family:var(--f-display);font-size:40px;font-weight:800;color:var(--ok)}
.freebar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;margin-bottom:10px}
.chipst{font-size:12px;font-weight:600;border-radius:6px;padding:3px 8px;background:var(--sunk);white-space:nowrap}
.chipst.ok{background:var(--ok-soft);color:var(--ok)}
.wlist{display:grid;gap:8px}
.witem{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:4px 10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.witem.called{border-color:var(--ok);background:var(--ok-soft)}
.wpos{width:32px;height:32px;border-radius:50%;background:var(--sunk);display:grid;place-items:center;font-weight:700}
.called .wpos{background:var(--ok);color:var(--surface)}
.wmain{min-width:0}
.wmain small{display:block;color:var(--muted);font-size:12px}
.wbtns{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap}
.capc{justify-content:center;margin-top:6px;gap:8px}
.capc button{width:30px;height:30px;font-size:16px}
.capc b{font-size:16px;min-width:20px}
.capl{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.tbl.joined{border-style:dashed;border-width:2px}
.joinbox .choices{margin-bottom:8px}
.jfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;margin-bottom:6px}
.sugg{display:grid;gap:6px;background:var(--warn-soft);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}
.sugg .btn{justify-self:start}
.bigmesa.long{font-size:30px}
.joinbox .label{margin-top:12px}
.subcat{font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:12px 0 2px}
.acc .subcat:first-of-type{margin-top:0}
.tiph{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tiph span{color:var(--muted);font-size:13px;margin-right:auto}
.asec .subcat{margin:14px 0 0}
.item h3{letter-spacing:.02em}
.menunote{font-size:13px;color:var(--muted);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 4px;margin:16px 0 0;letter-spacing:.02em}
.resto p{letter-spacing:.04em}
body.nocaps .resto h1,body.nocaps .acc summary{text-transform:none;letter-spacing:0}
body.nocaps .acc summary{font-size:19px}
.resto .logo{max-height:72px;max-width:180px;display:block;margin-bottom:10px;object-fit:contain}
.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:12px}
.theme{display:grid;gap:4px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--bg)}
.theme[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.theme small{color:var(--muted);font-size:12px}
.sw3{display:flex}
.sw3 i{width:22px;height:22px;border-radius:50%;border:2px solid var(--surface);margin-right:-6px}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.inp.color{height:44px;padding:4px;cursor:pointer}
.logobox{width:96px;height:96px;border:1px dashed var(--line);border-radius:10px;display:grid;place-items:center;flex:none;background:var(--bg);font-size:12px;color:var(--muted);overflow:hidden}
.logobox img{max-width:88px;max-height:88px;object-fit:contain}
.preview{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg);display:grid;gap:8px;margin-top:12px}
.pv-name{font-family:var(--f-brand);font-size:26px;font-weight:var(--bw);letter-spacing:.16em;text-transform:uppercase}
.pv-sum{font-family:var(--f-brand);font-weight:var(--bw);letter-spacing:.14em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:8px}
body.nocaps .pv-name,body.nocaps .pv-sum{text-transform:none;letter-spacing:0}
.ovgrid{display:grid;gap:12px;margin-top:12px}
@media (min-width:900px){.ovgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ovwide{grid-column:1/-1}}
.ovgrid .asec{margin:0}
.umap{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px}
.ucard{display:grid;gap:2px;text-align:left;border:1px solid var(--line);border-left:5px solid var(--line);border-radius:10px;padding:10px;background:var(--bg)}
.ucard b{font-family:var(--f-display);font-size:16px}
.ucard .ust{font-size:13px;font-weight:600}
.ucard small{font-size:12px;color:var(--muted)}
.ucard.busy{border-left-color:var(--accent)}
.ucard.need{border-left-color:var(--alert);background:var(--alert-soft)}
.ucard.cuenta{border-left-color:var(--warn);background:var(--warn-soft)}
.ucard.resv{border-left-color:var(--warn)}
.ucard.free .ust{color:var(--muted)}
.ovrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.ovrow:first-of-type{border-top:0}
.ovrow em{font-style:normal;color:var(--muted);font-size:12px}
.ovrow em.late{color:var(--alert);font-weight:700}
.ovrow .who{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.bar{display:grid;grid-template-columns:minmax(0,1fr) 40% 28px;gap:8px;align-items:center;font-size:14px;padding:5px 0}
.bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar i{height:10px;border-radius:5px;background:var(--accent);display:block}
.bar b{text-align:right}
.stat small{font-size:12px;color:var(--muted);font-weight:500;font-family:var(--f-body)}
.role.Administrador{background:var(--accent);color:var(--accent-fg)}
@media (min-width:1100px){.tab.desk{display:flex}}
body{font-synthesis-weight:none}
.resto.hero{background-size:cover;background-position:center;border-radius:16px;padding:56px 18px 20px;color:#f6eee6;margin-bottom:16px}
.resto.hero .eyebrow{color:#f6eee6;opacity:.85;letter-spacing:.14em}
.resto.hero h1{font-size:34px;color:#fbf5ef}
.resto.hero p{color:#f6eee6;opacity:.85}
.heroBox{width:160px}
.heroBox img{max-width:152px;max-height:88px;object-fit:cover;border-radius:6px}
.secintro{font-size:13.5px;color:var(--muted);margin:0 0 6px;line-height:1.55;max-width:60ch}
.secnote{font-size:13px;text-align:center;color:var(--muted);border-top:1px solid var(--line);padding:10px 4px 14px;margin:0;letter-spacing:.04em;text-transform:uppercase}
.item .price{display:flex;flex-wrap:wrap;gap:2px 12px;font-weight:400;font-size:13px;color:var(--muted)}
.item .price b{color:var(--fg);font-weight:700;font-size:14px}
.item .price .pon b{color:var(--accent)}
body:not(.nocaps) .item h3{text-transform:uppercase;letter-spacing:.14em;font-size:14px}
details.intro{border:1px solid var(--line);border-radius:12px;padding:0 14px;margin-bottom:14px}
details.intro summary{cursor:pointer;padding:12px 0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
details.intro p{margin:0 0 14px;line-height:1.6;color:var(--fg);font-size:14px}
.toast{display:flex;align-items:center;gap:12px}
.tundo{border:0;background:transparent;color:var(--accent);font-weight:700;text-decoration:underline;padding:2px 4px;white-space:nowrap}
.undobox{display:grid;gap:8px;background:var(--warn-soft);border-radius:10px;padding:10px 12px;margin-top:12px;font-size:14px}
.undobox .btn{justify-self:start}
details.undolist{border:1px dashed var(--line);border-radius:10px;padding:0 12px;margin:-4px 0 12px;font-size:14px}
details.undolist summary{cursor:pointer;padding:9px 0;font-weight:600;color:var(--muted)}
.undolist .ovrow{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.adet{padding:0 16px}
.adet>summary{list-style:none;cursor:pointer;padding:14px 0}
.adet>summary::-webkit-details-marker{display:none}
.adet>summary .chev{color:var(--muted);transition:transform .2s}
.adet[open]>summary .chev{transform:rotate(180deg)}
.adbody{padding-bottom:12px;border-top:1px solid var(--line)}
.rank{display:grid;gap:2px;max-height:520px;overflow:auto;margin-top:6px}
.rrow{display:grid;grid-template-columns:28px minmax(0,1.3fr) minmax(0,1fr) 34px 96px;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:14px}
.rrow:first-child{border-top:0}
.rrow:nth-child(-n+3) .rpos{background:var(--accent);color:var(--accent-fg)}
.rpos{width:26px;height:26px;border-radius:50%;background:var(--sunk);display:grid;place-items:center;font-size:12px;font-weight:700}
.rname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rname small{display:block;font-size:11px;color:var(--muted)}
.rrow i{height:8px;border-radius:4px;background:var(--accent);display:block;opacity:.85}
.rrow b{text-align:right}
.rrow em{font-style:normal;text-align:right;color:var(--muted);font-size:13px}
@media (max-width:520px){.rrow{grid-template-columns:26px minmax(0,1fr) 30px 84px}.rrow i{display:none}}
.warnv{color:var(--warn)}
.errv{color:var(--alert)}
.logbar{display:grid;grid-template-columns:auto minmax(0,200px) minmax(0,1fr);gap:8px;align-items:center;margin-top:10px}
@media (max-width:760px){.logbar{grid-template-columns:minmax(0,1fr)}}
.loglist{max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:10px;font-family:var(--f-mono);font-size:12px}
.lrow{display:grid;grid-template-columns:72px 58px 84px minmax(110px,1fr) minmax(0,2fr);gap:8px;padding:6px 10px;border-top:1px solid var(--line);align-items:baseline}
.lrow:first-child{border-top:0}
.lhead{position:sticky;top:0;background:var(--sunk);font-weight:700;font-family:var(--f-body);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.lrow.error{background:var(--alert-soft)}
.lrow.warn{background:var(--warn-soft)}
.lmsg{overflow-wrap:anywhere}
.lv{font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:4px;background:var(--sunk)}
.lv.error{background:var(--alert);color:var(--surface)}
.lv.warn{background:var(--warn);color:var(--surface)}
@media (max-width:640px){.lrow{grid-template-columns:64px 50px minmax(0,1fr)}.lrow span:nth-child(3),.lrow span:nth-child(4){display:none}.lhead span:nth-child(3),.lhead span:nth-child(4){display:none}}
.bar.paybar{grid-template-columns:minmax(0,1fr) minmax(0,30%) auto}
.hbtns{display:flex;align-items:center;gap:8px}
.hbtn{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 9px;color:var(--fg)}
.hbtn[aria-pressed="false"]{color:var(--muted)}
.hbtn .badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;font-size:11px}
.sndhint{font-size:11px;font-weight:600;color:var(--accent)}
@media (max-width:520px){.hbtns small{display:none}}
.pops{position:fixed;top:calc(64px + env(safe-area-inset-top,0px));right:16px;z-index:70;display:grid;gap:8px;width:min(340px,calc(100% - 32px))}
.pop,.nrow{display:grid;gap:2px;text-align:left;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px rgb(0 0 0 / .25);font-size:13px;width:100%}
.pop b,.nrow b{font-size:14.5px}
.pop span,.nrow span{color:var(--muted)}
.pop .psec,.nrow .psec{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.pop.urgent,.nrow.urgent{border-left-color:var(--alert)}
.pop.urgent .psec,.nrow.urgent .psec{color:var(--alert)}
@media (prefers-reduced-motion:no-preference){.pop{animation:popin .28s ease-out}@keyframes popin{from{opacity:0;transform:translateX(24px)}}}
.nrow{box-shadow:none;margin-bottom:6px}
.nrow:not(.unread){opacity:.65}
.nrow.unread{background:var(--accent-soft)}
.tab.ping{color:var(--fg)}
.tab.ping::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}
@media (prefers-reduced-motion:no-preference){.tab.ping::after{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.6);opacity:.5}}}
.pane.flash{box-shadow:0 0 0 3px var(--accent) inset}
@media (prefers-reduced-motion:no-preference){.pane.flash{animation:flash 1.6s ease-out}@keyframes flash{0%,40%{box-shadow:0 0 0 3px var(--accent) inset}100%{box-shadow:0 0 0 0 transparent inset}}}
.vol{width:min(220px,50%);accent-color:var(--accent)}
[hidden]{display:none!important}
