/* DEEC Studio · identidad visual: reglas comunes a todas las paletas (panel y sitio público).
   Los colores salen de los tokens que theme-core.js fija en <html>; aquí solo hay comportamiento que no depende de una hoja concreta. */
/* tokens:start */
:root{
  /* Valores de la paleta «Claro» (respaldo sin JavaScript). Los fija theme-core.js en <html>; esta lista la verifica tests/theme-core.test.js */
  --bg:#FFFFFF;
  --bg2:#F9FAFB;
  --card:#FFFFFF;
  --fg:#111827;
  --fgfg:#FFFFFF;
  --text:#4B5563;
  --muted:#6B7280;
  --acc:#2563EB;
  --acc-hover:#1D4ED8;
  --acc-top:#3B82F6;
  --acc-2:#60A5FA;
  --acc-l:#EFF6FF;
  --accfg:#FFFFFF;
  --sec:#111827;
  --secfg:#FFFFFF;
  --acc-dark:#3B82F6;
  --line:#E5E7EB;
  --line-strong:#D1D5DB;
  --g100:#F3F4F6;
  --g200:#E5E7EB;
  --ok:#047857;
  --ok-l:#ECFDF5;
  --ok-b:#A7F3D0;
  --ok-s:#16A34A;
  --info:#1D4ED8;
  --info-l:#DBEAFE;
  --info-b:#BFDBFE;
  --warn:#B45309;
  --warn-l:#FFFBEB;
  --warn-s:#F59E0B;
  --hi:#C2410C;
  --hi-l:#FFEDD5;
  --hi-b:#FDBA74;
  --hi-s:#EA580C;
  --bad:#B91C1C;
  --bad-l:#FEF2F2;
  --bad-b:#FCA5A5;
  --bad-s:#EF4444;
  --pend:#5B21B6;
  --pend-l:#EDE9FE;
  --row-alt:rgba(71,99,150,.06);
  --row-alt-hover:rgba(37,99,235,.085);
  --sb-bg:#FFFFFF;
  --sb-fg:#4B5563;
  --sb-fg-strong:#111827;
  --sb-muted:#6B7280;
  --sb-line:#E5E7EB;
  --sb-hover:#F3F4F6;
  --sb-on:#EFF6FF;
  --sb-onfg:#2563EB;
  --logo-filter:none;
  --sb-logo-filter:none;
  --kpi-a:#2563EB;
  --kpi-b:#1D4ED8;
  --kpifg:#FFFFFF;
  --inv-bg:#111827;
  --inv-fg:#F9FAFB;
  --inv-acc:#93C5FD;
  --shadow:#111827;
  --focus:#2563EB;
  --acc-h:#1D4ED8;
  --acc-m:#DBEAFE;
  --line-s:#D1D5DB;
  --err:#B91C1C;
  --inv-muted:#91949C;
  color-scheme:light;
}
/* tokens:end */
::selection{background:var(--acc);color:var(--accfg)}
::placeholder{color:var(--muted);opacity:1}
:disabled{cursor:not-allowed}
/* Logotipo oscuro sobre fondos oscuros: se aclara con el token --logo-filter (:where no pisa las reglas que fijan su propio filtro, p. ej. el menú lateral). */
:where(img[src$="logo.svg"]){filter:var(--logo-filter)}

/* Alto contraste: bordes marcados, foco grueso y enlaces subrayados (no depende solo del color). */
[data-pal="contraste"] :focus-visible{outline:3px solid var(--focus)!important;outline-offset:2px!important}
[data-pal="contraste"] .card,[data-pal="contraste"] .kpi,[data-pal="contraste"] .fld input,[data-pal="contraste"] .fld select,[data-pal="contraste"] .fld textarea,[data-pal="contraste"] .btn--ghost{border-color:var(--line-strong)}
[data-pal="contraste"] p a,[data-pal="contraste"] td a:not(.btn),[data-pal="contraste"] li a:not(.btn){text-decoration:underline;text-underline-offset:3px}
[data-pal="contraste"] .bd,[data-pal="contraste"] .pr{box-shadow:inset 0 0 0 1px currentColor}
