/**
 * Academic Core — design system tokens (Nipun Schools ERP)
 * Source of truth for institutional navy + orange + green + neutrals.
 * Loaded by franchise panel + ID card layout CSS.
 */
:root,
body.fr-portal,
.id-card-cr80-portrait,
.id-card-cr80-portrait-back {
    /* Surfaces */
    --ac-surface: #f7f9fb;
    --ac-surface-dim: #d8dadc;
    --ac-surface-bright: #f7f9fb;
    --ac-surface-container-lowest: #ffffff;
    --ac-surface-container-low: #f2f4f6;
    --ac-surface-container: #eceef0;
    --ac-surface-container-high: #e6e8ea;
    --ac-surface-container-highest: #e0e3e5;
    --ac-on-surface: #191c1e;
    --ac-on-surface-variant: #43474f;
    --ac-inverse-surface: #2d3133;
    --ac-inverse-on-surface: #eff1f3;
    --ac-outline: #737780;
    --ac-outline-variant: #c3c6d1;
    --ac-surface-tint: #3a5f94;

    /* Brand */
    --ac-primary: #001e40;
    --ac-on-primary: #ffffff;
    --ac-primary-container: #003366;
    --ac-on-primary-container: #799dd6;
    --ac-inverse-primary: #a7c8ff;
    --ac-secondary: #a33e00;
    --ac-on-secondary: #ffffff;
    --ac-secondary-container: #fe6500;
    --ac-on-secondary-container: #541d00;
    --ac-tertiary: #002504;
    --ac-on-tertiary: #ffffff;
    --ac-tertiary-container: #003d0b;
    --ac-on-tertiary-container: #5ead5c;
    --ac-error: #ba1a1a;
    --ac-on-error: #ffffff;
    --ac-error-container: #ffdad6;
    --ac-on-error-container: #93000a;

    /* Fixed */
    --ac-primary-fixed: #d5e3ff;
    --ac-primary-fixed-dim: #a7c8ff;
    --ac-on-primary-fixed: #001b3c;
    --ac-on-primary-fixed-variant: #1f477b;
    --ac-secondary-fixed: #ffdbcd;
    --ac-secondary-fixed-dim: #ffb596;
    --ac-on-secondary-fixed: #360f00;
    --ac-on-secondary-fixed-variant: #7c2e00;
    --ac-tertiary-fixed: #a3f69c;
    --ac-tertiary-fixed-dim: #88d982;
    --ac-on-tertiary-fixed: #002204;
    --ac-on-tertiary-fixed-variant: #005312;

    --ac-background: #f7f9fb;
    --ac-on-background: #191c1e;
    --ac-surface-variant: #e0e3e5;

    /* Typography */
    --ac-font-display: Manrope, Inter, 'Noto Sans Telugu', system-ui, sans-serif;
    --ac-font-body: Inter, 'Noto Sans Telugu', system-ui, sans-serif;

    /* Shape (8px scale) */
    --ac-radius-sm: 0.25rem;
    --ac-radius: 0.5rem;
    --ac-radius-md: 0.75rem;
    --ac-radius-lg: 1rem;
    --ac-radius-xl: 1.5rem;
    --ac-radius-full: 9999px;

    /* Spacing */
    --ac-space-base: 8px;
    --ac-space-xs: 4px;
    --ac-space-sm: 12px;
    --ac-space-md: 24px;
    --ac-space-lg: 40px;
    --ac-space-xl: 64px;

    /* Elevation */
    --ac-shadow-card: 0 4px 12px rgba(0, 0, 0, 0.05);
    --ac-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.08);
}
