/* Idigis foundation. See DESIGN.md; keep the inherited card font metrics stable. */
:root {
    --idigis-on-primary: #FFFFFF;
    --idigis-sidebar-bg: #F8FAFC;
    /* Preserve Bulma footer inheritance used by the protected institutional card. */
    --idigis-institutional-surface-bis: #F9FAFB;
    --idigis-primary-rgb: 54, 95, 128;
    --idigis-brand-bg: #263F54;
    --idigis-brand-text: #FFFFFF;
    --idigis-brand-soft: #B7CEDF;
    --idigis-danger-bg: #FBECEE;
    --idigis-success-bg: #EAF4ED;
    --idigis-warning-bg: #FBF2DF;
    --idigis-info-bg: #EAF1F8;
    --idigis-control-height: 40px;
    --idigis-control-compact: 32px;
    --idigis-touch-target: 44px;
    --idigis-access-height: 48px;
    /* Shared dialog density; page and institutional typography remain independent. */
    --idigis-dialog-backdrop: rgb(18 36 50 / 20%);
    --idigis-dialog-backdrop-blur: 3px;
    --idigis-dialog-title: 18px;
    --idigis-dialog-inset: 20px;
    --idigis-dialog-head-block: 12px;
    --idigis-dialog-foot-block: 12px;
    --idigis-dialog-radius: 14px;
    --idigis-dialog-field-gap: 16px;
    --idigis-space-10: 2.5rem;
    --idigis-space-12: 3rem;
    --idigis-shadow-soft: var(--idigis-shadow);

    --idigis-font-family: "Whitney", "Whitney SSm", "Whitney A", "Whitney B", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    /* UI roles are explicit; institutional font metrics remain on the legacy scale. */
    --idigis-ui-body: 15px;
    --idigis-ui-input: 15px;
    --idigis-ui-label: 14px;
    --idigis-ui-caption: 13px;
    --idigis-ui-small: 12px;
    --idigis-ui-section: 16px;
    --idigis-ui-title: 22px;
    --idigis-font-xs: 0.8125rem;
    --idigis-font-sm: 0.875rem;
    --idigis-font-md: 1rem;
    --idigis-font-base: 1.0625rem;
    --idigis-font-lg: 1.1875rem;
    --idigis-font-xl: 1.3125rem;
    --idigis-font-h3: 1.5rem;
    --idigis-font-h2: 1.75rem;
    --idigis-font-h1: 2rem;
    --idigis-font-display: 2.375rem;
    --idigis-line-tight: 1.12;
    --idigis-line-title: 1.2;
    --idigis-line-body: 1.45;

    --idigis-navy: #263F54;
    --idigis-navy-deep: #1E3447;
    --idigis-navy-soft: #3E5B73;

    --idigis-primary: #365F80;
    --idigis-primary-strong: #294B67;
    --idigis-primary-soft: #E8EFF4;
    --idigis-accent: #D4C5AD;
    --idigis-accent-strong: #75644D;

    --idigis-bg: #FFFFFF;
    --idigis-surface: #ffffff;
    --idigis-surface-muted: #F6F8FA;
    --idigis-border: #E4E9F0;
    --idigis-border-strong: #8494A1;

    --idigis-text: #1E2C3D;
    --idigis-text-soft: #526574;
    --idigis-text-muted: #596D7C;

    --idigis-radius-sm: 0.5rem;
    --idigis-radius: 1rem;
    --idigis-radius-lg: 1.5rem;

    --idigis-space-1: 0.25rem;
    --idigis-space-2: 0.5rem;
    --idigis-space-3: 0.75rem;
    --idigis-space-4: 1rem;
    --idigis-space-5: 1.25rem;
    --idigis-space-6: 1.5rem;
    --idigis-space-7: 1.75rem;
    --idigis-space-8: 2rem;

    --idigis-focus: 0 0 0 3px rgba(54, 95, 128, 0.22);
    --idigis-danger: #A9343B;
    --idigis-success: #216442;
    --idigis-warning: #805716;
    --idigis-info: #315F89;

    --idigis-shadow-sm: none;
    --idigis-shadow: 0 4px 16px rgba(25, 45, 63, 0.06);
    --idigis-shadow-lg: 0 16px 40px rgba(25, 45, 63, 0.14);

    --idigis-sidebar-w: 16.5rem;
    --idigis-topbar-h: 4rem;

    /* ---- Bulma 1.0 variable overrides (app.css loads after Bulma) ---- */
    --bulma-family-primary: var(--idigis-font-family);
    --bulma-size-small: var(--idigis-font-sm);
    --bulma-size-normal: var(--idigis-font-base);
    --bulma-size-medium: var(--idigis-font-lg);
    --bulma-size-large: var(--idigis-font-xl);
    --bulma-primary-h: 207deg;
    --bulma-primary-s: 41%;
    --bulma-primary-l: 36%;
    --bulma-link-h: 207deg;
    --bulma-link-s: 41%;
    --bulma-link-l: 36%;
    --bulma-radius-small: 0.45rem;
    --bulma-radius: 0.65rem;
    --bulma-radius-large: 0.9rem;
    --bulma-body-background-color: var(--idigis-bg);
    --bulma-body-color: var(--idigis-text);
    --bulma-text-strong: var(--idigis-text);
    --bulma-border: var(--idigis-border);
    --bulma-border-weak: var(--idigis-border);
    --bulma-title-color: var(--idigis-text);
    --bulma-subtitle-color: var(--idigis-text-soft);
    --bulma-control-radius: 0.6rem;
    --bulma-control-height: 2.65em;
    --bulma-input-shadow: none;
    --bulma-input-border-color: var(--idigis-border-strong);
    --bulma-label-color: var(--idigis-text-soft);
    --bulma-table-row-hover-background-color: #f3f7fc;
}

/* ============================================================
   Dark theme  (activated via <html data-theme="dark">)
   Redefines the design tokens; every component reads these vars,
   so the whole app follows without per-component edits.
   ============================================================ */
[data-theme="dark"] {
    --idigis-on-primary: #182B3A;
    --idigis-sidebar-bg: #171F27;
    --idigis-institutional-surface-bis: #1D2836;
    --idigis-primary-rgb: 164, 201, 228;
    --idigis-danger: #F0AFB3;
    --idigis-success: #A0D8B5;
    --idigis-warning: #E8C789;
    --idigis-info: #AFCCEB;
    --idigis-danger-bg: #40262B;
    --idigis-success-bg: #203A2B;
    --idigis-warning-bg: #3A301D;
    --idigis-info-bg: #223348;

    --idigis-navy: #203649;
    --idigis-navy-deep: #192C3D;
    --idigis-navy-soft: #35516A;

    --idigis-primary: #A4C9E4;
    --idigis-primary-strong: #C0DBED;
    --idigis-primary-soft: #293F51;
    --idigis-accent: #D4C5AD;
    --idigis-accent-strong: #E1D5C4;

    --idigis-bg: #171F27;
    --idigis-surface: #202B35;
    --idigis-surface-muted: #283640;
    --idigis-border: #3B4A56;
    --idigis-border-strong: #8396A4;

    --idigis-text: #E7EDF4;
    --idigis-text-soft: #BECDD7;
    --idigis-text-muted: #A1B4C2;

    --idigis-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --idigis-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.6), 0 2px 6px -4px rgba(0, 0, 0, 0.5);
    --idigis-shadow-lg: 0 24px 55px -22px rgba(0, 0, 0, 0.75);

    /* ---- Bulma dark mapping (so native controls follow the palette) ---- */
    --bulma-scheme-main: var(--idigis-surface);
    --bulma-scheme-main-bis: var(--idigis-institutional-surface-bis);
    --bulma-scheme-main-ter: var(--idigis-surface-muted);
    --bulma-body-background-color: var(--idigis-bg);
    --bulma-body-color: var(--idigis-text);
    --bulma-text: var(--idigis-text);
    --bulma-text-strong: var(--idigis-text);
    --bulma-text-weak: var(--idigis-text-soft);
    --bulma-border: var(--idigis-border);
    --bulma-border-weak: var(--idigis-border);
    --bulma-input-background-color: var(--idigis-surface-muted);
    --bulma-input-color: var(--idigis-text);
    --bulma-input-border-color: var(--idigis-border-strong);
    --bulma-input-placeholder-color: var(--idigis-text-muted);
    --bulma-title-color: var(--idigis-text);
    --bulma-subtitle-color: var(--idigis-text-soft);
    --bulma-label-color: var(--idigis-text-soft);
    --bulma-table-color: var(--idigis-text);
    --bulma-table-background-color: transparent;
    --bulma-table-cell-border-color: var(--idigis-border);
    --bulma-table-row-hover-background-color: #283640;
}


/* Shared Bulma roles: one palette for native and application components. */
:root, [data-theme="dark"] {
    --bulma-scheme-main: var(--idigis-surface);
    --bulma-scheme-main-bis: var(--idigis-institutional-surface-bis);
    --bulma-scheme-main-ter: var(--idigis-surface-muted);
    --bulma-text: var(--idigis-text);
    --bulma-text-weak: var(--idigis-text-soft);
    --bulma-input-background-color: var(--idigis-surface);
    --bulma-input-color: var(--idigis-text);
    --bulma-input-placeholder-color: var(--idigis-text-muted);
    --bulma-link-text: var(--idigis-primary);
    --bulma-primary: var(--idigis-primary);
    --bulma-primary-invert: var(--idigis-on-primary);
    --bulma-link: var(--idigis-primary);
    --bulma-link-invert: var(--idigis-on-primary);
    --bulma-table-background-color: var(--idigis-surface);
    --bulma-table-color: var(--idigis-text);
    --bulma-table-cell-border-color: var(--idigis-border);
    --bulma-table-row-hover-background-color: var(--idigis-surface-muted);
}

@media (max-width: 768px) {
    :root { --idigis-dialog-inset: 16px; --idigis-dialog-head-block: 10px; --idigis-control-height: 44px; --idigis-control-compact: 44px; }
}

@media(max-width:768px){
    :root { --idigis-ui-body:16px; --idigis-ui-input:16px; --idigis-ui-title:20px; }
}
