:root {
  --vidro: rgba(17, 22, 29, 0.78);
  --borda: rgba(255, 255, 255, 0.1);
  --texto: #f3efe6;
  --texto-2: #c7c1b4;
  --texto-3: #8c877c;
  --ouro: #d6b25e;
  --verde: #4ade80;
  --vermelho: #f87171;
  --ambar: #fbbf24;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; color: var(--texto); -webkit-font-smoothing: antialiased; }
.btn {
  appearance: none; border: 1px solid var(--borda); background: rgba(255,255,255,.06); color: var(--texto);
  font: inherit; font-size: 14px; font-weight: 600; padding: 8px 14px; border-radius: 10px; cursor: pointer;
  text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  transition: background .15s, transform .1s, border-color .15s; white-space: nowrap;
}
.btn:hover { background: rgba(255,255,255,.12); }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .6; cursor: default; }
.btn.primario { background: var(--ouro); color: #1a1408; border-color: transparent; font-weight: 800; }
.btn.primario:hover { background: #e2c071; }
.btn.ok { border-color: rgba(74, 222, 128, .45); }
.btn.alerta { border-color: rgba(248, 113, 113, .55); color: #ffd0d0; }
.btn.perigo { color: #ffb4b4; }
input, select {
  font: inherit; color: var(--texto); background: rgba(255,255,255,.06); border: 1px solid var(--borda);
  border-radius: 10px; padding: 11px 13px; width: 100%; outline: none; transition: border-color .15s, background .15s;
}
input:focus, select:focus { border-color: var(--ouro); background: rgba(255,255,255,.09); }
select option { background: #1b2028; }
label.campo { display: block; font-size: 13px; font-weight: 600; color: var(--texto-2); margin-bottom: 14px; }
label.campo input, label.campo select { margin-top: 6px; }
.erro { color: var(--vermelho); font-size: 14px; min-height: 20px; }
