:root {
    /* Marca — geometría DS export; semánticos de texto/fondo vía G-TOKENS trace */
    --dc-pino-900: #0b2a1e;
    --dc-pino: #123f2e;
    --dc-musgo: #2c6b4f;
    --dc-lima: #c6f24e;
    --dc-lima-600: #b7e23e;
    --dc-lima-300: #e9f5d2;

    --dc-hueso: #f6f5ef;
    --dc-blanco: #ffffff;
    --dc-ceniza: #d9ddce;
    /* A3 filter / product finish swatches (maqueta A3, A4) */
    --dc-swatch-gris-ceniza: #b9bdb4;
    --dc-swatch-negro-marquina: #3a3a38;
    --dc-gris: #6e7a70;
    --dc-tinta: #12211a;

    --dc-exito: #1e7a4a;
    --dc-aviso: #d08a18;
    --dc-error: #c4382a;
    --dc-info: #21657a;

    --dc-exito-text: #17603a;
    --dc-aviso-text: #9a6410;
    --dc-error-text: #a32a1e;
    --dc-info-text: #1a5065;

    --dc-exito-soft: rgba(30, 122, 74, 0.1);
    --dc-aviso-soft: rgba(208, 138, 24, 0.1);
    --dc-error-soft: rgba(196, 56, 42, 0.1);
    --dc-info-soft: rgba(33, 101, 122, 0.1);

    /* Legacy home / page shims — canonical --dc-* only */
    --dc-color-pino: var(--dc-pino);
    --dc-color-lima-300: var(--dc-lima-300);
    --dc-color-hueso: var(--dc-hueso);
    --dc-color-ceniza: var(--dc-ceniza);
    --dc-color-ink-muted: var(--dc-text-secondary);
    --dc-color-musgo: var(--dc-musgo);
    --dc-ocre: var(--dc-aviso-text);
    --dc-negro: var(--dc-tinta);
    --dc-info-bg: var(--dc-info-soft);
    --dc-info-border: var(--dc-info);
    --dc-azul: var(--dc-info);
    --dc-verde: var(--dc-musgo);
    --dc-tinta-suave: var(--dc-text-secondary);
    --dc-arena-100: var(--dc-hueso);
    --dc-arena-200: var(--dc-lima-300);
    --dc-arena-300: var(--dc-ceniza);

    --dc-bg-page: var(--dc-hueso);
    --dc-bg-surface: var(--dc-blanco);
    --dc-bg-surface-alt: rgba(246, 245, 239, 0.5);
    --dc-bg-row-hover: rgba(233, 245, 210, 0.4);
    --dc-bg-dark: var(--dc-pino);
    --dc-bg-dark-hover: var(--dc-pino-900);
    --dc-bg-accent-soft: var(--dc-lima-300);

    /* Hueso alpha tints for text and lines on dark (pino) backgrounds */
    --dc-hueso-a85: rgba(246, 245, 239, 0.85);
    --dc-hueso-a70: rgba(246, 245, 239, 0.7);
    --dc-hueso-a50: rgba(246, 245, 239, 0.5);
    --dc-hueso-a30: rgba(246, 245, 239, 0.3);
    --dc-hueso-a25: rgba(246, 245, 239, 0.25);
    --dc-hueso-a15: rgba(246, 245, 239, 0.15);

    /* Modal and drawer backdrop */
    --dc-scrim: rgba(26, 48, 38, 0.45);

    --dc-text-primary: var(--dc-tinta);
    --dc-text-secondary: var(--dc-gris);
    --dc-text-inverse: var(--dc-hueso);
    --dc-text-link: var(--dc-musgo);
    --dc-text-on-accent: var(--dc-pino);

    --dc-border: var(--dc-ceniza);
    --dc-border-strong: var(--dc-pino);
    --dc-focus-ring: rgba(198, 242, 78, 0.4);

    --dc-font-display: "Fraunces", Georgia, "Times New Roman", serif;
    --dc-font-text: "Public Sans", "Segoe UI", system-ui, sans-serif;

    --dc-weight-regular: 400;
    --dc-weight-medium: 500;
    --dc-weight-semibold: 600;
    --dc-weight-bold: 700;
    --dc-weight-extrabold: 800;

    --dc-size-display: 2.5rem;
    --dc-lh-display: 1.1;
    --dc-ls-display: -0.03125rem;
    --dc-size-h1: 1.875rem;
    --dc-lh-h1: 1.15;
    --dc-ls-h1: -0.03125rem;
    --dc-size-h2: 1.5rem;
    --dc-lh-h2: 1.2;
    --dc-ls-h2: -0.03125rem;
    --dc-size-h3: 1.1875rem;
    --dc-lh-h3: 1.3;
    --dc-ls-h3: 0;
    --dc-size-body: 0.9375rem;
    --dc-lh-body: 1.6;
    --dc-size-body-s: 0.875rem;
    --dc-lh-body-s: 1.55;
    --dc-size-small: 0.8125rem;
    --dc-lh-small: 1.4;
    --dc-size-caption: 0.6875rem;
    --dc-lh-caption: 1.3;
    --dc-ls-caption: 0.125rem;

    --dc-numeric-tabular: tabular-nums;

    --dc-space-1: 0.25rem;
    --dc-space-2: 0.5rem;
    --dc-space-3: 0.75rem;
    --dc-space-4: 1rem;
    --dc-space-5: 1.25rem;
    --dc-space-6: 1.5rem;
    --dc-space-8: 2rem;
    --dc-space-10: 2.5rem;
    --dc-space-12: 3rem;
    --dc-space-16: 4rem;

    --dc-container: 75rem;
    --dc-layout-max: var(--dc-container);
    --dc-layout-wide: 90rem;
    --dc-grid-columns: 12;
    --dc-gutter: 1.5rem;
    --dc-gutter-mobile: 1rem;
    --dc-container-narrow: 45rem;

    /* Responsive breakpoints (guía §8) — utilities in assets/css/foundations/base.css */
    --dc-bp-xl: 1200px;
    --dc-bp-lg: 1024px;
    --dc-bp-md: 768px;
    --dc-bp-sm: 480px;

    --dc-control-height: 2.75rem;
    --dc-row-height: 3.5rem;
    --dc-topband-height: 2rem;

    --dc-radius-pill: 999px;
    --dc-radius-card: 0.875rem;
    --dc-radius-sm: 0.5rem;
    --dc-radius-input: 0.625rem;
    --dc-radius-control: var(--dc-radius-input);
    --dc-radius-badge: 0.375rem;
    --dc-radius-symbol: 0.1875rem;
    --dc-radius-button: var(--dc-radius-pill);
    --dc-radius-checkbox: 0.375rem;
    --dc-radius-radio: 50%;

    --dc-border-width: 1px;
    --dc-border-width-strong: 1.5px;

    --dc-icon-stroke: 1.5px;
    --dc-icon-size: 1.25rem;
    --dc-icon-size-lg: 1.5rem;

    --dc-shadow-none: none;
    --dc-shadow-1: 0 1px 3px rgba(18, 33, 26, 0.08);
    --dc-shadow-2: var(--dc-shadow-lift);
    --dc-shadow-lift: 0 2px 6px rgba(18, 33, 26, 0.1);
    --dc-ring-focus: 0 0 0 3px var(--dc-focus-ring);

    /* Motion */
    --dc-duration-fast: 120ms;
    --dc-duration: 140ms;
    --dc-duration-slow: 280ms;
    --dc-transition: 140ms cubic-bezier(0.2, 0, 0.2, 1);

    /* Z-index scale */
    --dc-z-base: 0;
    --dc-z-raised: 1;
    --dc-z-sticky: 20;
    --dc-z-dropdown: 40;
    --dc-z-overlay: 1200;
    --dc-z-modal: 1300;
    --dc-z-toast: 1400;

    /* Mobile tab bar (P-M): fixed bar height, used to lift fixed elements above it below 768px */
    --dc-tab-bar-height: 4rem;

    /* Plugin-facing aliases (guía 11 §1.2) — no second palette */
    --ab2b-surface: var(--dc-blanco);
    --ab2b-surface-muted: var(--dc-bg-surface-alt);
    --ab2b-surface-raised: var(--dc-bg-surface);
    --ab2b-text: var(--dc-tinta);
    --ab2b-text-muted: var(--dc-text-secondary);
    --ab2b-muted: var(--dc-text-secondary);
    --ab2b-primary: var(--dc-musgo);
    --ab2b-brand: var(--dc-pino);
    --ab2b-brand-strong: var(--dc-pino-900);
    --ab2b-musgo: var(--dc-musgo);
    --ab2b-accent-text: var(--dc-text-link);
    --ab2b-border: var(--dc-ceniza);
    --ab2b-border-subtle: var(--dc-hueso-a25);
    --ab2b-accent: var(--dc-lima);
    --ab2b-on-accent: var(--dc-pino);
    --ab2b-focus: var(--dc-focus-ring);
    --ab2b-success: var(--dc-exito);
    --ab2b-success-text: var(--dc-exito-text);
    --ab2b-success-soft: var(--dc-exito-soft);
    --ab2b-warning: var(--dc-aviso);
    --ab2b-warning-text: var(--dc-aviso-text);
    --ab2b-warning-soft: var(--dc-aviso-soft);
    --ab2b-warning-surface: var(--dc-aviso-soft);
    --ab2b-warning-border: var(--dc-aviso);
    --ab2b-lima-300: var(--dc-lima-300);
    --ab2b-error: var(--dc-error);
    --ab2b-error-text: var(--dc-error-text);
    --ab2b-error-soft: var(--dc-error-soft);
    --ab2b-error-bg: var(--dc-error-soft);
    --ab2b-error-surface: var(--dc-error-soft);
    --ab2b-info: var(--dc-info);
    --ab2b-info-text: var(--dc-info-text);
    --ab2b-info-soft: var(--dc-info-soft);
    --ab2b-font-display: var(--dc-font-display);
    --ab2b-font-text: var(--dc-font-text);
    --ab2b-radius-input: var(--dc-radius-input);
    --ab2b-radius-md: var(--dc-radius-input);
    --ab2b-radius-pill: var(--dc-radius-pill);
    --ab2b-space-1: var(--dc-space-1);
    --ab2b-space-2: var(--dc-space-2);
    --ab2b-space-3: var(--dc-space-3);
    --ab2b-space-4: var(--dc-space-4);
    --ab2b-space-6: var(--dc-space-6);
}
