/* Fechamento de caixa · Cantina do Délio — mesma linguagem da fila digital e do site (vinho com linho, papel creme, Gloock + Spectral + máquina de escrever, dourado). */
:root{
  --noite:#110b0a; --vinho:#6b1e23; --vinho-escuro:#4c1317; --vinho-fundo:#3a0e11; --tinta:#2a0a0c;
  --creme:#f6efe2; --creme-2:#d9cfbf; --creme-3:#a99d8c; --rosa:#ecd8cc; --ouro:#b8924a; --ouro-2:#d6b46e; --verde:#8fbf7a;
  --display:"Gloock",Georgia,serif; --texto:"Spectral",Georgia,serif; --maq:"Courier Prime","Courier New",monospace; --mao:"La Belle Aurore",cursive;
  --ease:cubic-bezier(.22,1,.36,1);
  --papel:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='360' height='360'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .27  0 0 0 0 .16  0 0 0 .2 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  --fibra:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.004 .55' numOctaves='2' seed='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .3  0 0 0 0 .2  0 0 0 .12 0'/></filter><rect width='100%25' height='100%25' filter='url(%23f)'/></svg>");
  --linho:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='480'><filter id='h'><feTurbulence type='fractalNoise' baseFrequency='.006 .62' numOctaves='2' seed='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .86  0 0 0 0 .78  0 0 0 .07 0'/></filter><filter id='v'><feTurbulence type='fractalNoise' baseFrequency='.62 .006' numOctaves='2' seed='9' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23h)'/><rect width='100%25' height='100%25' filter='url(%23v)'/></svg>");
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{min-height:100svh;color:var(--creme);font-family:var(--texto);font-weight:300;font-size:17px;line-height:1.55;
  background-color:var(--vinho-fundo);
  background-image:var(--linho),
    radial-gradient(ellipse 90% 55% at 50% 0%,rgba(255,200,160,.16),transparent 70%),
    radial-gradient(ellipse 120% 80% at 50% 30%,#7a2329 0%,#5a171c 40%,#3a0e11 80%,#2a0a0c 100%);
  background-attachment:fixed}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button,a,summary,label{touch-action:manipulation;-webkit-tap-highlight-color:rgba(214,180,110,.18)}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ouro-2);outline-offset:3px}
::selection{background:var(--ouro);color:var(--tinta)}

.papel{position:relative;color:var(--tinta);background-image:var(--papel),var(--fibra),linear-gradient(170deg,#fbf6ec,#efe3cd);
  box-shadow:0 1px 2px rgba(10,2,3,.3),0 12px 22px rgba(10,2,3,.3),0 34px 60px rgba(10,2,3,.3)}
.bt{display:flex;align-items:center;justify-content:center;gap:.6em;width:100%;min-height:56px;padding:1em 1.4em;border:0;font-family:var(--maq);font-size:.86rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  background:linear-gradient(180deg,#7d242a,#5e1a1f);color:var(--creme);box-shadow:inset 0 1px 0 rgba(255,220,200,.18),0 2px 3px rgba(42,10,12,.3),0 12px 24px rgba(42,10,12,.28);transition:transform .2s var(--ease),filter .3s}
.bt:active{transform:translateY(1px) scale(.995)}
.bt:disabled{filter:grayscale(.4) brightness(.8);cursor:wait}
.bt--ouro{background:linear-gradient(180deg,#d9b86f,#b48c45);color:#24140a;box-shadow:inset 0 1px 0 rgba(255,245,215,.6),0 2px 3px rgba(20,8,4,.3),0 14px 28px rgba(20,8,4,.35)}
.bt--linha{background:transparent;color:var(--creme);border:1px solid rgba(246,239,226,.45);box-shadow:none}

/* ---------- base das telas do fechamento ---------- */
body{font-size:16px}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.num-tab{font-variant-numeric:tabular-nums}
.rot{font-family:var(--maq);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.esp{flex:1}

/* entrar */
.login{min-height:100svh;display:grid;place-items:center;padding:24px 16px}
.login form{width:100%;max-width:400px;padding:36px 26px 28px;text-align:center}
.login .logo{width:128px;height:72px;margin:0 auto 18px;-webkit-mask:url(img/logo-creme.webp) center/contain no-repeat;mask:url(img/logo-creme.webp) center/contain no-repeat;background-color:var(--vinho)}
.login h1{font-family:var(--display);font-weight:400;font-size:2rem;line-height:1.1;margin-bottom:4px}
.login p{color:#6b5a4d;margin-bottom:22px;font-size:.98rem}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid rgba(107,30,35,.35);margin-bottom:18px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:.85em .4em;font-family:var(--maq);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vinho);cursor:pointer}
.seg input:checked+span{background:var(--vinho);color:var(--creme)}
.seg input:focus-visible+span{outline:2px solid var(--ouro);outline-offset:-4px}
.pin{width:100%;text-align:center;font-family:var(--display);font-size:2rem;letter-spacing:.3em;background:transparent;border:0;border-bottom:1px solid rgba(107,30,35,.4);padding:.2em 0 .2em .3em;color:var(--tinta);outline:none;margin-bottom:18px}
.pin:focus{border-bottom-color:var(--vinho)}
.msg{color:var(--vinho);min-height:1.5em;font-size:.95rem;margin-bottom:8px}

/* barra do topo */
.barra{position:sticky;top:0;z-index:10;background:rgba(42,10,12,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(214,180,110,.3)}
.barra .wrap{display:flex;align-items:center;gap:14px;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.barra .marca{width:70px;height:40px;flex:none;background:url(img/logo-creme.webp) center/contain no-repeat}
.barra .titulo{font-family:var(--display);font-size:1.3rem;line-height:1}
.barra .titulo small{display:block;font-family:var(--maq);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-2);margin-top:5px}
.link{background:none;border:0;font-family:var(--maq);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--creme-2);text-decoration:underline;text-underline-offset:4px;padding:.6em .2em}

/* controles escuros */
.campo-esc{display:flex;flex-direction:column;gap:4px}
.campo-esc span{font-family:var(--maq);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--creme-3)}
.campo-esc select,.campo-esc input{min-height:44px;background:rgba(246,239,226,.06);border:1px solid rgba(246,239,226,.28);border-radius:3px;padding:.5em .7em;color:var(--creme);font-family:var(--texto);font-size:1rem}
.campo-esc select option{color:#222}
.bt{border-radius:3px}
.bt--pq{width:auto;min-height:44px;padding:.7em 1.1em;font-size:.74rem}

/* números grandes */
.dinheiro{font-family:var(--display);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.sobe{color:#3d7a35}.desce{color:#a3343b}
.esc .sobe{color:var(--verde)}.esc .desce{color:#f0a19a}
.papel .sobe{color:#2f6b28}.papel .desce{color:#9b2a31}
.papel .esc .sobe{color:var(--verde)}.papel .esc .desce{color:#f0a19a}

/* aviso flutuante */
.aviso{position:fixed;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;z-index:50;display:flex;align-items:center;gap:14px;
  background:#1c0809;color:var(--creme);border:1px solid rgba(214,180,110,.4);padding:.8em 1.1em;border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.45);transition:.35s var(--ease);max-width:calc(100% - 32px)}
.aviso.on{opacity:1;transform:translate(-50%,0)}
.aviso button{background:none;border:0;color:var(--ouro-2);font-family:var(--maq);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}
.offline{background:#a3343b;color:#fff;text-align:center;font-family:var(--maq);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;padding:.5em}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
