@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
@layer legacy {
:root{
  /* Paleta Enterprise — aliases para a fonte única --lb-* (brand-tokens.css).
     Mantidos só os que não têm equivalente exato em --lb-*. */
  --bg:            var(--lb-bg-light);    /* #FAFAFA */
  --surface:       var(--lb-card);        /* #FFFFFF */
  --surface-alt:   var(--lb-card-alt);    /* #F8FAFC */
  --border:        var(--lb-line);        /* #E2E8F0 */
  --border-strong: var(--lb-line-strong); /* #CBD5E1 */

  --texto-1:       #020617;   /* slate-950 — sem equivalente --lb */
  --texto-2:       var(--lb-ink);      /* #0F172A */
  --texto-3:       var(--lb-ink-2);    /* #334155 */
  --texto-mudo:    var(--lb-ink-mute); /* #64748B */
  --texto-fraco:   var(--lb-ink-soft); /* #94A3B8 */

  --acento:        #1E3A8A;   /* Azul Marinho Real — sem equivalente --lb */
  --acento-2:      var(--lb-blue-strong); /* #1D4ED8 */
  --acento-soft:   rgba(30,58,138,0.10);

  --sucesso:       var(--lb-audit);   /* #10B981 */
  --sucesso-soft:  rgba(16,185,129,0.10);
  --aviso:         var(--lb-warning); /* #D97706 */
  --aviso-soft:    rgba(217,119,6,0.10);
  --erro:          var(--lb-danger);  /* #DC2626 */
  --erro-soft:     rgba(220,38,38,0.10);
  --info-soft:     rgba(15,23,42,0.06);

  /* Aliases legados → fonte única --lb-* (mantidos os sem equivalente) */
  --preto:         var(--lb-ink);      /* #0F172A */
  --preto-medio:   #1E293B;   /* slate-800 — sem equivalente --lb */
  --preto-claro:   var(--lb-ink-2);    /* #334155 */
  --cinza-escuro:  #475569;   /* slate-600 — sem equivalente --lb */
  --cinza:         var(--lb-ink-soft); /* #94A3B8 */
  --cinza-borda:   var(--lb-line);     /* #E2E8F0 */
  --cinza-fundo:   #F1F5F9;   /* slate-100 — sem equivalente --lb */
  --cinza-card:    var(--lb-card-alt); /* #F8FAFC */
  --branco:        var(--lb-card);     /* #FFFFFF */
  --texto:         var(--lb-ink);      /* #0F172A */
  --verde:         var(--lb-audit);    /* #10B981 */
  --laranja:       var(--lb-warning);  /* #D97706 */
  --vermelho:      var(--lb-danger);   /* #DC2626 */
  --roxo:          #7C3AED;   /* sem equivalente --lb */

  --sombra-xs: 0 1px 2px rgba(15,23,42,0.04);
  --sombra:    0 4px 6px -1px rgba(15,23,42,0.05), 0 2px 4px -2px rgba(15,23,42,0.04);
  --sombra-md: 0 10px 15px -3px rgba(15,23,42,0.07), 0 4px 6px -4px rgba(15,23,42,0.05);
  --sombra-hover: 0 16px 30px -8px rgba(15,23,42,0.12), 0 6px 12px -6px rgba(15,23,42,0.08);

  --raio-sm: 8px;
  --raio:    var(--lb-radius-sm);  /* 12px */
  --raio-lg: var(--lb-radius-lg);  /* 16px */
  --raio-pill: var(--lb-radius-pill); /* 999px */
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'Inter','Geist Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  background:var(--bg);
  color:var(--texto-2);
  font-size:14px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:"cv02","cv03","cv04","cv11";
}
a{text-decoration:none;color:inherit}
::selection{background:var(--acento-soft);color:var(--acento)}

/* ============ NAVBAR ============ */
.navbar{
  background:#0B1220;
  padding:14px 32px;display:flex;justify-content:space-between;align-items:center;
  position:sticky;top:0;z-index:100;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.navbar-logo{
  color:#fff;font-weight:700;font-size:16px;letter-spacing:0.04em;
  text-transform:uppercase;
}
.navbar-direita{display:flex;align-items:center;gap:14px}
.navbar-usuario{color:rgba(255,255,255,0.62);font-size:12px;font-weight:500}
.navbar-perfil{
  font-size:10px;padding:4px 10px;border-radius:var(--raio-pill);
  background:rgba(255,255,255,0.08);color:#fff;font-weight:600;
  border:1px solid rgba(255,255,255,0.12);
  text-transform:uppercase;letter-spacing:0.08em;
}

/* ============ BANNER COMUNIDADE / ABAS DARK ============ */
.banner-comunidade{
  background:#111827;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid rgba(255,255,255,0.05);
  flex-wrap:wrap;gap:12px;
}
.banner-comunidade-nome{color:#fff;font-size:15px;font-weight:600;letter-spacing:0.01em}
.banner-comunidade-sub{color:rgba(255,255,255,0.5);font-size:11px;margin-top:3px;text-transform:uppercase;letter-spacing:0.06em}
.banner-codigo{
  color:#fff;font-size:11px;font-weight:600;letter-spacing:0.18em;
  border:1px solid rgba(255,255,255,0.18);padding:5px 14px;border-radius:var(--raio-pill);
  background:rgba(255,255,255,0.04);
}

.abas-comunidade{
  background:#0B1220;padding:0 32px;display:flex;overflow-x:auto;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.aba-comunidade-btn{
  padding:12px 20px;font-size:12px;cursor:pointer;border:none;background:none;
  color:rgba(255,255,255,0.45);border-bottom:2px solid transparent;
  white-space:nowrap;font-weight:500;transition:color .15s, border-color .15s;
  margin-bottom:-1px;letter-spacing:0.02em;
}
.aba-comunidade-btn:hover{color:#fff}
.aba-comunidade-btn.ativa{color:#fff;border-bottom-color:#3B82F6;font-weight:600}

/* ============ LAYOUT ============ */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.pagina{padding:32px 0}

/* Grid de 12 colunas opcional */
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}

/* ============ CARDS ============ */
.card{
  background:var(--surface);
  border-radius:var(--raio);
  border:1px solid var(--border);
  padding:32px;
  margin-bottom:24px;
  box-shadow:var(--sombra-xs);
  transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.card:hover{box-shadow:var(--sombra)}
.card-titulo{
  font-size:18px;font-weight:600;color:var(--texto-1);margin-bottom:24px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding-bottom:16px;border-bottom:1px solid var(--border);
  letter-spacing:-0.01em;
}

/* ============ CARDS DE INDICADOR (KPI) ============ */
.cards-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:20px;margin-bottom:28px;
}
.card-indicador{
  background:var(--surface);
  border-radius:var(--raio);
  border:1px solid var(--border);
  padding:24px 22px;
  text-align:left;
  box-shadow:var(--sombra-xs);
  transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease;
  cursor:pointer;
  position:relative;overflow:hidden;
}
.card-indicador::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--acento);opacity:0;transition:opacity .2s ease;
}
.card-indicador:hover{transform:translateY(-2px);box-shadow:var(--sombra-md);border-color:var(--border-strong)}
.card-indicador:hover::before{opacity:1}
.card-indicador .num{
  font-size:32px;font-weight:700;color:var(--texto-1);
  letter-spacing:-0.025em;line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.card-indicador .num.verde{color:var(--sucesso)}
.card-indicador .num.laranja{color:var(--aviso)}
.card-indicador .num.vermelho{color:var(--erro)}
.card-indicador .lbl{
  font-size:11px;color:var(--texto-mudo);margin-top:8px;
  text-transform:uppercase;letter-spacing:0.05em;font-weight:500;
}
.card-indicador.destaque::before{background:var(--acento);opacity:1}
.card-indicador.alerta::before  {background:var(--aviso);opacity:1}
.card-indicador.sucesso::before {background:var(--sucesso);opacity:1}
.card-indicador.erro::before    {background:var(--erro);opacity:1}

/* ============ BOTÕES ============ */
.btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;min-height:38px;
  white-space:nowrap;line-height:1.2;
  border-radius:var(--raio-sm);
  font-size:13px;font-weight:600;letter-spacing:0.01em;
  cursor:pointer;border:1px solid transparent;
  text-decoration:none;font-family:inherit;
  transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
  user-select:none;-webkit-tap-highlight-color:transparent;
}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(30,58,138,0.25)}
.btn:active{transform:translateY(1px)}

.btn-primario{
  color:#fff;background:var(--lb-blue);border-color:var(--lb-blue);
  box-shadow:0 1px 2px rgba(37,99,235,0.18);
}
.btn-primario:hover{background:var(--lb-blue-strong);border-color:var(--lb-blue-strong);box-shadow:0 8px 18px -8px rgba(37,99,235,0.55);transform:translateY(-1px)}
.btn-primario:active{background:var(--lb-blue-strong)}

.btn-secundario{
  color:var(--texto-2);background:var(--lb-card);border-color:var(--border-strong);
  box-shadow:var(--sombra-xs);
}
.btn-secundario:hover{background:#F8FAFC;border-color:var(--texto-mudo);transform:translateY(-1px);box-shadow:var(--sombra)}

.btn-cinza{
  color:var(--texto-3);background:#F1F5F9;border-color:#E2E8F0;
}
.btn-cinza:hover{background:#E2E8F0;color:var(--texto-1);transform:translateY(-1px)}

.btn-perigo{
  color:#fff;background:var(--erro);border-color:var(--erro);
  box-shadow:0 1px 2px rgba(220,38,38,0.18);
}
.btn-perigo:hover{background:#B91C1C;border-color:#B91C1C;box-shadow:0 6px 16px -6px rgba(220,38,38,0.5);transform:translateY(-1px)}

.btn-whatsapp{
  color:#fff;background:#16A34A;border-color:#16A34A;
  box-shadow:0 1px 2px rgba(22,163,74,0.18);
}
.btn-whatsapp:hover{background:#15803D;border-color:#15803D;box-shadow:0 6px 16px -6px rgba(22,163,74,0.5);transform:translateY(-1px)}

.btn-sm{padding:6px 12px;min-height:30px;font-size:12px;border-radius:6px;gap:6px}
.btn-bloco{width:100%;min-height:46px;padding:13px 22px;font-size:13.5px}
.btn:disabled{opacity:0.45;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:saturate(0.6)}

.btn-grupo{display:flex;flex-wrap:nowrap;align-items:stretch;gap:12px;margin-bottom:16px}
.btn-grupo .btn{flex:0 0 auto;min-width:0}
.btn-grupo .btn-bloco{flex:1 1 0}
@media (max-width:520px){
  .btn-grupo{flex-wrap:wrap;gap:10px}
  .btn-grupo .btn{flex:1 1 calc(50% - 5px)}
}

.acoes-linha{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap}
.acoes-linha .btn{flex:0 0 auto;padding:5px 10px;min-height:28px;font-size:11.5px;border-radius:6px}

/* Botões "premium" legados — neutralizados */
.btn-premium{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;
  font-size:13px;font-weight:600;letter-spacing:0.02em;color:#fff;border-radius:var(--raio-sm);
  border:1px solid var(--acento);background:var(--acento);cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.btn-premium svg{width:18px;height:18px;stroke-width:2;flex-shrink:0}
.btn-premium:hover{background:#1E40AF;transform:translateY(-1px);box-shadow:0 6px 16px -6px rgba(30,58,138,0.5)}
.btn-call-premium{background:var(--acento);border-color:var(--acento)}
.btn-call-premium:hover{background:#1E40AF}
.btn-zap-premium{background:#16A34A;border-color:#16A34A}
.btn-zap-premium:hover{background:#15803D;box-shadow:0 6px 16px -6px rgba(22,163,74,0.5)}
.grupo-contato-premium{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.grupo-contato-premium .btn-premium{flex:1 1 130px}
@media(max-width:520px){
  .grupo-contato-premium{flex-wrap:nowrap}
  .grupo-contato-premium .btn-premium{flex:1 1 0;min-width:0;padding:0 10px;font-size:12px}
}

@media (max-width:640px){
  .btn{min-height:42px;padding:11px 16px;font-size:13px}
  .btn-sm{min-height:34px;padding:7px 12px;font-size:12px}
  .btn-bloco{min-height:48px}
}

/* ============ FORMS (tema claro — padrão em cards e cadastro público) ============ */
.form-grupo{margin-bottom:16px}
.form-grupo label{
  display:block;font-size:12px;color:var(--texto-mudo);margin-bottom:6px;
  font-weight:600;letter-spacing:0;
}
.form-grupo input,.form-grupo select,.form-grupo textarea{
  width:100%;padding:12px 14px;
  border:1px solid var(--border);
  border-radius:10px;font-size:16px;
  background:var(--lb-card);
  color:var(--texto-1);
  transition:border-color .15s ease, box-shadow .15s ease;
  font-family:inherit;
  -webkit-appearance:none;
  min-height:44px;
}
.form-grupo input::placeholder,.form-grupo select::placeholder{
  color:var(--texto-fraco);
}
.form-grupo select option{
  background:var(--lb-card);color:var(--texto-1);
}
.form-grupo input:focus,.form-grupo select:focus,.form-grupo textarea:focus{
  outline:none;
  border-color:var(--lb-blue);
  box-shadow:var(--lb-focus-ring);
}
.form-grupo input[readonly]{
  background:var(--surface-alt);
  color:var(--texto-mudo);
}
.form-linha{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-linha-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}

/* ============ CÓDIGO/LINKS ============ */
.codigo-convite-box{
  background:linear-gradient(135deg,#0F172A 0%, #1E293B 100%);
  border-radius:var(--raio);padding:28px;text-align:center;margin-bottom:18px;
  border:1px solid rgba(255,255,255,0.05);
}
.codigo-convite-label{color:rgba(255,255,255,0.55);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px;font-weight:500}
.codigo-convite-valor{color:#fff;font-size:30px;font-weight:700;letter-spacing:0.4em;margin-bottom:18px;font-family:'JetBrains Mono','SF Mono',monospace}
.link-publico-box{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);border-radius:var(--raio-sm);padding:12px 14px;font-size:12px;color:rgba(255,255,255,0.7);word-break:break-all;margin-bottom:14px;font-family:'JetBrains Mono','SF Mono',monospace}

/* ============ ABAS ============ */
.abas{display:flex;border-bottom:1px solid var(--border);margin-bottom:24px;overflow-x:auto;gap:4px}
.aba-btn{
  padding:12px 18px;font-size:13px;cursor:pointer;border:none;background:none;
  color:var(--texto-mudo);border-bottom:2px solid transparent;
  font-weight:500;white-space:nowrap;transition:color .15s, border-color .15s;
  margin-bottom:-1px;letter-spacing:0.005em;
}
.aba-btn:hover{color:var(--texto-1)}
.aba-btn.ativa{color:var(--acento);border-bottom-color:var(--acento);font-weight:600}
.aba-conteudo{display:none}
.aba-conteudo.ativa{display:block}

/* ============ TABELA (Mobile-First Cards) ============ */
.tabela-wrap { background: var(--lb-card); border-radius: var(--raio); border: 1px solid var(--border); width: 100%; }
.tabela { width: 100%; font-size: 13px; }
.tabela thead { display: none; }
.tabela tbody, .tabela tr { display: flex; flex-direction: column; }
.tabela tbody { gap: 12px; padding: 12px; }
.tabela tr { background: var(--lb-card); border: 1px solid var(--border); border-radius: var(--raio-sm); box-shadow: var(--sombra-xs); padding: 12px; }
.tabela td { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 8px 0; border-bottom: 1px dashed var(--border); color: var(--texto-2); word-break: break-word; }
.tabela td:last-child { border-bottom: none; }
.tabela .acoes { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-top: 4px; }

@media (min-width: 769px) {
  .tabela-wrap { overflow-x: auto; padding: 0; }
  .tabela { display: table; border-collapse: collapse; }
  .tabela thead { display: table-header-group; }
  .tabela tbody { display: table-row-group; gap: 0; padding: 0; }
  .tabela tr { display: table-row; padding: 0; border: none; box-shadow: none; border-radius: 0; }
  .tabela th { background: var(--surface-alt); color: var(--texto-mudo); padding: 12px 16px; text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; white-space: nowrap; border-bottom: 1px solid var(--border); }
  .tabela td { display: table-cell; flex-direction: row; padding: 14px 16px; border-bottom: 1px solid var(--border); vertical-align: middle; }
  .tabela tr:last-child td { border-bottom: none; }
  .tabela tr:hover td { background: var(--surface-alt); }
}

/* ============ BADGES (PILL) ============ */
.badge{
  font-size:11px;padding:4px 12px;border-radius:var(--raio-pill);
  font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;
  border:1px solid transparent;letter-spacing:0.01em;
}
.badge-pendente{background:var(--aviso-soft);color:#92400E;border-color:rgba(217,119,6,0.18)}
.badge-validado,.badge-ativo,.badge-sucesso{background:var(--sucesso-soft);color:#065F46;border-color:rgba(16,185,129,0.18)}
.badge-invalido,.badge-bloqueado,.badge-erro{background:var(--erro-soft);color:#991B1B;border-color:rgba(220,38,38,0.18)}
.badge-suspeito{background:rgba(124,58,237,0.10);color:#5B21B6;border-color:rgba(124,58,237,0.18)}
.badge-removido{background:#F1F5F9;color:var(--texto-mudo);border-color:var(--border)}
.badge-info{background:var(--acento-soft);color:var(--acento);border-color:rgba(30,58,138,0.18)}
.badge-preto{background:#0F172A;color:#fff;border-color:#0F172A}

/* ============ ALERTAS ============ */
.alerta{
  border-radius:var(--raio-sm);padding:14px 18px;margin-bottom:16px;font-size:13px;
  border:1px solid transparent;display:flex;align-items:flex-start;gap:10px;line-height:1.5;
}
.alerta-sucesso{background:var(--sucesso-soft);color:#065F46;border-color:rgba(16,185,129,0.22)}
.alerta-erro   {background:var(--erro-soft);   color:#991B1B;border-color:rgba(220,38,38,0.22)}
.alerta-info   {background:var(--info-soft);   color:var(--texto-2);border-color:var(--border)}
.alerta-aviso  {background:var(--aviso-soft);  color:#92400E;border-color:rgba(217,119,6,0.22)}

/* ============ MODAL (GLASSMORPHISM) ============ */
.modal-fundo{
  display:none;position:fixed;inset:0;
  background:rgba(15,23,42,0.55);z-index:200;
  align-items:center;justify-content:center;padding:16px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.modal-fundo.aberto{display:flex}
.modal-caixa{
  background:rgba(255,255,255,0.92);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,0.6);
  border-radius:var(--raio-lg);
  padding:32px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;
  box-shadow:0 25px 50px -12px rgba(15,23,42,0.25), 0 0 0 1px rgba(15,23,42,0.04);
}
.modal-titulo{font-size:20px;font-weight:600;margin-bottom:24px;color:var(--texto-1);letter-spacing:-0.01em}
.modal-rodape{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}

/* ============ AUTH ============ */
.auth-pagina{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#FFFFFF 0%,var(--lb-app-bg) 68%,#EEF4FF 100%);
  padding:24px;
}
.auth-card{
  background:var(--lb-card);
  border:1px solid var(--lb-line);
  border-radius:var(--lb-radius-lg);
  padding:40px 36px;
  width:100%;max-width:460px;
  box-shadow:var(--lb-shadow-lg);
  color:var(--lb-ink);
}
/* Marca: mesma arte da landing (`/img/logo-lidera.webp`) recortada para fluxos auth claros. */
.auth-logo{
  text-align:center;display:flex;justify-content:center;align-items:flex-start;
  margin:0 auto 16px;line-height:0;overflow:hidden;
  width:min(270px,74vw);height:52px;
}
.auth-logo:is(a){text-decoration:none;color:inherit}
.auth-logo:is(a):hover{opacity:.9}
/* Marca principal em fluxos auth — mais legível que a barra da landing (nav ~72px alinhado em index). */
.auth-logo img{
  height:370px;width:auto;max-width:none;display:block;object-fit:contain;object-position:center top;flex-shrink:0;
  transform:translateY(-154px);
}
.auth-logo.auth-logo--on-dark img{
  filter:none;
}
@media(max-width:768px){
  .auth-logo{height:46px;width:min(230px,76vw)}
  .auth-logo img{height:320px;transform:translateY(-133px)}
}
@media(max-width:480px){
  .auth-logo{height:42px;width:min(210px,78vw)}
  .auth-logo img{height:292px;transform:translateY(-122px)}
}

.navbar-logo{display:inline-flex;align-items:center;line-height:0;text-decoration:none;color:inherit}
.navbar-logo img{height:42px;width:auto;display:block;object-fit:contain;flex-shrink:0}
.navbar-logo:is(a):hover{opacity:.9}

.doc-brand-logo{display:flex;justify-content:center;align-items:center;margin-bottom:12px;line-height:0}
.doc-brand-logo:is(a){text-decoration:none}
.doc-brand-logo img{height:72px;width:auto;max-width:420px;display:block;object-fit:contain;flex-shrink:0}
@media(max-width:768px){.doc-brand-logo img{height:54px}}
@media(max-width:480px){.doc-brand-logo img{height:46px}}
.auth-sub{text-align:center;font-size:11px;color:var(--lb-blue);margin-bottom:32px;text-transform:uppercase;letter-spacing:0.08em;font-weight:700}
.auth-card #alertas:empty{display:none;margin:0;padding:0;min-height:0}
.auth-title-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============ HOME ============ */
.home-hero{background:linear-gradient(180deg,#0B1220 0%,#0F172A 100%);color:#fff;padding:96px 24px;text-align:center}
.home-logo{font-size:48px;font-weight:700;letter-spacing:0.06em;color:#fff;margin-bottom:18px;text-transform:uppercase}
.home-frase{font-size:18px;color:rgba(255,255,255,0.8);margin-bottom:8px;font-weight:400}
.home-subfrase{font-size:13px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.06em}

/* ============ PLANOS ============ */
.planos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;padding:64px 24px;max-width:760px;margin:0 auto}
.plano-card{
  background:var(--lb-card);border-radius:var(--raio-lg);border:1px solid var(--border);
  padding:36px 28px;text-align:center;box-shadow:var(--sombra-xs);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  cursor:pointer;position:relative;overflow:hidden;
}
.plano-card:hover{transform:translateY(-4px);box-shadow:var(--sombra-md);border-color:var(--border-strong)}
.plano-card.destaque{border-color:var(--acento);box-shadow:0 0 0 1px var(--acento)}
.plano-card.destaque::before{
  content:'RECOMENDADO';position:absolute;top:18px;right:-32px;
  background:var(--acento);color:#fff;font-size:9px;font-weight:700;
  padding:4px 44px;transform:rotate(45deg);letter-spacing:0.12em;
}
.plano-icone{font-size:40px;margin-bottom:16px}
.plano-nome{font-size:14px;font-weight:600;color:var(--texto-mudo);margin-bottom:10px;letter-spacing:0.05em;text-transform:uppercase}
.plano-preco{font-size:38px;font-weight:700;color:var(--texto-1);margin-bottom:4px;letter-spacing:-0.02em}
.plano-preco span{font-size:14px;font-weight:400;color:var(--texto-mudo)}
.plano-desc{font-size:13px;color:var(--texto-mudo);margin-bottom:24px;line-height:1.6}
.plano-item{font-size:13px;color:var(--texto-2);margin-bottom:10px;display:flex;align-items:center;gap:10px;text-align:left}
.plano-item::before{content:'✓';color:var(--sucesso);font-weight:700;flex-shrink:0;font-size:14px}

/* ============ ESPERA ============ */
.espera-pagina{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0B1220 0%,#111827 100%)}
.espera-card{background:var(--lb-card);border-radius:var(--raio-lg);padding:48px 40px;text-align:center;max-width:480px;margin:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.4)}
.espera-icone{font-size:48px;margin-bottom:20px}
.espera-titulo{font-size:22px;font-weight:600;color:var(--texto-1);margin-bottom:12px;letter-spacing:-0.01em}
.espera-texto{font-size:14px;color:var(--texto-mudo);line-height:1.7}

/* ============ PIX ============ */
.pix-box{background:linear-gradient(135deg,#0F172A,#1E293B);border-radius:var(--raio);padding:28px;text-align:center;margin-bottom:18px}
.pix-label{color:rgba(255,255,255,0.55);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:8px;font-weight:500}
.pix-chave{color:#fff;font-size:16px;font-weight:600;letter-spacing:0.02em;margin-bottom:8px;font-family:'JetBrains Mono','SF Mono',monospace}
.pix-valor{color:#fff;font-size:30px;font-weight:700;letter-spacing:-0.02em}

/* ============ ANIVERSARIANTES ============ */
.aniversariante-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--lb-card);border-radius:12px;margin-bottom:10px;border:1px solid #E5E7EB;transition:border-color .15s ease, box-shadow .15s ease}
.aniversariante-item:hover{border-color:#CFD3D9;box-shadow:0 4px 14px -8px rgba(15,23,42,0.12)}
.aniversariante-item.eh-hoje{border-color:rgba(212,175,55,0.55);background:linear-gradient(180deg,#FFFCF2 0%,#FFFFFF 60%);box-shadow:0 0 0 1px rgba(212,175,55,0.15), 0 6px 22px -10px rgba(212,175,55,0.35)}
.aniversariante-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.aniversariante-avatar{width:42px;height:42px;border-radius:50%;background:#1E3A8A;color:#F5E9C7;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:0.02em;flex-shrink:0;border:2px solid transparent}
.aniversariante-item.eh-hoje .aniversariante-avatar{border-color:#D4AF37;box-shadow:0 0 0 3px rgba(212,175,55,0.15)}
.aniversariante-meta{min-width:0;flex:1}
.aniversariante-nome{font-size:14px;font-weight:600;color:#0F172A;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aniversariante-info{font-size:12px;color:#64748B;margin-top:2px}
.aniv-selo-hoje{font-size:10px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:#7A5A12;background:linear-gradient(135deg,#F5D87A 0%,#D4AF37 100%);padding:3px 8px;border-radius:999px;border:1px solid rgba(122,90,18,0.25)}
.aniv-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.btn-celebrar{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:8px 12px;border-radius:8px;border:1px solid #E5E7EB;background:var(--lb-card);color:#0F172A;cursor:pointer;transition:all .15s ease}
.btn-celebrar:hover{border-color:#D4AF37;color:#7A5A12;background:#FFFBF0}
.btn-celebrar:disabled{opacity:0.55;cursor:not-allowed;background:#F1F5F9;color:#64748B;border-color:#E2E8F0}
.btn-celebrar.enviado{background:#ECFDF5;border-color:#A7F3D0;color:#047857;cursor:default}
.btn-celebrar.enviado:hover{background:#ECFDF5;border-color:#A7F3D0;color:#047857}
.btn-celebrar svg{width:14px;height:14px}

/* ============ CHARTS ============ */
.chart-card{background:var(--lb-card);border-radius:var(--raio);padding:28px;box-shadow:var(--sombra-xs);border:1px solid var(--border);transition:box-shadow .25s ease, border-color .25s ease}
.chart-card:hover{box-shadow:var(--sombra);border-color:var(--border-strong)}
.chart-card .card-titulo{font-size:15px;font-weight:600;color:var(--texto-1);margin-bottom:6px;display:flex;align-items:center;gap:10px;border:none;padding:0}
.chart-card .chart-subtitulo{font-size:12px;color:var(--texto-mudo);margin-bottom:20px;font-weight:400}
.chart-wrap{position:relative;width:100%;max-height:340px}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.chart-grid .chart-card{margin-bottom:0}
.chart-empty{text-align:center;padding:40px 20px;color:var(--texto-mudo);font-size:13px}

/* ============ RESPONSIVO ============ */
@media(max-width:768px){
  .navbar{padding:12px 18px}
  .navbar-logo img{height:34px}
  .banner-comunidade{padding:14px 18px}
  .abas-comunidade{padding:0 18px}
  .container{padding:0 16px}
  .pagina{padding:20px 0}
  .card{padding:22px}
  .cards-grid{grid-template-columns:1fr 1fr;gap:14px}
  .card-indicador{padding:18px 16px}
  .card-indicador .num{font-size:26px}
  .chart-grid{grid-template-columns:1fr;gap:16px}
  .chart-card{padding:22px}
  .form-linha,.form-linha-3{grid-template-columns:1fr}
  .auth-card{padding:32px 22px}
  .planos-grid{grid-template-columns:1fr;padding:32px 16px}
  .home-logo{font-size:32px}
  .modal-caixa{border-radius:var(--raio) var(--raio) 0 0;position:fixed;bottom:0;left:0;right:0;max-height:88vh;max-width:100%;margin:0;padding:24px}
  .tabela th,.tabela td{padding:10px 12px;font-size:12px}
}
@media(max-width:480px){
  .cards-grid{grid-template-columns:1fr 1fr;gap:10px}
  .card-indicador .num{font-size:22px}
  .home-logo{font-size:26px}
}

body.pg-cadastro{
  background:var(--lb-app-bg) !important;
  position:relative;
}
body.pg-cadastro::before{
  display:none;
}
body.pg-cadastro .auth-card,
body.pg-cadastro .auth-pagina,
body.pg-cadastro .form-container,
body.pg-cadastro .reg-card{
  position:relative;z-index:1;
}

/* Auth claro — textos e subtítulo */
body.pg-cadastro .auth-sub,
body.pg-cadastro #subtitulo {
  color: var(--lb-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  margin-bottom: 28px !important;
}
body.pg-cadastro .auth-logo {
  display: flex;
  justify-content: center;
  align-items:flex-start;
  margin-bottom: 20px;
  overflow:hidden;
}
body.pg-cadastro .auth-logo img {
  filter: none;
  opacity: 1;
  object-fit:contain;
  object-position:center top;
}
body.pg-cadastro .form-linha {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
body.pg-cadastro .btn-primario,
body.pg-cadastro .auth-btn,
body.pg-cadastro button[type=submit],
body.pg-cadastro #btn-cadastrar {
  width: 100%;
  padding: 14px 24px;
  border-radius: 12px;
  background: var(--lb-blue);
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  border: none;
  cursor: pointer;
  box-shadow: 0 8px 18px -8px rgba(37,99,235,0.55);
  transition: .2s;
  font-family: inherit;
  margin-top: 8px;
}
body.pg-cadastro .btn-primario:hover,
body.pg-cadastro #btn-cadastrar:hover {
  transform: translateY(-1px);
  background:var(--lb-blue-strong);
  box-shadow: 0 10px 22px -10px rgba(37,99,235,0.65);
}

/* Forms claros — somente dentro dos cards de autenticação (login, cadastro gestor, etc.) */
body.pg-cadastro .auth-card .form-grupo label,
body.pg-cadastro .reg-card .form-grupo label,
body.pg-cadastro .form-container .form-grupo label{
  font-size:12px;color:var(--lb-ink-2);
  text-transform:none;letter-spacing:0;
}
body.pg-cadastro .auth-card .form-grupo input,
body.pg-cadastro .auth-card .form-grupo select,
body.pg-cadastro .auth-card .form-grupo textarea,
body.pg-cadastro .reg-card .form-grupo input,
body.pg-cadastro .reg-card .form-grupo select,
body.pg-cadastro .reg-card .form-grupo textarea,
body.pg-cadastro .form-container .form-grupo input,
body.pg-cadastro .form-container .form-grupo select,
body.pg-cadastro .form-container .form-grupo textarea{
  border:1px solid var(--lb-line);
  background:var(--lb-card);
  color:var(--lb-ink);
  font-size:16px;
  min-height:44px;
}
body.pg-cadastro .auth-card .form-grupo input::placeholder,
body.pg-cadastro .reg-card .form-grupo input::placeholder,
body.pg-cadastro .form-container .form-grupo input::placeholder{
  color:var(--lb-ink-soft);
}
body.pg-cadastro .auth-card .form-grupo select option,
body.pg-cadastro .reg-card .form-grupo select option{
  background:var(--lb-card);color:var(--lb-ink);
}
body.pg-cadastro .auth-card .form-grupo input:focus,
body.pg-cadastro .auth-card .form-grupo select:focus,
body.pg-cadastro .auth-card .form-grupo textarea:focus,
body.pg-cadastro .reg-card .form-grupo input:focus,
body.pg-cadastro .reg-card .form-grupo select:focus,
body.pg-cadastro .reg-card .form-grupo textarea:focus,
body.pg-cadastro .form-container .form-grupo input:focus,
body.pg-cadastro .form-container .form-grupo select:focus,
body.pg-cadastro .form-container .form-grupo textarea:focus{
  border-color:var(--lb-blue);
  box-shadow:var(--lb-focus-ring);
}
body.pg-cadastro .auth-card .form-grupo input[readonly],
body.pg-cadastro .reg-card .form-grupo input[readonly]{
  background:var(--lb-card-alt);
  color:var(--lb-ink-mute);
}

/* Cadastro público — página clara (não usa auth-card) */
body.pg-registro-publico{
  background:var(--bg) !important;
}
body.pg-registro-publico::before{display:none !important}
body.pg-registro-publico .container.pagina{
  position:relative;
  z-index:1;
}
body.pg-registro-publico .card{
  color-scheme:light;
}
body.pg-registro-publico #form-area .form-grupo label{
  color:#475569 !important;
  font-size:12px !important;
}
body.pg-registro-publico #form-area .form-grupo input,
body.pg-registro-publico #form-area .form-grupo select,
body.pg-registro-publico #form-area .form-grupo textarea{
  background:var(--lb-card) !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  -webkit-text-fill-color:#0f172a !important;
  opacity:1 !important;
  font-size:16px !important;
  min-height:44px !important;
}
body.pg-registro-publico #form-area .form-grupo input::placeholder{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}
body.pg-registro-publico #form-area .form-grupo input[readonly]{
  background:#f8fafc !important;
  color:#64748b !important;
  -webkit-text-fill-color:#64748b !important;
}
body.pg-registro-publico #form-area .form-grupo select option{
  background:var(--lb-card) !important;
  color:#0f172a !important;
}

/* Mobile cadastro */
@media(max-width:560px){
  .auth-card{ padding:28px 20px; border-radius:16px; }
  body.pg-cadastro .form-linha { grid-template-columns: 1fr 1fr; }
  body.pg-cadastro .card .form-linha { grid-template-columns: 1fr; }
}


}
