/* Fundaciones TrackLegal. Fuente: sintesis.md §4. */
:root{
  --marca-h:233;
  --tl-btn-sm-font:13px; --tl-btn-sm-line:18px; --tl-btn-sm-py:4px; --tl-btn-sm-px:8px;
  --tl-btn-md-font:13px; --tl-btn-md-line:20px; --tl-btn-md-py:5px; --tl-btn-md-px:12px;
  --tl-btn-lg-font:14px; --tl-btn-lg-line:24px; --tl-btn-lg-py:7px; --tl-btn-lg-px:16px;
  --tl-form-font:14px; --tl-form-line:20px; --tl-form-py:7px;
  /* Marca y primario */
  --tl-brand:hsl(var(--marca-h) 81.132% 10.392%);
  --tl-brand-hover:hsl(var(--marca-h) 81.132% 16%);
  --tl-primary-bg:var(--tl-brand); --tl-primary-fg:#fff; --tl-primary-hover:var(--tl-brand-hover);
  /* Superficies y texto */
  --tl-canvas:#F4F5FA; --tl-surface:#FFFFFF; --tl-surface-subtle:#F7F8FC; --tl-active-bg:#EAEDF8;
  --tl-text:#151B35; --tl-text-muted:#58627A; --tl-border:#E2E5EE; --tl-border-control:#838EA5;
  --tl-link:#354899; --tl-focus:#455ACA; --tl-overlay:rgba(5,10,48,.45);
  /* Estados */
  --tl-success:#176344; --tl-success-bg:#E7F3ED; --tl-warning:#7A4B08; --tl-warning-bg:#FFF2D9;
  --tl-danger:#A1283B; --tl-danger-bg:#FDEBF0; --tl-danger-hover:#842029;
  --tl-info:#354899; --tl-info-bg:#EAEDF8; --tl-neutral:#58627A; --tl-neutral-bg:#EEF0F5;
  /* Alias heredados (acceso-y-correos y tema.css los usan) */
  --tl-muted:var(--tl-text-muted); --tl-brand-text:#fff;
  --tl-secondary-bg:var(--tl-surface); --tl-secondary-hover:var(--tl-surface-subtle);
  /* Sombras */
  --tl-shadow-card:0 1px 2px rgba(5,10,48,.04); --tl-shadow-pop:0 8px 24px rgba(5,10,48,.12);
  --tl-shadow-modal:0 24px 64px rgba(5,10,48,.24);
  /* Geometría (se conservan los nombres vigentes) */
  --tl-btn-sm-h:28px; --tl-btn-md-h:32px; --tl-btn-lg-h:40px; --tl-form-h:36px; --tl-filter-h:32px; --tl-touch:44px;
  --tl-radius-sm:4px; --tl-radius-control:6px; --tl-radius-lg:8px; --tl-radius-card:12px;
  --tl-text-2xs:11px; --tl-text-xs:12px; --tl-text-sm:13px; --tl-text-md:14px; --tl-text-body:16px;
  --tl-title-card:16px; --tl-title-page:24px; --tl-title-display:28px; --tl-amount:24px;
  --tl-space-1:4px; --tl-space-2:8px; --tl-space-3:12px; --tl-space-4:16px; --tl-space-5:20px;
  --tl-space-6:24px; --tl-space-7:28px; --tl-space-8:32px; --tl-space-10:40px; --tl-space-12:48px;
  --tl-sidebar-w:232px; --tl-rail-w:84px; --tl-topbar-h:64px;
}
[data-bs-theme="dark"]{
  --tl-primary-bg:hsl(var(--marca-h) 100% 89%); --tl-primary-fg:var(--tl-brand); --tl-primary-hover:hsl(var(--marca-h) 100% 94%);
  --tl-canvas:#101426; --tl-surface:#191F35; --tl-surface-subtle:#222A43; --tl-active-bg:#2B3658;
  --tl-text:#EDF0FA; --tl-text-muted:#B0BBD2; --tl-border:#343E5A; --tl-border-control:#7F8AA6;
  --tl-link:#BBCAFF; --tl-focus:#A8B8FF; --tl-overlay:rgba(0,0,0,.6);
  --tl-success:#9EE0BD; --tl-success-bg:#193D31; --tl-warning:#F4D08B; --tl-warning-bg:#46351C;
  --tl-danger:#FFB6C4; --tl-danger-bg:#4A2535; --tl-danger-hover:#FFC8CD;
  --tl-info:#BBCAFF; --tl-info-bg:#2B3658; --tl-neutral:#B0BBD2; --tl-neutral-bg:#2A3149;
  --tl-shadow-card:none; --tl-shadow-pop:0 8px 24px rgba(0,0,0,.4); --tl-shadow-modal:0 24px 64px rgba(0,0,0,.5);
}

:root, [data-bs-theme="dark"] {
--bs-body-bg: var(--tl-surface);          /* Bootstrap lo usa en card, modal, dropdown e input */
--bs-body-color: var(--tl-text);
--bs-emphasis-color: var(--tl-text);
--bs-heading-color: var(--tl-text);
--bs-secondary-color: var(--tl-text-muted);
--bs-tertiary-bg: var(--tl-surface-subtle);
--bs-secondary-bg: var(--tl-active-bg);
--bs-border-color: var(--tl-border);
--bs-border-radius: 6px; --bs-border-radius-lg: 12px; --bs-border-radius-sm: 4px;
--bs-link-color: var(--tl-link); --bs-link-hover-color: var(--tl-link);
--bs-link-color-rgb: 53,72,153;  /* oscuro: 187,202,255 */
--bs-primary: #050A30; --bs-primary-rgb: 5,10,48;   /* estáticos: no siguen el tono */
--bs-focus-ring-color: color-mix(in srgb, var(--tl-focus) 40%, transparent);
--bs-success-text-emphasis: var(--tl-success); --bs-success-bg-subtle: var(--tl-success-bg); --bs-success-border-subtle: var(--tl-success-bg);
--bs-warning-text-emphasis: var(--tl-warning); --bs-warning-bg-subtle: var(--tl-warning-bg); --bs-warning-border-subtle: var(--tl-warning-bg);
--bs-danger-text-emphasis: var(--tl-danger);   --bs-danger-bg-subtle: var(--tl-danger-bg);   --bs-danger-border-subtle: var(--tl-danger-bg);
--bs-info-text-emphasis: var(--tl-info);       --bs-info-bg-subtle: var(--tl-info-bg);       --bs-info-border-subtle: var(--tl-info-bg);
--bs-primary-text-emphasis: var(--tl-link);    --bs-primary-bg-subtle: var(--tl-active-bg);  --bs-primary-border-subtle: var(--tl-active-bg);
--bs-secondary-text-emphasis: var(--tl-neutral); --bs-secondary-bg-subtle: var(--tl-neutral-bg);
}
[data-bs-theme="dark"] { --bs-link-color-rgb:187,202,255; }
.btn {
    --bs-btn-font-size:var(--tl-btn-md-font); --bs-btn-line-height:var(--tl-btn-md-line);
    --bs-btn-padding-y:var(--tl-btn-md-py); --bs-btn-padding-x:var(--tl-btn-md-px);
    --bs-btn-border-radius:var(--tl-radius-control); --bs-btn-font-weight:700;
    min-height:var(--tl-btn-md-h); box-sizing:border-box;
}
.btn-sm,.btn-group-sm > .btn {
    --bs-btn-font-size:var(--tl-btn-sm-font); --bs-btn-line-height:var(--tl-btn-sm-line);
    --bs-btn-padding-y:var(--tl-btn-sm-py); --bs-btn-padding-x:var(--tl-btn-sm-px);
    min-height:var(--tl-btn-sm-h);
}
.btn-lg,.input-group-lg > .btn {
    --bs-btn-font-size:var(--tl-btn-lg-font); --bs-btn-line-height:var(--tl-btn-lg-line);
    --bs-btn-padding-y:var(--tl-btn-lg-py); --bs-btn-padding-x:var(--tl-btn-lg-px);
    --bs-btn-border-radius:var(--tl-radius-lg); min-height:var(--tl-btn-lg-h);
}
