/* ==========================================================================
   ShikshaPulse Parents — Design tokens
   Approved Parent Home / More palette: deep teal brand + burnt-orange accent
   on a warm-paper ground. Semantic colours remain separate from the accent.
   Three theme states are supported:
     - bare :root                       -> light (also the un-stamped default)
     - @media (prefers-color-scheme)    -> dark, unless an explicit light choice
     - :root[data-theme="dark|light"]   -> explicit user toggle wins either way
   Shared component colours resolve through these variables.
   ========================================================================== */
:root{
  color-scheme:light;
  /* approved Parent Home / More surfaces */
  --paper:#FAF6EF;      /* app background            */
  --card:#FFFFFF;       /* raised surfaces           */
  --card-2:#EFE9DF;     /* inset fields / muted rows */
  --nav:#FFFFFF;
  --track:#EFE9DF;

  /* text */
  --ink:#1B2230;        /* primary text              */
  --ink-soft:#596171;   /* secondary                 */
  --ink-faint:#596171;  /* readable captions         */

  /* hairlines */
  --line:#ECE5D9;
  --line-soft:#ECE5D9;

  /* brand — pine */
  --brand:#0E4D5B;
  --brand-2:#1D6273;
  --brand-deep:#0E4D5B;
  --on-brand:#FFFFFF;
  --on-brand-soft:#C4E2E8;
  --brand-line:#3C7887;
  --avatar:#FCE3C7;

  /* accent — approved burnt orange, with saffron reserved for live progress */
  --gold:#B8561A;
  --gold-2:#F2A541;
  --gold-deep:#9C4612;
  --gold-tint:#FDEEDF;
  --on-accent:#FFFFFF;

  /* semantic */
  --present:#1E7A4C; --present-tint:#E2F3E9; --present-soft:#E2F3E9;
  --absent:#B3261E;  --absent-tint:#FBE4DE;
  --info:#1D6A85;    --info-tint:#E3F0F5;
  --purple:#6A4BB0;  --purple-tint:#EEE8F8;
  --leave:#1769AA;   --leave-tint:#E5F0FA;
  --warn:#9C4612;
  --on-status:#FFFFFF;

  /* elevation */
  --shadow-sm:0 2px 10px -6px rgba(27,34,48,.22);
  --shadow:0 10px 30px rgba(27,34,48,.10);

  /* geometry */
  --r:18px; --r-lg:22px; --r-sm:14px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --header-h:60px; --nav-h:62px;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#0F1317; --card:#1A1F26; --card-2:#2A313B; --nav:#151A20; --track:#2A313B;
    --ink:#ECEEF2; --ink-soft:#A7AEBB; --ink-faint:#A7AEBB;
    --line:#29303A; --line-soft:#29303A;
    --brand:#0B2F38; --brand-2:#16434F; --brand-deep:#1F1206;
    --on-brand:#F2F5F6; --on-brand-soft:#9CC5CE; --brand-line:#2D5A66; --avatar:#F6D2A8;
    --gold:#F08A4B; --gold-2:#F2A541; --gold-deep:#F5A271; --gold-tint:#33210F; --on-accent:#1F1206;
    --present:#5CC48E; --present-tint:#163223; --present-soft:#163223;
    --absent:#F2867E;  --absent-tint:#38201E;
    --info:#6FB7D3;    --info-tint:#14303A;
    --purple:#B49CEB;  --purple-tint:#29223D;
    --leave:#83B9E8;   --leave-tint:#192C3E;
    --warn:#F5A271;
    --on-status:#0F1317;
    --shadow-sm:0 2px 12px -6px rgba(0,0,0,.6);
    --shadow:0 10px 30px rgba(0,0,0,.35);
  }
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0F1317; --card:#1A1F26; --card-2:#2A313B; --nav:#151A20; --track:#2A313B;
  --ink:#ECEEF2; --ink-soft:#A7AEBB; --ink-faint:#A7AEBB;
  --line:#29303A; --line-soft:#29303A;
  --brand:#0B2F38; --brand-2:#16434F; --brand-deep:#1F1206;
  --on-brand:#F2F5F6; --on-brand-soft:#9CC5CE; --brand-line:#2D5A66; --avatar:#F6D2A8;
  --gold:#F08A4B; --gold-2:#F2A541; --gold-deep:#F5A271; --gold-tint:#33210F; --on-accent:#1F1206;
  --present:#5CC48E; --present-tint:#163223; --present-soft:#163223;
  --absent:#F2867E;  --absent-tint:#38201E;
  --info:#6FB7D3;    --info-tint:#14303A;
  --purple:#B49CEB;  --purple-tint:#29223D;
  --leave:#83B9E8;   --leave-tint:#192C3E;
  --warn:#F5A271;
  --on-status:#0F1317;
  --shadow-sm:0 2px 12px -6px rgba(0,0,0,.6);
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
