:root {
    color-scheme: light;
    --cor-primaria: #6558e8;
    --cor-primaria-forte: #5144d9;
    --cor-secundaria: #21bba6;
    --cor-destaque: #ffb85c;
    --cor-perigo: #ef5a67;
    --cor-fundo: #f6f7fb;
    --cor-superficie: #ffffff;
    --cor-superficie-suave: #f0f1f7;
    --cor-texto: #25253a;
    --cor-texto-suave: #75758d;
    --cor-borda: #e7e8f1;
    --sombra-suave: 0 18px 50px rgba(48, 45, 90, .10);
    --sombra-card: 0 8px 30px rgba(48, 45, 90, .07);
    --raio-grande: 24px;
    --raio-medio: 16px;
    --raio-pequeno: 10px;
    --largura-conteudo: 1240px;
    --fonte: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[data-tema="escuro"] {
    color-scheme: dark;
    --cor-fundo: #11121b;
    --cor-superficie: #181a27;
    --cor-superficie-suave: #222433;
    --cor-texto: #f4f4fa;
    --cor-texto-suave: #a7a8bb;
    --cor-borda: #2a2d3e;
    --sombra-suave: 0 18px 50px rgba(0, 0, 0, .28);
    --sombra-card: 0 8px 30px rgba(0, 0, 0, .20);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    background: var(--cor-fundo);
    color: var(--cor-texto);
    font-family: var(--fonte);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 32px), var(--largura-conteudo)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.botao {
    border: 0;
    border-radius: 12px;
    min-height: 46px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-weight: 700;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.botao:hover { transform: translateY(-1px); }
.botao-primario { background: linear-gradient(135deg, var(--cor-primaria), #8278f4); color: #fff; box-shadow: 0 10px 22px rgba(101, 88, 232, .24); }
.botao-secundario { background: var(--cor-superficie); color: var(--cor-texto); border: 1px solid var(--cor-borda); }
.botao-fantasma { background: transparent; color: var(--cor-texto-suave); }
.campo { display: grid; gap: 8px; }
.campo label { font-size: .9rem; font-weight: 700; color: var(--cor-texto); }
.controle {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    padding: 0 14px;
    background: var(--cor-superficie);
    color: var(--cor-texto);
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.controle:focus { border-color: var(--cor-primaria); box-shadow: 0 0 0 4px rgba(101, 88, 232, .12); }
.alerta { border-radius: 12px; padding: 13px 15px; font-size: .92rem; }
.alerta-erro { color: #a52d3b; background: #fff0f2; border: 1px solid #ffd4da; }
.alerta-sucesso { color: #087b68; background: #eafbf7; border: 1px solid #b9eee2; }
html[data-tema="escuro"] .alerta-erro { color: #ffafb8; background: rgba(239, 90, 103, .11); border-color: rgba(239, 90, 103, .22); }
html[data-tema="escuro"] .alerta-sucesso { color: #7ce4d2; background: rgba(33, 187, 166, .10); border-color: rgba(33, 187, 166, .22); }
