/* ═══════════════════════════════════════════════════════════════════════
   MusicWhats — base compartilhada entre entrar.html e painel.html
   Mesma paleta e tipografia da landing: o painel é a mesma casa,
   só com a luz acesa. Regra de cor: latão = destaque, verde = WhatsApp,
   aço = etiqueta, osso = texto.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --noite:    #0D1418;
  --noite-2:  #131C21;
  --noite-3:  #1B272D;
  --linha:    rgba(236,231,220,.13);
  --linha-2:  rgba(236,231,220,.22);
  --papel:    #ECE7DC;
  --papel-2:  rgba(236,231,220,.62);
  --papel-3:  rgba(236,231,220,.42);
  --latao:    #E3A64A;   /* acento GRÁFICO: barra, ponto, medidor */
  --latao-2:  #F2C87E;   /* pico, hover */
  /* Acento de TEXTO: verde do WhatsApp, 10:1 de contraste no breu. */
  --verde:    #25D366;
  --verde-2:  #7BE8A6;
  --aco:      #7F9CA9;   /* etiqueta e metadado */
  --zap:      #25D366;   /* só onde a coisa É WhatsApp */
  --erro:     #E8776C;

  --display: "Darker Grotesque", "Arial Narrow", system-ui, sans-serif;
  --corpo:   "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:    "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --larg: 1080px;
  --gut: clamp(18px, 4vw, 40px);
  --r: 16px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--noite);color:var(--papel);
  font-family:var(--corpo);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--papel)}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;line-height:.95;letter-spacing:-.02em}
p{margin:0}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--papel);outline-offset:3px;border-radius:6px}

.env{width:100%;max-width:var(--larg);margin-inline:auto;padding-inline:var(--gut)}

.rotulo{
  font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--aco);
}

/* ── marca ── */
.marca{
  font-family:var(--display);font-weight:900;font-size:25px;
  letter-spacing:-.03em;text-decoration:none;white-space:nowrap;
}
.marca em{font-style:normal;color:var(--verde)}

/* ── topo ── */
.topo{
  position:sticky;top:0;z-index:40;
  background:rgba(13,20,24,.9);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
}
.topo .env{display:flex;align-items:center;gap:14px;height:64px}
.topo .esticar{flex:1}

/* ── botões ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--zap);color:#06231A;border:0;border-radius:999px;
  padding:13px 22px;font-size:15.5px;font-weight:600;cursor:pointer;
  text-decoration:none;
  box-shadow:0 1px 0 rgba(255,255,255,.26) inset;
  transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s ease,opacity .15s ease;
}
.btn:hover{background:#2ee776;transform:translateY(-1px)}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.btn svg{width:18px;height:18px;flex:none}
.btn.peq{padding:9px 16px;font-size:14px}
.btn.bloco{width:100%}
.btn.fantasma{
  background:transparent;color:var(--papel);border:1px solid var(--linha-2);
  box-shadow:none;
}
.btn.fantasma:hover{background:rgba(236,231,220,.07);border-color:var(--papel-3)}
.btn.latao{background:var(--latao);color:var(--noite)}
.btn.latao:hover{background:var(--latao-2)}

.link{
  background:none;border:0;padding:0;color:var(--papel-2);cursor:pointer;
  font-size:14px;text-decoration:underline;text-decoration-color:var(--linha-2);
  text-underline-offset:3px;
}
.link:hover{color:var(--papel)}

/* ── cartões ── */
.cartao{
  background:var(--noite-2);border:1px solid var(--linha);
  border-radius:var(--r);padding:clamp(18px,3vw,26px);
}

/* ── crachá de saldo ── */
.saldo{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:13px;font-weight:700;
  background:rgba(227,166,74,.12);border:1px solid rgba(227,166,74,.4);
  color:var(--verde);border-radius:999px;padding:7px 14px;white-space:nowrap;
}

/* ── campos ── */
.campo{display:block;margin-bottom:16px}
.campo > span{
  display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--aco);margin-bottom:8px;
}
.campo input{
  width:100%;background:var(--noite);border:1px solid var(--linha-2);
  color:var(--papel);border-radius:12px;padding:15px 16px;
  font-family:var(--corpo);font-size:17px;
}
.campo input:focus{outline:none;border-color:var(--verde)}
.campo input::placeholder{color:var(--papel-3)}
.campo input.codigo{
  font-family:var(--mono);font-size:30px;font-weight:700;
  letter-spacing:.34em;text-align:center;padding:16px 8px;
}

.aviso{
  margin-top:14px;border-radius:12px;padding:13px 15px;font-size:14.5px;line-height:1.45;
  border:1px solid rgba(232,119,108,.4);background:rgba(232,119,108,.10);color:#F3D8D2;
}
.aviso.bom{border-color:rgba(37,211,102,.4);background:rgba(37,211,102,.10);color:#CFF6DF}
.aviso a{color:inherit;font-weight:600}

/* ── PIX ── */
.pixcod{
  font-family:var(--mono);font-size:11.5px;line-height:1.5;word-break:break-all;
  background:var(--noite);border:1px dashed var(--linha-2);border-radius:12px;
  padding:13px;color:var(--papel-2);max-height:132px;overflow:auto;
}
.pixqr{
  width:190px;height:190px;background:#fff;border-radius:12px;padding:9px;
  margin-inline:auto;
}

/* ── vazio ── */
.vazio{text-align:center;padding:clamp(34px,7vw,64px) 20px}
.vazio h3{font-size:clamp(1.7rem,4.5vw,2.3rem);margin-bottom:10px}
.vazio p{color:var(--papel-2);max-width:42ch;margin-inline:auto;margin-bottom:22px}

/* ── carregando ── */
.girando{
  width:19px;height:19px;border-radius:50%;flex:none;
  border:2px solid rgba(6,35,26,.28);border-top-color:#06231A;
  animation:gira .7s linear infinite;
}
@keyframes gira{to{transform:rotate(360deg)}}

/* ── modal ── */
.veu{
  position:fixed;inset:0;z-index:60;background:rgba(5,10,12,.85);
  backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;
}
.veu .caixa{
  width:100%;max-width:440px;max-height:90vh;overflow-y:auto;
  background:var(--noite-2);border:1px solid var(--linha-2);
  border-radius:22px;padding:clamp(22px,4vw,32px);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9);
}
.veu h2{font-size:clamp(1.8rem,5vw,2.3rem);margin-bottom:6px}
.veu .fecha{position:absolute;top:16px;right:18px}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}
