/* ═══════════════════════════════════════════════════════════════════════════
   C.R.E.S.C.E.R. · a cara do LeOS (a mesma do MENTE, da FORJA, do NASCER, do PAL e do SELO)
   Fábrica de tintas, não startup: grafite quente, Amarelo Sinal RAL 1003 para o que
   está ativo ou é a ação principal, verde para o que deu certo, vermelho para o que
   falta. Barlow no texto, Barlow Condensed caixa alta nos rótulos (etiqueta de lata),
   IBM Plex Mono só em número, código e data.
   ═══════════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  --chao: #131416; --chapa: #1a1c1f; --chapa-2: #23262a; --risco: #2d3035; --risco-2: #3a3e44;
  --texto: #ebe8e1; --apagado: #9b968c; --fraco: #6b675f;
  --sinal: #f5b400; --sinal-forte: #ffc933; --sinal-fundo: rgba(245,180,0,.10); --sobre-sinal: #1a1400;
  --bom: #4cc38a; --bom-fundo: rgba(76,195,138,.10);
  --ruim: #ef6f66; --ruim-fundo: rgba(239,111,102,.10);
  --aviso: #e8a33a; --aviso-fundo: rgba(232,163,58,.10);
  --leo: #6f9fe6; --leo-fundo: rgba(60,120,216,.14);
  --f-texto: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-rotulo: 'Barlow Condensed', 'Barlow', sans-serif;
  --f-num: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
  --raio: 6px;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; background: var(--chao); color: var(--texto); font-family: var(--f-texto); font-size: 15px; line-height: 1.45; }
a { color: var(--sinal); text-decoration: none; }
a:hover { color: var(--sinal-forte); }
:focus-visible { outline: 2px solid var(--sinal); outline-offset: 2px; }
.num, .mono { font-family: var(--f-num); font-variant-numeric: tabular-nums; }
.rotulo { font-family: var(--f-rotulo); text-transform: uppercase; letter-spacing: .09em; font-size: 12px; font-weight: 600; color: var(--apagado); }
h1, h2, h3 { font-family: var(--f-rotulo); text-transform: uppercase; letter-spacing: .07em; margin: 0; font-weight: 700; }
h1 { font-size: 22px; } h2 { font-size: 17px; } h3 { font-size: 14px; color: var(--apagado); }

/* ── cabeçalho ─────────────────────────────────────────────────────────────── */
.cab { position: sticky; top: 0; z-index: 30; background: var(--chao); border-bottom: 1px solid var(--risco); }
.cab-dentro { max-width: 1280px; margin: 0 auto; padding: 0 16px; display: flex; align-items: center; gap: 24px; min-height: 58px; flex-wrap: wrap; }
.marca { display: flex; flex-direction: column; line-height: 1.1; padding: 8px 0; }
.marca b { font-family: var(--f-rotulo); font-size: 20px; letter-spacing: .16em; font-weight: 700; }
.marca small { font-size: 10.5px; color: var(--apagado); letter-spacing: .02em; }
.abas { display: flex; gap: 2px; align-self: stretch; }
.abas a { display: flex; align-items: center; padding: 0 14px; font-family: var(--f-rotulo); text-transform: uppercase; letter-spacing: .09em; font-weight: 600; font-size: 14px; color: var(--apagado); border-bottom: 2px solid transparent; }
.abas a:hover { color: var(--texto); }
.abas a[aria-current="page"] { color: var(--texto); border-bottom-color: var(--sinal); }
.cab-dir { margin-left: auto; display: flex; align-items: center; gap: 14px; font-size: 13px; color: var(--apagado); }
.cab-dir button { background: none; border: 0; color: var(--apagado); cursor: pointer; font: inherit; padding: 4px 6px; }
.cab-dir button:hover { color: var(--texto); }

/* ── estrutura ────────────────────────────────────────────────────────────── */
.pagina { max-width: 1280px; margin: 0 auto; padding: 20px 16px 48px; }
.chapa { background: var(--chapa); border: 1px solid var(--risco); border-radius: var(--raio); padding: 16px 18px; }
.grade { display: grid; gap: 16px; }
.linha { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.entre { justify-content: space-between; }
.apagado { color: var(--apagado); } .fraco { color: var(--fraco); }
.bom { color: var(--bom); } .ruim { color: var(--ruim); } .aviso { color: var(--aviso); } .sinal { color: var(--sinal); }

/* ── formulário e botões ──────────────────────────────────────────────────── */
input, select, textarea { font: inherit; color: var(--texto); background: var(--chao); border: 1px solid var(--risco); border-radius: var(--raio); padding: 9px 11px; width: 100%; }
input:focus, select:focus, textarea:focus { border-color: var(--sinal); outline: none; box-shadow: 0 0 0 2px rgba(245,180,0,.18); }
input::placeholder, textarea::placeholder { color: var(--fraco); }
label.campo { display: grid; gap: 5px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-family: var(--f-rotulo); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; font-size: 14px; padding: 9px 16px; border-radius: var(--raio); border: 1px solid var(--risco-2); background: var(--chapa-2); color: var(--texto); cursor: pointer; white-space: nowrap; }
.btn:hover { border-color: var(--apagado); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-acao { background: var(--sinal); border-color: var(--sinal); color: var(--sobre-sinal); }
.btn-acao:hover { background: var(--sinal-forte); border-color: var(--sinal-forte); }
.btn-leve { background: transparent; border-color: transparent; color: var(--sinal); padding: 6px 8px; }
.btn-leve:hover { color: var(--sinal-forte); border-color: transparent; }

/* ── tabela e selos ───────────────────────────────────────────────────────── */
table.t { width: 100%; border-collapse: collapse; font-size: 14px; }
table.t th { text-align: left; font-family: var(--f-rotulo); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 600; color: var(--apagado); padding: 8px 10px; border-bottom: 1px solid var(--risco); }
table.t td { padding: 9px 10px; border-bottom: 1px solid var(--risco); vertical-align: top; }
table.t tr:hover td { background: rgba(245,180,0,.035); }
table.t td.n, table.t th.n { text-align: right; font-family: var(--f-num); font-variant-numeric: tabular-nums; }
.selo { display: inline-block; font-size: 12px; padding: 2px 8px; border-radius: 4px; font-weight: 600; white-space: nowrap; }
.selo-bom { color: var(--bom); background: var(--bom-fundo); }
.selo-ruim { color: var(--ruim); background: var(--ruim-fundo); }
.selo-aviso { color: var(--aviso); background: var(--aviso-fundo); }
.selo-sinal { color: var(--sinal); background: var(--sinal-fundo); }
.selo-neutro { color: var(--apagado); background: var(--chapa-2); }
.vazio { padding: 28px 10px; text-align: center; color: var(--apagado); }
.erro-caixa { color: var(--ruim); background: var(--ruim-fundo); border-radius: var(--raio); padding: 10px 12px; font-size: 14px; }

/* ── telas de entrada (login e convite) ───────────────────────────────────── */
.entrada { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.entrada .chapa { width: 100%; max-width: 380px; padding: 28px; display: grid; gap: 16px; }
.entrada .marca { align-items: center; text-align: center; padding: 0 0 6px; }
.entrada .marca b { font-size: 28px; }
.entrada .marca small { font-size: 12px; margin-top: 4px; max-width: 260px; }

.aviso-toast { position: fixed; right: 16px; bottom: 16px; z-index: 60; background: var(--chapa-2); border: 1px solid var(--risco-2); border-left: 3px solid var(--bom); padding: 10px 14px; border-radius: var(--raio); font-size: 14px; max-width: 420px; }
.aviso-toast.ruim { border-left-color: var(--ruim); }

@media (max-width: 720px) {
  .cab-dentro { gap: 10px; }
  .marca small { display: none; }
  .abas a { padding: 0 9px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* escolha da conversa do WhatsApp no "registrar" */
.zap-lista { display: grid; gap: 6px; max-height: 260px; overflow-y: auto; }
.zap-conv { display: grid; gap: 2px; text-align: left; padding: 8px 10px; border-radius: var(--raio); cursor: pointer;
  background: var(--chapa-2); border: 1px solid var(--risco-2); color: var(--texto); font: inherit; }
.zap-conv small { font-size: 12px; color: var(--apagado); }
.zap-conv small.fraco { color: var(--fraco); }
.zap-conv:hover { border-color: var(--apagado); }
.zap-conv[aria-pressed="true"] { border-color: var(--sinal); background: var(--sinal-fundo); }
.zap-conv:focus-visible { outline: 2px solid var(--sinal); outline-offset: 2px; }
.zap-previa { max-height: 220px; overflow-y: auto; padding: 4px 8px; border-radius: var(--raio); background: var(--chao); border: 1px solid var(--risco); }
.zap-previa .msg { max-width: 82%; padding: 7px 10px; border-radius: 8px; margin: 6px 0; white-space: pre-wrap; font-size: 13px; background: var(--chapa-2); }
.zap-previa .msg.enviada { background: var(--leo-fundo); margin-left: auto; }
.zap-previa .msg small { display: block; color: var(--fraco); font-size: 11px; margin-top: 3px; }
