*,*::before,*::after{box-sizing:border-box}
/* Classes com display (ex.: .lg-wrap flex) venceriam o [hidden] do navegador e o elemento não sumiria. */
[hidden]{display:none!important}
body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1f2933;background:#f4f6f8}
:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
button{font:inherit}
/* ---- Login split-panel CLARO v2 (padrão ConciergeCloud) ---- */
.lg-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 30% 20%,#ffffff 0%,#e7edf3 70%)}
.lg-card{display:grid;grid-template-columns:1.05fr 1fr;width:100%;max-width:960px;min-height:520px;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.12)}
.lg-brand{background:linear-gradient(150deg,var(--brand) 0%,var(--brand-dark) 55%,var(--rose) 120%);color:#fff;padding:40px 36px;display:flex;flex-direction:column}
.lg-emblem{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:800;font-size:1.3rem;border:1px solid rgba(255,255,255,.35)}
.lg-brand h1{margin:18px 0 4px;font-size:1.9rem}
.lg-tag{margin:0;font-size:.75rem;letter-spacing:.16em;opacity:.85}
.lg-value{margin:18px 0 10px;font-size:1.02rem}
.lg-diffs{list-style:none;padding:0;margin:0 0 auto}.lg-diffs li{padding:4px 0}.lg-diffs li::before{content:"✓ ";font-weight:800}
.lg-foot{margin:24px 0 0;font-size:.8rem;opacity:.85}
.lg-form{padding:44px 40px;display:flex;flex-direction:column;justify-content:center}
.lg-pill{align-self:flex-start;background:#eef2f6;color:#475569;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}
.lg-form h2{margin:14px 0 2px;font-size:1.5rem;color:#0f172a}.lg-sub{margin:0 0 18px;color:#64748b;font-size:.9rem}
.lg-form label{display:block;font-weight:600;font-size:.88rem;margin:10px 0 4px;color:#334155}
.lg-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font:inherit}
.pw{position:relative}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;min-width:40px;min-height:40px}
.btn-login{margin-top:18px;width:100%;min-height:48px;border:0;border-radius:10px;background:var(--brand-dark);color:#fff;font-weight:700;cursor:pointer}
.err{color:#b42318;min-height:1.2em;margin:8px 0 0;font-size:.9rem}
.lg-legal{margin-top:18px;font-size:.78rem;color:#64748b;text-align:center}
@media (max-width:780px){.lg-card{grid-template-columns:1fr;min-height:0}.lg-brand{padding:24px}.lg-diffs,.lg-value{display:none}.lg-form{padding:24px}}
/* ---- App ---- */
.bar{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:56px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10;flex-wrap:wrap}
.bar-brand{font-weight:800;color:var(--brown);display:flex;align-items:center;gap:8px}
.bar-dot{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--rose))}
.tabs{display:flex;gap:4px;overflow:auto;flex:1}
.tab{border:0;background:none;padding:8px 12px;border-radius:8px;cursor:pointer;color:#475569;font-weight:600;white-space:nowrap;min-height:40px}
.tab[aria-selected=true]{background:#fff4ea;color:var(--brand-dark)}
.who{font-size:.85rem;color:#64748b;display:flex;gap:8px;align-items:center}
.demo{background:#1f2933;color:#fde68a;text-align:center;font-size:.8rem;padding:4px}
.main{padding:16px 20px;max-width:none;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-weight:600;color:#1f2933}
.btn.pri{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.btn.ok{background:#15803d;border-color:#15803d;color:#fff}
.btn.danger{background:#fff;border-color:#dc2626;color:#b91c1c}
.btn.sm{min-height:32px;padding:4px 10px;font-size:.85rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.toolbar h2{margin:0 auto 0 0;font-size:1.2rem}
.board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:12px;overflow-x:auto}
.col{background:#eef2f6;border-radius:12px;padding:10px;min-height:200px}
.col h3{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;display:flex;justify-content:space-between}
.card{background:#fff;border-radius:10px;padding:10px;margin-bottom:8px;border-left:4px solid #cbd5e1;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.card.st-recebido{border-left-color:#f59e0b}.card.st-aceito,.card.st-em_preparo{border-left-color:#3b82f6}.card.st-pronto,.card.st-saiu_entrega{border-left-color:#8b5cf6}.card.st-concluido{border-left-color:#16a34a}.card.st-cancelado,.card.st-recusado{border-left-color:#dc2626;opacity:.7}
.card.late{box-shadow:0 0 0 2px #dc2626}
.card .t{display:flex;justify-content:space-between;font-weight:700}
.card .m{font-size:.85rem;color:#64748b}
.pill{display:inline-block;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700;background:#e2e8f0;color:#334155}
.pill.pago{background:#dcfce7;color:#166534}.pill.pendente{background:#fef3c7;color:#92400e}.pill.parcial{background:#e0e7ff;color:#3730a3}.pill.estornado{background:#fee2e2;color:#991b1b}
.pill.ch-whatsapp{background:#dcfce7;color:#166534}.pill.ch-site{background:#ffedd5;color:#9a3412}.pill.ch-balcao{background:#e0f2fe;color:#075985}
.kds{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.kcard{background:#fff;border-radius:12px;padding:14px;border-top:6px solid #3b82f6}
.kcard.late{border-top-color:#dc2626}
.kcard h3{margin:0;display:flex;justify-content:space-between;font-size:1.3rem}
.kcard ul{padding-left:18px;font-size:1.05rem}.kcard li small{display:block;color:#b45309;font-weight:600}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}
.table th,.table td{padding:8px 10px;border-bottom:1px solid #eef2f6;text-align:left;font-size:.9rem;vertical-align:top}
.table th{background:#f8fafc;color:#475569;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.num{text-align:right!important;font-variant-numeric:tabular-nums}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.kpi{background:#fff;border-radius:12px;padding:14px}.kpi b{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums}.kpi span{color:#64748b;font-size:.85rem}
.note{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;font-size:.88rem}
dialog{border:0;border-radius:14px;padding:0;width:min(720px,calc(100vw - 16px));max-height:calc(100dvh - 24px)}
dialog::backdrop{background:rgba(15,23,42,.5)}
.dh{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e2e8f0}.dh h2{margin:0;font-size:1.15rem}
.db{padding:14px 16px;overflow:auto;max-height:calc(100dvh - 160px)}
.df{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #e2e8f0}
.x{border:0;background:none;font-size:1.5rem;cursor:pointer;min-width:40px;min-height:40px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:700px){.grid2{grid-template-columns:1fr}.board{grid-template-columns:repeat(4,85vw)}}
label.f{display:block;font-size:.85rem;font-weight:600;margin:8px 0 4px}
.in{width:100%;min-height:40px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}
.ev{font-size:.85rem;color:#475569;border-left:2px solid #e2e8f0;padding:2px 0 2px 10px;margin:4px 0}
.msg{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#0f172a;color:#fff;padding:10px 16px;border-radius:10px;z-index:99;max-width:90vw}
.msg.bad{background:#b91c1c}
/* ---- Barra lateral (padrão dos ERPs ConciergeCloud) ---- */
.shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}
.side{background:linear-gradient(180deg,var(--brown) 0%,#3a1e12 100%);color:#f3e3d6;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 12px;overflow-y:auto}
.side-brand{display:flex;align-items:center;gap:10px;padding:0 6px 14px;border-bottom:1px solid rgba(255,255,255,.12)}
.side-logo{flex:0 0 42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand),var(--rose))}
.side-brand b{display:block;color:#fff;font-size:1rem;line-height:1.15}
.side-brand small{display:block;font-size:.6rem;letter-spacing:.14em;color:#f6b98f;margin-top:3px}
.side-grp{margin:16px 10px 6px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.side-nav a,.side-soon,.side-foot a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:.92rem;color:#f3e3d6;text-decoration:none;line-height:1.2}
.side-nav a{cursor:pointer}.side-nav a:hover,.side-foot a:hover{background:rgba(255,255,255,.08);color:#fff}
.side-nav a.active{background:var(--brand-dark);color:#fff;box-shadow:inset 3px 0 0 #fff}
.side-soon{color:rgba(243,227,214,.45);cursor:not-allowed}
.side-soon em{margin-left:auto;flex-shrink:0;white-space:nowrap;font-style:normal;font-size:.62rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:1px 7px}
.ic{width:20px;text-align:center}
.side-foot{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.side-foot a{cursor:pointer;color:#d8c2b2}
.side-who{padding:4px 12px 8px;color:#fff;font-weight:600;font-size:.9rem}.side-who small{display:block;font-weight:400;color:#c9ab97;font-size:.75rem}
.col{min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:12px;padding:0 20px;min-height:58px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}
.topbar h1{margin:0;font-size:1.15rem;color:#1f2933}
.demo-pill{margin-left:auto;background:#1f2933;color:#fde68a;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:700;letter-spacing:.06em}
.burger{display:none;border:1px solid #cbd5e1;background:#fff;border-radius:8px;min-width:40px;min-height:40px;font-size:1.2rem;cursor:pointer}
.side-bg{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:55}
.m{color:#64748b;font-size:.85rem}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;width:272px;z-index:60;transform:translateX(-100%);transition:transform .25s ease}
  .side.open{transform:none}
  .burger{display:inline-flex;align-items:center;justify-content:center}
  .main{padding:12px}
}
/* ---- Montador do cardápio do dia ---- */
.mt{max-width:none;display:grid;gap:14px}
.mt-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}
.mt-card h2{margin:0 0 10px;font-size:1.02rem;color:var(--brown)}
.mt-list{list-style:none;margin:0;padding:0}
.mt-list li{display:grid;grid-template-columns:minmax(0,1fr) 112px auto;gap:8px;align-items:center;padding:8px 6px;border-bottom:1px solid #f1f5f9;border-radius:8px}
.mt-list li.off{opacity:.5}.mt-list li.warn{background:#fff7ed}
.mt-list li.mt-empty{display:block;color:#64748b}
.mt-name{display:flex;flex-direction:column;gap:2px;font-weight:600}
label.mt-name{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}
.mt-name small{flex-basis:100%;color:#b45309;font-weight:600;font-size:.8rem}
.mt-price{text-align:right}
.mt-mv{display:flex;gap:4px}
.mt-add{display:flex;gap:8px;margin-top:10px}.mt-add .in{flex:1}
.mt-new{margin-top:10px}.mt-new summary{cursor:pointer;color:var(--brand-dark);font-weight:600}
.mt-actions{position:sticky;bottom:0;z-index:5;display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:10px 0;background:linear-gradient(transparent,#f4f6f8 30%)}
.mt-actions .err{margin:0 auto 0 0}
.mt-imgs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:10px}
.mt-imgs figure{margin:0}.mt-imgs canvas{width:100%;height:auto;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.mt-imgs figcaption{font-size:.8rem;color:#64748b;text-align:center;margin-top:6px}
.mt-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mt-share a.btn{text-decoration:none}
@media (max-width:600px){.mt-imgs{grid-template-columns:1fr}.mt-list li{grid-template-columns:minmax(0,1fr) 96px}.mt-mv{grid-column:1/-1;justify-content:flex-end}}
/* ---- Financeiro ---- */
.fin{display:grid;gap:14px;max-width:none}
.subtabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;padding-bottom:6px}
.subtabs button{border:0;background:none;padding:8px 12px;border-radius:8px;font-weight:600;color:#475569;cursor:pointer;min-height:38px}
.subtabs button[aria-selected=true]{background:#fff4ea;color:var(--brand-dark)}
.toolbar.per{gap:8px;align-items:flex-end}.toolbar.per label{display:flex;flex-direction:column;font-size:.8rem;font-weight:600;color:#475569}
.fin-neg{color:#b91c1c}
.kpi-hi{background:#fff4ea;border:1px solid #f6c9a8}.kpi-hi b{color:var(--brand-dark)}
.fin-h{font-size:1.05rem;margin:8px 0 0}
.fin-warn{border-color:#fdba74;background:#fff7ed}
.table.dre td,.table.dre th{font-size:.92rem}
.dre-total td{background:#f8fafc;font-weight:800}
.dre-det{font-size:.75rem;color:#64748b;font-weight:400;margin-top:2px}
.fin-canc td{opacity:.5;text-decoration:line-through}.fin-canc td:last-child,.fin-canc td:nth-child(6){text-decoration:none}
.fin-late td{background:#fef2f2}
.fin-in{max-width:120px;text-align:right}
.fin-chk{display:flex;align-items:center;gap:8px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fin-cols{align-items:start}
details.mt-card summary{cursor:pointer}
@media (max-width:700px){.grid3{grid-template-columns:1fr}}
/* ---- WhatsApp ---- */
.kpi-ok{background:#ecfdf5;border:1px solid #a7f3d0}.kpi-ok b{color:#047857}
.wa-pair{text-align:center}.wa-qr{display:flex;justify-content:center;margin:12px 0}.wa-qr img{border:8px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.12);border-radius:8px}
.wa-code{font-size:1.4rem;letter-spacing:.12em}
.wa-chat{background:#efeae2;border-radius:12px;padding:12px;min-height:180px;max-height:420px;overflow:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.wa-b{max-width:78%;padding:8px 12px;border-radius:12px;font-size:.92rem;white-space:pre-wrap;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.wa-cli{align-self:flex-end;background:#d9fdd3}.wa-ia{align-self:flex-start;background:#fff}.wa-sys{align-self:center;background:#fef3c7;font-size:.8rem}
/* Estoque (F2): linhas de compra e de ficha técnica */
.grid4{display:grid;grid-template-columns:2fr 1fr 90px 1.2fr;gap:8px;align-items:center;margin:6px 0}
.fx-row{grid-template-columns:2fr 1fr 90px 44px}
@media (max-width:700px){.grid4{grid-template-columns:1fr 1fr}}
/* Telas de gestão no celular: a página não rola de lado; tabela larga rola dentro dela */
.fin{grid-template-columns:minmax(0,1fr)}
@media (max-width:700px){.main .table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
.col>.main{width:100%;min-width:0;box-sizing:border-box}
/* Montador: sugestão automática */
.mt-sug{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.mt-sug label{display:flex;gap:6px;align-items:center}.mt-sug select{width:auto;min-height:36px}
.mt-name small.m{display:block;font-weight:400;color:#64748b}
/* ---- Painel de abertura ---- */
.pn{display:grid;gap:18px;max-width:none}
.pn-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.pn-top h2{margin:0;font-size:1.6rem;color:var(--brown)}.pn-top p{margin:2px 0 0;text-transform:none}
.pn-tools{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.pn-tools label{display:flex;flex-direction:column;font-size:.75rem;font-weight:700;color:#64748b}.pn-tools .in{width:auto;min-height:40px}
.pn-now{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.pn-now-c{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #e9ddd2;border-radius:14px;padding:14px 16px;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.pn-now-c:hover{border-color:var(--brand);transform:translateY(-1px)}
.pn-now-c span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.pn-now-c b{font-size:1.45rem;color:var(--brown);font-variant-numeric:tabular-nums}.pn-now-c small{color:#64748b}
.pn-now-c.alert{border-color:#f3b4a6;background:#fff7f5}.pn-now-c.alert small{color:#b42318;font-weight:700}
.pn-pers{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pn-per{background:#fff;border:1px solid #e9ddd2;border-radius:18px;padding:18px;display:flex;flex-direction:column}
.pn-per header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.pn-per h3{margin:0;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-dark)}.pn-per header small{color:#94a3b8;font-size:.75rem}
.pn-hoje{background:linear-gradient(160deg,#fff,#fff6ee);border-color:#f2c9a8}
.pn-big{margin:10px 0 0;font-size:1.9rem;font-weight:800;color:var(--brown);font-variant-numeric:tabular-nums;line-height:1.1}
.pn-sub{margin:0;color:#64748b;font-size:.82rem}
.pn-d{display:inline-block;margin:8px 0 10px;font-weight:800;font-size:.82rem;color:#64748b}.pn-d small{font-weight:600}
.pn-d.up{color:#15803d}.pn-d.down{color:#b42318}
.pn-rows{margin:0;display:grid;gap:0;border-top:1px solid #f1e7de}
.pn-rows div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f6efe9;font-size:.9rem}
.pn-rows dt{color:#64748b}.pn-rows dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.pn-rows dd.warn{color:#b45309}.pn-rows .pn-res{border-bottom:0;padding-top:10px}.pn-res dt{color:var(--brown);font-weight:800}
.pn-rows dd.pos{color:#15803d}.pn-rows dd.neg{color:#b42318}
.pn-charts{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.pn-charts{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.pn-card{background:#fff;border:1px solid #e9ddd2;border-radius:18px;padding:18px;min-width:0}
.pn-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pn-card h3{margin:0;font-size:1rem;color:var(--brown)}.pn-card header small{color:#94a3b8}
.pn-card h4{margin:16px 0 8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.pn-bars{display:flex;align-items:flex-end;gap:3px;height:180px;padding-bottom:20px}
.pn-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;min-width:0}
.pn-bar i{display:block;width:100%;background:#f2c9a8;border-radius:4px 4px 0 0;transition:background .2s}
.pn-bar:hover i{background:var(--brand)}.pn-bar.hl i{background:var(--brand-dark)}
.pn-bar span{position:absolute;bottom:-18px;font-size:.66rem;color:#94a3b8;white-space:nowrap}
.pn-month{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pn-top8{list-style:none;margin:0;padding:0;counter-reset:t}
.pn-top8 li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:2px 8px;align-items:baseline;padding:7px 0;border-bottom:1px solid #f6efe9;counter-increment:t}
.pn-top8 li::before{content:counter(t);font-weight:800;color:var(--brand-dark);grid-row:span 2}
.pn-top8 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-top8 b{font-variant-numeric:tabular-nums}.pn-top8 small{grid-column:2/4;color:#94a3b8}
.pn-share{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pn-share div{display:flex;justify-content:space-between;gap:8px;font-size:.9rem}.pn-share b{font-variant-numeric:tabular-nums}
.pn-share i{display:block;height:8px;background:#f6efe9;border-radius:99px;margin:4px 0 2px;overflow:hidden}.pn-share em{display:block;height:100%;background:var(--brand);border-radius:99px}
.pn-share small{color:#94a3b8;font-size:.75rem}
/* Montador › Itens fixos e adicionais */
.tbl-wrap{overflow-x:auto}.fx-t td{padding:6px 6px;vertical-align:middle}.fx-t td.c{text-align:center}.fx-t .in{min-height:38px}
.fx-t td:nth-child(1) .in{min-width:120px}
.fx-it td:nth-child(2) .in{min-width:230px}.fx-it td:nth-child(3) .in{min-width:150px}.fx-ad td:nth-child(1) .in{min-width:260px}.fx-t td:nth-child(4) .in{width:96px}
/* Montador: acompanhamentos por prato (chips) e itens à parte do dia */
.mt-chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:2px}
.chip{display:inline-flex;align-items:center;gap:4px;background:#fff4ea;border:1px solid #f2c9a8;color:#7a3e1e;border-radius:999px;padding:3px 4px 3px 10px;font-size:.85rem}
.chip button{border:0;background:none;cursor:pointer;color:#b4521a;font-size:1rem;line-height:1;width:22px;height:22px;border-radius:50%}
.chip button:hover{background:#f2c9a8}
.chip-add{width:180px;min-height:32px;padding:3px 10px;font-size:.85rem;border-radius:999px}
.mt-fx{border:1px solid #e9ddd2;border-radius:12px;margin:0 0 10px;padding:8px 12px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.mt-fx legend{font-weight:800;color:var(--brown);padding:0 4px}.mt-fx label{display:flex;gap:6px;align-items:baseline;font-size:.92rem}
.mt-fx small{color:#64748b}.mt-fx b{margin-left:auto;font-variant-numeric:tabular-nums}
/* ---- Impressão: ticket 80 mm e cartaz A4 com QR (public/assets/ticket.js) ---- */
#print-area{display:none}
@media print{
  body.printing>*:not(#print-area){display:none!important}
  body.printing #print-area{display:block!important}
  body.printing{background:#fff!important}
}
.pa-80{font:12px/1.35 "Courier New",ui-monospace,monospace;color:#000;width:72mm}
.tk{break-after:page;page-break-after:always;padding:0 1mm}
.tk:last-child{break-after:auto;page-break-after:auto}
.tk hr{border:0;border-top:1px dashed #000;margin:2mm 0}
.tk-h{text-align:center;font-size:13px;text-transform:uppercase}.tk-h div{font-weight:700;letter-spacing:1px;border:1px solid #000;display:inline-block;padding:0 2mm;margin-top:1mm}
.tk-n{text-align:center;font-size:28px;font-weight:800;margin:1mm 0}
.tk-row{display:flex;justify-content:space-between;gap:2mm}.tk-meta{font-size:11px}
.tk-i{margin:1mm 0}.tk-s{font-size:11px;padding-left:4mm}
.tk-c{margin:1mm 0}.tk-small{font-size:10px}
.tk-big{font-size:15px;font-weight:800}
.tk-pay{border:2px solid #000;padding:1.5mm;margin:2mm 0}.tk-pay.ok{text-align:center;font-weight:800;font-size:14px}
.tk-qr{text-align:center;margin-top:2mm;font-size:10px}.tk-qr img{width:26mm;height:26mm;image-rendering:pixelated}
.pa-a4 .qr-poster{text-align:center;font-family:Georgia,serif;color:#1f130d}
.qr-poster h1{font-size:40pt;font-style:italic;margin:10mm 0 2mm}.qp-k{font:700 22pt/1.2 system-ui,sans-serif;margin:0 0 8mm}
.qr-poster img{width:120mm;height:120mm;image-rendering:pixelated}.qp-s{font:14pt/1.4 system-ui,sans-serif;margin:6mm 0 0}.qp-u{font:600 13pt system-ui,sans-serif;margin:4mm 0 0}
.qr-prev{text-align:center}.qr-prev img{width:220px;height:220px;image-rendering:pixelated;border:1px solid #e2e8f0;border-radius:8px}
#acerto h3{text-transform:none;letter-spacing:0;font-size:1rem;color:var(--brown);margin:0 0 10px}
/* Pedido de balcão: lista por seção com + / − e total ao vivo */
.bl-cat{margin:12px 0 4px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.bl-list{display:grid;gap:4px}
.bl-it{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;border:1px solid #eef2f6;border-radius:10px}
.bl-it.on{border-color:var(--brand);background:#fff7f0}.bl-it.off{opacity:.5}
.bl-it small{display:block;color:#64748b}
.bl-q{display:flex;align-items:center;gap:6px}.bl-q button{width:36px;height:36px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;font-size:1.2rem;cursor:pointer}
.bl-q b{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.bl-foot{justify-content:space-between;align-items:center}.bl-total{font-weight:800;font-size:1.1rem;color:var(--brown);margin:0}
/* ---- Cartões de pedido grandes (caixa) e cozinha com letra maior ---- */
.board{grid-template-columns:repeat(4,minmax(260px,1fr))}
.card.big{padding:14px 14px 12px;border-radius:14px;border-left-width:6px;margin-bottom:10px;transition:transform .15s,box-shadow .15s}
.card.big:hover,.card.big:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.12)}
.card.big .t{align-items:baseline}.card.big .cn{font-size:1.5rem;font-weight:800}.card.big .ct{font-size:1.05rem}
.card.big .cw{font-size:1.05rem;font-weight:700;margin:2px 0}
.card.big .ci{list-style:none;margin:8px 0;padding:8px 0 0;border-top:1px dashed #e2e8f0;font-size:.95rem;display:grid;gap:2px}
.card.big .ci small{color:#b45309;font-weight:700}
.card.big .cnote{font-size:.85rem;background:#fff7ed;border-radius:8px;padding:4px 8px;margin-bottom:6px}
.card.big .cp{display:flex;flex-wrap:wrap;gap:4px}
.kcard{padding:18px;border-radius:16px}.kcard h3{font-size:1.6rem}.kcard ul{font-size:1.2rem;line-height:1.5}.kcard .btn{min-height:52px;font-size:1.1rem;width:100%}
/* ---- App do entregador (celular) ---- */
.drv .side,.drv .burger,.drv .side-bg{display:none!important}
.drv .shell,.shell.drv{grid-template-columns:1fr}
.drv .topbar{gap:10px}.drv .topbar h1{flex:1}
.dv{max-width:560px;margin:0 auto;display:grid;gap:12px}
.dv-head{display:flex;justify-content:space-between;align-items:center}.dv-head b{font-size:1.3rem;display:block}.dv-head small{color:#64748b;text-transform:capitalize}
.dv-ref{width:48px;height:48px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;font-size:1.3rem}
.dv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dv-kpis div{background:#fff;border-radius:14px;padding:10px;text-align:center}
.dv-kpis b{display:block;font-size:1.2rem}.dv-kpis span{font-size:.75rem;color:#64748b}
.dv-route{display:block;text-align:center;background:#1a73e8;color:#fff;text-decoration:none;font-weight:800;font-size:1.15rem;padding:16px;border-radius:16px}
.dv-route small{display:block;font-weight:500;font-size:.8rem;opacity:.9}
.dv-h{margin:8px 0 0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.dv-card{background:#fff;border-radius:18px;padding:16px;border-top:6px solid var(--brand);display:grid;gap:8px}
.dv-top{display:flex;justify-content:space-between;align-items:baseline}.dv-n{font-size:1.8rem;font-weight:800}.dv-t{color:#64748b}
.dv-pay{border-radius:12px;padding:10px 12px;font-size:1rem}.dv-pay.due{background:#fef3c7;color:#78350f}.dv-pay.ok{background:#dcfce7;color:#14532d;font-weight:800;text-align:center}
.dv-inf{font-size:.85rem;margin-top:4px}
.dv-name{font-size:1.25rem;font-weight:800}.dv-addr{font-size:1.05rem;line-height:1.4}.dv-items{font-size:.95rem;color:#334155;border-top:1px dashed #e2e8f0;padding-top:6px}
.dv-note{font-size:.9rem;background:#f1f5f9;border-radius:8px;padding:6px 8px}
.dv-act{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.dv-b{display:flex;align-items:center;justify-content:center;gap:8px;min-height:62px;border-radius:14px;border:1px solid #cbd5e1;background:#fff;font-size:1.4rem;text-decoration:none;color:#0f172a;cursor:pointer}
.dv-b span{font-size:1rem;font-weight:700}.dv-b.ok{background:#16a34a;border-color:#16a34a;color:#fff}.dv-b.warn{border-color:#f59e0b;background:#fffbeb}
.dv-b[aria-disabled=true]{opacity:.4;pointer-events:none}
.dv-mini{background:#fff;border-radius:12px;padding:10px 12px;font-size:.95rem}
.dv-empty{background:#fff;border-radius:14px;padding:18px;text-align:center;color:#64748b}.dv-foot{font-size:.85rem;color:#64748b;text-align:center}
.dv-dlg .dv-pick{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.dv-pick button{min-height:48px;padding:0 14px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:1rem}
.dv-pick button.on{background:var(--brand);border-color:var(--brand);color:#fff}.dv-big{font-size:1.4rem;min-height:52px}
.eq-new{border:2px solid #16a34a}.table tr.off{opacity:.55}
/* ---- Montar com figurinhas ---- */
.fg-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.fg-t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:92px;padding:8px 6px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font:inherit;font-size:.82rem;line-height:1.15;text-align:center;color:#0f172a;transition:transform .1s,border-color .15s,background .15s}
.fg-t:hover{border-color:#f2c9a8;transform:translateY(-1px)}
.fg-t .fg-i{font-size:2rem;line-height:1}
.fg-t.on{background:#fff4ea;border:2px solid var(--brand);color:#7a3e1e;font-weight:700}
.fg-t small{color:#64748b;font-weight:600}
.fg-k{position:absolute;top:4px;right:6px;font-size:.7rem;background:var(--brand);color:#fff;border-radius:999px;padding:0 6px}
.fg-l{margin:14px 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.fg-l small{text-transform:none;letter-spacing:0;font-weight:500}
.fg-ops{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fg-ops li{border:1px solid #e9ddd2;border-radius:16px;background:#fff;overflow:hidden}.fg-ops li.open{border:2px solid var(--brand)}
.fg-row{display:grid;grid-template-columns:58px 44px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:10px 12px;border:0;background:none;cursor:pointer;font:inherit;text-align:left}
.fg-n{font-weight:800;color:var(--brand-dark)}.fg-ri{font-size:1.9rem}.fg-rt b{display:block}.fg-rt small{color:#64748b}.fg-rp{font-weight:800;font-size:1.05rem;white-space:nowrap}
.fg-ed{padding:4px 14px 14px;border-top:1px dashed #e9ddd2;background:#fffdfa}
.fg-search{margin-top:8px}.fg-search .in{max-width:420px}
.fg-new{display:flex;gap:8px;margin-top:10px;max-width:640px}.fg-new .in{flex:1;min-width:0}.fg-new .in.fg-np{flex:0 0 120px}
.fg-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fg-price button{width:52px;height:52px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;font-size:1.5rem;cursor:pointer}
.fg-price .in{width:120px;font-size:1.4rem;font-weight:800;text-align:center;min-height:52px}
.fg-line{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;font-weight:700}
.fg-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fg-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.fg-add .fg-t{min-height:70px;width:96px}
.fg-pages{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.fg-pages img{width:min(340px,100%);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
/* Cartões de indicador alinhados: título em cima, número sempre na mesma linha embaixo (mesmo com título em 2 linhas). */
.kpi{display:flex;flex-direction:column;border:1px solid transparent}
.kpi>span{line-height:1.3}
.kpi>b{margin-top:auto;padding-top:10px;line-height:1.15}
/* Kanban: arrastar cartão entre colunas */
.card.big[draggable=true]{cursor:grab}.card.big.dragging{opacity:.45;cursor:grabbing}
.board .col{transition:background .15s,outline-color .15s;outline:2px dashed transparent;outline-offset:-4px;min-height:220px}
.board .col.drop{background:#fff4ea;outline-color:var(--brand)}
/* Cozinha em quadro: A fazer · Em preparo · Prontos hoje */
.kboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.kcard h3 span{white-space:nowrap}

.kcol{background:#eef2f6;border-radius:14px;padding:10px;min-height:260px;display:grid;gap:10px;align-content:start;outline:2px dashed transparent;outline-offset:-4px;transition:background .15s,outline-color .15s}
.kcol.drop{background:#fff4ea;outline-color:var(--brand)}
.kcol-h{margin:0 0 2px;display:flex;justify-content:space-between;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#475569}
.kcard[draggable=true]{cursor:grab}.kcard.dragging{opacity:.45}
.kcard.kst-em_preparo{border-top-color:#f59e0b}.kcard.kst-pronto,.kcard.kst-saiu_entrega,.kcard.kst-concluido{border-top-color:#16a34a}
.kcard.kst-saiu_entrega,.kcard.kst-concluido{opacity:.7}
.kcard .btn.sm{min-height:40px;font-size:.95rem}
@media (max-width:1000px){.kboard{grid-template-columns:repeat(3,minmax(250px,80vw));overflow-x:auto;padding-bottom:8px}}

/* Montador com figurinhas ocupa a largura toda: as figurinhas se espalham pela tela */
.mt.fg{max-width:none}
.mt.fg .grid2{max-width:640px}
@media (min-width:1400px){.mt.fg .fg-g{grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:10px}.mt.fg .fg-t{min-height:104px;font-size:.88rem}.mt.fg .fg-t .fg-i{font-size:2.3rem}
  .mt.fg .fg-add{gap:10px}.mt.fg .fg-add .fg-t{flex:1 1 112px;max-width:160px;width:auto}}

/* Cartões de tamanho único (caixa e cozinha): o resto do pedido abre no clique */
.ci1{display:flex;gap:6px;align-items:baseline;min-width:0;border-top:1px dashed #e2e8f0;margin-top:8px;padding-top:8px;font-size:.95rem}
.ci1t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ci1 small{color:#b45309;font-weight:700}
.cmore{flex:none;font-size:.76rem;font-weight:800;background:#eef2ff;color:#3730a3;border-radius:999px;padding:1px 8px}
.pill.obs{background:#fff7ed;color:#b45309;border-color:#fed7aa}
.card.big.uni{height:198px;display:flex;flex-direction:column;overflow:hidden}
.card.big.uni .cw,.card.big.uni .cm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card.big.uni .cp{margin-top:auto;flex-wrap:nowrap;overflow:hidden}.card.big.uni .cp .pill{flex:none}
.kcard.uni{height:165px;padding:11px 13px;border-radius:13px;border-top-width:5px;display:flex;flex-direction:column;overflow:hidden;cursor:pointer}
.kcard.uni h3{gap:8px;font-size:1.2rem}
.kcard.uni .km{display:flex;gap:4px;align-items:center;margin-top:2px;white-space:nowrap;overflow:hidden;font-size:.82rem}.kcard.uni .km .m{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-right:2px}.kcard.uni .km .pill{flex:none}
.kcard.uni .ci1{font-size:1rem;margin-top:6px;padding-top:6px}
.kcard.uni .btn{margin-top:auto;min-height:38px;font-size:.98rem;padding:6px 10px}
.kd .kdl{list-style:none;padding:0;margin:10px 0;font-size:1.25rem;line-height:1.5;display:grid;gap:6px}.kd .kdl small{display:block;color:#b45309;font-weight:600;font-size:1rem}
.kd .kd-a .btn{width:100%;min-height:54px;font-size:1.15rem;margin-top:8px}
.lk{margin:4px 0 0;padding-left:18px;display:grid;gap:4px;font-size:.92rem}.lk a{color:var(--brand-dark);font-weight:700;word-break:break-all}
/* Novo pedido pelo caixa: origem (balcão/telefone ou WhatsApp) e retirada/entrega */
.bl-seg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0}.bl-seg .m{min-width:60px;font-weight:700}
.bl-seg button{min-height:44px;padding:8px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;font:inherit;font-weight:600;cursor:pointer}
.bl-seg button.on{background:#fff4ea;border:2px solid var(--brand);color:#7a3e1e}
.bl-addr{border:1px solid #e9ddd2;border-radius:12px;padding:8px 12px 12px;margin:12px 0 0;display:grid;gap:8px}.bl-addr legend{font-weight:800;color:var(--brown);padding:0 4px}
/* Janelas: cabeçalho e rodapé sempre visíveis, só o meio rola (no celular o rodapé quebrava e o botão sumia) */
dialog[open]{display:flex;flex-direction:column}
dialog>.dh,dialog>.df{flex:none}
dialog>.db{flex:1 1 auto;min-height:0;max-height:none}
@media (max-width:600px){.bl-foot .btn{flex:1 1 100%;min-height:48px}.dh h2{font-size:1.02rem}}

/* Ponto de referência do endereço numa linha própria do cartão (ex.: Acquaplay) */
.card.big.uni .cref{min-height:1.25em;font-size:.86rem;font-weight:700;color:#b4521a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.in.in-err{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.15)}
