/* ==========================================================================
   QUANTIX CORP — DESIGN SYSTEM TOKENS (Grafite & Âmbar / Marfim & Cobalto)
   ========================================================================== */

:root,
[data-theme="dark"] {
    color-scheme: dark;
    --qx-bg: #111216;
    --qx-surface: #1B1E25;
    --qx-surface-hover: #222630;
    --qx-surface-elevated: #232732;
    --qx-text: #F4F5F7;
    --qx-text-muted: #BBC1CA;
    --qx-text-subtle: #8A92A0;
    --qx-border: #333844;
    --qx-border-strong: #454C5C;

    /* Ação institucional principal: Âmbar com texto grafite */
    --qx-primary: #FFBF3F;
    --qx-primary-hover: #F2B02B;
    --qx-primary-text: #111216;

    /* Detalhes da marca */
    --qx-brand-blue: #6798FF;
    --qx-brand-amber: #FFBF3F;

    /* Acento padrão (herdado se produto não definido) */
    --qx-accent: #FFBF3F;
    --qx-accent-hover: #F2B02B;
    --qx-accent-text: #111216;
    --qx-accent-soft: rgba(255, 191, 63, 0.14);

    /* Status operacionais */
    --qx-status-ok: #34D399;
    --qx-status-ok-bg: rgba(52, 211, 153, 0.12);
    --qx-status-warn: #FBBF24;
    --qx-status-warn-bg: rgba(251, 191, 36, 0.12);
    --qx-status-err: #F87171;
    --qx-status-err-bg: rgba(248, 113, 113, 0.12);
    --qx-status-info: #6798FF;
    --qx-status-info-bg: rgba(103, 152, 255, 0.12);

    /* Tipografia e geometria */
    --qx-font-sans: 'Geist', 'Segoe UI Variable', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --qx-font-mono: 'IBM Plex Mono', 'Consolas', monospace;
    --qx-radius-sm: 6px;
    --qx-radius-md: 8px;
    --qx-radius-lg: 10px;
}

[data-theme="light"] {
    color-scheme: light;
    --qx-bg: #F3F1EA;
    --qx-surface: #FFFFFF;
    --qx-surface-hover: #F8F7F3;
    --qx-surface-elevated: #FAF9F5;
    --qx-text: #17233C;
    --qx-text-muted: #475569;
    --qx-text-subtle: #64748B;
    --qx-border: #CCD1D9;
    --qx-border-strong: #AEB5C0;

    /* Ação institucional principal no claro: Cobalto com texto branco */
    --qx-primary: #164BD9;
    --qx-primary-hover: #123EB5;
    --qx-primary-text: #FFFFFF;

    /* Detalhes da marca no claro */
    --qx-brand-blue: #164BD9;
    --qx-brand-amber: #D68918;

    --qx-accent: #164BD9;
    --qx-accent-hover: #123EB5;
    --qx-accent-text: #FFFFFF;
    --qx-accent-soft: rgba(22, 75, 217, 0.10);

    --qx-status-ok: #15803D;
    --qx-status-ok-bg: rgba(21, 128, 61, 0.10);
    --qx-status-warn: #B45309;
    --qx-status-warn-bg: rgba(180, 83, 9, 0.10);
    --qx-status-err: #B91C1C;
    --qx-status-err-bg: rgba(185, 28, 28, 0.10);
    --qx-status-info: #164BD9;
    --qx-status-info-bg: rgba(22, 75, 217, 0.10);
}

/* ==========================================================================
   ACENTOS POR PRODUTO (Dark + derivados com contraste AA no Light)
   ========================================================================== */

[data-product="backup"] {
    --qx-accent: #6798FF;
    --qx-accent-hover: #5287FA;
    --qx-accent-text: #111216;
    --qx-accent-soft: rgba(103, 152, 255, 0.14);
}
[data-theme="light"][data-product="backup"],
[data-theme="light"] [data-product="backup"] {
    --qx-accent: #164BD9;
    --qx-accent-hover: #123EB5;
    --qx-accent-text: #FFFFFF;
    --qx-accent-soft: rgba(22, 75, 217, 0.10);
}

[data-product="remote"] {
    --qx-accent: #55D8CC;
    --qx-accent-hover: #40C9BC;
    --qx-accent-text: #111216;
    --qx-accent-soft: rgba(85, 216, 204, 0.14);
}
[data-theme="light"][data-product="remote"],
[data-theme="light"] [data-product="remote"] {
    --qx-accent: #0F766E;
    --qx-accent-hover: #0D615B;
    --qx-accent-text: #FFFFFF;
    --qx-accent-soft: rgba(15, 118, 110, 0.10);
}

[data-product="rmm"] {
    --qx-accent: #B5A0FF;
    --qx-accent-hover: #A289FC;
    --qx-accent-text: #111216;
    --qx-accent-soft: rgba(181, 160, 255, 0.14);
}
[data-theme="light"][data-product="rmm"],
[data-theme="light"] [data-product="rmm"] {
    --qx-accent: #6D28D9;
    --qx-accent-hover: #5B21B6;
    --qx-accent-text: #FFFFFF;
    --qx-accent-soft: rgba(109, 40, 217, 0.10);
}

[data-product="defense"] {
    --qx-accent: #FF9179;
    --qx-accent-hover: #FA7E63;
    --qx-accent-text: #111216;
    --qx-accent-soft: rgba(255, 145, 121, 0.14);
}
[data-theme="light"][data-product="defense"],
[data-theme="light"] [data-product="defense"] {
    --qx-accent: #C2410C;
    --qx-accent-hover: #9A3412;
    --qx-accent-text: #FFFFFF;
    --qx-accent-soft: rgba(194, 65, 12, 0.10);
}

[data-product="asset"] {
    --qx-accent: #C7DA7C;
    --qx-accent-hover: #B8CE65;
    --qx-accent-text: #111216;
    --qx-accent-soft: rgba(199, 218, 124, 0.14);
}
[data-theme="light"][data-product="asset"],
[data-theme="light"] [data-product="asset"] {
    --qx-accent: #4D7C0F;
    --qx-accent-hover: #3F6212;
    --qx-accent-text: #FFFFFF;
    --qx-accent-soft: rgba(77, 124, 15, 0.10);
}

[data-product="pdf"] {
    --qx-accent: #FFA4CE;
    --qx-accent-hover: #FA8BBF;
    --qx-accent-text: #111216;
    --qx-accent-soft: rgba(255, 164, 206, 0.14);
}
[data-theme="light"][data-product="pdf"],
[data-theme="light"] [data-product="pdf"] {
    --qx-accent: #BE185D;
    --qx-accent-hover: #9D174D;
    --qx-accent-text: #FFFFFF;
    --qx-accent-soft: rgba(190, 24, 93, 0.10);
}

/* Utilitários compartilhados */
.qx-mono,
code,
pre,
.mono {
    font-family: var(--qx-font-mono);
    font-variant-numeric: tabular-nums;
}

.qx-tabular {
    font-variant-numeric: tabular-nums;
}

.qx-focus:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--qx-accent);
    outline-offset: 2px;
}
