:root {
  --fundo: #0f0e12;
  --card: #17151c;
  --card-2: #1e1b24;
  --borda: #2b2733;
  --borda-ativa: #c9a24b;
  --ouro: #c9a24b;
  --ouro-claro: #e8c87a;
  --ouro-gradiente: linear-gradient(120deg, #b8923d, #e8c87a);
  --texto: #f0ebe1;
  --texto-suave: #a79f92;
  --verde: #58b87c;
  --amarelo: #d9a83c;
  --vermelho: #e06a5a;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: radial-gradient(1200px 600px at 50% -100px, #1a1622 0%, var(--fundo) 60%);
  color: var(--texto);
  line-height: 1.6;
  min-height: 100vh;
}

.container { max-width: 640px; margin: 0 auto; padding: 24px 16px 80px; }
.container-larga { max-width: 1100px; margin: 0 auto; padding: 24px 16px 80px; }

/* Cabeçalho */
.topo { text-align: center; padding: 28px 0 10px; }
.topo .marca {
  display: inline-block;
  border: 1px solid var(--ouro);
  color: var(--ouro-claro);
  background: rgba(201, 162, 75, 0.08);
  font-weight: 600;
  letter-spacing: 2.5px;
  padding: 7px 18px;
  border-radius: 999px;
  font-size: 0.72rem;
}
.topo h1 { font-size: 1.75rem; margin-top: 16px; font-weight: 700; letter-spacing: -0.3px; }
.topo p { color: var(--texto-suave); margin-top: 8px; }

/* Progresso */
.progresso { height: 6px; background: var(--borda); border-radius: 999px; margin: 22px 0; overflow: hidden; }
.progresso > div { height: 100%; background: var(--ouro-gradiente); width: 0%; transition: width 0.3s; }

/* Blocos e perguntas */
.bloco {
  background: var(--card);
  border: 1px solid var(--borda);
  border-radius: 18px;
  padding: 24px 22px;
  margin-bottom: 18px;
}
.bloco h2 {
  font-size: 0.8rem;
  color: var(--ouro-claro);
  margin-bottom: 18px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
}
.pergunta { margin-bottom: 24px; }
.pergunta:last-child { margin-bottom: 4px; }
.pergunta > label.titulo { display: block; font-weight: 600; margin-bottom: 10px; }
.obrigatoria::after { content: ' *'; color: var(--ouro); }

.opcao {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 13px 15px; border: 1px solid var(--borda); border-radius: 12px;
  margin-bottom: 8px; cursor: pointer; background: var(--card-2);
  transition: border-color 0.15s, background 0.15s;
  font-size: 0.95rem;
}
.opcao:hover { border-color: #3d3749; }
.opcao:has(input:checked) {
  border-color: var(--borda-ativa);
  background: rgba(201, 162, 75, 0.1);
}
.opcao input { margin-top: 4px; accent-color: var(--ouro); flex-shrink: 0; }

input[type='text'], input[type='email'], input[type='password'], textarea {
  width: 100%; padding: 13px 15px; border: 1px solid var(--borda);
  border-radius: 12px; font-size: 1rem; font-family: inherit;
  background: var(--card-2); color: var(--texto);
}
input::placeholder, textarea::placeholder { color: #6b6455; }
input:focus, textarea:focus { outline: none; border-color: var(--ouro); }
textarea { min-height: 90px; resize: vertical; }

.botao {
  display: block; width: 100%; padding: 16px; border: none; border-radius: 14px;
  background: var(--ouro-gradiente);
  color: #16130c; font-size: 1.05rem; font-weight: 800; cursor: pointer;
  letter-spacing: 0.2px;
  box-shadow: 0 6px 24px rgba(201, 162, 75, 0.25);
}
.botao:hover { filter: brightness(1.06); }
.botao:disabled { opacity: 0.6; cursor: wait; }
.botao-secundario {
  display: inline-block; padding: 10px 18px; border: 1px solid var(--borda);
  border-radius: 12px; background: var(--card-2); color: var(--texto);
  font-weight: 600; cursor: pointer; font-size: 0.88rem;
}
.botao-secundario:hover { border-color: var(--ouro); color: var(--ouro-claro); }

.erro { color: var(--vermelho); font-size: 0.9rem; margin-top: 10px; display: none; }

/* Mini-resultado */
.resultado { text-align: center; }
.resultado .frase-titulo { font-size: 1.35rem; margin: 20px 0 12px; color: var(--ouro-claro); }
.resultado .frase-texto { color: var(--texto); max-width: 520px; margin: 0 auto; }
.pilares { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.pilar {
  background: var(--card); border: 1px solid var(--borda);
  border-radius: 14px; padding: 15px; text-align: left;
}
.pilar .nome { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 1.5px; color: var(--texto-suave); }
.pilar .barras { display: flex; gap: 4px; margin-top: 10px; }
.pilar .barras span { flex: 1; height: 9px; border-radius: 4px; background: var(--borda); }
.pilar .barras span.cheia { background: var(--ouro-gradiente); }
.cta {
  background: rgba(201, 162, 75, 0.07);
  border: 1px dashed var(--ouro);
  border-radius: 14px; padding: 20px; margin-top: 24px;
}
.cta strong { color: var(--ouro-claro); }

/* Painel */
.tabela { width: 100%; border-collapse: collapse; background: var(--card); border-radius: 14px; overflow: hidden; border: 1px solid var(--borda); }
.tabela th { text-align: left; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 1px; color: var(--texto-suave); padding: 13px 14px; border-bottom: 1px solid var(--borda); background: var(--card-2); }
.tabela td { padding: 13px 14px; border-bottom: 1px solid var(--borda); font-size: 0.92rem; }
.tabela tr:last-child td { border-bottom: none; }
.tabela tbody tr { cursor: pointer; }
.tabela tbody tr:hover { background: rgba(201, 162, 75, 0.05); }

.selo { display: inline-block; padding: 3px 11px; border-radius: 999px; font-size: 0.74rem; font-weight: 700; }
.selo.express { background: rgba(232, 200, 122, 0.14); color: var(--ouro-claro); }
.selo.completo { background: rgba(140, 120, 200, 0.18); color: #b9a8ef; }
.selo.reavaliacao { background: rgba(88, 184, 124, 0.16); color: var(--verde); }
.selo.novo { background: rgba(217, 168, 60, 0.15); color: var(--amarelo); }
.selo.em_analise { background: rgba(90, 140, 220, 0.16); color: #8ab2ef; }
.selo.enviado { background: rgba(88, 184, 124, 0.15); color: var(--verde); }
.prioridade-alta { color: var(--ouro-claro); font-weight: 800; }

.detalhe-bloco { background: var(--card); border: 1px solid var(--borda); border-radius: 14px; padding: 20px; margin-bottom: 14px; }
.detalhe-bloco h3 { color: var(--ouro-claro); font-size: 0.85rem; margin-bottom: 14px; text-transform: uppercase; letter-spacing: 1.5px; }
.detalhe-bloco a { color: var(--ouro-claro); }
.resposta-item { margin-bottom: 15px; padding-bottom: 13px; border-bottom: 1px dashed var(--borda); }
.resposta-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.resposta-item .p { font-weight: 600; font-size: 0.9rem; color: var(--texto-suave); }
.resposta-item .r { margin-top: 4px; }
.resposta-item .sinal {
  margin-top: 6px; font-size: 0.78rem; color: var(--ouro-claro);
  background: rgba(201, 162, 75, 0.09); padding: 4px 10px; border-radius: 8px; display: inline-block;
}

.filtros { display: flex; gap: 10px; margin: 18px 0; flex-wrap: wrap; }
.login-caixa {
  max-width: 380px; margin: 80px auto; background: var(--card);
  border: 1px solid var(--borda); border-radius: 18px; padding: 30px; text-align: center;
}

.escondido { display: none !important; }

@media (max-width: 560px) {
  .pilares { grid-template-columns: 1fr; }
  .tabela .ocultavel { display: none; }
  .topo h1 { font-size: 1.4rem; }
}
