/* ==========================================================================
   SDDT / Samidha design tokens — v1.1 (2026-09-10)
   Source of truth: brand/BRAND.md. Do not edit values here without a
   matching BRAND.md change from the Chat (brand) lane.
   ========================================================================== */

/* ---- Self-hosted fonts (subset woff2; OFL licences in ./fonts/licenses) ---- */
@font-face { font-family: "Inter"; src: url("./fonts/Inter-Variable.woff2") format("woff2");
  font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("./fonts/CormorantGaramond-Variable.woff2") format("woff2");
  font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Noto Sans Devanagari"; src: url("./fonts/NotoSansDevanagari-Variable.woff2") format("woff2");
  unicode-range: U+0900-097F, U+1CD0-1CFF, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
  font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Tiro Devanagari Hindi"; src: url("./fonts/TiroDevanagariHindi-Regular.woff2") format("woff2");
  unicode-range: U+0900-097F, U+1CD0-1CFF, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
  font-weight: 400; font-style: normal; font-display: swap; }

:root {
  /* ---- Brand colours (fixed) ---------------------------------------- */
  --sddt-indigo:     #1E2F5C;  /* primary: text, headers, buttons       */
  --sddt-saffron:    #E07A1F;  /* decorative only: flame, accents        */
  --sddt-gold:       #F0B429;  /* decorative only on light; text OK on indigo */
  --sddt-rule-gold:  #C9A24A;  /* hairline rules, dividers               */
  --sddt-cream:      #FAF6EC;  /* warm surface                           */

  /* ---- Indigo scale (UI) -------------------------------------------- */
  --indigo-50:  #F2F3F5;  --indigo-100: #DFE2E8;  --indigo-200: #C0C5D1;
  --indigo-300: #939BB1;  --indigo-400: #667290;  --indigo-500: #425076;
  --indigo-600: #2C3B66;  --indigo-700: #1E2F5C;  --indigo-800: #19274B;
  --indigo-900: #131E3B;

  /* ---- Neutrals (warm grey) ----------------------------------------- */
  --gray-0:   #FFFFFF;  --gray-25:  #FBFBFA;  --gray-50:  #F5F5F3;
  --gray-100: #ECEBE8;  --gray-200: #E4E3DF;  --gray-300: #CFCDC6;
  --gray-500: #6E7280;  --gray-600: #5B5F6B;  --gray-900: #1A1A1F;

  /* ---- Semantic roles ------------------------------------------------ */
  --text-primary:    #1A1A1F;   /* 17.3:1 on white */
  --text-heading:    var(--sddt-indigo);
  --text-secondary:  #5B5F6B;   /* 6.4:1 */
  --text-muted:      #6E7280;   /* 4.8:1 — minimum for any text */
  --text-on-dark:    #FFFFFF;
  --text-accent-on-dark: var(--sddt-gold);   /* 7.0:1 on indigo */

  --surface-page:    #FFFFFF;
  --surface-warm:    var(--sddt-cream);
  --surface-subtle:  #F5F5F3;
  --surface-dark:    var(--sddt-indigo);
  --border:          #E4E3DF;
  --border-strong:   #CFCDC6;

  --action-primary:        var(--sddt-indigo);
  --action-primary-hover:  #19274B;
  --action-primary-text:   #FFFFFF;
  --link:                  #2C3B66;
  --focus-ring:            var(--sddt-saffron);  /* 2px ring + 2px white offset */

  /* ---- Status (never reuse brand/institution colours for status) ----- */
  --success: #1D6B45;  --success-bg: #E7F3EC;
  --warning: #8A5A00;  --warning-bg: #FFF4D6;
  --danger:  #B42318;  --danger-bg:  #FDECEA;
  --info:    #2C3B66;  --info-bg:    #EEF1F8;

  /* ---- Institution accents (identity only — never status) ------------ */
  --inst-intercollege:                 #3F7A26;  --inst-intercollege-tint:                 #ECF2E9;
  --inst-pg-college:                   #2F4A9A;  --inst-pg-college-tint:                   #EAEDF5;
  --inst-school-of-education:          #1A6F99;  --inst-school-of-education-tint:          #E8F1F5;
  --inst-pharmacy-college:             #177A6C;  --inst-pharmacy-college-tint:             #E8F2F0;
  --inst-college-of-law:               #8E2B3A;  --inst-college-of-law-tint:               #F4EAEB;
  --inst-college-of-business-technology:#5B4B8A; --inst-college-of-business-technology-tint:#EFEDF3;
  --inst-accent: var(--sddt-indigo);   /* overridden per institution below */
  --inst-accent-tint: var(--indigo-50);

  /* ---- Typography ---------------------------------------------------- */
  --font-display:       "Cormorant Garamond", "Georgia", serif;   /* headings >= 20px only */
  --font-ui:            "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-hindi-ui:      "Noto Sans Devanagari", "Inter", sans-serif;
  --font-hindi-display: "Tiro Devanagari Hindi", "Noto Serif Devanagari", serif;

  /* Type scale (rem @ 16px root) */
  --text-xs: 0.75rem;   --text-sm: 0.875rem;  --text-base: 1rem;
  --text-lg: 1.125rem;  --text-xl: 1.375rem;  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;  --text-4xl: 3rem;     --text-5xl: 3.75rem;
  --leading-tight: 1.2; --leading-normal: 1.5; --leading-hindi: 1.7;
  --tracking-caps: 0.14em;   /* for small uppercase labels only */

  /* ---- Space, radius, elevation, motion ------------------------------ */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-pill: 999px;
  --shadow-1: 0 1px 2px rgba(19,30,59,.06), 0 1px 1px rgba(19,30,59,.04);
  --shadow-2: 0 4px 12px rgba(19,30,59,.08), 0 1px 3px rgba(19,30,59,.06);
  --ease: cubic-bezier(.2,.7,.2,1);
  --dur-fast: 120ms; --dur-base: 180ms; --dur-slow: 260ms;

  /* ---- Density (portal = comfortable, staff ERP = compact) ----------- */
  --control-h: 44px;  --row-h: 52px;  --body-size: var(--text-base);
}
[data-density="compact"] { --control-h: 34px; --row-h: 36px; --body-size: var(--text-sm); }

/* Institution context: set on <body> or app shell */
[data-institution="intercollege"]                   { --inst-accent: var(--inst-intercollege);                   --inst-accent-tint: var(--inst-intercollege-tint); }
[data-institution="pg-college"]                     { --inst-accent: var(--inst-pg-college);                     --inst-accent-tint: var(--inst-pg-college-tint); }
[data-institution="school-of-education"]            { --inst-accent: var(--inst-school-of-education);            --inst-accent-tint: var(--inst-school-of-education-tint); }
[data-institution="pharmacy-college"]               { --inst-accent: var(--inst-pharmacy-college);               --inst-accent-tint: var(--inst-pharmacy-college-tint); }
[data-institution="college-of-law"]                 { --inst-accent: var(--inst-college-of-law);                 --inst-accent-tint: var(--inst-college-of-law-tint); }
[data-institution="college-of-business-technology"] { --inst-accent: var(--inst-college-of-business-technology); --inst-accent-tint: var(--inst-college-of-business-technology-tint); }

/* Hindi mode */
:lang(hi) { font-family: var(--font-hindi-ui); line-height: var(--leading-hindi); }

/* Base helpers */
body { font-family: var(--font-ui); color: var(--text-primary); background: var(--surface-page);
       font-size: var(--body-size); line-height: var(--leading-normal); -webkit-font-smoothing: antialiased; }
.display, h1, h2 { font-family: var(--font-display); font-weight: 500; color: var(--text-heading);
       font-variant-numeric: lining-nums; line-height: var(--leading-tight); }
:lang(hi) .display, :lang(hi) h1, :lang(hi) h2 { font-family: var(--font-hindi-display); }
.num, td, .amount { font-variant-numeric: tabular-nums lining-nums; }
.caps-label { font-family: var(--font-ui); font-size: var(--text-xs); letter-spacing: var(--tracking-caps);
       text-transform: uppercase; font-weight: 600; }
:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
