/* ════════════════════════════════════════════════════════════════════
   NuestrasCuentas · Tokens de marca
   Azules del logo (#1a3a5c marino, #2e7db2 acero) y dorado de la moneda.
   Los nombres antiguos (--bg-body, --sidebar-*, --badge-*…) se conservan
   para que las vistas existentes adopten la paleta sin editarse.
   Las variables --bs-*-rgb deben ser números: Bootstrap las usa en rgba().
   ════════════════════════════════════════════════════════════════════ */

:root,
[data-theme="light"] {
  /* Tipografía y movimiento (comunes a ambos temas) */
  --font-ui: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-brand: 'Gabarito', 'Hanken Grotesk', system-ui, sans-serif;
  --fs-xs: 12px; --fs-sm: 13px; --fs-base: 14px; --fs-md: 16px; --fs-lg: 19px; --fs-xl: 23px; --fs-2xl: 28px;
  --dur-fast: 150ms; --dur: 200ms; --ease-out: cubic-bezier(.22, 1, .36, 1);
  --radius-sm: 6px; --radius-md: 8px; --radius-lg: 12px; --radius-full: 9999px;

  /* Marca */
  --brand-navy: #1a3a5c;
  --brand-navy-deep: #0d223b;
  --brand-steel: #2e7db2;
  --brand-gold: #f4c43a;

  /* Superficies */
  --bg-body: #f4f7fb;
  --bg-card: #fcfeff;
  --bg-sunken: #ecf1f5;
  --bg-navbar: #fcfeff;
  --bg-input: #fcfeff;
  --bg-table-head: #f4f7fb;
  --bg-table-hover: #eff4fa;
  --bg-modal: #fcfeff;
  --bg-modal-header: #fcfeff;

  /* Texto */
  --text-primary: #182230;
  --text-secondary: #495766;
  --text-muted: #626e7c;
  --text-nav-brand: #182230;
  --text-nav-accent: #19699c;

  /* Bordes */
  --border-color: #d8dfe6;
  --border-input: #c3cbd4;
  --border-navbar: #d8dfe6;
  --hairline: rgba(24, 34, 48, .08);
  --hairline-strong: #d8dfe6;

  /* Acento y semánticos */
  --accent: #19699c;
  --accent-hover: #02578b;
  --accent-soft: #daeefe;
  --accent-contrast: #fcfeff;
  --money-in: #0b7643;
  --money-in-soft: #daf7e3;
  --money-out: #b2392b;
  --money-out-soft: #ffe8e3;
  --attention: #da950b;
  --attention-text: #945a00;
  --attention-soft: #fff0cc;
  --info: #237293;
  --info-soft: #def2fc;
  --focus-ring: 0 0 0 3px rgba(25, 105, 156, .28);

  /* Elevación: superficies planas, sombra solo en flotantes */
  --shadow-card: 0 1px 2px rgba(24, 34, 48, .04);
  --shadow-elevated: 0 16px 40px -16px rgba(24, 34, 48, .28), 0 0 0 1px #d8dfe6;
  --shadow-navbar: none;

  /* Sidebar marino (ambos temas) */
  --sidebar-bg: #1a3a5c;
  --sidebar-heading-bg: #1a3a5c;
  --sidebar-org-bg: rgba(252, 254, 255, .06);
  --sidebar-border: rgba(212, 224, 235, .14);
  --sidebar-text: #d4e0eb;
  --sidebar-text-dim: #a2b4c3;
  --sidebar-hover-bg: rgba(252, 254, 255, .08);
  --sidebar-hover-text: #fcfeff;
  --sidebar-active-bg: rgba(252, 254, 255, .14);
  --sidebar-active-bar: #2e7db2;

  /* Texto y líneas sobre superficies marino (páginas de acceso, pies, barras) */
  --on-navy-strong: #fcfeff;
  --on-navy-mid: #d4e0eb;
  --on-navy-dim: #a2b4c3;
  --on-navy-line: rgba(212, 224, 235, .22);
  --on-navy-fill: rgba(252, 254, 255, .08);

  /* Badges (semánticos) */
  --badge-success-bg: var(--money-in-soft); --badge-success-text: var(--money-in); --badge-success-border: #b2e6c4;
  --badge-warning-bg: var(--attention-soft); --badge-warning-text: var(--attention-text); --badge-warning-border: #f3d98f;
  --badge-danger-bg: var(--money-out-soft); --badge-danger-text: var(--money-out); --badge-danger-border: #f6c4bb;
  --badge-info-bg: var(--info-soft); --badge-info-text: var(--info); --badge-info-border: #b7dcef;
  --badge-neutral-bg: var(--bg-sunken); --badge-neutral-text: var(--text-secondary); --badge-neutral-border: var(--border-color);
  --badge-admin-bg: var(--accent-soft); --badge-admin-text: var(--accent-hover);
  --badge-editor-bg: var(--bg-sunken); --badge-editor-text: var(--text-secondary);

  /* Toggle de tema */
  --toggle-bg: var(--bg-sunken);
  --theme-icon-color: var(--attention-text);

  /* ── Puente Bootstrap 5.3 ── */
  --bs-body-font-family: var(--font-ui);
  --bs-body-font-size: var(--fs-base);
  --bs-body-bg: var(--bg-body);              --bs-body-bg-rgb: 244, 247, 251;
  --bs-body-color: var(--text-primary);      --bs-body-color-rgb: 24, 34, 48;
  --bs-emphasis-color: var(--text-primary);  --bs-emphasis-color-rgb: 24, 34, 48;
  --bs-secondary-color: var(--text-secondary);
  --bs-tertiary-color: var(--text-muted);
  --bs-secondary-bg: var(--bg-sunken);
  --bs-tertiary-bg: var(--bg-table-head);
  --bs-border-color: var(--border-color);
  --bs-border-color-translucent: var(--hairline);
  --bs-border-radius: var(--radius-md); --bs-border-radius-sm: var(--radius-sm); --bs-border-radius-lg: var(--radius-lg);
  --bs-link-color: var(--accent);            --bs-link-color-rgb: 25, 105, 156;
  --bs-link-hover-color: var(--accent-hover); --bs-link-hover-color-rgb: 2, 87, 139;
  --bs-focus-ring-color: rgba(25, 105, 156, .28);

  --bs-primary: var(--accent);   --bs-primary-rgb: 25, 105, 156;
  --bs-primary-text-emphasis: var(--accent-hover); --bs-primary-bg-subtle: var(--accent-soft); --bs-primary-border-subtle: #b5d8f2;
  --bs-secondary: var(--text-secondary); --bs-secondary-rgb: 73, 87, 102;
  --bs-secondary-text-emphasis: var(--text-primary); --bs-secondary-bg-subtle: var(--bg-sunken); --bs-secondary-border-subtle: var(--border-color);
  --bs-success: var(--money-in); --bs-success-rgb: 11, 118, 67;
  --bs-success-text-emphasis: var(--money-in); --bs-success-bg-subtle: var(--money-in-soft); --bs-success-border-subtle: #b2e6c4;
  --bs-danger: var(--money-out); --bs-danger-rgb: 178, 57, 43;
  --bs-danger-text-emphasis: var(--money-out); --bs-danger-bg-subtle: var(--money-out-soft); --bs-danger-border-subtle: #f6c4bb;
  --bs-warning: var(--attention); --bs-warning-rgb: 218, 149, 11;
  --bs-warning-text-emphasis: var(--attention-text); --bs-warning-bg-subtle: var(--attention-soft); --bs-warning-border-subtle: #f3d98f;
  --bs-info: var(--info); --bs-info-rgb: 35, 114, 147;
  --bs-info-text-emphasis: var(--info); --bs-info-bg-subtle: var(--info-soft); --bs-info-border-subtle: #b7dcef;
  --bs-light: var(--bg-sunken); --bs-light-rgb: 236, 241, 245;
  --bs-dark: var(--text-primary); --bs-dark-rgb: 24, 34, 48;
  --bs-white-rgb: 252, 254, 255;
}

[data-theme="dark"] {
  --bg-body: #0e141d;
  --bg-card: #161d27;
  --bg-sunken: #121921;
  --bg-navbar: #161d27;
  --bg-input: #121921;
  --bg-table-head: #121921;
  --bg-table-hover: #1f2732;
  --bg-modal: #161d27;
  --bg-modal-header: #161d27;

  --text-primary: #e6ecf2;
  --text-secondary: #a8b2be;
  --text-muted: #8c96a2;
  --text-nav-brand: #e6ecf2;
  --text-nav-accent: #67addd;

  --border-color: #28313d;
  --border-input: #36414f;
  --border-navbar: #28313d;
  --hairline: rgba(230, 236, 242, .08);
  --hairline-strong: #28313d;

  --accent: #67addd;
  --accent-hover: #81bfeb;
  --accent-soft: #163045;
  --accent-contrast: #0e141d;
  --money-in: #65c98c;
  --money-in-soft: #12301e;
  --money-out: #f28979;
  --money-out-soft: #41211c;
  --attention: #eebc4a;
  --attention-text: #f1c45e;
  --attention-soft: #3b2b0d;
  --info: #7abbda;
  --info-soft: #112c39;
  --focus-ring: 0 0 0 3px rgba(103, 173, 221, .35);

  --shadow-card: none;
  --shadow-elevated: 0 16px 40px -12px rgba(0, 0, 0, .6), 0 0 0 1px #28313d;

  --sidebar-bg: #0d223b;
  --sidebar-heading-bg: #0d223b;

  --badge-success-border: #1f4d31; --badge-warning-border: #5c4513; --badge-danger-border: #63322b; --badge-info-border: #1d4458;

  --bs-body-bg-rgb: 14, 20, 29;
  --bs-body-color-rgb: 230, 236, 242;
  --bs-emphasis-color-rgb: 230, 236, 242;
  --bs-link-color-rgb: 103, 173, 221;
  --bs-link-hover-color-rgb: 129, 191, 235;
  --bs-focus-ring-color: rgba(103, 173, 221, .35);
  --bs-primary-rgb: 103, 173, 221;   --bs-primary-border-subtle: #24506f;
  --bs-secondary-rgb: 168, 178, 190;
  --bs-success-rgb: 101, 201, 140;   --bs-success-border-subtle: #1f4d31;
  --bs-danger-rgb: 242, 137, 121;    --bs-danger-border-subtle: #63322b;
  --bs-warning-rgb: 238, 188, 74;    --bs-warning-border-subtle: #5c4513;
  --bs-info-rgb: 122, 187, 218;      --bs-info-border-subtle: #1d4458;
  --bs-light-rgb: 18, 25, 33;
  --bs-dark-rgb: 230, 236, 242;
}
