/*
 * Catálogo semántico común de OPN Risk.
 *
 * Este archivo se carga antes de las hojas de producto. Los nombres de
 * compatibilidad se mantienen en theme.css; las hojas nuevas deben consumir
 * primero estos nombres semánticos. El selector de tema sigue siendo el
 * contrato de tema existente, conservado sin introducir un mecanismo nuevo.
 */

:root {
    /* Superficies, texto y bordes */
    --surface-canvas: #0f1115;
    --surface-1: #1a1d23;
    --surface-2: #232730;
    --surface-3: #2f3440;
    --surface-sunken: #11141a;
    --surface-hover: rgba(59, 130, 246, .13);
    --surface-selected: rgba(59, 130, 246, .16);
    --surface-overlay: rgba(8, 12, 20, .88);
    --surface-panel: rgba(26, 29, 35, .82);
    --surface-panel-strong: rgba(35, 39, 48, .96);
    --surface-modal: rgba(8, 13, 25, .985);
    --surface-summary: rgba(96, 165, 250, .055);
    --surface-summary-item: rgba(15, 23, 42, .32);
    --surface-summary-next: rgba(14, 165, 233, .10);
    --text-primary: #ffffff;
    --text-secondary: #a0a6b1;
    --text-muted: #6b7280;
    --text-subtle: #94a3b8;
    --text-disabled: #4b5563;
    --text-inverse: #11151b;
    --text-link: #3b82f6;
    --text-link-hover: #6ba4ff;
    --border-subtle: rgba(160, 166, 177, .22);
    --border-strong: rgba(160, 166, 177, .34);
    --border-focus: rgba(59, 130, 246, .28);
    --border-inverse: rgba(255, 255, 255, .34);
    --border-summary-item: rgba(148, 163, 184, .22);
    --border-summary-next: rgba(56, 189, 248, .28);
    --text-summary-next: #7dd3fc;

    /* Acciones */
    --action-primary-bg: #3b82f6;
    --action-primary-bg-hover: #5b8cff;
    --action-primary-fg: #ffffff;
    --action-primary-border: #3b82f6;
    --action-secondary-bg: #4f7cff;
    --action-secondary-bg-hover: #6ba4ff;
    --action-secondary-fg: #ffffff;
    --action-quiet-fg: #a0a6b1;
    --action-danger-bg: #ff1f1f;
    --action-danger-fg: #ffffff;
    --focus-ring: var(--border-focus);

    /* Estados y gravedad: la forma sigue siendo responsabilidad del módulo. */
    --state-success-fg: #30d158;
    --state-success-bg: rgba(48, 209, 88, .14);
    --state-info-fg: #3b82f6;
    --state-info-bg: rgba(59, 130, 246, .12);
    --state-warning-fg: #ffd60a;
    --state-warning-bg: rgba(255, 214, 10, .14);
    --state-danger-fg: #ff1f1f;
    --state-danger-bg: rgba(255, 31, 31, .14);
    --severity-critical-fg: #ff1f1f;
    --severity-critical-bg: rgba(255, 31, 31, .14);
    --severity-critical-border: rgba(255, 31, 31, .32);
    --severity-high-fg: #ff8a00;
    --severity-high-bg: rgba(255, 138, 0, .14);
    --severity-high-border: rgba(255, 138, 0, .32);
    --severity-medium-fg: #ffd60a;
    --severity-medium-bg: rgba(255, 214, 10, .14);
    --severity-medium-border: rgba(255, 214, 10, .32);
    --severity-low-fg: #30d158;
    --severity-low-bg: rgba(48, 209, 88, .14);
    --severity-low-border: rgba(48, 209, 88, .32);
    --severity-unknown-fg: #94a3b8;
    --severity-unknown-bg: rgba(148, 163, 184, .14);
    --severity-unknown-border: rgba(148, 163, 184, .22);

    /* Datos y elevación */
    --data-series-1: #4f7cff;
    --data-series-2: #38bdf8;
    --data-series-3: #22d3ee;
    --data-series-4: #7aa2ff;
    --data-series-5: #94a3b8;
    --data-series-6: #f59e0b;
    --data-grid: rgba(255, 255, 255, .12);
    --data-axis: rgba(255, 255, 255, .18);
    --data-threshold: #ffd60a;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .20);
    --shadow-md: 0 8px 20px rgba(0, 0, 0, .24);
    --shadow-lg: 0 16px 30px rgba(0, 0, 0, .36);
    --shadow-panel: 0 16px 44px rgba(0, 0, 0, .28), 0 2px 8px rgba(0, 0, 0, .18);
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 12px;

    /* Roles de preservación O2: composición y estados del shell compartido. */
    --surface-utility: rgba(255, 255, 255, .03);
    --border-utility: var(--border-color);
    --text-utility: var(--text-primary);
    --shadow-utility: none;
    --surface-utility-hover: rgba(255, 255, 255, .08);
    --border-utility-hover: rgba(255, 255, 255, .22);
    --text-utility-hover: var(--text-primary);
    --shadow-utility-hover: none;
    --surface-utility-expanded: rgba(255, 255, 255, .03);
    --border-utility-expanded: var(--border-color);
    --border-danger-control: rgba(220, 38, 38, .35);
    --text-danger-control: #fecaca;
    --surface-danger-control-hover: rgba(127, 29, 29, .35);
    --border-danger-control-hover: rgba(248, 113, 113, .75);
    --text-danger-control-hover: #fee2e2;
    --surface-popover: rgba(7, 12, 22, .86);
    --shadow-popover: none;
    --text-popover-label: var(--text-secondary);
    --surface-control: rgba(255, 255, 255, .03);
    --border-control: transparent;
    --text-control: var(--text-primary);
    --border-control-hover: transparent;
    --surface-control-selected: rgba(56, 189, 248, .13);
    --border-control-selected: rgba(56, 189, 248, .52);
    --text-control-selected: var(--text-primary);
    --shadow-control-selected: none;
    --surface-selection-status: rgba(34, 197, 94, .13);
    --border-selection-status: rgba(34, 197, 94, .52);
    --surface-selection-accent: rgba(249, 115, 22, .13);
    --border-selection-accent: rgba(249, 115, 22, .52);
    --surface-emphasis-control: var(--bg-card);

    --surface-floating: var(--surface-elevated, #151a23);
    --border-floating: var(--border-color, rgba(148, 163, 184, .32));
    --text-floating: var(--text-primary, #f8fafc);
    --shadow-floating: 0 22px 55px rgba(0, 0, 0, .38), 0 2px 0 rgba(255, 255, 255, .04) inset;
    --text-floating-description: var(--text-secondary, #cbd5e1);
    --border-floating-control: var(--border-color, rgba(148, 163, 184, .32));
    --text-floating-control: var(--text-secondary, #cbd5e1);
    --border-floating-control-focus: var(--secondary-color, #38bdf8);
    --text-floating-control-focus: var(--text-primary, #f8fafc);
    --border-floating-hover: var(--border-color, rgba(148, 163, 184, .42));
    --surface-floating-hover: rgba(148, 163, 184, .1);
    --border-floating-icon: rgba(56, 189, 248, .28);
    --surface-floating-icon: rgba(56, 189, 248, .1);
    --text-floating-icon: var(--secondary-color, #7dd3fc);
    --text-floating-muted: var(--text-muted, #94a3b8);
    --border-floating-divider: var(--border-subtle, rgba(148, 163, 184, .18));

    /* Tipografía: los valores oscuros reproducen el estado actual. */
    --font-ui: "Chakra Petch", "Segoe UI", "Inter", "Roboto", sans-serif;
    --font-display: "Chakra Petch", "Segoe UI", "Inter", "Roboto", sans-serif;
    --font-reading: "Chakra Petch", "Segoe UI", "Inter", "Roboto", sans-serif;
    --font-mono: "IBM Plex Mono", ui-monospace, monospace;
    --font-size-body: 1rem;
    --font-size-label: .78rem;
    --font-size-title: 1.5rem;
    --font-line-body: 1.5;
    --font-measure-reading: 68ch;

    /* Roles semánticos O1 consolidados: valores dark preservados. */
    --action-emphasis-surface: linear-gradient(135deg, rgba(14, 165, 233, 0.92), rgba(37, 99, 235, 0.9));
    --action-emphasis-border: rgba(56, 189, 248, 0.52);
    --action-emphasis-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
    --action-emphasis-hover-border: rgba(125, 211, 252, 0.76);
    --action-emphasis-hover-shadow: 0 16px 28px rgba(37, 99, 235, 0.24);
    --action-quiet-border: rgba(148, 163, 184, 0.26);
    --action-quiet-shadow: none;
    --action-quiet-hover-surface: rgba(30, 41, 59, 0.68);
    --action-quiet-hover-border: rgba(148, 163, 184, 0.46);
    --action-quiet-hover-foreground: #ffffff;
    --text-meta: var(--text-secondary);
    --state-predictive-surface: rgba(139, 92, 246, .16);
    --state-predictive-panel-surface: rgba(139, 92, 246, .10);
    --state-predictive-foreground: #c4b5fd;
    --state-predictive-border: rgba(139, 92, 246, .45);
    --state-predictive-hover-surface: rgba(139, 92, 246, .08);
    --surface-row: rgba(6, 12, 22, .34);
    --border-row: rgba(148, 163, 184, .2);
    --text-label: rgba(148, 163, 184, .92);
    --text-value: rgba(226, 232, 240, .95);
    --surface-info-soft: rgba(59, 130, 246, .11);
    --text-info-strong: #b8e1ff;
    --surface-accent-soft: rgba(124, 58, 237, .07);
    --text-accent-strong: #efe6ff;
    --text-accent: #b794f6;
    --text-warning-strong: #ffb020;
    --surface-warning-soft: rgba(255, 176, 32, .12);
    --text-danger-strong: #e35d6a;
    --border-focus-strong: rgba(59, 130, 246, .38);
    --surface-indicator: linear-gradient(180deg, var(--card-bg), var(--bg-secondary));
    --border-modal-header: var(--opn-hairline, var(--sentinel-border-strong));
    --surface-modal-header: linear-gradient(180deg, var(--sentinel-surface-raised) 0%, var(--sentinel-surface-raised) 100%);
    --surface-outline: transparent;
    --border-outline: var(--border-strong);
    --text-outline: var(--text-primary);
    --surface-selected-strong: var(--sentinel-border-critical);
    --border-selected-strong: var(--sentinel-border-critical);
    --text-selected-inverse: var(--sentinel-text-inverse);

    /* Geometría compartida: no depende del tema. */
    --layout-control-height: 42px;
    --layout-switch-width: 2.2em;
    --layout-switch-height: 1.15em;
    --layout-state-icon-size: 1.58rem;
    --layout-severity-gap: .3em;
    --layout-severity-marker-size: .45em;

    /* Catálogo semántico de Sentinel: una paleta pequeña para ambos temas. */
    --sentinel-surface-canvas: #0f1115;
    --sentinel-surface-panel: rgba(30, 41, 59, .8);
    --sentinel-surface-raised: #1e293b;
    --sentinel-surface-sunken: rgba(8, 16, 32, 0.62);
    --sentinel-surface-overlay: rgba(8, 12, 20, .88);
    --sentinel-surface-hover: rgba(59, 130, 246, .13);
    --sentinel-surface-selected: rgba(59, 130, 246, .16);
    --sentinel-surface-soft: rgba(148, 163, 184, .08);
    --sentinel-text-primary: rgba(241, 245, 249, .94);
    --sentinel-text-secondary: rgba(171, 186, 210, .9);
    --sentinel-text-muted: #6b7280;
    --sentinel-text-subtle: #6b7280;
    --sentinel-text-inverse: #ffffff;
    --sentinel-text-warm: #f1d8cf;
    --sentinel-text-link: #60a5fa;
    --sentinel-text-danger: #8f1722;
    --sentinel-text-danger-soft: #fca5a5;
    --sentinel-text-warning: #fcd34d;
    --sentinel-text-success: #86efac;
    --sentinel-text-info: rgba(125, 211, 252, .96);
    --sentinel-border-subtle: rgba(148, 163, 184, .16);
    --sentinel-border-normal: rgba(148, 163, 184, .24);
    --sentinel-border-strong: #e4d4ce;
    --sentinel-border-focus: #5ca9ff;
    --sentinel-border-critical: rgba(179, 38, 47, .28);
    --sentinel-border-warning: rgba(251, 191, 36, .45);
    --sentinel-border-success: rgba(74, 222, 128, 0.38);
    --sentinel-border-info: rgba(125, 211, 252, .48);
    --sentinel-border-dark: rgba(91, 35, 36, 0.18);
    --sentinel-accent-primary: rgba(59, 130, 246, 0.96);
    --sentinel-accent-primary-soft: rgba(59, 130, 246, .12);
    --sentinel-accent-secondary: #4f7cff;
    --sentinel-accent-cyan: #22d3ee;
    --sentinel-accent-cyan-soft: rgba(34, 211, 238, .14);
    --sentinel-accent-danger: #c23542;
    --sentinel-accent-danger-soft: rgba(179, 38, 47, .10);
    --sentinel-accent-warning: #f59e0b;
    --sentinel-accent-warning-soft: rgba(251, 146, 60, 0.13);
    --sentinel-accent-success: #30d158;
    --sentinel-accent-success-soft: rgba(8, 127, 91, .10);
    --sentinel-accent-info: #38bdf8;
    --sentinel-accent-info-soft: rgba(14, 165, 233, .11);
    --sentinel-severity-critical: #ff1f1f;
    --sentinel-severity-critical-soft: rgba(255, 31, 31, .14);
    --sentinel-severity-high: #ff8a00;
    --sentinel-severity-high-soft: rgba(255, 138, 0, .14);
    --sentinel-severity-medium: #ffd60a;
    --sentinel-severity-medium-soft: rgba(255, 214, 10, .14);
    --sentinel-severity-low: #30d158;
    --sentinel-severity-low-soft: rgba(48, 209, 88, .14);
    --sentinel-effect-shadow: rgba(0, 0, 0, .55);
    --sentinel-effect-shadow-soft: rgba(73, 24, 18, .06);
    --sentinel-effect-highlight: rgba(255, 255, 255, .04);
    --sentinel-effect-accent: rgba(56, 189, 248, 0.14);
    --sentinel-effect-mask: #000;
    --sentinel-data-grid: rgba(255,255,255,.12);
    --sentinel-data-axis: rgba(255,255,255,.18);
/* BEGIN semantic-approval:sentinel-b-token-roles */
    --sentinel-signals-pager-surface: var(--card-bg, var(--bg-card, #0f1b2e));
    --sentinel-signals-expanded-row-surface: rgba(15, 27, 46, .42);
    --sentinel-signals-inline-details-surface: rgba(6, 12, 22, .28);
    --sentinel-signals-detail-value-foreground: var(--text-primary, #e5edf7);
    --sentinel-filter-ghost-surface: rgba(15, 23, 42, 0.42);
    --sentinel-filter-ghost-foreground: rgba(226, 232, 240, 0.9);
    --sentinel-filter-primary-foreground: #ffffff;
    --sentinel-asset-notes-surface: var(--sentinel-surface-sunken);
    --sentinel-asset-notes-foreground: var(--sentinel-text-secondary);
/* END semantic-approval:sentinel-b-token-roles */
    --sentinel-data-series-1: #4f7cff;
    --sentinel-data-series-2: #38bdf8;
    --sentinel-data-series-3: #22d3ee;

    /* Acento compartido de Sentinel: relleno y tinta tienen trabajos distintos. */
    --es-accent: #2b6fdd;
    --es-accent-hover: #3576d6;
    --es-accent-fg: #93bbff;

    /* Command Center: estados y superficies de monitorización. */
    --cc-ok: #2fbf71;
    --cc-warn: #f2b134;
    --cc-crit: #ef4444;
    --cc-breach: #111418;
    --cc-info: #4c9aff;
    --cc-muted: rgba(255, 255, 255, 0.55);
    --cc-track: rgba(255, 255, 255, 0.10);
    --cc-banner-base: #0b0d10;
    --cc-banner-warn-text: #ffd98a;
    --cc-banner-crit-text: #ffb4b4;
    --info-radius: 16px;
    --info-gap: 1rem;
    --info-panel-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
    --info-panel-shadow-hover: 0 18px 42px rgba(0, 0, 0, 0.22);
    --esg-bg: var(--bg-primary);
    --esg-panel: color-mix(in srgb, var(--card-bg) 88%, transparent);
    --esg-panel-2: color-mix(in srgb, var(--surface-elevated) 82%, transparent);
    --esg-line: var(--border-subtle);
    --esg-text: var(--text-primary);
    --esg-muted: var(--sentinel-text-secondary);
    --esg-green: var(--risk-low);
    --esg-cyan: var(--es-accent-fg);
    --esg-yellow: var(--risk-medium);
    --esg-orange: var(--risk-high);
    --esg-red: var(--risk-critical);

    /* Sentinel Fuentes: paleta de la superficie de conectores. */
    --es-src-bg: #0f151f;
    --es-src-bg-rail: #0d131d;
    --es-src-bg-rail-foot: #0b111a;
    --es-src-bg-bar: #111925;
    --es-src-bg-card: #121b27;
    --es-src-bg-band: linear-gradient(180deg, #121a26, #0f151f);
    --es-src-bg-row-hover: #141d29;
    --es-src-bg-rail-hover: #16202e;
    --es-src-bg-rail-active: #1a2534;
    --es-src-bg-input: #111a26;
    --es-src-bg-drawer: #111925;
    --es-src-bg-neutral-btn: #1b2532;
    --es-src-bg-neutral-btn-hover: #22303f;
    --es-src-bd: #26313f;
    --es-src-bd-soft: #1e2836;
    --es-src-bd-card: #22303f;
    --es-src-bd-input: #2a3644;
    --es-src-bd-row: #18212e;
    --es-src-bd-btn: #36445a;
    --es-src-bd-box: #46566d;
    --es-src-fg: #e6ebf2;
    --es-src-fg-2: #cfd8e3;
    --es-src-fg-muted: #8a97a8;
    --es-src-fg-weak: #8b96a8;
    --es-src-fg-mono: #7d8a9c;
    --es-src-fg-inverse: #ffffff;
    --es-src-backdrop: rgba(6, 9, 14, .55);
    --es-src-ok-soft: rgba(34, 197, 94, .14);
    --es-src-ok-border: rgba(34, 197, 94, .4);
    --es-src-ok-pill-border: rgba(34, 197, 94, .35);
    --es-src-ok-pill-bg: rgba(34, 197, 94, .10);
    --es-src-warn-soft: rgba(234, 179, 8, .14);
    --es-src-warn-border: rgba(234, 179, 8, .4);
    --es-src-warn-pill-border: rgba(234, 179, 8, .38);
    --es-src-warn-pill-bg: rgba(234, 179, 8, .10);
    --es-src-err-soft: rgba(239, 68, 68, .14);
    --es-src-err-border: rgba(239, 68, 68, .4);
    --es-src-err-pill-border: rgba(239, 68, 68, .38);
    --es-src-err-pill-bg: rgba(239, 68, 68, .10);
    --es-src-silent-soft: rgba(100, 116, 139, .16);
    --es-src-silent-pill-border: rgba(100, 116, 139, .4);
    --es-src-silent-pill-bg: rgba(100, 116, 139, .12);
    --es-src-paused-pill-border: rgba(71, 85, 105, .5);
    --es-src-paused-pill-bg: rgba(71, 85, 105, .14);
    --es-src-human-soft: rgba(127, 176, 255, .14);
    --es-src-human-pill-border: rgba(127, 176, 255, .32);
    --es-src-human-pill-bg: rgba(127, 176, 255, .10);
    --es-src-ok: #22c55e;
    --es-src-ok-fg: #6ede97;
    --es-src-warn: #eab308;
    --es-src-warn-fg: #e6c35a;
    --es-src-err: #ef4444;
    --es-src-err-fg: #f08a8a;
    --es-src-silent: #64748b;
    --es-src-silent-fg: #93a2b6;
    --es-src-paused: #475569;
    --es-src-human-fg: #9dc2ff;
    --es-src-accent: var(--es-accent);
    --es-src-accent-hover: var(--es-accent-hover);
    --es-src-accent-fg: var(--es-accent-fg);
    --es-src-accent-soft: rgba(47, 124, 246, .12);
    --es-src-accent-bd: rgba(47, 124, 246, .35);
    --es-src-cat-media-bg: rgba(127, 176, 255, .14);
    --es-src-cat-media-fg: #9dc2ff;
    --es-src-cat-reg-bg: rgba(167, 139, 250, .14);
    --es-src-cat-reg-fg: #c0aeff;
    --es-src-cat-social-bg: rgba(94, 234, 212, .12);
    --es-src-cat-social-fg: #7fdccb;
    --es-src-cat-tg-bg: rgba(56, 189, 248, .13);
    --es-src-cat-tg-fg: #7cd3f7;
    --es-src-cat-cyber-bg: rgba(248, 113, 113, .13);
    --es-src-cat-cyber-fg: #f0a0a0;
    --es-src-cat-people-bg: rgba(251, 191, 36, .13);
    --es-src-cat-people-fg: #e8c46a;
    --es-src-cat-manual-bg: rgba(148, 163, 184, .14);
    --es-src-cat-manual-fg: #a9b6c7;

    /* 57 propiedades que antes solo se escribían en light_red. */
    --action-primary: #3b82f6;
    --action-primary-dark: #2563eb;
    --action-primary-soft: rgba(59, 130, 246, .12);
    --action-secondary: #4f7cff;
    --action-secondary-dark: #3b5fd1;
    --bs-border-color-translucent: rgba(160, 166, 177, .24);
    --bs-danger-bg-subtle: rgba(255, 31, 31, .14);
    --bs-danger-border-subtle: rgba(255, 31, 31, .32);
    --bs-danger-text-emphasis: #ff8a8a;
    --bs-emphasis-color: #f8fafc;
    --bs-focus-ring-color: rgba(59, 130, 246, .28);
    --bs-info: #3b82f6;
    --bs-light: #f8fafc;
    --bs-light-border-subtle: rgba(148, 163, 184, .22);
    --bs-primary: #3b82f6;
    --bs-secondary-bg-subtle: rgba(148, 163, 184, .14);
    --bs-secondary-border-subtle: rgba(148, 163, 184, .22);
    --bs-secondary-text-emphasis: #cbd5e1;
    --bs-warning: #ffd60a;
    --bs-warning-bg-subtle: rgba(255, 214, 10, .14);
    --bs-warning-border-subtle: rgba(255, 214, 10, .32);
    --bs-warning-rgb: 255, 214, 10;
    --bs-warning-text-emphasis: #ffe783;
    --cc-mono: "IBM Plex Mono", ui-monospace, monospace;
    --font-sans: "Inter", "Segoe UI", sans-serif;
    --input-focus-border: #5b8cff;
    --opn-filter-panel: #1a1d23;
    --opn-ground: #11141a;
    --opn-hairline: rgba(160, 166, 177, .22);
    --opn-hairline-soft: rgba(160, 166, 177, .14);
    --opn-ink: #ffffff;
    --opn-label: #a0a6b1;
    --opn-placeholder: #94a3b8;
    --opn-red: #ff1f1f;
    --opn-surface: #232730;
    --opn-warning: #ff8a00;
    --reading-leading: 1.55;
    --reading-measure: 68ch;
    --reading-size: 16px;
    --risk-critical-line: rgba(255, 31, 31, .32);
    --risk-critical-soft: rgba(255, 31, 31, .14);
    --risk-high-ink: #ffb15c;
    --risk-high-line: rgba(255, 138, 0, .32);
    --risk-high-soft: rgba(255, 138, 0, .14);
    --risk-low-ink: #7ee89a;
    --risk-low-line: rgba(48, 209, 88, .32);
    --risk-low-soft: rgba(48, 209, 88, .14);
    --risk-medium-ink: #ffe783;
    --risk-medium-line: rgba(255, 214, 10, .32);
    --risk-medium-soft: rgba(255, 214, 10, .14);
    --ux-accent: #3b82f6;
    --ux-accent-2: #4f7cff;
    /* Acciones compactas de tablas: misma geometría, paleta del tema. */
    --ux-table-action-fg: color-mix(in srgb, var(--ux-accent) 72%, #ffffff);
    --ux-table-action-border: rgba(124, 139, 173, 0.28);
    --ux-table-action-bg: radial-gradient(circle at 24% 0%, color-mix(in srgb, var(--ux-accent) 18%, transparent), transparent 1.8rem), rgba(18, 24, 36, 0.72);
    --ux-table-action-hover-fg: #ffffff;
    --ux-table-action-hover-border: color-mix(in srgb, var(--ux-accent) 48%, transparent);
    --ux-table-action-hover-bg: radial-gradient(circle at 24% 0%, color-mix(in srgb, var(--ux-accent) 24%, transparent), transparent 1.8rem), rgba(30, 39, 58, 0.92);
    --ux-table-action-menu-border: rgba(124, 139, 173, 0.24);
    --ux-table-action-menu-bg: radial-gradient(circle at 16% 0%, rgba(79, 124, 255, 0.14), transparent 10rem), linear-gradient(180deg, rgba(25, 31, 45, 0.98), rgba(14, 19, 31, 0.98));
    --ux-table-action-menu-divider: rgba(124, 139, 173, 0.18);
    --ux-table-action-menu-fg: rgba(241, 245, 249, 0.9);
    --ux-table-action-menu-icon: color-mix(in srgb, var(--ux-accent) 76%, #ffffff);
    --ux-table-action-menu-hover-fg: #ffffff;
    --ux-table-action-menu-hover-bg: rgba(79, 124, 255, 0.14);
    --ux-table-action-shadow: 0 8px 18px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --ux-table-action-menu-shadow: 0 22px 52px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --ux-table-action-info-fg: #7dd3fc;
    --ux-table-action-info-border: rgba(56, 189, 248, 0.34);
    --ux-table-action-primary-fg: #86a7ff;
    --ux-table-action-primary-border: rgba(79, 124, 255, 0.42);
    --ux-table-action-warning-fg: #facc15;
    --ux-table-action-warning-border: rgba(245, 158, 11, 0.38);
    --ux-table-action-success-fg: #67e8f9;
    --ux-table-action-success-border: rgba(56, 189, 248, 0.3);
    --ux-table-action-danger-fg: #fb7185;
    --ux-table-action-danger-border: rgba(244, 63, 94, 0.38);
    --warning: #ff8a00;
}

html {
    /* El contraste se compone sobre un fondo real, no sobre el blanco del UA. */
    background-color: var(--surface-canvas);
}

html[data-theme="light_red"] {
    --es-accent: #1f5fc4;
    --es-accent-hover: #1a53ad;
    --es-accent-fg: #1f5fc4;

    --cc-ok: #28744a;
    --cc-warn: #a66a00;
    --cc-crit: #a61f2b;
    --cc-breach: #fff3f1;
    --cc-info: #2f4a63;
    --cc-muted: #685853;
    --cc-track: rgba(166, 31, 43, 0.14);
    --cc-banner-base: #fff3f1;
    --cc-banner-warn-text: #7a5200;
    --cc-banner-crit-text: #a61f2b;
    --info-panel-shadow: 0 16px 38px rgba(73, 24, 18, 0.07);
    --info-panel-shadow-hover: 0 18px 44px rgba(73, 24, 18, 0.1);
    --info-radius: 16px;
    --info-gap: 1rem;

    /* Sentinel Fuentes: equivalentes claros, definidos en el catálogo. */
    --es-src-bg: #fcfbfa;
    --es-src-bg-rail: #f4f1ee;
    --es-src-bg-rail-foot: #efeae6;
    --es-src-bg-bar: #f7f5f3;
    --es-src-bg-card: #ffffff;
    --es-src-bg-band: linear-gradient(180deg, #f7f5f3, #fcfbfa);
    --es-src-bg-row-hover: #f4f1ee;
    --es-src-bg-rail-hover: #eee9e5;
    --es-src-bg-rail-active: #e6ded9;
    --es-src-bg-input: #ffffff;
    --es-src-bg-drawer: #ffffff;
    --es-src-bg-neutral-btn: #f2efec;
    --es-src-bg-neutral-btn-hover: #e8e3df;
    --es-src-bd: #ddd2cc;
    --es-src-bd-soft: #e8dcd7;
    --es-src-bd-card: #e2d7d2;
    --es-src-bd-input: #cfc0b9;
    --es-src-bd-row: #ece3df;
    --es-src-bd-btn: #cfc0b9;
    --es-src-bd-box: #a89890;
    --es-src-fg: #1a1714;
    --es-src-fg-2: #3c332e;
    --es-src-fg-muted: #6b5a54;
    --es-src-fg-weak: #645853;
    --es-src-fg-mono: #5f534e;
    --es-src-fg-inverse: #ffffff;
    --es-src-backdrop: rgba(26, 23, 20, .32);
    --es-src-ok-soft: rgba(29, 138, 78, .12);
    --es-src-ok-border: rgba(29, 138, 78, .4);
    --es-src-ok-pill-border: rgba(29, 138, 78, .35);
    --es-src-ok-pill-bg: rgba(29, 138, 78, .10);
    --es-src-warn-soft: rgba(176, 125, 10, .12);
    --es-src-warn-border: rgba(176, 125, 10, .4);
    --es-src-warn-pill-border: rgba(176, 125, 10, .38);
    --es-src-warn-pill-bg: rgba(176, 125, 10, .10);
    --es-src-err-soft: rgba(192, 57, 43, .12);
    --es-src-err-border: rgba(192, 57, 43, .4);
    --es-src-err-pill-border: rgba(192, 57, 43, .38);
    --es-src-err-pill-bg: rgba(192, 57, 43, .10);
    --es-src-silent-soft: rgba(138, 124, 118, .16);
    --es-src-silent-pill-border: rgba(138, 124, 118, .4);
    --es-src-silent-pill-bg: rgba(138, 124, 118, .12);
    --es-src-paused-pill-border: rgba(156, 141, 134, .5);
    --es-src-paused-pill-bg: rgba(156, 141, 134, .14);
    --es-src-human-soft: rgba(44, 93, 158, .14);
    --es-src-human-pill-border: rgba(44, 93, 158, .32);
    --es-src-human-pill-bg: rgba(44, 93, 158, .10);
    --esg-bg: #fbf7f5;
    --esg-panel: rgba(255, 255, 255, 0.94);
    --esg-panel-2: rgba(255, 252, 250, 0.96);
    --esg-line: rgba(166, 31, 43, 0.14);
    --esg-text: #1e1512;
    --esg-muted: #685853;
    --esg-green: #28744a;
    --esg-cyan: #a61f2b;
    --esg-yellow: #a66a00;
    --esg-orange: #b45309;
    --esg-red: #a61f2b;
    --es-src-ok: #1d8a4e;
    --es-src-ok-fg: #15703e;
    --es-src-warn: #b07d0a;
    --es-src-warn-fg: #8a5f06;
    --es-src-err: #c0392b;
    --es-src-err-fg: #9a1b2e;
    --es-src-silent: #8a7c76;
    --es-src-silent-fg: #6b5a54;
    --es-src-paused: #9c8d86;
    --es-src-human-fg: #2c5d9e;
    --es-src-accent: var(--es-accent);
    --es-src-accent-hover: var(--es-accent-hover);
    --es-src-accent-fg: var(--es-accent-fg);
    --es-src-accent-soft: rgba(31, 95, 196, .09);
    --es-src-accent-bd: rgba(31, 95, 196, .32);
    --es-src-cat-media-bg: rgba(31, 95, 196, .10);
    --es-src-cat-media-fg: #1f5fc4;
    --es-src-cat-reg-bg: rgba(109, 63, 176, .10);
    --es-src-cat-reg-fg: #6d3fb0;
    --es-src-cat-social-bg: rgba(13, 124, 106, .10);
    --es-src-cat-social-fg: #0a6355;
    --es-src-cat-tg-bg: rgba(11, 111, 150, .10);
    --es-src-cat-tg-fg: #0b6f96;
    --es-src-cat-cyber-bg: rgba(154, 27, 46, .09);
    --es-src-cat-cyber-fg: #9a1b2e;
    --es-src-cat-people-bg: rgba(138, 90, 6, .10);
    --es-src-cat-people-fg: #75500a;
    --es-src-cat-manual-bg: rgba(107, 90, 84, .10);
    --es-src-cat-manual-fg: #6b5a54;

    --surface-canvas: #f7f5f3;
    --surface-1: #fcfbfa;
    --surface-2: #ffffff;
    --surface-3: #f2efec;
    --surface-sunken: #f4f2ef;
    --surface-hover: rgba(26, 23, 20, .045);
    --surface-selected: rgba(154, 27, 46, .10);
    --surface-overlay: rgba(255, 252, 249, .92);
    --surface-panel: rgba(255, 252, 250, .94);
    --surface-panel-strong: #ffffff;
    --surface-modal: rgba(255, 252, 249, .92);
    --surface-summary: rgba(166, 31, 43, .045);
    --surface-summary-item: rgba(15, 23, 42, .32);
    --surface-summary-next: rgba(166, 31, 43, .075);
    --text-primary: #1a1714;
    --text-secondary: #55504b;
    --text-muted: #6f6862;
    --text-subtle: #79726b;
    --text-disabled: #a8a09a;
    --text-inverse: #ffffff;
    --text-link: #2f4a63;
    --text-link-hover: #74111f;
    --border-subtle: #e8e3de;
    --border-strong: #cfc7bf;
    --border-focus: rgba(47, 74, 99, .20);
    --border-inverse: rgba(26, 23, 20, .24);
    --border-summary-item: rgba(148, 163, 184, .22);
    --border-summary-next: rgba(166, 31, 43, .22);
    --text-summary-next: #9a1b2e;
    --action-primary-bg: #9a1b2e;
    --action-primary-bg-hover: #74111f;
    --action-primary-fg: #ffffff;
    --action-primary-border: #9a1b2e;
    --action-secondary-bg: #2f4a63;
    --action-secondary-bg-hover: #22374a;
    --action-secondary-fg: #ffffff;
    --action-quiet-fg: #635c56;
    --action-danger-bg: #9a1b2e;
    --action-danger-fg: #ffffff;
    --focus-ring: var(--border-focus);
    --state-success-fg: #0f6b4f;
    --state-success-bg: #eaf3ef;
    --state-info-fg: #2f4a63;
    --state-info-bg: #f3f5f7;
    --state-warning-fg: #a34a0c;
    --state-warning-bg: #fbf0e4;
    --state-danger-fg: #9a1b2e;
    --state-danger-bg: #f8eaec;
    --severity-critical-fg: #9a1b2e;
    --severity-critical-bg: #f8eaec;
    --severity-critical-border: #eed3d7;
    --severity-high-fg: #a34a0c;
    --severity-high-bg: #fbf0e4;
    --severity-high-border: #e5cba6;
    --severity-medium-fg: #8a6a12;
    --severity-medium-bg: #f8f2de;
    --severity-medium-border: #e2d3a4;
    --severity-low-fg: #0f6b4f;
    --severity-low-bg: #eaf3ef;
    --severity-low-border: #c3ddd1;
    --severity-unknown-fg: #79726b;
    --severity-unknown-bg: #f1edea;
    --severity-unknown-border: #d8d0ca;
    --data-series-1: #3154c9;
    --data-series-2: #0f6f8f;
    --data-series-3: #0e8b96;
    --data-series-4: #7c3f58;
    --data-series-5: #b5afa3;
    --data-series-6: #b98234;
    --data-grid: rgba(26, 23, 20, .12);
    --data-axis: rgba(26, 23, 20, .18);
    --data-threshold: #c79a4b;
    --font-sans: 'Space Grotesk', system-ui, -apple-system, sans-serif;
    --font-reading: 'Source Serif 4', Georgia, serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
    --font-ui: var(--font-sans);
    --font-display: var(--font-sans);
    --font-measure-reading: 68ch;

    /* Roles semánticos O1 consolidados: valores light_red preservados. */
    --action-emphasis-surface: var(--card-bg);
    --action-emphasis-border: var(--action-primary);
    --action-emphasis-shadow: none;
    --action-emphasis-hover-border: rgba(125, 211, 252, 0.76);
    --action-emphasis-hover-shadow: 0 16px 28px rgba(37, 99, 235, 0.24);
    --action-quiet-border: #d7c2bc;
    --action-quiet-shadow: none;
    --action-quiet-hover-surface: #fff4f1;
    --action-quiet-hover-border: rgba(166, 31, 43, 0.34);
    --action-quiet-hover-foreground: #7f151f;
    --text-meta: var(--text-muted);
    --state-predictive-surface: rgba(124, 58, 237, .12);
    --state-predictive-panel-surface: rgba(124, 58, 237, .07);
    --state-predictive-foreground: #6d28d9;
    --state-predictive-border: rgba(124, 58, 237, .4);
    --state-predictive-hover-surface: rgba(124, 58, 237, .08);
    --surface-row: rgba(255, 255, 255, .84);
    --border-row: rgba(166, 31, 43, .11);
    --text-label: #7b6963;
    --text-value: #1e1512;
    --surface-info-soft: rgba(37, 107, 146, .10);
    --text-info-strong: #155a7a;
    --surface-accent-soft: rgba(104, 64, 162, .08);
    --text-accent-strong: #4b2a76;
    --text-accent: #6840a2;
    --text-warning-strong: #9b5f1b;
    --surface-warning-soft: rgba(155, 95, 27, .10);
    --text-danger-strong: #a63e42;
    --border-focus-strong: rgba(47, 74, 99, .38);
    --surface-indicator: linear-gradient(45deg, transparent 40%, var(--sentinel-border-critical) 51%), linear-gradient(-45deg, transparent 40%, var(--sentinel-border-critical) 51%), linear-gradient(180deg, var(--sentinel-text-primary), var(--sentinel-surface-raised));
    --border-modal-header: var(--opn-hairline, var(--sentinel-border-strong));
    --surface-modal-header: linear-gradient(180deg, var(--sentinel-surface-raised) 0%, var(--sentinel-surface-raised) 100%);
    --surface-outline: var(--sentinel-surface-raised);
    --border-outline: var(--sentinel-border-strong);
    --text-outline: var(--sentinel-text-primary);
    --surface-selected-strong: var(--bs-info);
    --border-selected-strong: var(--bs-info);
    --text-selected-inverse: var(--action-primary-fg);

    /* Catálogo semántico de Sentinel: una paleta pequeña para ambos temas. */
    --sentinel-surface-canvas: #f7f5f3;
    --sentinel-surface-panel: rgba(255, 252, 250, .94);
    --sentinel-surface-raised: #ffffff;
    --sentinel-surface-sunken: #f4f2ef;
    --sentinel-surface-overlay: rgba(255, 252, 249, .92);
    --sentinel-surface-hover: rgba(26, 23, 20, .045);
    --sentinel-surface-selected: rgba(154, 27, 46, .10);
    --sentinel-surface-soft: rgba(26, 23, 20, .04);
    --sentinel-text-primary: #1a1714;
    --sentinel-text-secondary: #55504b;
    --sentinel-text-muted: #6f6862;
    --sentinel-text-subtle: #79726b;
    --sentinel-text-inverse: #1f1714;
    --sentinel-text-warm: #5d4e48;
    --sentinel-text-link: #2f4a63;
    --sentinel-text-danger: #9a1b2e;
    --sentinel-text-danger-soft: #b54b58;
    --sentinel-text-warning: #a34a0c;
    --sentinel-text-success: #0f6b4f;
    --sentinel-text-info: #2f4a63;
    --sentinel-border-subtle: #e8e3de;
    --sentinel-border-normal: #ded7d0;
    --sentinel-border-strong: #cfc7bf;
    --sentinel-border-focus: rgba(47, 74, 99, .20);
    --sentinel-border-critical: rgba(154, 27, 46, .28);
    --sentinel-border-warning: rgba(163, 74, 12, .30);
    --sentinel-border-success: rgba(15, 107, 79, .30);
    --sentinel-border-info: rgba(47, 74, 99, .30);
    --sentinel-border-dark: rgba(26, 23, 20, .18);
    --sentinel-accent-primary: #1f5fc4;
    --sentinel-accent-primary-soft: rgba(31, 95, 196, .12);
    --sentinel-accent-secondary: #2f4a63;
    --sentinel-accent-cyan: #0f6f8f;
    --sentinel-accent-cyan-soft: rgba(15, 111, 143, .12);
    --sentinel-accent-danger: #9a1b2e;
    --sentinel-accent-danger-soft: rgba(154, 27, 46, .10);
    --sentinel-accent-warning: #a34a0c;
    --sentinel-accent-warning-soft: rgba(163, 74, 12, .10);
    --sentinel-accent-success: #0f6b4f;
    --sentinel-accent-success-soft: rgba(15, 107, 79, .10);
    --sentinel-accent-info: #0f6f8f;
    --sentinel-accent-info-soft: rgba(15, 111, 143, .11);
    --sentinel-severity-critical: #9a1b2e;
    --sentinel-severity-critical-soft: #f8eaec;
    --sentinel-severity-high: #a34a0c;
    --sentinel-severity-high-soft: #fbf0e4;
    --sentinel-severity-medium: #8a6a12;
    --sentinel-severity-medium-soft: #f8f2de;
    --sentinel-severity-low: #0f6b4f;
    --sentinel-severity-low-soft: #eaf3ef;
    --sentinel-effect-shadow: rgba(73, 24, 18, .18);
    --sentinel-effect-shadow-soft: rgba(73, 24, 18, .06);
    --sentinel-effect-highlight: rgba(255, 255, 255, .65);
    --sentinel-effect-accent: rgba(154, 27, 46, .12);
    --sentinel-effect-mask: #ffffff;
    --sentinel-data-grid: rgba(26, 23, 20, .12);
    --sentinel-data-axis: rgba(26, 23, 20, .18);
/* BEGIN semantic-approval:sentinel-b-token-roles */
    --sentinel-signals-pager-surface: rgba(255, 255, 255, 0.96);
    --sentinel-signals-expanded-row-surface: rgba(255, 255, 255, .72);
    --sentinel-signals-inline-details-surface: rgba(255, 255, 255, .8);
    --sentinel-signals-detail-value-foreground: #2d2522;
    --sentinel-filter-ghost-surface: #fffdfc;
    --sentinel-filter-ghost-foreground: #4b302d;
    --sentinel-filter-primary-foreground: var(--action-primary);
    --sentinel-asset-notes-surface: var(--surface-elevated, var(--sentinel-surface-raised));
    --sentinel-asset-notes-foreground: var(--text-secondary, var(--sentinel-text-warm));
/* END semantic-approval:sentinel-b-token-roles */
    --sentinel-data-series-1: #3154c9;
    --sentinel-data-series-2: #0f6f8f;
    --sentinel-data-series-3: #0e8b96;


    --font-size-body: 1rem;
    --font-size-label: .78rem;
    --font-size-title: 1.5rem;
    --font-line-body: 1.5;
    /* Geometría compartida: no depende del tema. */
    --layout-control-height: 42px;
    --layout-switch-width: 2.2em;
    --layout-switch-height: 1.15em;
    --layout-state-icon-size: 1.58rem;
    --layout-severity-gap: .3em;
    --layout-severity-marker-size: .45em;
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --shadow-sm: 0 1px 2px rgba(30, 22, 20, .05);
    --shadow-md: 0 1px 2px rgba(30, 22, 20, .04), 0 8px 20px -12px rgba(30, 22, 20, .16);
    --shadow-lg: 0 1px 2px rgba(30, 22, 20, .05), 0 24px 48px -28px rgba(30, 22, 20, .22);
    --shadow-panel: 0 16px 44px rgba(30, 22, 20, .12), 0 2px 8px rgba(30, 22, 20, .08);

    /* Roles de preservación O2: mismos roles, valores claros explícitos. */
    --surface-utility: linear-gradient(180deg, #ffffff, #f8efec);
    --border-utility: #d7c2bc;
    --text-utility: #5a4039;
    --shadow-utility: 0 6px 14px rgba(71, 35, 28, .08);
    --surface-utility-hover: linear-gradient(180deg, var(--surface-1), var(--surface-3));
    --border-utility-hover: #a61f2b;
    --text-utility-hover: #8f1721;
    --shadow-utility-hover: 0 10px 22px rgba(166, 31, 43, .14);
    --surface-utility-expanded: linear-gradient(180deg, var(--surface-1), var(--surface-3));
    --border-utility-expanded: #a61f2b;
    --border-danger-control: rgba(179, 38, 47, .28);
    --text-danger-control: #9f1d2a;
    --surface-danger-control-hover: #fff1f0;
    --border-danger-control-hover: #b3262f;
    --text-danger-control-hover: #8f1721;
    --surface-popover: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 247, 244, .98));
    --shadow-popover: 0 22px 48px rgba(71, 35, 28, .18), 0 1px 0 rgba(255, 255, 255, .88) inset;
    --text-popover-label: #7a625b;
    --surface-control: linear-gradient(180deg, #ffffff, #fbf4f1);
    --border-control: #eadbd7;
    --text-control: #211916;
    --border-control-hover: #c9aaa3;
    --surface-control-selected: linear-gradient(135deg, rgba(166, 31, 43, .12), rgba(255, 255, 255, .94));
    --border-control-selected: #a61f2b;
    --text-control-selected: #7d1720;
    --shadow-control-selected: inset 3px 0 0 #a61f2b;
    --surface-selection-status: linear-gradient(135deg, rgba(166, 31, 43, .12), rgba(255, 255, 255, .94));
    --border-selection-status: #a61f2b;
    --surface-selection-accent: linear-gradient(135deg, rgba(166, 31, 43, .12), rgba(255, 255, 255, .94));
    --border-selection-accent: #a61f2b;
    --surface-emphasis-control: rgba(255, 255, 255, .86);

    --surface-floating: linear-gradient(180deg, #fff, #fff7f4);
    --border-floating: #d7c2bc;
    --text-floating: #402b28;
    --shadow-floating: 0 22px 55px rgba(71, 35, 28, .2), 0 1px 0 rgba(255, 255, 255, .92) inset;
    --text-floating-description: #765e58;
    --border-floating-control: var(--border-color, rgba(148, 163, 184, .32));
    --text-floating-control: var(--text-secondary, #cbd5e1);
    --border-floating-control-focus: var(--secondary-color, #38bdf8);
    --text-floating-control-focus: var(--text-primary, #f8fafc);
    --border-floating-hover: #d7c2bc;
    --surface-floating-hover: #fff0ed;
    --border-floating-icon: rgba(166, 31, 43, .22);
    --surface-floating-icon: rgba(166, 31, 43, .08);
    --text-floating-icon: #a61f2b;
    --text-floating-muted: #765e58;
    --border-floating-divider: var(--border-subtle, rgba(148, 163, 184, .18));


    /* Los mismos 57 nombres, ahora con valores claros explícitos. */
    --action-primary: #9a1b2e;
    --action-primary-dark: #74111f;
    --action-primary-soft: #f7eef0;
    --action-secondary: #2f4a63;
    --action-secondary-dark: #22374a;
    --bs-border-color-translucent: rgba(26, 23, 20, .09);
    --bs-danger-bg-subtle: #f8eaec;
    --bs-danger-border-subtle: #eed3d7;
    --bs-danger-text-emphasis: #8a1728;
    --bs-emphasis-color: #121110;
    --bs-focus-ring-color: rgba(47, 74, 99, .20);
    --bs-info: #2f4a63;
    --bs-light: #f7f5f3;
    --bs-light-border-subtle: #e8e3de;
    --bs-primary: #9a1b2e;
    --bs-secondary-bg-subtle: #f4f2ef;
    --bs-secondary-border-subtle: #e8e3de;
    --bs-secondary-text-emphasis: #3b3531;
    --bs-warning: #a34a0c;
    --bs-warning-bg-subtle: #fbf0e4;
    --bs-warning-border-subtle: #e5cba6;
    --bs-warning-rgb: 163, 74, 12;
    --bs-warning-text-emphasis: #8f4009;
    --cc-mono: var(--font-mono);
    --input-focus-border: #2f4a63;
    --opn-filter-panel: #f4f2ef;
    --opn-ground: #faf8f6;
    --opn-hairline: #e8e3de;
    --opn-hairline-soft: #f1edea;
    --opn-ink: #262220;
    --opn-label: #635c56;
    --opn-placeholder: #79726b;
    --opn-red: #9a1b2e;
    --opn-surface: #ffffff;
    --opn-warning: #a34a0c;
    --reading-leading: 1.65;
    --reading-measure: 68ch;
    --reading-size: 16px;
    --risk-critical-line: #eed3d7;
    --risk-critical-soft: #f8eaec;
    --risk-high-ink: #8f4009;
    --risk-high-line: #e5cba6;
    --risk-high-soft: #fbf0e4;
    --risk-low-ink: #0d5c44;
    --risk-low-line: #c3ddd1;
    --risk-low-soft: #eaf3ef;
    --risk-medium-ink: #74580f;
    --risk-medium-line: #e2d3a4;
    --risk-medium-soft: #f8f2de;
    --ux-accent: var(--action-primary-bg);
    --ux-accent-2: var(--action-secondary-bg);
    --ux-table-action-fg: #7f151f;
    --ux-table-action-border: rgba(166, 31, 43, 0.18);
    --ux-table-action-bg: radial-gradient(circle at 24% 0%, rgba(166, 31, 43, 0.075), transparent 1.8rem), rgba(255, 255, 255, 0.86);
    --ux-table-action-hover-fg: #5e1118;
    --ux-table-action-hover-border: rgba(166, 31, 43, 0.32);
    --ux-table-action-hover-bg: radial-gradient(circle at 24% 0%, rgba(166, 31, 43, 0.11), transparent 1.8rem), #fff8f5;
    --ux-table-action-menu-border: rgba(166, 31, 43, 0.14);
    --ux-table-action-menu-bg: radial-gradient(circle at 14% 0%, rgba(166, 31, 43, 0.075), transparent 10rem), linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 245, 0.97));
    --ux-table-action-menu-divider: rgba(166, 31, 43, 0.12);
    --ux-table-action-menu-fg: #2b1b18;
    --ux-table-action-menu-icon: #7f151f;
    --ux-table-action-menu-hover-fg: #2b1b18;
    --ux-table-action-menu-hover-bg: rgba(166, 31, 43, 0.075);
    --ux-table-action-shadow: 0 8px 18px rgba(73, 24, 18, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    --ux-table-action-menu-shadow: 0 22px 46px rgba(73, 24, 18, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.92);
    --ux-table-action-info-fg: #8f1721;
    --ux-table-action-info-border: rgba(166, 31, 43, 0.28);
    --ux-table-action-primary-fg: #8f1721;
    --ux-table-action-primary-border: rgba(166, 31, 43, 0.28);
    --ux-table-action-warning-fg: #8a540b;
    --ux-table-action-warning-border: rgba(185, 130, 52, 0.26);
    --ux-table-action-success-fg: #8f1721;
    --ux-table-action-success-border: rgba(166, 31, 43, 0.28);
    --ux-table-action-danger-fg: #a61f2b;
    --ux-table-action-danger-border: rgba(166, 31, 43, 0.28);
    --warning: #a34a0c;
}
