/* tokens.css — PULSE
   Bloques .t-dark / .t-light COPIADOS VERBATIM de design/dashboard-mobile.html.
   Regla de extraccion: docs/design-app.md §2. Este archivo NO se edita a mano:
   si un token cambia, cambia PRIMERO en el mockup (golden master) y se re-copia.
   La clase de tema va en <html> (theme.mjs). check-fidelidad.mjs falla si un
   token falta o cambia de valor. */

.t-dark { --bg:#0B0D12; --card:#151823; --card2:#1B1F2D; --line:rgba(255,255,255,.07);
    --tx:#F2F4F8; --tx2:#9BA3B7; --tx3:#6B7385;
    --accent:#3DDC97; --accent-deep:#19B47A; --accent-soft:rgba(61,220,151,.14);
    --bad:#FF6B6B; --bad-soft:rgba(255,107,107,.12);
    --chip:#1E2330; --link:#7DA9FF; --hero-grad:linear-gradient(135deg,#152034 0%,#132B26 100%);
    --bar-grad:linear-gradient(180deg,#3DDC97 0%,#1E9E6E 100%);
    --bar-dim:linear-gradient(180deg,#2B3347 0%,#232938 100%);
    --shadow:0 10px 24px rgba(0,0,0,.35); }
.t-light { --bg:#F3F4F7; --card:#FFFFFF; --card2:#FFFFFF; --line:rgba(23,26,33,.07);
    --tx:#171A21; --tx2:#5C6474; --tx3:#9AA1B2;
    --accent:#0FA968; --accent-deep:#0B8A55; --accent-soft:rgba(15,169,104,.11);
    --bad:#E5484D; --bad-soft:rgba(229,72,77,.1);
    --chip:#EAECF1; --link:#2F6BFF; --hero-grad:linear-gradient(135deg,#0E2A22 0%,#123B2E 100%);
    --bar-grad:linear-gradient(180deg,#14C57E 0%,#0B8A55 100%);
    --bar-dim:linear-gradient(180deg,#DFE3EA 0%,#D3D8E2 100%);
    --shadow:0 8px 20px rgba(23,26,33,.07); }

/* TRADUCCION 1/3 (docs/design-app.md §2):
   .t-dark .screen { background:#0B0D12; color:#F2F4F8 }  ->  html.t-dark body { ... }
   .t-light .screen { background:#F3F4F7; color:#171A21 } ->  html.t-light body { ... }
   El tema vive en <html>, el fondo lo pinta <body> con los tokens. */
html.t-dark body { background: var(--bg); color: var(--tx); }
html.t-light body { background: var(--bg); color: var(--tx); }
