/* Painel do Mineirão: celular-primeiro, legível de longe, alvos de toque grandes. Tokens em ds.css. */
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--f-texto);background:var(--pano);color:var(--cafe);min-height:100vh;padding-bottom:calc(74px + env(safe-area-inset-bottom))}
body.travado{position:fixed;left:0;right:0;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
a{color:var(--brasa)}
/* topo */
.topo{background:var(--mata);color:var(--pano);position:sticky;top:0;z-index:30;box-shadow:0 2px 12px rgba(0,0,0,.18);padding-top:env(safe-area-inset-top)}
.topo .in{max-width:1200px;margin:0 auto;padding:8px 14px;display:flex;align-items:center;gap:12px}
.topo .br{width:44px;flex:none}
.topo h1{font:400 1.1rem/1 var(--f-display);flex:1}
.topo h1 small{display:block;font:600 .7rem var(--f-texto);opacity:.75;margin-top:3px}
.loja-st{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700;background:rgba(255,255,255,.12);padding:0 12px;border-radius:999px;border:0;color:inherit;min-height:44px}
.loja-st i{width:9px;height:9px;border-radius:50%;background:var(--zap)}
.loja-st.off i{background:var(--brasa)}
.loja-st.pausa{background:var(--brasa)}
/* banners (som, offline, pedidos novos) */
.banners{position:sticky;top:60px;z-index:29;display:grid;gap:1px}
.banners>div{padding:10px 14px;font-weight:700;font-size:.88rem;display:flex;align-items:center;gap:10px;justify-content:center;cursor:pointer;min-height:44px}
.banners .som{background:var(--milho);color:var(--ferro)}
.banners .off{background:var(--ferro);color:#fff}
.banners .novos{background:var(--brasa);color:#fff;animation:pisca 1.2s infinite}
@keyframes pisca{50%{filter:brightness(1.25)}}
@media (prefers-reduced-motion:reduce){.banners .novos,.card.novo{animation:none}}
/* nav */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid rgba(62,39,24,.1);display:flex;justify-content:space-around;padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
.nav a{flex:1;text-decoration:none;color:var(--cafe);opacity:.65;font-size:.68rem;font-weight:700;text-align:center;display:grid;gap:2px;padding:6px 2px 4px;border-radius:10px;position:relative;min-height:52px;align-content:center}
.nav a.on{opacity:1;color:var(--brasa)}
.nav a b{font-size:1.35rem;line-height:1}
.nav a .cnt{position:absolute;top:2px;right:calc(50% - 24px);background:var(--brasa);color:#fff;font-size:.62rem;border-radius:999px;padding:2px 6px;min-width:18px}
@media (min-width:900px){
  body{padding-bottom:30px;padding-left:210px}
  .nav{top:60px;bottom:auto;left:0;width:210px;flex-direction:column;justify-content:flex-start;border:0;border-right:1px solid rgba(62,39,24,.1);height:calc(100vh - 60px);padding:14px 10px}
  .nav a{flex:0;display:flex;align-items:center;gap:10px;font-size:.9rem;padding:10px 12px;text-align:left;min-height:44px}
  .nav a b{font-size:1.15rem}.nav a .cnt{position:static;margin-left:auto}
  .banners{left:210px}
}
main{max-width:1200px;margin:0 auto;padding:12px 12px 20px}
h2{font:400 1.45rem var(--f-display);margin:6px 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
h2 .acoes{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
h3{font:700 .72rem var(--f-marca);letter-spacing:.16em;text-transform:uppercase;color:var(--madeira);margin:18px 0 8px}
/* botões */
.b{border:0;border-radius:12px;padding:.7em 1.1em;font-weight:700;font-size:.9rem;background:#fff;color:var(--cafe);box-shadow:0 1px 0 rgba(0,0,0,.06);display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;min-height:44px}
.b.p{background:var(--brasa);color:#fff}.b.v{background:var(--selo);color:#fff}.b.m{background:var(--mata);color:var(--pano)}.b.o{background:var(--ouro);color:var(--ferro)}
.b.s{padding:.45em .8em;min-height:40px;font-size:.82rem}.b.w{width:100%}
.b.g{min-height:54px;font-size:1.05rem;width:100%}
.b:disabled{opacity:.5;cursor:not-allowed}
.b.zap{background:var(--zap);color:#fff}
.b.perigo{color:var(--brasa)}
/* abas */
.abas{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px;scrollbar-width:none}
.abas button{flex:none;border:0;border-radius:999px;padding:.6em 1em;font-weight:700;font-size:.85rem;background:#fff;color:var(--cafe);min-height:44px}
.abas button.on{background:var(--mata);color:var(--pano)}
.abas button .n{background:rgba(0,0,0,.08);border-radius:999px;padding:0 .5em;margin-left:4px;font-size:.78rem}
.abas button.on .n{background:rgba(255,255,255,.2)}
/* quadro de pedidos */
.quadro{display:grid;gap:14px}
@media (min-width:900px){.quadro.kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
.secao>h3{display:flex;align-items:center;gap:8px;margin:4px 0 8px}
.secao>h3 .n{background:var(--mata);color:var(--pano);border-radius:999px;padding:1px 8px;font-size:.72rem}
.secao.novos>h3 .n{background:var(--brasa)}
.cards{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px) and (max-width:899px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lista>*,.cards>*,.kpis>*,.g2>*{min-width:0}
.card{background:#fff;border-radius:18px;box-shadow:0 1px 0 rgba(0,0,0,.05);position:relative;overflow:hidden;cursor:pointer}
.card.novo{outline:3px solid var(--brasa);animation:pulsa 1.6s infinite}
@keyframes pulsa{50%{box-shadow:0 0 0 6px rgba(198,43,58,.18)}}
.card .faixa{display:flex;align-items:center;gap:8px;padding:8px 14px;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--mata)}
.card .faixa>span:first-child{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .faixa.entrega{background:#1f5aa6}.card .faixa.retirada{background:var(--selo)}.card .faixa.mesa{background:var(--madeira)}
.card .faixa .cod{flex:none;margin-left:auto;font:700 1rem var(--f-marca);letter-spacing:.06em;text-transform:none;white-space:nowrap}
.card .corpo{padding:10px 14px 12px}
.card .cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.tempo{font-size:.8rem;font-weight:800;padding:.3em .6em;border-radius:8px;background:#e6f4e8;color:#1e7a34}
.tempo.amarelo{background:#fff1c9;color:#8a5a00}.tempo.vermelho{background:#fde0dc;color:#c0392b}
.tag{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.35em .6em;border-radius:6px;background:var(--pano-2);color:var(--cafe)}
.tag.ig{background:#fde2f3;color:#a81c6d}.tag.if{background:#fde0dc;color:#c0392b}.tag.gmn{background:#dcefdc;color:#1e7a34}.tag.qr{background:#e4e4f7;color:#3b3b9a}.tag.site{background:#fff1c9;color:#8a5a00}.tag.tt{background:#e0e0e0;color:#111}.tag.balcao{background:#e9e2d6}
.tag.st{background:var(--mata);color:var(--pano)}.tag.cancel{background:var(--brasa);color:#fff}.tag.ok{background:var(--selo);color:#fff}
.card .quem{font-weight:700;font-size:1.02rem}.card .sub{font-size:.86rem;opacity:.8}
.card ul{list-style:none;padding:0;margin:8px 0;font-size:1.05rem;font-weight:700;line-height:1.3}
.card ul li{padding:3px 0}.card ul small{opacity:.8;display:block;font-weight:500;font-size:.85rem}
.card .obs{background:var(--milho);color:var(--ferro);border-radius:10px;padding:8px 10px;font-weight:700;font-size:.92rem;margin:6px 0}
.card .brinde{color:var(--selo);font-weight:700;font-size:.9rem}
.card .pe{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.card .tot{font-weight:800;font-size:1.15rem}
.card .acao{margin-top:10px}
.wa{font-size:.75rem;opacity:.8}.wa.erro{color:var(--brasa);opacity:1;font-weight:700}
.vazio{text-align:center;opacity:.7;padding:30px 10px}
.skel{height:120px;border-radius:18px;background:linear-gradient(90deg,#efe5d3 25%,#f7f0e4 50%,#efe5d3 75%);background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}
/* modal */
.ov{position:fixed;inset:0;background:rgba(20,16,12,.55);z-index:60;display:none}
.ov.on{display:block}
.mod{position:fixed;left:0;right:0;bottom:0;z-index:70;max-height:94vh;max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--pano);border-radius:24px 24px 0 0;padding:0 0 calc(12px + env(safe-area-inset-bottom));transform:translateY(105%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;display:flex;flex-direction:column}
.mod.on{transform:none;visibility:visible;transition:transform .25s ease}
@media (min-width:900px){.mod{left:50%;right:auto;top:50%;bottom:auto;width:min(760px,92vw);transform:translate(-50%,-45%);border-radius:24px;max-height:90vh;opacity:0}.mod.on{transform:translate(-50%,-50%);opacity:1}}
.mod .topo-m{position:sticky;top:0;background:var(--pano);z-index:2;padding:8px 16px 6px;border-bottom:1px solid rgba(62,39,24,.08)}
.mod .puxa{width:44px;height:5px;border-radius:3px;background:rgba(62,39,24,.2);margin:0 auto 6px}
.mod h2{margin:0;font-size:1.3rem}
.mod h2 .x{margin-left:auto;border:0;background:none;font-size:1.7rem;line-height:1;width:44px;height:44px;margin-right:-10px}
.mod .corpo-m{padding:8px 16px 0}
.mod .pe-m{position:sticky;bottom:0;background:var(--pano);padding:10px 16px calc(6px + env(safe-area-inset-bottom));border-top:1px solid rgba(62,39,24,.08);margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}
.mod .pe-m .b{flex:1 1 140px}
/* formulários */
.f{display:grid;gap:10px}
.f label{display:grid;gap:4px;font-size:.82rem;font-weight:600}
.f input,.f select,.f textarea{border:1.5px solid rgba(62,39,24,.18);border-radius:12px;padding:.75em .9em;background:#fff;width:100%;font-size:16px;min-height:46px}
.f select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9'><path d='M1 1l6 6 6-6' fill='none' stroke='%233E2718' stroke-width='2'/></svg>") no-repeat right 14px center}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--brasa);border-color:transparent}
.f .l2,.f .l3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:600px){.f .l3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.f .chk{display:flex;align-items:center;gap:10px;flex-direction:row;font-weight:600;min-height:44px}
.f .chk input{width:22px;height:22px;accent-color:var(--brasa);min-height:0}
.f .bloco{background:#fff;border-radius:14px;padding:10px;display:grid;gap:8px}
.f .bloco .lin{display:grid;grid-template-columns:minmax(0,1fr) 96px 44px;gap:6px;align-items:center}
.f .bloco .lin input{padding:.5em .7em;min-height:44px}
.f .bloco .lin .rm{border:0;background:none;font-size:1.3rem;color:var(--brasa);min-height:44px}
.f .bloco .add{justify-self:start}
.sw{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;cursor:pointer;min-height:44px}
.sw input{appearance:none;width:48px;height:28px;border-radius:999px;background:#ccc;position:relative;transition:.2s;flex:none;margin:0}
.sw input::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.2s}
.sw input:checked{background:var(--selo)}.sw input:checked::after{left:23px}
.sw.brasa input:checked{background:var(--brasa)}
.msg{font-size:.86rem;font-weight:600;margin-top:6px}.msg.ruim{color:var(--brasa)}.msg.bom{color:var(--selo)}
.opcoes-rapidas{display:flex;gap:8px;flex-wrap:wrap}
.opcoes-rapidas button{flex:1 1 70px;min-height:52px;font-size:1.05rem}
/* listas */
.lista{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.row{background:#fff;border-radius:14px;padding:8px 12px;display:flex;align-items:center;gap:10px;min-height:56px;text-decoration:none;color:inherit}
.row img,.row .emo{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--pano-2);flex:none;display:grid;place-items:center;font-size:1.4rem}
.row .tx{flex:1;min-width:0}.row .tx b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .tx small{opacity:.8;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row.off{opacity:.55}
.row.clk{cursor:pointer}
.catbox{background:#fff;border-radius:18px;padding:12px;margin-bottom:12px}
.catbox .cab{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.catbox .cab b{font:400 1.15rem var(--f-display);flex:1;min-width:0}
.catbox .lista{gap:6px}.catbox .row{background:var(--pano);padding:6px 10px}
.ico{border:0;background:none;font-size:1.15rem;padding:0;width:44px;height:44px;opacity:.8;border-radius:10px}
.ico:hover{background:rgba(0,0,0,.05)}
.busca{display:flex;gap:8px;margin-bottom:10px}
.busca input{flex:1;min-width:0;border:1.5px solid rgba(62,39,24,.16);border-radius:12px;padding:.7em .9em;background:#fff;font-size:16px;min-height:46px}
/* kpis e relatórios */
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:700px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kpi{background:#fff;border-radius:16px;padding:14px}
.kpi small{font:700 .66rem var(--f-marca);letter-spacing:.12em;text-transform:uppercase;color:var(--madeira)}
.kpi b{display:block;font-size:1.5rem;margin:4px 0 2px}
.kpi span{font-size:.76rem;font-weight:700}.kpi .up{color:var(--selo)}.kpi .dn{color:var(--brasa)}
.graf{background:#fff;border-radius:16px;padding:12px;margin-top:10px}
.graf h3{margin-top:0}
.g2{display:grid;gap:10px}@media (min-width:900px){.g2{grid-template-columns:1fr 1fr}}
table{width:100%;border-collapse:collapse;font-size:.88rem}
td,th{text-align:left;padding:8px 4px;border-bottom:1px dashed rgba(138,90,53,.22)}
th{font:700 .66rem var(--f-marca);letter-spacing:.1em;text-transform:uppercase;color:var(--madeira)}
td.n,th.n{text-align:right;white-space:nowrap}
.periodo{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.periodo input,.periodo select{border:1.5px solid rgba(62,39,24,.18);border-radius:10px;padding:.5em .6em;background:#fff;font-size:16px;min-height:44px}
/* login */
.login{max-width:380px;margin:40px auto;background:#fff;border-radius:24px;padding:28px}
.login .br{width:120px;margin:0 auto 10px}
.login h2{justify-content:center}
/* timeline */
.tl{list-style:none;padding:0;font-size:.85rem}
.tl li{padding:5px 0;border-bottom:1px dashed rgba(138,90,53,.2)}
.tl li span{opacity:.7;margin-right:6px}
/* horários */
.hor{display:grid;gap:8px}
.hor .dia{background:#fff;border-radius:12px;padding:8px 10px;display:grid;grid-template-columns:70px 1fr;gap:6px;align-items:center}
.hor .dia b{font-size:.9rem}
.hor .turnos{display:grid;gap:6px}
.hor .turno{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 44px;gap:4px;align-items:center;font-size:.85rem;text-align:center}
.hor .turno input{padding:.4em .2em;min-width:0;width:100%;font-size:16px;min-height:44px}
.hor .turno .rm{border:0;background:none;color:var(--brasa);font-size:1.2rem;min-height:44px}
.hor .dia .b{justify-self:start}
.qrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.qrgrid .q{background:#fff;border-radius:14px;padding:12px;text-align:center;font-size:.85rem;font-weight:700;break-inside:avoid}
.qrgrid .q canvas,.qrgrid .q img{width:150px;height:150px;margin:0 auto 6px;display:block}
.doc{background:#fff;border-radius:14px;padding:12px;font-size:.86rem;overflow:auto}
.doc code{background:var(--pano);padding:.1em .4em;border-radius:5px}
.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ferro);color:#fff;padding:12px 18px;border-radius:999px;font-weight:700;font-size:.9rem;z-index:99;opacity:0;transition:.2s;pointer-events:none;display:flex;gap:12px;align-items:center;max-width:92vw}
.toast.on{opacity:1;pointer-events:auto}
.toast button{border:0;background:var(--ouro);color:var(--ferro);border-radius:999px;padding:.4em .9em;font-weight:800;min-height:36px}
@media (min-width:900px){.toast{bottom:30px}}
/* cozinha */
.cozinha .card ul{font-size:1.35rem}
.cozinha .card .faixa{font-size:.9rem}
/* impressão dentro do app */
#print-area{display:none}
@media print{
  body>*:not(#print-area){display:none!important}
  body{padding:0;background:#fff}
  #print-area{display:block;font:13px/1.35 'Courier New',monospace;color:#000;width:72mm;margin:0 auto;white-space:pre-wrap}
  #print-area.mm58{width:50mm;font-size:11px}
  #print-area.qr{width:auto;font-family:var(--f-texto)}
  @page{margin:4mm}
}
