/* E-SchoolSite Brand System v2
   Primary identity: Blue + White + Green.
   Red remains reserved for destructive/error states and amber for warnings. */
:root{
  --brand-blue-900:#08233f;
  --brand-blue-800:#0a365f;
  --brand-blue-700:#0b4f86;
  --brand-blue-600:#176fbe;
  --brand-blue-500:#2a83d5;
  --brand-blue-100:#dceeff;
  --brand-blue-50:#f2f8ff;
  --brand-green-800:#105f36;
  --brand-green-700:#146c3e;
  --brand-green-600:#198754;
  --brand-green-500:#2baa64;
  --brand-green-100:#d9f2e3;
  --brand-green-50:#f1faf5;

  /* Backwards-compatible application tokens. */
  --navy-950:#061b33;
  --navy-900:#082b4d;
  --navy-800:#103b63;
  --navy-700:#1a4b75;
  --blue-700:var(--brand-blue-700);
  --blue-600:var(--brand-blue-600);
  --blue-500:var(--brand-blue-500);
  --blue-100:var(--brand-blue-100);
  --blue-50:var(--brand-blue-50);
  --teal-700:var(--brand-green-700);
  --teal-600:var(--brand-green-600);
  --teal-500:var(--brand-green-500);
  --teal-100:var(--brand-green-100);
  --teal-50:var(--brand-green-50);
  --teal:var(--brand-green-600);
  --teal2:var(--brand-green-700);
  --page:#f5f9fc;
  --surface-soft:#fbfdff;
  --line:#e0e9f1;
  --line-strong:#cfdce8;
  --ok:var(--brand-green-600);
  --ok-soft:var(--brand-green-50);
}

html,body{background:var(--page)}
body{color:#10243a}
a{color:var(--brand-blue-700)}
a:hover{color:var(--brand-blue-600)}
:focus-visible{outline-color:var(--brand-blue-600)!important}
::selection{background:var(--brand-blue-100);color:var(--brand-blue-900)}

/* Core brand and authenticated shell. */
.brand-mark,.public-brand-mark{
  background:linear-gradient(145deg,var(--brand-blue-700) 0%,var(--brand-blue-600) 58%,var(--brand-green-600) 100%)!important;
  box-shadow:0 9px 22px rgba(11,79,134,.20)!important;
}
.brand-inverse .brand-mark{
  background:linear-gradient(145deg,#ffffff 0%,#eef8ff 58%,#e7f8ee 100%)!important;
  color:var(--brand-blue-900)!important;
  box-shadow:none!important;
}
.app-sidebar{
  background:linear-gradient(180deg,#061b33 0%,#082b4d 58%,#0b3d5e 100%)!important;
}
.workspace-dot{background:var(--brand-green-500)!important;box-shadow:0 0 0 4px rgba(43,170,100,.14)!important}
.nav-item.active{
  background:linear-gradient(90deg,rgba(23,111,190,.30),rgba(25,135,84,.16))!important;
  box-shadow:inset 0 0 0 1px rgba(130,190,239,.14)!important;
}
.nav-item.active:before{background:var(--brand-green-500)!important}
.nav-item.active .ui-icon,.nav-item:hover .ui-icon{color:#72d99a!important}
.header-kicker{color:var(--brand-green-700)!important}
.app-header{border-bottom-color:#dce7f0!important}
.user-chip:hover,.icon-button:hover,.header-icon:hover{border-color:#bfd3e3!important}

/* Shared controls: blue for primary action, green for positive action/state. */
.btn.primary{
  background:var(--brand-blue-700)!important;
  border-color:var(--brand-blue-700)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(11,79,134,.16);
}
.btn.primary:hover{background:var(--brand-blue-800)!important;border-color:var(--brand-blue-800)!important}
.btn:not(.primary):not(.danger):hover{border-color:#a9c7dc;color:var(--brand-blue-800)}
.alert.success{background:var(--brand-green-50)!important;border-color:#b9e4c8!important;color:#105f36!important}
.alert.info{background:var(--brand-blue-50)!important;border-color:#bad8f2!important;color:var(--brand-blue-800)!important}
.tag{background:var(--brand-green-50)!important;border-color:#c7e9d3!important;color:var(--brand-green-700)!important}
.progress-mini span,.progress-large span{background:linear-gradient(90deg,var(--brand-blue-600),var(--brand-green-600))!important}

/* Public navigation. */
.public-header-v2{border-bottom-color:rgba(205,220,232,.9)!important}
.public-nav-desktop a{color:#425e75!important}
.public-nav-desktop a:hover,.public-nav-desktop a.active{color:var(--brand-blue-900)!important}
.public-nav-desktop a.active:after{background:var(--brand-green-600)!important}
.public-primary-cta{
  background:linear-gradient(135deg,var(--brand-blue-700),var(--brand-blue-600))!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(11,79,134,.20)!important;
}
.public-primary-cta:hover{background:linear-gradient(135deg,var(--brand-blue-800),var(--brand-blue-700))!important;box-shadow:0 12px 28px rgba(11,79,134,.24)!important}

/* Premium homepage: blue, white and green only for brand accents. */
.public-home-premium{
  --home-ink:#102b43;
  --home-deep:var(--brand-blue-900);
  --home-muted:#61788a;
  --home-line:#dfe9f1;
  --home-soft:#f5f9fc;
  --home-teal:var(--brand-blue-700);
  --home-teal-dark:var(--brand-blue-800);
  --home-mint:var(--brand-green-100);
  --home-gold:var(--brand-green-600);
}
.public-home-premium .home-v5{background:#fff;color:var(--home-ink)}
.public-home-premium .home-v5-hero{background:linear-gradient(180deg,#f6faff 0%,#fff 94%)!important}
.public-home-premium .home-v5-hero:before{background:radial-gradient(circle at 88% 12%,rgba(23,111,190,.07),transparent 28%),radial-gradient(circle at 8% 72%,rgba(25,135,84,.07),transparent 25%)!important}
.public-home-premium .home-v5-hero__title-card{background:linear-gradient(135deg,#fff,#f8fbfe)!important}
.public-home-premium .home-v5-hero__title-card .home-v5-eyebrow{color:var(--brand-blue-700)!important}
.public-home-premium .home-v5-hero__title-card .home-v5-eyebrow:before{background:var(--brand-green-600)!important}
.public-home-premium .home-v5-hero__title-card h1{
  color:var(--brand-blue-900)!important;
  font-family:var(--font-display,Inter,"Segoe UI",sans-serif)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
}
.public-home-premium .home-v5-hero__title-card h1 span{color:var(--brand-green-700)!important}
.public-home-premium .home-v5-hero__title-line{background:linear-gradient(90deg,var(--brand-green-600),var(--brand-blue-600))!important}
.public-home-premium .home-v5-hero__lead{color:#3f5870!important}
.public-home-premium .home-v5-hero__action-card .home-v5-button--primary{
  background:linear-gradient(135deg,var(--brand-blue-700),var(--brand-blue-600))!important;
  box-shadow:0 12px 28px rgba(11,79,134,.20)!important;
}
.public-home-premium .home-v5-hero__action-card .home-v5-button--primary:hover{background:linear-gradient(135deg,var(--brand-blue-800),var(--brand-blue-700))!important}
.public-home-premium .home-v5-hero__action-card .home-v5-button--quiet{
  border-color:#a9c9df!important;
  background:#fff!important;
  color:var(--brand-blue-800)!important;
}
.public-home-premium .home-v5-hero__action-card .home-v5-button--quiet:hover{border-color:var(--brand-green-500)!important;color:var(--brand-green-700)!important;background:var(--brand-green-50)!important}
.public-home-premium .home-v5-button:focus-visible,
.public-home-premium .home-v5-inline-link:focus-visible,
.public-home-premium .home-v5-heading a:focus-visible,
.public-home-premium .home-v5-programme-card a:focus-visible{outline-color:var(--brand-blue-600)!important}
.public-home-premium .home-v5-proof span:before{background:var(--brand-green-100)!important;color:var(--brand-green-700)!important}
.public-home-premium .home-v5-rail article>span{background:var(--brand-green-50)!important;border-color:#ccebd7!important;color:var(--brand-green-700)!important}
.public-home-premium .home-v5-heading a,
.public-home-premium .home-v5-inline-link,
.public-home-premium .home-v5-features a{color:var(--brand-blue-700)!important}
.public-home-premium .home-v5-heading a:hover,
.public-home-premium .home-v5-inline-link:hover,
.public-home-premium .home-v5-features a:hover{color:var(--brand-green-700)!important}
.public-home-premium .home-v5-features__number{background:var(--brand-green-50)!important;color:var(--brand-green-700)!important}
.public-home-premium .home-v5-journey__floating{background:rgba(8,35,63,.88)!important}
.public-home-premium .home-v5-journey__floating span{color:#a7e9bf!important}
.public-home-premium .home-v5-institution{background:linear-gradient(125deg,#061b33 0%,#0a365f 58%,#0f5b52 100%)!important}
.public-home-premium .home-v5-institution__points span:before{color:#86e2a9!important}
.public-home-premium .home-v5-eyebrow--light{color:#9edeb7!important}
.public-home-premium .home-v5-inline-link--light{color:#b8e8c9!important}
.public-home-premium .home-v5-cta{background:linear-gradient(105deg,var(--brand-blue-700),var(--brand-green-700))!important}

/* Premium cards gain a restrained blue/green interaction, not colourful noise. */
.public-home-premium .home-v5-programme-card:hover{border-color:#b9d5e6!important;box-shadow:0 20px 44px rgba(8,43,77,.10)!important}
.public-home-premium .home-v5-programme-card__status{color:var(--brand-blue-800)!important}

/* Form affordances and accessibility. */
input:focus,select:focus,textarea:focus{
  border-color:var(--brand-blue-500)!important;
  box-shadow:0 0 0 3px rgba(42,131,213,.12)!important;
  outline:none;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--brand-blue-600)}

/* Mobile keeps the same visual hierarchy without over-saturating the UI. */
@media(max-width:640px){
  .public-home-premium .home-v5-hero__title-card{background:#fff!important}
  .public-home-premium .home-v5-hero__action-card{background:#fff!important}
}
