:root{
/* primitives — Scheme B "Daybreak": sky teal primary, warm spectrum accents, cool ink neutrals */
--teal-50:#EEF6F6;--teal-100:#D8EAEB;--teal-200:#B1D4D7;--teal-300:#80BABE;--teal-400:#469AA0;--teal-500:#0B7A82;--teal-600:#09666D;--teal-700:#075358;--teal-800:#063D41;--teal-900:#04292C;
--marigold-50:#FEF9F0;--marigold-100:#FDF1DD;--marigold-200:#FBE3BB;--marigold-300:#F9D190;--marigold-400:#F7BB5D;--marigold-500:#F4A62A;--marigold-600:#CD8B23;--marigold-700:#A6711D;--marigold-800:#7A5315;--marigold-900:#53380E;
--coral-50:#FEF5F3;--coral-100:#FCE7E3;--coral-200:#FAD0C6;--coral-300:#F6B3A2;--coral-400:#F28F78;--coral-500:#EE6C4D;--coral-600:#C85B41;--coral-700:#A24934;--coral-800:#773627;--coral-900:#51251A;
--leaf-50:#F4F9F5;--leaf-100:#E5F1E7;--leaf-200:#CBE4CF;--leaf-300:#AAD3B2;--leaf-400:#82BE8E;--leaf-500:#5BAA6A;--leaf-600:#4C8F59;--leaf-700:#3E7448;--leaf-800:#2E5535;--leaf-900:#1F3A24;
--dusk-50:#F2F4FC;--dusk-100:#E2E5F8;--dusk-200:#C5CBF2;--dusk-300:#A1AAEA;--dusk-400:#7682E0;--dusk-500:#4B5BD6;--dusk-600:#3F4CB4;--dusk-700:#333E92;--dusk-800:#262E6B;--dusk-900:#1A1F49;

--n-50:#FBFDFD;--n-100:#F5F8FA;--n-200:#EAF0F2;--n-300:#DCE5E8;--n-400:#B9C7CD;--n-500:#7C8D97;--n-600:#667683;--n-700:#40505C;--n-800:#2A3842;--n-900:#1E2A33;
}
:root,[data-theme="light"]{
--surface-page:var(--n-50);--surface-1:#FFFFFF;--surface-2:var(--n-100);--surface-sunken:var(--n-200);
/* Sunrise wash — the approved page background. Cards stay white on top of it. */
--page-bg:radial-gradient(900px 520px at 0% 0%,#FFE6BF 0%,transparent 60%),radial-gradient(800px 500px at 100% 0%,#CDEFF2 0%,transparent 60%),#FBFDFD;
--border:var(--n-300);--border-strong:var(--n-500);
--text-1:var(--n-900);--text-2:var(--n-700);--text-muted:var(--n-600);--text-on-primary:#FFFFFF;--text-on-dark:#FFFFFF;
--brand-primary:var(--teal-500);--brand-primary-hover:var(--teal-600);--brand-primary-active:var(--teal-700);--brand-primary-ink:#0B6970;--brand-primary-soft:#D9F1F2;--brand-primary-soft-border:#A9DDE0;
--focus-ring-color:var(--teal-500);--focus-ring-shadow:0 0 0 3px #A9DDE0;
--highlight:#F4A62A;--highlight-ink:#2B1D00;--highlight-soft:#FDEFCB;--highlight-soft-border:#F7D58A;
--status-success-text:#1D7A46;--status-success-bg:#DDF2E4;
--status-warning-text:#8A5600;--status-warning-bg:#FDEFCB;
--status-danger-text:#B4311F;--status-danger-bg:#FDE3DD;
--status-info-text:#2D55B8;--status-info-bg:#E1E9FA;
--status-neutral-text:var(--n-700);--status-neutral-bg:var(--n-200);
--chart-1:var(--teal-500);--chart-track:var(--n-200);
--overlay-scrim:rgba(20,40,50,.45);
}
[data-theme="dark"]{
--surface-page:#10222B;--surface-1:#173039;--surface-2:#1D3A44;--surface-sunken:#0B1A21;
--page-bg:#10222B;
--border:#27444F;--border-strong:#4F7380;
--text-1:#F2F7F8;--text-2:#D2E0E4;--text-muted:#A7C0C7;--text-on-primary:#06262A;--text-on-dark:#FFFFFF;
--brand-primary:#5FD0D6;--brand-primary-hover:#7FDCE1;--brand-primary-active:#4AB9BF;--brand-primary-ink:#7FDCE1;--brand-primary-soft:#1B4A52;--brand-primary-soft-border:#2A6872;
--focus-ring-color:#5FD0D6;--focus-ring-shadow:0 0 0 3px rgba(95,208,214,.35);
--highlight:#F7B84B;--highlight-ink:#2B1D00;--highlight-soft:#3D3214;--highlight-soft-border:#584A1C;
--status-success-text:#8FD3A6;--status-success-bg:#163A27;
--status-warning-text:#F0C675;--status-warning-bg:#3A2E12;
--status-danger-text:#F3A89C;--status-danger-bg:#3F1F1A;
--status-info-text:#9DB6F0;--status-info-bg:#1E2A4D;
--status-neutral-text:#D2E0E4;--status-neutral-bg:#1F3A44;
--chart-1:#5FD0D6;--chart-track:#27444F;
--overlay-scrim:rgba(0,0,0,.6);
}
/* School accent — set per tenant by the host app. Badge + parent-header only; never actions, text or status. */
:root{--tenant-accent:var(--brand-primary);--tenant-accent-ink:#FFFFFF;}

:root{
--font-display:'Poppins',-apple-system,sans-serif;
--font-body:'Poppins',-apple-system,sans-serif;
--font-mono:'Poppins',-apple-system,sans-serif; /* numerals stay in Poppins; tabular-nums where columns align */
--fs-display-2xl:48px;--fs-display-xl:38px;--fs-display-lg:30px;--fs-display-md:24px;--fs-display-sm:19px;
--fs-body-lg:17px;--fs-body-md:15px;--fs-body-sm:13px;--fs-caption:12px;
--fw-regular:400;/* @kind other */--fw-medium:500;/* @kind other */--fw-semibold:600;/* @kind other */--fw-bold:700;/* @kind other */
--lh-display:1.15;/* @kind other */--lh-body:1.55;/* @kind other */--lh-tight:1.3;/* @kind other */
--ls-display:-0.025em;--ls-caps:.06em;
}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;}
:root{--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--radius-focus:12px;}
:root{
--shadow-sm:0 1px 2px rgba(20,40,50,.05);
--shadow-md:0 1px 2px rgba(20,40,50,.04),0 8px 24px rgba(20,40,50,.07);
--shadow-lg:0 14px 36px rgba(20,40,50,.14);
--shadow-overlay:0 24px 60px rgba(20,40,50,.24);
}
[data-theme="dark"]{
--shadow-sm:0 1px 2px rgba(0,0,0,.3);
--shadow-md:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
--shadow-lg:0 14px 36px rgba(0,0,0,.45);
--shadow-overlay:0 24px 60px rgba(0,0,0,.55);
}
:root{
--ease-standard:cubic-bezier(.3,0,.1,1);/* @kind other */--ease-out:cubic-bezier(.2,0,0,1);/* @kind other */
--duration-fast:120ms;/* @kind other */--duration-base:200ms;/* @kind other */--duration-slow:320ms;/* @kind other */
}
*{box-sizing:border-box}
body{background:var(--page-bg);background-attachment:fixed;color:var(--text-1);font-family:var(--font-body);font-size:var(--fs-body-md);line-height:var(--lh-body);margin:0;min-height:100vh}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);margin:0}
a{color:var(--brand-primary-ink)}a:hover{color:var(--brand-primary-active)}
:focus-visible{outline:none;box-shadow:var(--focus-ring-shadow);border-radius:var(--radius-focus)}
.num{font-variant-numeric:tabular-nums}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../ds/fonts/poppins-devanagari-400-normal.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../ds/fonts/poppins-devanagari-500-normal.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../ds/fonts/poppins-devanagari-600-normal.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../ds/fonts/poppins-devanagari-700-normal.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../ds/fonts/poppins-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20B9,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../ds/fonts/poppins-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20B9,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../ds/fonts/poppins-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20B9,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../ds/fonts/poppins-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20B9,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* The standalone page only (the ERP app has its own): the window the
   AppShell fills, and the sign-in screen. Tokens only. The build puts the
   design system's tokens and the Poppins @font-face rules before this. */

html, body, #root { height: 100%; }
body { background-attachment: scroll; -webkit-text-size-adjust: 100%; }
[tabindex="-1"]:focus, [tabindex="-1"]:focus-visible { outline: none; box-shadow: none; }

.signin { max-width: 440px; margin: 0 auto; padding: var(--space-7) var(--space-4) var(--space-9); display: grid; gap: var(--space-5); }
.signin p { margin: 0; color: var(--text-2); }
.signin ul { margin: 0; padding: 0; list-style: none; }
.signin h1 { font-size: var(--fs-display-md); line-height: var(--lh-display); color: var(--text-1); }
.signin .icon { display: inline-flex; flex: none; line-height: 0; }
.signin .icon svg { display: block; }
.signin-brand { display: flex; justify-content: center; }
.signin .stack { display: grid; gap: var(--space-4); }
.signin .notice { color: var(--text-1); font-weight: var(--fw-medium); }
.signin .error { color: var(--status-danger-text); font-size: var(--fs-body-sm); }
.signin .row-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); }
.signin .choices { display: grid; gap: var(--space-3); }

.noscript { padding: var(--space-4); max-width: 640px; margin: 0 auto; }
