:root {
  --bg-app: #f5f3ec;
  --bg-sidebar: #f0eee7;
  --bg-elevated: #faf9f5;
  --bg-muted: #e8e6df;
  --ink: #1f2a24;
  --ink-soft: #5a635c;
  --ink-faint: #8a918b;
  --accent: #1f2a24;
  --accent-hover: #16201b;
  --sage: #d7e0d5;
  --sage-deep: #b8c9b6;
  --amber: #f0d9a8;
  --amber-deep: #e8c98b;
  --amber-ink: #6b4e1a;
  --danger: #c45c4a;
  --white: #ffffff;
  --g1-bg: #d9e8f4;
  --g2-bg: #f3ddd9;
  --revista-titular: #2980b9;
  --revista-provisional: #c0392b;
  --revista-suplente: #27ae60;
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 22px;
  --shadow-soft: 0 8px 28px rgba(31, 42, 36, 0.06);
  --font: "Plus Jakarta Sans", system-ui, sans-serif;
  --sidebar-w: 248px;
  --sidebar-w-collapsed: 76px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 220ms;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bg-app);
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
