/* MuniCash · design tokens (extraídos del handoff de diseño) */
:root {
  /* Fondos */
  --bg: #000000;
  --surface: #0c0d0e;
  --card-top: #101214;
  --card-bot: #0b0c0e;
  --modal-bg: #101214;
  --input-bg: #0d0f11;
  --input-bg-focus: #0f1512;

  /* Bordes */
  --border: rgba(255,255,255,0.06);
  --border-2: rgba(255,255,255,0.08);
  --border-nav: rgba(255,255,255,0.07);
  --border-hair: rgba(255,255,255,0.05);

  /* Acentos */
  --green: #22c55e;
  --green-hover: #2ad169;
  --green-soft: rgba(34,197,94,0.10);
  --green-soft-2: rgba(34,197,94,0.12);
  --green-soft-3: rgba(34,197,94,0.18);
  --green-border: rgba(34,197,94,0.35);
  --green-text: #7ee2a0;
  --green-ink: #04140a;
  --red: #ef4444;
  --red-soft: rgba(239,68,68,0.14);
  --red-border: rgba(239,68,68,0.25);

  /* Texto */
  --txt: #f4f5f6;
  --txt-2: #eef0f2;
  --txt-3: #e8eaec;
  --txt-soft: #cdd1d5;
  --muted: #9aa0a6;
  --muted-2: #7b8189;
  --muted-3: #868c93;
  --muted-4: #6b7177;
  --muted-5: #5d636a;

  /* Roles */
  --role-admin: #22c55e;
  --role-hacienda: #38bdf8;
  --role-monitor: #a78bfa;

  /* Formas */
  --radius-card: 20px;
  --radius-card-sm: 18px;
  --radius-btn: 10px;
  --radius-inp: 7px;
  --radius-pill: 999px;

  /* Sombras */
  --shadow-card: 0 24px 50px -30px rgba(0,0,0,0.85), inset 0 1px 0 rgba(255,255,255,0.04);
  --shadow-card-sm: 0 20px 40px -30px rgba(0,0,0,0.85), inset 0 1px 0 rgba(255,255,255,0.04);
  --shadow-modal: 0 40px 80px -20px rgba(0,0,0,0.9);
  --shadow-green: 0 6px 18px -6px rgba(34,197,94,0.6);
  --glow-green: 0 0 10px rgba(34,197,94,0.7);

  --maxw: 1680px;
  --nav-h: 64px;
  --font: Figtree, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); }
body {
  font-family: var(--font);
  font-feature-settings: 'tnum' 1;
  color: var(--txt-3);
  -webkit-font-smoothing: antialiased;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

@keyframes mcfade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes mcpop  { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes mcslide { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
