/* FintechOS Data Core — design tokens
 *
 * Imported from Figma file AXOj9qMl0uwpHdsIBqO6qo, variable collection
 * "Gray modern" (43 variables, Light/Dark modes). Names map 1:1 to the
 * Figma variable names: gray/200 -> --dc-gray-200, text/primary ->
 * --dc-text-primary, and so on, so the two stay traceable.
 *
 * The --dc- prefix avoids colliding with Bootstrap's own --gray/--primary.
 */

:root {
    /* primitives — mode-independent in Figma */
    --dc-gray-25: #ffffff;
    --dc-gray-50: #f8fafc;
    --dc-gray-100: #f1f5f9;
    --dc-gray-200: #e2e8f0;
    --dc-gray-300: #cbd5e1;
    --dc-gray-400: #94a3b8;
    --dc-gray-500: #64748b;
    --dc-gray-600: #475569;
    --dc-gray-700: #334155;
    --dc-gray-800: #1e293b;
    --dc-gray-900: #0f172a;

    /* semantic layer — light mode */
    --dc-text-primary: var(--dc-gray-900);
    --dc-text-secondary: var(--dc-gray-700);
    --dc-text-muted: var(--dc-gray-500);
    --dc-text-subtle: var(--dc-gray-400);
    --dc-text-inverse: var(--dc-gray-25);
    --dc-surface-card: var(--dc-gray-25);
    --dc-surface-page: var(--dc-gray-50);
    --dc-surface-subtle: var(--dc-gray-100);
    --dc-surface-selected: var(--dc-gray-100);
    --dc-surface-inverse: var(--dc-gray-900);
    --dc-border-default: var(--dc-gray-200);
    --dc-border-control: var(--dc-gray-300);
    --dc-accent-default: #7c4dff;
    --dc-accent-on-accent: var(--dc-gray-25);
    --dc-accent-subtle: #f4f0ff;
    --dc-accent-text: #6538d4;
    --dc-focus-ring: #7c4dff;
    --dc-banner-super-admin: #1b1236;
    --dc-status-success-bg: #f0fdf4;
    --dc-status-success-text: #15803d;
    --dc-status-success-solid: #15803d;
    --dc-status-warning-bg: #fffbeb;
    --dc-status-warning-text: #b45309;
    --dc-status-warning-border: #f59e0b;
    --dc-status-warning-hairline: #fcd34d;
    --dc-status-warning-solid: #b45309;
    --dc-status-error-bg: #fef2f2;
    --dc-status-error-text: #b91c1c;
    --dc-status-error-solid: #dc2626;
    --dc-status-info-bg: #eff6ff;
    --dc-status-info-text: #1d4ed8;
    --dc-status-info-solid: #2563eb;

    /* typefaces — faces declared in css/fonts.css */
    --dc-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --dc-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

    /* rgb triplets, for rgba(var(--x), a) in the theme's alpha rings */
    --dc-gray-500-rgb: 100, 116, 139;
    --dc-gray-800-rgb: 30, 41, 59;
    --dc-gray-50-rgb: 248, 250, 252;
    --dc-accent-rgb: 124, 77, 255;
    --dc-status-success-solid-rgb: 21, 128, 61;
    --dc-status-warning-solid-rgb: 180, 83, 9;
    --dc-status-error-solid-rgb: 220, 38, 38;
    --dc-status-info-solid-rgb: 37, 99, 235;
}

/* Dark mode is NOT wired up: no toggle sets data-theme, so this block is
 * inert. It is here because the palette is half the deliverable — these are
 * the Figma Dark-mode values, so enabling dark later is a toggle, not a
 * re-import. Primitives are deliberately not redefined; only the semantic
 * aliases flip, exactly as in Figma. */
:root[data-theme="dark"] {
    --dc-text-primary: var(--dc-gray-25);
    --dc-text-secondary: var(--dc-gray-200);
    --dc-text-muted: var(--dc-gray-300);
    --dc-surface-card: var(--dc-gray-800);
    --dc-surface-page: var(--dc-gray-900);
    --dc-surface-subtle: var(--dc-gray-700);
    --dc-surface-selected: var(--dc-gray-700);
    --dc-surface-inverse: var(--dc-gray-25);
    --dc-text-inverse: var(--dc-gray-900);
    --dc-border-default: var(--dc-gray-700);
    --dc-border-control: var(--dc-gray-600);
    --dc-accent-subtle: #2a1f4d;
    --dc-accent-text: #a78bfa;
    --dc-focus-ring: #a78bfa;
    --dc-banner-super-admin: #2e2154;
    --dc-status-success-bg: #052e16;
    --dc-status-success-text: #86efac;
    --dc-status-warning-bg: #451a03;
    --dc-status-warning-text: #fcd34d;
    --dc-status-warning-hairline: #78350f;
    --dc-status-error-bg: #450a0a;
    --dc-status-error-text: #fca5a5;
    --dc-status-info-bg: #172554;
    --dc-status-info-text: #93c5fd;
}
