:root {
  --fundo: #F6F4F2; --cartao: #FFFFFF; --texto: #22201F; --suave: #6E6862; --linha: #E7E2DD;
  --destaque: #8A3B5E; --destaque-claro: #F4E7ED; --bom: #1E7A4C; --ruim: #B3261E; --aviso: #A86400;
  --sombra: 0 1px 3px rgba(40, 30, 25, .08);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --fundo: #1A1817; --cartao: #252220; --texto: #EEEAE6; --suave: #A39C95; --linha: #38332F;
    --destaque: #E08AB0; --destaque-claro: #3A2630; --bom: #5FC48E; --ruim: #F08A80; --aviso: #E5A64B;
    --sombra: none;
  }
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; background: var(--fundo); color: var(--texto); font-size: 14px; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; border: 1px solid var(--linha); background: var(--cartao); border-radius: 8px; padding: 7px 12px; }
button.primario { background: var(--destaque); border-color: var(--destaque); color: #fff; font-weight: 600; }
button.link { border: 0; background: none; padding: 2px 4px; color: var(--destaque); }
input, select { border: 1px solid var(--linha); background: var(--cartao); border-radius: 8px; padding: 7px 9px; min-width: 0; }
input:focus, select:focus { outline: 2px solid var(--destaque); border-color: transparent; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bom { color: var(--bom); } .ruim { color: var(--ruim); } .suave { color: var(--suave); }
