/* marca.css — Tokens y tipografías de «Marca GEO» (GEO-139). Única fuente: la cargan
   head_pwa.php (todas las páginas del admin), login.php y el portal de auditoría (/audit/).
   Solo variables y @font-face: nada de reglas sobre elementos, para que quien la cargue
   no herede estilos. Los valores están documentados en admin/DESIGN.md.
   Siempre con ?v=filemtime: el .htaccess raíz cachea CSS un año (immutable). */

/* Tipografías alojadas (GEO-18, licencia OFL en fonts/). Sin pedir nada a Google.
   Figtree = títulos y texto; JetBrains Mono = localizadores. Ambas son variables.
   Figtree trae las cifras proporcionales por defecto: los montos llevan tabular-nums. */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/figtree-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Base visual «Marca GEO» (GEO-18). Marino = marca y cabecera; azul medio = acción,
   enlaces y foco; lavanda del logo = detalle (filete de la cabecera). Verde, ámbar y
   rojo significan siempre cobrado, pendiente y deuda. */
:root, [data-theme="light"] {
  color-scheme: light;
  --color-brand: #072444;
  --color-brand-ink: #ffffff;
  --color-brand-line: #b9c6e8;
  --color-lavender: #b9c6e8;
  --brand-line-width: 4px;
  --color-action: #1b5fb4;
  --color-action-hover: #154d94;
  --color-action-ink: #ffffff;
  --color-primary: var(--color-brand);
  --color-primary-light: var(--color-action);
  --color-accent: var(--color-action);
  --color-accent-hover: var(--color-action-hover);
  --color-highlight: #ea580c;
  /* Semánticos: relleno/borde (--color-x) y TEXTO (--color-x-text, ≥ 4,5:1 sobre el fondo del tema). */
  --color-success: #10b981;
  --color-success-ink: #04261c; /* texto sobre relleno verde (blanco no llega a 3:1) */
  --color-success-text: #047857;
  --color-warning: #f59e0b;
  --color-warning-text: #b45309;
  --color-danger: #ef4444;
  --color-danger-text: #dc2626;
  --color-danger-on-tint: #b91c1c; /* texto de deuda sobre fondo rojo suave (chips, avisos): ≥ 4,5:1 */
  --color-danger-on-brand: #f87171;
  --color-bg-dark: #f6f8fc;
  --color-card-bg: #ffffff;

  --text-main: #0b1b33;
  --text-light: #0b1b33;
  --text-muted: #4a5a75;

  --glass-bg: rgba(255, 255, 255, 0.95);
  --glass-border: #d3dcec;
  --glass-shadow: rgba(11, 27, 51, 0.08);

  --sidebar-bg: #ffffff;
  --sidebar-border: #d3dcec;
  --drawer-bg: #ffffff;

  --font-title: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;

  --input-bg: #ffffff;
  --input-border: #94a3b8;
  --input-text: #0b1b33;

  --card-shadow: 0 4px 16px -2px rgba(11, 27, 51, 0.08), 0 2px 4px -1px rgba(11, 27, 51, 0.04);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-card: 8px;
  --radius-btn: calc(8px - 2px);
}

[data-theme="dark"] {
  color-scheme: dark;
  --color-brand: #04172e;
  --color-brand-ink: #eef3fb;
  --color-brand-line: #b9c6e8;
  --color-lavender: #b9c6e8;
  --brand-line-width: 4px;
  --color-action: #7aa7f2;
  --color-action-hover: #9bbcf5;
  --color-action-ink: #04162b;
  --color-primary: var(--color-brand);
  --color-primary-light: var(--color-action);
  --color-accent: var(--color-action);
  --color-accent-hover: var(--color-action-hover);
  --color-highlight: #f97316;
  --color-success: #34d399;
  --color-success-ink: #04261c;
  --color-success-text: #34d399;
  --color-warning: #fbbf24;
  --color-warning-text: #fbbf24;
  --color-danger: #ef4444;
  --color-danger-text: #f87171;
  --color-danger-on-tint: #f87171;
  --color-danger-on-brand: #f87171;
  --color-bg-dark: #0a1424;
  --color-card-bg: #111d33;

  --text-main: #eef3fb;
  --text-light: #eef3fb;
  --text-muted: #9fb0cc;

  --glass-bg: rgba(17, 29, 51, 0.88);
  --glass-border: #243452;
  --glass-shadow: rgba(0, 0, 0, 0.40);

  --sidebar-bg: #0d1a2e;
  --sidebar-border: #243452;
  --drawer-bg: #111d33;

  --input-bg: #0d1a2e;
  --input-border: #3a4d70;
  --input-text: #eef3fb;

  --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}

/* Profundidad «Marcada» (GEO-96, 19-10-2026, decisión del PO): las fichas flotan sobre el fondo y los
   campos de texto se ven hundidos. De noche la ficha sube un punto de luz, porque la sombra sola no se ve. */
:root { --elev-ficha: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 2px 4px rgba(11, 27, 51, 0.08), 0 10px 20px -8px rgba(11, 27, 51, 0.22);
  --elev-campo: inset 0 2px 4px rgba(11, 27, 51, 0.12), 0 1px 0 rgba(255, 255, 255, 0.7); }
[data-theme="dark"] { --elev-ficha: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 2px 4px rgba(0, 0, 0, 0.2), 0 10px 20px -8px rgba(0, 0, 0, 0.55);
  --elev-campo: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.12); }
