:root {
  --bg: #0f141a;
  --bg-soft: #151b22;
  --panel: #1b222b;
  --panel-soft: #222b35;
  --panel-elev: #29333f;
  --text: #f5f7f8;
  --muted: #aeb8c2;
  --line: rgba(230,232,235,0.14);
  --primary: #c81e2d;
  --primary-soft: #8f1722;
  --accent: #f5f7f8;
  --info: #5f7487;
  --info-soft: rgba(95,116,135,0.18);
  --signal: #f2b84b;
  --signal-soft: rgba(242,184,75,0.16);
  --danger: #ef4444;
  --success: #22c55e;
  --warning: #f2b84b;
  --finance: #35b47d;
  --graduation: #8b5cf6;
  --mural: #f2b84b;
  --presence: #38bdf8;
  --report: #d3a451;
  --backup: #7b8ea3;
  --radius: 18px;
  --shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(95,116,135,.20), transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(200,30,45,.10), transparent 28%),
    linear-gradient(135deg, #0f141a 0%, #111922 46%, #0c1117 100%);
  color: var(--text);
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
::placeholder { color: #71717a; }

/* Controles nativos em tema escuro. */
html { color-scheme: dark; }
select,
option,
optgroup {
  background-color: #08090c !important;
  color: #f5f7fa !important;
}
select:disabled,
option:disabled {
  color: #71717a !important;
}
input[type="date"],
input[type="time"],
input[type="month"],
input[type="number"],
input[type="text"],
input[type="tel"],
textarea,
select {
  color-scheme: dark;
}
