*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:#eef2ff;background:
  radial-gradient(circle at 0% 0%,rgba(249,115,22,.16),transparent 24%),
  radial-gradient(circle at 100% 0%,rgba(124,58,237,.18),transparent 26%),
  radial-gradient(circle at 50% 100%,rgba(132,204,22,.12),transparent 24%),
  linear-gradient(180deg,#0b1020,#121a30)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:1200px;margin:0 auto;padding:28px}
.card{background:rgba(17,24,39,.86);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px);border-radius:28px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.grade-2,.grade-2b{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.grade-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.campo-total{grid-column:1/-1}
.grid-relatorios{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.titulo{font-size:44px;line-height:1.02;margin:10px 0 12px;letter-spacing:-.02em}
.subtitulo-pagina,.muted{color:#b9c0e0}
.selo{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:linear-gradient(90deg,var(--laranja,#f97316),var(--roxo,#7c3aed),var(--limao,#84cc16));color:#fff;font-weight:800;font-size:12px;letter-spacing:.45px;box-shadow:0 10px 26px rgba(124,58,237,.22)}
.botoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.botao{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:16px;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.18s transform,.18s opacity;background:#1f2937;color:#fff}
.botao:hover{transform:translateY(-1px);opacity:.97}
.primario{background:linear-gradient(135deg,var(--laranja,#f97316),var(--roxo,#7c3aed));color:#fff}
.secundario{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#fff}
.perigo{background:#dc2626;color:#fff}
.cabecalho{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.logo-topo{max-height:56px;max-width:190px;border-radius:14px}
.cabecalho-links,.top-nav{display:flex;gap:10px;flex-wrap:wrap}
.top-nav{margin-bottom:22px}
.tab{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;gap:8px}
.tab.ativa{background:linear-gradient(135deg,rgba(249,115,22,.22),rgba(124,58,237,.22));border-color:rgba(255,255,255,.18)}
form{display:grid;gap:14px}
label{display:grid;gap:8px;font-size:14px;color:#dde4ff;font-weight:600}
input,textarea,select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;outline:none;box-shadow:none}
select option{background:#0f172a;color:#e5ecff}
input::placeholder,textarea::placeholder{color:#91a0c7}
textarea{min-height:100px;resize:vertical}
input[type=color]{padding:6px;height:48px}
input[type=checkbox]{width:auto;transform:scale(1.1);margin-right:8px}
.alerta{padding:12px 14px;border-radius:14px;margin-bottom:12px}
.sucesso{background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.35)}
.erro{background:rgba(239,68,68,.16);border:1px solid rgba(239,68,68,.36)}
.caixa-centro{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth{width:100%;max-width:1080px}
.mini{font-size:12px;color:#b9c0e0}
.lista-links{display:grid;gap:12px;margin-top:16px}
.linha-link{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.linha-link span{display:block;color:#b9c0e0;font-size:12px;word-break:break-all}
.linha-link .acoes{display:flex;gap:8px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse;overflow:hidden}
th,td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;font-size:14px;vertical-align:top}
th{color:#fff}
.status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;display:inline-flex}
.ativo{background:rgba(34,197,94,.16);color:#86efac}
.inativo{background:rgba(239,68,68,.16);color:#fca5a5}
.pendente{background:rgba(245,158,11,.18);color:#fcd34d}
.preview{min-height:560px;border-radius:28px;padding:28px;background:linear-gradient(135deg,rgba(124,58,237,.96),rgba(249,115,22,.9),rgba(132,204,22,.82));display:flex;align-items:center;justify-content:center;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.phone{width:300px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);border-radius:36px;padding:18px;backdrop-filter:blur(16px)}
.phone .foto{width:84px;height:84px;border-radius:22px;background:rgba(255,255,255,.22);margin:0 auto 18px}
.phone .linha{height:12px;background:rgba(255,255,255,.24);border-radius:999px;margin:10px 0}
.phone .bot{height:46px;border-radius:18px;background:#fff;margin-top:14px}
.metric{padding:18px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.catalogo{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}
.produto{padding:16px;border-radius:20px;background:rgba(255,255,255,.08);text-align:left;border:1px solid rgba(255,255,255,.12)}
.produto img{width:100%;height:150px;object-fit:cover;border-radius:16px;margin-bottom:10px}
.redes{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.rede{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);font-weight:800}
.embed-box{margin-top:16px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.06)}
.embed-box iframe{width:100%;min-height:220px;border:0}
.painel-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.lista-tabelas{display:grid;gap:12px}.item-tabela{padding:14px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}

/* Auth */
.auth-shell{display:grid;grid-template-columns:minmax(320px,420px) minmax(320px,520px);gap:24px;align-items:stretch}
.auth-showcase{position:relative;overflow:hidden;border-radius:30px;padding:32px;background:linear-gradient(145deg,rgba(124,58,237,.95),rgba(249,115,22,.88) 58%,rgba(132,204,22,.82));min-height:520px;box-shadow:0 28px 70px rgba(0,0,0,.28)}
.auth-showcase::before,.auth-showcase::after{content:"";position:absolute;border-radius:999px;filter:blur(6px);opacity:.36}
.auth-showcase::before{width:220px;height:220px;background:rgba(255,255,255,.22);top:-40px;right:-30px}
.auth-showcase::after{width:180px;height:180px;background:rgba(255,255,255,.15);bottom:-24px;left:-24px}
.auth-showcase>*{position:relative;z-index:1}
.auth-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.auth-showcase h2{margin:18px 0 10px;font-size:38px;line-height:1.02;color:#fff}
.auth-showcase p{margin:0;color:rgba(255,255,255,.92);line-height:1.65;font-size:15px;max-width:360px}
.auth-points{display:grid;gap:12px;margin-top:26px}
.auth-point{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:rgba(15,23,42,.18);border:1px solid rgba(255,255,255,.14)}
.auth-point strong{display:block;font-size:14px;color:#fff}
.auth-point span{display:block;font-size:13px;line-height:1.5;color:rgba(255,255,255,.85)}
.auth-panel{display:grid;gap:18px}
.auth-card{padding:30px;border-radius:30px;background:rgba(15,23,42,.82);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.auth-card h2{margin:0 0 10px;font-size:30px;letter-spacing:-.02em}
.auth-card .muted{line-height:1.65}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.auth-actions .botao{width:100%}
.acoes-mini{display:grid;gap:10px;margin-top:16px}
.link-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:.18s transform,.18s border-color,.18s background}
.link-card:hover{transform:translateY(-1px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.link-card strong{display:block;font-size:14px;color:#fff}
.link-card span{display:block;font-size:12px;color:#b9c0e0;margin-top:4px}
.link-card .seta{font-size:18px;color:#fff;opacity:.85}

/* Página pública */
body.publico{display:block;padding:0;background-color:#0f172a;background-size:cover;background-position:center;background-attachment:fixed;color:#f8fafc}
.publico-bg{position:fixed;inset:0;pointer-events:none}
.publico-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,.28),rgba(2,6,23,.68))}
.publico-wrap{position:relative;z-index:1;min-height:100vh;padding:32px 16px;display:flex;align-items:center;justify-content:center}
.publico-shell{width:100%;max-width:1120px}
.publico-topo{display:flex;justify-content:center;margin-bottom:18px}
.publico-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;backdrop-filter:blur(10px)}
.publico-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.publico-principal,.publico-sidecard{border-radius:32px;background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(2,6,23,.36)}
.publico-principal{padding:30px}
.publico-side{display:grid;gap:18px}
.publico-hero{text-align:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.logo-publica{width:112px;height:112px;border-radius:30px;object-fit:cover;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:block;margin:0 auto 18px;box-shadow:0 14px 40px rgba(15,23,42,.35)}
.logo-publica.placeholder{display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff;background:linear-gradient(135deg,rgba(249,115,22,.78),rgba(124,58,237,.78))}
.publico-titulo{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.04;letter-spacing:-.03em;color:#fff}
.publico-subtitulo{max-width:620px;margin:12px auto 0;color:rgba(255,255,255,.82);font-size:15px;line-height:1.68}
.publico-grid-resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.publico-metrica{padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.publico-metrica strong{display:block;font-size:20px;color:#fff}
.publico-metrica span{display:block;font-size:12px;color:rgba(255,255,255,.7);margin-top:4px;text-transform:uppercase;letter-spacing:.08em}
.publico-secao{margin-top:24px}
.publico-secao-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.publico-secao h3{margin:0;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.info-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:700}
.botoes-publicos{display:grid;gap:12px}
.botao-publico{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:700;line-height:1.3;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.botao-publico:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);box-shadow:0 18px 34px rgba(15,23,42,.18)}
.botao-publico .icone-esq,.botao-publico .icone-dir{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-radius:999px;background:rgba(255,255,255,.1);font-size:14px}
.botao-publico .rotulo{flex:1;text-align:left;font-size:15px;color:#fff}
.botao-publico--solido{background:linear-gradient(135deg,var(--public-acento,#7c3aed),var(--public-acento-2,#f97316));border-color:transparent}
.botao-publico--contorno{background:rgba(255,255,255,.02);border:1.5px solid rgba(255,255,255,.28)}
.botao-publico--soft{background:rgba(255,255,255,.08)}
.preview-card{margin-top:10px;padding:14px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);text-align:left;overflow:hidden}
.preview-card img{width:100%;max-height:220px;object-fit:cover;border-radius:16px;margin-bottom:12px}
.preview-card strong{display:block;font-size:15px;color:#fff}
.preview-card .mini{font-size:13px;line-height:1.5;color:rgba(255,255,255,.72);margin-top:6px}
.embed-box{margin-top:10px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.embed-box iframe{width:100%;min-height:260px;border:0;background:#000}
.publico-vazio{padding:20px;border-radius:20px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.16);text-align:center;color:rgba(255,255,255,.78);font-size:14px}
.publico-sidecard{padding:20px}
.publico-sidecard h4{margin:0 0 14px;font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.72)}
.catalogo-publico{display:grid;gap:12px}
.produto-publico{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:12px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);align-items:center}
.produto-publico img{width:90px;height:90px;object-fit:cover;border-radius:18px}
.produto-publico strong{display:block;font-size:15px;color:#fff}
.produto-publico .descricao{font-size:13px;line-height:1.45;color:rgba(255,255,255,.72);margin-top:4px}
.produto-preco{margin-top:8px;font-size:16px;font-weight:800;color:#fff}
.produto-acoes{margin-top:10px}
.publico-links-redes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rede{width:100%;height:52px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);transition:transform .18s ease,background .18s ease;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff}
.rede:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}
.mapa{margin-top:0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.mapa iframe{width:100%;min-height:280px;border:0;display:block}
.publico-rodape{text-align:center;margin-top:18px;color:rgba(255,255,255,.58);font-size:12px}

@media(max-width:980px){
  .grade-2,.grade-2b,.grade-3,.duas-colunas,.grid-relatorios,.painel-grid,.auth-shell,.publico-layout,.publico-grid-resumo{grid-template-columns:1fr}
  .container{padding:18px}
  .auth-showcase{min-height:auto}
  .publico-side{order:2}
}
@media(max-width:640px){
  .publico-wrap{padding:18px 12px}
  .publico-principal,.publico-sidecard,.auth-card{padding:20px;border-radius:26px}
  .logo-publica{width:96px;height:96px;border-radius:24px}
  .publico-subtitulo{font-size:14px}
  .botao-publico{padding:15px 14px;border-radius:18px}
  .botao-publico .rotulo{font-size:14px}
  .produto-publico{grid-template-columns:72px 1fr}
  .produto-publico img{width:72px;height:72px;border-radius:16px}
  .publico-links-redes{grid-template-columns:repeat(4,1fr)}
}

.mini-preview-bloco{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04)}
.mini-preview-palco{margin-top:10px;display:flex;align-items:center;justify-content:center;min-height:120px;border-radius:16px;background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(249,115,22,.12),rgba(132,204,22,.12));overflow:hidden}
.mini-preview-img{max-width:100%;max-height:110px;display:block}
