/* Layout: barra di stato in alto, schede di lavoro, a sinistra la lista e a destra lo scontrino termico della comanda */
:root{
  --bg:#F1F4F0; --surface:#FFFFFF; --sunk:#E6EBE5; --line:#CFD8CF;
  --fg:#15201A; --muted:#5A6A60;
  --accent:#17694A; --accent-fg:#FFFFFF; --accent-soft:#DCEDE3;
  --new:#B4530A; --new-soft:#FBE9D2; --prep:#1F5FA8; --prep-soft:#DCE9F8;
  --ok:#17694A; --ok-soft:#DCEDE3; --bad:#B3261E; --bad-soft:#F9DEDC;
  --paper:#FFFEF8; --paper-ink:#1B1B1B;
  --display:"Bricolage Grotesque Variable","Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#111814; --surface:#1A231E; --sunk:#232E28; --line:#34423A;
  --fg:#E8EFEA; --muted:#9BAAA0;
  --accent:#5CC596; --accent-fg:#0C1A13; --accent-soft:#1F3A2D;
  --new:#F0A558; --new-soft:#3D2A12; --prep:#7FB2EE; --prep-soft:#1B2E46;
  --ok:#5CC596; --ok-soft:#1F3A2D; --bad:#F2928B; --bad-soft:#45201D;
  --paper:#F4F2E8; --paper-ink:#1B1B1B; color-scheme:dark } }
:root[data-theme="dark"]{
  --bg:#111814; --surface:#1A231E; --sunk:#232E28; --line:#34423A;
  --fg:#E8EFEA; --muted:#9BAAA0;
  --accent:#5CC596; --accent-fg:#0C1A13; --accent-soft:#1F3A2D;
  --new:#F0A558; --new-soft:#3D2A12; --prep:#7FB2EE; --prep-soft:#1B2E46;
  --ok:#5CC596; --ok-soft:#1F3A2D; --bad:#F2928B; --bad-soft:#45201D;
  --paper:#F4F2E8; --paper-ink:#1B1B1B; color-scheme:dark }

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:15px/1.45 var(--body);
  padding-block:20px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
h1{font-size:26px;line-height:1.1}
h2{font-size:18px}
h3{font-size:15px}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.small{font-size:13px}

.top{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.top .who{display:flex;flex-direction:column;gap:2px;min-width:0}
.demo{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.status{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.p-ok{background:var(--ok-soft);color:var(--ok)} .p-new{background:var(--new-soft);color:var(--new)}
.p-prep{background:var(--prep-soft);color:var(--prep)} .p-bad{background:var(--bad-soft);color:var(--bad)}
.p-off{background:var(--sunk);color:var(--muted)}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;font-weight:600}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.btn.sm{padding:5px 10px;font-size:13px}
.btn:disabled{opacity:.5;cursor:default}

.figures{display:flex;flex-wrap:wrap;gap:6px 28px;border-block:1px solid var(--line);padding-block:10px}
.figures div{display:flex;align-items:baseline;gap:8px}
.figures b{font-family:var(--display);font-size:20px}

.tabs{display:flex;gap:4px;overflow-x:auto}
.tab{border:0;background:none;padding:8px 14px;border-radius:8px;font-weight:600;color:var(--muted);white-space:nowrap}
.tab[aria-selected="true"]{background:var(--fg);color:var(--bg)}
.tab .n{margin-left:6px;font-size:12px;opacity:.8}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:20px;align-items:start}
@media (max-width:820px){.split{grid-template-columns:minmax(0,1fr)}}
.list{display:flex;flex-direction:column;gap:8px;min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-align:left;width:100%;display:flex;flex-direction:column;gap:6px}
button.card:hover{border-color:var(--accent)}
.card[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between}
.row>*{min-width:0}
.tag{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.mod{color:var(--new);font-weight:600}

.ticketbox{display:flex;flex-direction:column;gap:10px;min-width:0}
.ticket{background:var(--paper);color:var(--paper-ink);font:13px/1.5 var(--mono);padding:18px 14px 26px;white-space:pre;overflow-x:auto;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),96% 100%,92% calc(100% - 8px),88% 100%,84% calc(100% - 8px),80% 100%,76% calc(100% - 8px),72% 100%,68% calc(100% - 8px),64% 100%,60% calc(100% - 8px),56% 100%,52% calc(100% - 8px),48% 100%,44% calc(100% - 8px),40% 100%,36% calc(100% - 8px),32% 100%,28% calc(100% - 8px),24% 100%,20% calc(100% - 8px),16% 100%,12% calc(100% - 8px),8% 100%,4% calc(100% - 8px),0 100%)}
.ticket.fresh{animation:feed .5s ease-out}
@keyframes feed{from{transform:translateY(-14px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.ticket.fresh{animation:none}}

.daybar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.slot{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}
.slot b{font-family:var(--display);font-size:16px}
.bar{height:6px;border-radius:3px;background:var(--sunk);overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent)}
.slot.tight .bar i{background:var(--new)} .slot.full .bar i{background:var(--bad)}
.slot.full{background:var(--bad-soft)}
.add{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px}
label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted)}
input,select{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px 9px;min-width:0;width:100%;font-weight:400;color:var(--fg)}
.msg{font-size:13.5px;padding:8px 12px;border-radius:8px}
.msg.err{background:var(--bad-soft);color:var(--bad)} .msg.good{background:var(--ok-soft);color:var(--ok)}

details.card summary{cursor:pointer;list-style:none}
details.card summary::-webkit-details-marker{display:none}
.talk{display:flex;flex-direction:column;gap:6px;padding-top:8px}
.line{max-width:86%;padding:7px 11px;border-radius:12px;font-size:14px}
.line.ai{background:var(--accent-soft);align-self:flex-start;border-bottom-left-radius:3px}
.line.cl{background:var(--sunk);align-self:flex-end;border-bottom-right-radius:3px}
.line.sys{align-self:center;font:12px var(--mono);color:var(--muted);background:none;text-align:center;max-width:100%}
.line small{display:block;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--sunk);color:var(--fg)}
.chip.v{background:var(--prep-soft);color:var(--prep)}
.menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.menu .card.out{opacity:.55}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--fg);flex-direction:row}
.switch input{width:auto}
.note{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}

.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:20;
  padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
@media (min-width:640px){.overlay{align-items:center}}
.phone{background:var(--surface);border-radius:14px;width:min(520px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line)}
.phone .talk{overflow-y:auto;min-height:180px;max-height:52vh;padding:6px 2px}
.scen{display:flex;flex-wrap:wrap;gap:6px}

/* ---- aggiunte rispetto al prototipo ---- */
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh}
textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px 9px;width:100%;min-height:70px;resize:vertical}
a{color:var(--accent)}
[hidden]{display:none!important}
.accesso{max-width:400px;margin:8vh auto 0;display:flex;flex-direction:column;gap:14px}
.accesso form{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}
.griglia2{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.sezione{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:12px}
.giorno{display:grid;grid-template-columns:110px auto 1fr;gap:8px 12px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.giorno:first-of-type{border-top:0}
.giorno .ore{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.giorno input[type=time]{width:auto}
@media (max-width:560px){.giorno{grid-template-columns:1fr 1fr}.giorno .ore{grid-column:1/-1}}
table.t{width:100%;border-collapse:collapse;font-size:13.5px}
table.t th,table.t td{text-align:left;padding:6px 8px;border-top:1px solid var(--line);vertical-align:top}
table.t th{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-top:0}
.scorri{overflow-x:auto}
.pre{white-space:pre-wrap;font:12.5px/1.5 var(--mono);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;max-height:320px;overflow:auto;margin:0}
.msg.warn{background:var(--new-soft);color:var(--new)}
.pill.p-warn{background:var(--new-soft);color:var(--new)}
.inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inline>input,.inline>select{width:auto;flex:1 1 140px}
.dialogo{background:var(--surface);border-radius:14px;width:min(520px,100%);max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line)}
.qr{background:#fff;padding:8px;border-radius:8px;align-self:center}
.dettagli{border-top:1px dashed var(--line);padding-top:6px;display:flex;flex-direction:column;gap:3px}
.allergia{background:var(--bad-soft);color:var(--bad);font-weight:600;padding:6px 10px;border-radius:8px}
input[type=checkbox]{accent-color:var(--accent)}

/* ---------- sessione di assistenza ---------- */
.assistenza-banner{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;
  background:var(--new-soft);color:var(--fg);border:1px solid var(--new);border-radius:10px;padding:10px 14px;margin-bottom:14px}
.assistenza-banner b{color:var(--new)}
[hidden]{display:none !important}

/* ---------- nome del prodotto (solo testo, nessun logo) ---------- */
.marca{font-family:var(--display);font-weight:800;letter-spacing:.02em;color:var(--accent);margin-right:.55em;padding-right:.55em;border-right:2px solid var(--line)}
.marca-grande{font-family:var(--display);font-weight:800;letter-spacing:.02em;color:var(--accent)}

/* ---------- sospensione degli ordini e fasce di accettazione ---------- */
.pausa-banner{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;
  background:var(--bad-soft);color:var(--fg);border:1px solid var(--bad);border-radius:10px;padding:10px 14px;margin-bottom:14px}
.pausa-banner b{color:var(--bad)}
.acc-blocco{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}

/* ---------- magazzino ---------- */
.magazzino{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.magazzino .card{gap:8px}
.magazzino .card.out{opacity:.6}
.scorta-riga{display:flex;gap:6px;align-items:stretch}
.scorta-riga input{flex:1 1 64px;min-width:56px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;background:var(--surface)}
.scorta-riga .btn{flex:none;min-width:46px;padding-inline:8px;font-variant-numeric:tabular-nums}
.scorta-par{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.scorta-par label{flex-direction:row;align-items:center;gap:6px;font-weight:500;font-size:13px}
.scorta-par input{width:64px;padding:4px 6px;text-align:center}
.variante-mag{border-top:1px dashed var(--line);padding-top:8px;display:flex;flex-direction:column;gap:6px}
button.pill{border:0;cursor:pointer;font-family:inherit}
button.chip{border:0;cursor:pointer;font-family:inherit;padding:3px 10px}
table.t td.piu{color:var(--ok);font-weight:600} table.t td.meno{color:var(--bad);font-weight:600}
