/* School-scoped visual identity. Platform-wide pages intentionally remain nature themed. */
.tenant-theme{--school-primary:#245c46;--school-secondary:#3f8060;--school-accent:#d1a83b;--school-font:#17372b;--school-font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--school-font);font-family:var(--school-font-family)}
.tenant-theme :where(h1,h2,h3,h4,p,a,button,input,select,textarea,label,table){font-family:var(--school-font-family)}
.tenant-theme :where(.v2-school-canvas,.v2-module-page,.v2-portal,.tp-shell,.fp-shell,.mg-shell,.portal-workspace-shell){background:linear-gradient(145deg,color-mix(in srgb,var(--school-primary) 7%,#fff),#fff 42%,color-mix(in srgb,var(--school-secondary) 8%,#fff));color:var(--school-font)}
.tenant-theme :where(.v2-school-hero,.tp-hero,.fp-profile,.mg-hero,.v2-portal-banner){border-color:color-mix(in srgb,var(--school-primary) 55%,#fff);box-shadow:0 18px 45px color-mix(in srgb,var(--school-primary) 18%,transparent)}
.tenant-theme .v2-school-hero{background:linear-gradient(120deg,var(--school-primary),color-mix(in srgb,var(--school-secondary) 82%,#fff));color:#fff}
.tenant-theme :where(.v2-school-nav,.tp-nav,.fp-toolbar,.mg-workspace>aside){border-color:color-mix(in srgb,var(--school-primary) 25%,#dbe7e1)}
.tenant-theme :where(.v2-school-nav a,.tp-nav a,.fp-profile nav a,.mg-hero a,.mg-hero button,.button,button){transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.tenant-theme :where(.v2-school-nav a,.tp-nav a,.fp-profile nav a,.mg-hero a,.mg-hero button,.button,button):hover{background:var(--school-accent)!important;color:var(--school-font)!important;transform:translateY(-2px);box-shadow:0 9px 22px color-mix(in srgb,var(--school-accent) 30%,transparent)}
.tenant-theme :where(button,.button,.v2-open-workspace,.v2-login-shell button,.si-form>button){background:var(--school-primary);border:1px solid color-mix(in srgb,var(--school-primary) 80%,#000);color:#fff;border-radius:999px;font-weight:600}
.tenant-theme :where(.card,.v2-dashboard article,.v2-kpis>*,.v2-compact-grid>article,.sp-news-grid>*,.mg-module-card,.tp-menu>a,.fp-menu>a,.portal-quick-access a){border-top-color:#e0e9e5!important;border-left:4px solid var(--school-accent)!important;border-radius:16px;box-shadow:0 8px 25px color-mix(in srgb,var(--school-primary) 10%,transparent)}
.tenant-theme :where(.card,.v2-dashboard article,.v2-compact-grid>article,.sp-news-grid>*,.mg-module-card,.tp-menu>a,.fp-menu>a){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tenant-theme :where(.card,.v2-dashboard article,.v2-compact-grid>article,.sp-news-grid>*,.mg-module-card,.tp-menu>a,.fp-menu>a):hover{transform:translateY(-3px) scale(1.006);box-shadow:0 15px 35px color-mix(in srgb,var(--school-primary) 18%,transparent)}
.tenant-theme :where(.mg-module-card,.tp-menu>a,.fp-menu>a,.portal-quick-access a)>i{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--school-primary),var(--school-secondary));color:#fff;font-style:normal;font-weight:700}
.tenant-theme :where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--school-primary) 25%,#d5dfda);background:#fff;color:var(--school-font);border-radius:14px;padding:.78rem .95rem;margin-top:.35rem}
.tenant-theme :where(input,select,textarea):focus{outline:3px solid color-mix(in srgb,var(--school-accent) 35%,transparent);border-color:var(--school-accent)}
/* The selected preset must be visible across the whole tenant surface, not
   only as a hero gradient.  Keep controls and cards on the same school-owned
   accent tokens so a turquoise/navy preset never falls back to the platform
   gold defaults. */
.tenant-theme :where(button,.button,input[type="submit"],input[type="button"]){background:var(--school-accent)!important;border-color:var(--school-accent)!important;color:var(--school-font)!important}
.tenant-theme :where(button,.button,input[type="submit"],input[type="button"]):hover,.tenant-theme :where(button,.button,input[type="submit"],input[type="button"]):focus-visible{background:var(--school-accent)!important;border-color:var(--school-accent)!important;color:#fff!important}
.tenant-theme :where(.card,.v2-dashboard article,.v2-kpis>*,.v2-compact-grid>article,.sp-news-grid>*,.mg-module-card,.tp-menu>a,.fp-menu>a,.portal-quick-access a,.v2-profile-pane,.v2-news-card){background:color-mix(in srgb,var(--school-accent) 7%,#fff)!important;border-color:color-mix(in srgb,var(--school-accent) 34%,#dbe7e1)!important;border-left-color:var(--school-accent)!important}
.tenant-theme :where(.v2-school-nav a.active,.v2-school-nav a:hover,.tp-nav a.active,.tp-nav a:hover){background:var(--school-accent)!important;color:var(--school-font)!important}
.tenant-theme :where(.v2-school-hero aside a,.v2-school-hero aside b,.v2-registration-link){background:var(--school-accent)!important;border-color:var(--school-accent)!important;color:var(--school-font)!important}
.tenant-theme :where(.v2-school-lead article,.v2-school-lead article>div,.v2-friend,.v2-school-carousel,.v2-school-footer,.sp-school-footer){border-left-color:var(--school-accent)!important;border-color:color-mix(in srgb,var(--school-accent) 34%,#dbe7e1)!important}
.tenant-theme :where(.v2-school-lead article,.v2-school-lead article>div,.v2-friend){background:color-mix(in srgb,var(--school-accent) 7%,#fff)!important}
.tenant-theme :where(.v2-school-carousel){background:linear-gradient(135deg,var(--school-primary),color-mix(in srgb,var(--school-primary) 35%,var(--school-secondary)),var(--school-accent))!important}
.tenant-theme form{gap:1rem}.tenant-theme label{color:var(--school-font);font-weight:500}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.25rem 0}.security-grid form{display:grid;gap:1rem}.security-check{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem;border-radius:14px;background:color-mix(in srgb,var(--school-primary) 6%,#fff)}.security-check input{width:auto;margin-top:.2rem}.security-login-links{display:flex;gap:1rem;flex-wrap:wrap}.security-session-notice{max-width:1180px;margin:1rem auto;padding:1rem 1.2rem;border-left:5px solid #d48b19;border-radius:14px;background:#fff4d7;color:#553405;box-shadow:0 8px 24px #0001}.school-brand-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:1px solid color-mix(in srgb,var(--school-primary) 25%,#dde7e2);border-radius:18px;padding:1.2rem}.school-brand-controls legend{padding:0 .6rem;color:var(--school-primary);font-weight:700}.school-brand-controls p{grid-column:1/-1}.school-profile-check{display:flex;align-items:center;gap:.55rem}.school-profile-check input{width:auto}
@media(max-width:760px){.security-grid,.school-brand-controls{grid-template-columns:1fr}.school-brand-controls p{grid-column:auto}.tenant-theme :where(.v2-school-canvas,.tp-shell,.fp-shell,.mg-shell){border-radius:0}}
@media(prefers-reduced-motion:reduce){.tenant-theme *{transition:none!important;scroll-behavior:auto!important}}
