:root{
  --campo:#1E5638; --campo-2:#2A6F49; --cal:#FFFFFF; --refletor:#F2C230;
  --tinta:#16231B; --suave:#5B6B60; --papel:#F3F6F2; --cartao:#FFFFFF; --linha:#D8E2DA;
  --ocupado:#E7ECE8; --ok:#1E7A45; --veu-fundo:rgba(243,246,242,.84); --alerta:#B3261E;
  --display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --texto:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --campo:#173F2A; --campo-2:#215A3B; --tinta:#E8EFEA; --suave:#9FB0A5; --papel:#0F1712;
    --cartao:#17221B; --linha:#2B3A30; --ocupado:#1C2820; --ok:#5BC58A; --veu-fundo:rgba(10,18,13,.80); --alerta:#F2867E; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --campo:#173F2A; --campo-2:#215A3B; --tinta:#E8EFEA; --suave:#9FB0A5; --papel:#0F1712;
  --cartao:#17221B; --linha:#2B3A30; --ocupado:#1C2820; --ok:#5BC58A; --veu-fundo:rgba(10,18,13,.80); --alerta:#F2867E; color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
html{min-height:100%}
body{min-height:100vh;min-height:100dvh;background-color:var(--papel);background-image:linear-gradient(var(--veu-fundo),var(--veu-fundo)),url("fundo.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}
@supports (-webkit-touch-callout:none){body{background-attachment:scroll}}
body{margin:0;color:var(--tinta);font-family:var(--texto);font-size:17px;line-height:1.45}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--refletor);outline-offset:2px}

header{background:var(--campo);color:var(--cal);position:relative;overflow:hidden}
header .marcas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
header .veu{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,22,16,.55) 0%,rgba(8,22,16,.72) 100%)}
.topo{position:relative;max-width:720px;margin:0 auto;padding:22px 20px 26px}
.barra{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:34px;flex-wrap:wrap}
.barra a{color:var(--cal);font-weight:600;text-decoration:none;border:1.5px solid rgba(255,255,255,.55);padding:6px 14px;border-radius:999px;font-size:15px}
.barra a[aria-current="page"]{background:var(--refletor);color:#16231B;border-color:var(--refletor)}
.local{font-family:var(--display);font-weight:600;font-size:20px;color:var(--refletor);margin:18px 0 0;letter-spacing:.3px}
h1{font-family:var(--display);font-weight:700;font-size:44px;line-height:1;margin:4px 0 6px;letter-spacing:.2px}
.sub{margin:0;opacity:.85;max-width:34ch}

main{max-width:720px;margin:0 auto;padding:0 20px 48px}
.dias{display:flex;gap:8px;overflow-x:auto;padding:18px 0 14px;scrollbar-width:none;margin-top:-6px}
.dias::-webkit-scrollbar{display:none}
.dia{flex:0 0 auto;min-width:64px;border:1.5px solid var(--linha);background:var(--cartao);border-radius:14px;padding:8px 10px;text-align:center;cursor:pointer}
.dia b{display:block;font-family:var(--display);font-size:24px;line-height:1.05}
.dia span{font-size:13px;color:var(--suave)}
.dia[aria-pressed="true"]{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.dia[aria-pressed="true"] span{color:inherit;opacity:.8}
.dia small{display:block;font-size:11px;margin-top:2px;color:var(--suave)}
.dia[aria-pressed="true"] small{color:inherit}

h2{font-family:var(--display);font-size:28px;margin:10px 0 4px}
.nota{color:var(--suave);font-size:15px;margin:0 0 14px}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.hora{border:none;border-radius:12px;padding:14px 6px;background:var(--cartao);box-shadow:inset 0 0 0 1.5px var(--campo-2);cursor:pointer;text-align:center}
.hora b{font-family:var(--display);font-size:24px;display:block;line-height:1.1;white-space:nowrap}
.hora span{font-size:13px;color:var(--suave)}
.hora:hover{background:var(--campo);color:var(--cal)}
.hora:hover span{color:inherit}
.hora[disabled]{background:var(--ocupado);box-shadow:none;cursor:not-allowed;color:var(--suave)}
.hora[disabled] b{text-decoration:line-through;text-decoration-thickness:2px}
.vazio{padding:28px 0;color:var(--suave)}
.aviso{background:var(--cartao);border-left:4px solid var(--refletor);padding:12px 14px;border-radius:8px;margin:14px 0;font-size:15px}

/* folha de reserva */
.fundo{position:fixed;inset:0;background:rgba(10,20,14,.55);display:none;align-items:flex-end;justify-content:center;z-index:20}
.fundo.aberto{display:flex}
.folha{background:var(--cartao);width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom,0px));max-height:92vh;overflow:auto;animation:sobe .22s ease-out}
@media (prefers-reduced-motion:reduce){.folha{animation:none}}
@keyframes sobe{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.folha h3{font-family:var(--display);font-size:30px;margin:0 0 2px}
label{display:block;font-weight:600;font-size:15px;margin:14px 0 6px}
select{width:100%;padding:12px 14px;border:1.5px solid var(--linha);border-radius:10px;background:var(--papel)}
h4{margin:22px 0 0;font-size:17px}
.sec{font-family:var(--display);font-size:24px;margin:24px 0 2px}
.selo.fixo{background:var(--campo-2);color:#fff}
.fixo-linha{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--linha)}
.fixo-linha .btn{padding:8px 12px;font-size:14px;border-radius:10px}
input{width:100%;padding:12px 14px;border:1.5px solid var(--linha);border-radius:10px;background:var(--papel)}
input:focus{border-color:var(--campo-2);outline:none;box-shadow:0 0 0 3px rgba(242,194,48,.45)}
.erro{color:var(--alerta);font-size:14px;margin:6px 0 0;min-height:1em}
.acoes{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.btn{border:none;border-radius:12px;padding:13px 18px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn.principal{background:var(--campo);color:var(--cal);flex:1}
.btn.zap{background:#1F9E55;color:#fff;flex:1}
.btn.leve{background:transparent;box-shadow:inset 0 0 0 1.5px var(--linha)}
.btn[disabled]{opacity:.55;cursor:wait}
.pix{background:var(--papel);border:1.5px dashed var(--linha);border-radius:12px;padding:12px 14px;margin-top:14px;word-break:break-all}
.pix.pagar{border-style:solid;border-color:var(--campo-2)}
.pix p{margin:0 0 6px;font-size:14px;color:var(--suave)}

/* painel */
.config{background:var(--cartao);border-radius:14px;padding:4px 16px 16px;margin:14px 0;border:1.5px solid var(--linha)}
.config summary{cursor:pointer;font-weight:600;padding:12px 0}
.linha-res{background:var(--cartao);border:1.5px solid var(--linha);border-radius:14px;padding:12px 14px;margin-bottom:10px;display:grid;grid-template-columns:70px 1fr;gap:4px 12px;align-items:start}
.linha-res .h{font-family:var(--display);font-size:22px;line-height:1.1}
.hbtn{border:none;background:none;padding:0;text-align:left;cursor:pointer;color:inherit;text-decoration:underline dotted;text-underline-offset:4px}
.hbtn.ajustado{color:var(--refletor);text-decoration-style:solid}
.hora.ajustado{box-shadow:inset 0 0 0 2px var(--refletor)}
.linha-res.livre{background:transparent;border-style:dashed;color:var(--suave);align-items:center}
.linha-res dl{margin:0;font-size:15px}
.linha-res dt{font-weight:600;display:inline}
.linha-res dd{display:inline;margin:0}
.linha-res .mini{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;grid-column:2}
.mini .btn{padding:8px 12px;font-size:14px;border-radius:10px}
.selo{display:inline-block;font-size:13px;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:6px}
.selo.pago{background:var(--ok);color:#fff}
.selo.pendente{background:var(--refletor);color:#16231B}
.mesnav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 6px}
.mesnav h2{margin:0;text-align:center}
.mesnav .btn{font-size:22px;padding:6px 16px}
.numeros{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:10px 0 18px}
.num{background:var(--cartao);border:1.5px solid var(--linha);border-radius:14px;padding:10px 14px}
.num b{display:block;font-family:var(--display);font-size:28px;line-height:1.1}
.num span{font-size:14px;color:var(--suave)}
.item{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--linha)}
.quando{color:var(--suave)}
.quando b{font-family:var(--display);font-size:22px;color:var(--tinta)}
.selo.cancelada{background:var(--ocupado);color:var(--suave)}
.btn.armado{background:var(--alerta)!important;color:#fff!important;box-shadow:none}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--tinta);color:var(--papel);padding:12px 18px;border-radius:12px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:30;max-width:90vw}
#toast.visivel{opacity:1;transform:translate(-50%,0)}
.resumo{display:flex;gap:18px;margin:6px 0 14px;font-size:15px;color:var(--suave)}
.resumo b{color:var(--tinta);font-family:var(--display);font-size:22px;margin-right:4px}
.barra a,.barra button{color:var(--cal);font-weight:600;text-decoration:none;border:1.5px solid rgba(255,255,255,.55);padding:6px 14px;border-radius:999px;font-size:15px;background:none;cursor:pointer}
.barra a[aria-current="page"]{background:var(--refletor);color:#16231B;border-color:var(--refletor)}
.login{max-width:380px;margin:28px auto 0;background:var(--cartao);border:1.5px solid var(--linha);border-radius:16px;padding:8px 20px 22px}
