/* ================================================================
   ProSchool 2026 — premium green/blue interface refresh
   Reference: official ProSchool logo + dark navigation concept.
   This stylesheet is intentionally loaded last.
   ================================================================ */
:root{
  --ps-dark:#043f37;
  --ps-dark-2:#025247;
  --ps-dark-3:#073a42;
  --ps-green:#14b866;
  --ps-green-2:#08a85a;
  --ps-blue:#4a748e;
  --ps-mint:#e9f7ef;
  --ps-nav-h:84px;
}

html{scroll-padding-top:7.25rem}
body{
  background:
    radial-gradient(circle at 6% 5%,rgba(57,133,69,.10),transparent 24rem),
    radial-gradient(circle at 92% 8%,rgba(74,116,142,.10),transparent 26rem),
    linear-gradient(180deg,#fbfdfc 0%,#f4f8f7 42%,#f8fbfc 100%);
}

/* ---------- fixed dark menu ---------- */
#app-shell{height:calc(var(--ps-nav-h) + 1.4rem)}
.app-shell{
  position:fixed!important;
  top:0;left:0;right:0;
  z-index:1000!important;
  padding:.75rem .75rem 0;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.62),transparent)!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px);
}
.shell-inner{
  position:relative;
  width:min(calc(100% - .5rem),1320px)!important;
  min-height:var(--ps-nav-h);
  margin:0 auto!important;
  padding:0 1rem 0 0!important;
  display:flex!important;
  align-items:center!important;
  gap:.35rem!important;
  border:1px solid rgba(22,137,101,.16);
  border-radius:24px;
  background:
    radial-gradient(circle at 78% -20%,rgba(26,184,102,.15),transparent 20rem),
    linear-gradient(105deg,var(--ps-dark) 0%,#00574c 56%,#004a42 100%);
  box-shadow:0 18px 44px rgba(11,56,49,.19),inset 0 1px rgba(255,255,255,.07);
  overflow:visible;
}
.brand-mark{
  align-self:stretch;
  min-width:310px!important;
  padding:.65rem 3.5rem .65rem 1.15rem;
  gap:.85rem!important;
  background:linear-gradient(120deg,#fff 0%,#f5f8f8 100%);
  border-radius:23px 0 0 23px;
  clip-path:polygon(0 0,84% 0,100% 100%,0 100%);
  color:#132c39;
  transition:filter .2s ease;
}
.brand-mark:hover{filter:brightness(.985)}
.brand-logo{width:5.1rem!important;height:3.8rem!important;filter:drop-shadow(0 8px 13px rgba(20,78,59,.14))!important}
.brand-copy strong{font-size:1.28rem!important;color:#102a37!important;letter-spacing:-.01em}
.brand-copy span{font-size:.78rem!important;color:#60717a!important;white-space:nowrap}

.main-nav{
  margin-left:auto!important;
  flex:0 1 auto!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:.15rem!important;
}
.nav-link,.nav-dropdown__trigger{
  display:inline-flex!important;
  align-items:center;
  gap:.45rem!important;
  padding:.7rem .68rem!important;
  min-height:44px;
  border-radius:14px!important;
  color:rgba(255,255,255,.9)!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:.91rem!important;
  font-weight:650!important;
  white-space:nowrap;
  transform:none!important;
}
.nav-link svg,.nav-dropdown__trigger svg,.shell-primary-cta svg{width:1.25rem;height:1.25rem;flex:0 0 auto}
.nav-link::after{display:none!important}
.nav-link:hover,.nav-link.is-active,.nav-dropdown__trigger:hover,.nav-dropdown.is-active>.nav-dropdown__trigger{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.nav-link.is-active,.nav-dropdown.is-active>.nav-dropdown__trigger{
  background:linear-gradient(135deg,#18bc69,#10a85d)!important;
  box-shadow:0 7px 20px rgba(1,31,25,.18)!important;
}
.nav-chevron{font-size:.8rem!important;opacity:.75}
.nav-dropdown__panel{
  top:calc(100% + .55rem)!important;
  min-width:245px!important;
  padding:.55rem!important;
  border:1px solid rgba(8,84,70,.15)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 22px 55px rgba(3,50,43,.24)!important;
}
.nav-dropdown__panel a{
  padding:.72rem .78rem!important;
  border-radius:11px!important;
  color:#173a42!important;
  font-weight:600!important;
}
.nav-dropdown__panel a:hover,.nav-dropdown__panel a.is-current{
  background:#eaf7ef!important;
  color:#17673a!important;
}

.shell-actions{flex:0 0 auto!important;gap:.45rem!important;margin-left:.25rem!important}
.lang-switch{
  padding:2px!important;
  gap:1px;
  border-radius:11px!important;
  border:1px solid rgba(255,255,255,.25)!important;
  background:rgba(0,0,0,.08)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.lang-switch button{
  min-width:31px;
  height:31px;
  padding:0 .45rem!important;
  border-radius:9px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.76rem!important;
  font-weight:750!important;
  letter-spacing:.02em;
}
.lang-switch button.is-active{
  background:#0eaa5c!important;
  color:#fff!important;
  box-shadow:none!important;
}
.shell-primary-cta{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:44px;
  padding:.7rem 1rem!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#15be6b,#079e55)!important;
  box-shadow:0 10px 24px rgba(0,43,34,.22)!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:750!important;
  text-decoration:none;
}
.shell-primary-cta:hover{transform:translateY(-1px)!important;filter:brightness(1.04)}
.shell-toggle{
  display:none!important;
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.08)!important;
}
.shell-toggle span{width:20px!important;background:#fff!important;transition:transform .2s ease,opacity .2s ease}
.shell-toggle.is-open span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.shell-toggle.is-open span:nth-child(2){opacity:0}
.shell-toggle.is-open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

/* ---------- general surface refinement ---------- */
.page-shell{padding-top:.7rem!important;width:min(100% - 2rem,1240px)!important}
.route-surface{gap:1.2rem}
.page-hero,.section-card,.info-card,.form-card,.table-card,.status-card{
  border-color:rgba(3,89,71,.11)!important;
}
.section-card,.info-card,.form-card,.table-card{
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,252,250,.96))!important;
  box-shadow:0 15px 40px rgba(18,68,58,.07)!important;
}
.section-heading h2{font-size:clamp(1.55rem,2.3vw,2.15rem);color:#103b3b}
.section-heading p{max-width:76ch;color:#5c7379!important}
.button{
  background:linear-gradient(135deg,#159f59,#087d4a)!important;
  border-color:transparent!important;
  box-shadow:0 10px 24px rgba(16,116,70,.16)!important;
}
.button:hover{filter:brightness(1.04);transform:translateY(-1px)}
.ghost-button{
  border-color:rgba(8,95,72,.18)!important;
  background:rgba(255,255,255,.8)!important;
  color:#125f3f!important;
}

/* ---------- Homepage direct access bar ---------- */
.home-quick-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.75rem;
  margin:.2rem 0 1rem;
}
.home-quick-action{
  position:relative;
  display:flex;
  align-items:center;
  gap:.75rem;
  min-height:78px;
  padding:.9rem 1rem;
  border:1px solid rgba(8,92,72,.12);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(19,71,61,.07);
  color:#173b42;
  text-decoration:none;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.home-quick-action::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#14b866,#4a748e);transform:scaleX(.3);transform-origin:left;transition:transform .2s ease}
.home-quick-action:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(19,71,61,.12);border-color:rgba(13,145,89,.25);color:#123b32}
.home-quick-action:hover::after{transform:scaleX(1)}
.home-quick-action__icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:14px;background:#eaf7ef;color:#13804b;font-size:1.25rem}
.home-quick-action strong{display:block;font-size:1rem;line-height:1.2;color:#123b32}
.home-quick-action span:last-child{display:block;margin-top:.2rem;color:#667b80;font-size:.79rem;line-height:1.3}

/* ---------- Illustrative story cards ---------- */
.visual-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.visual-story-card{overflow:hidden;border:1px solid rgba(6,93,73,.12);border-radius:22px;background:#fff;box-shadow:0 13px 30px rgba(20,76,64,.07)}
.visual-story-card__media{aspect-ratio:16/10;background:linear-gradient(145deg,#e8f7ef,#edf5f9);overflow:hidden}
.visual-story-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.visual-story-card:hover .visual-story-card__media img{transform:scale(1.025)}
.visual-story-card__copy{padding:1rem 1.05rem 1.15rem}
.visual-story-card__copy h3{font-size:1.02rem;color:#123d39}.visual-story-card__copy p{margin-top:.35rem;color:#65777c;font-size:.88rem}

/* ---------- Download center ---------- */
.downloads-overview{
  display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:stretch;
  margin-bottom:1rem;
}
.downloads-overview__main,.downloads-overview__aside{
  padding:1.15rem;border-radius:20px;border:1px solid rgba(7,93,72,.12);
}
.downloads-overview__main{background:linear-gradient(135deg,#063f38,#086957);color:#fff}
.downloads-overview__main h3,.downloads-overview__main p{color:#fff}
.downloads-overview__main p{opacity:.82;margin-top:.35rem}
.downloads-overview__aside{background:#edf7f2;color:#24473f}
.downloads-overview__aside strong{display:block;color:#12553d;margin-bottom:.35rem}
.download-filter-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 .25rem}
.download-filter-nav a{padding:.48rem .75rem;border-radius:999px;background:#fff;border:1px solid rgba(9,91,72,.13);text-decoration:none;font-size:.82rem;font-weight:700;color:#285448}
.download-filter-nav a:hover{background:#e9f7ef;color:#12623f}
.download-group{scroll-margin-top:7.5rem;margin-top:1.35rem}
.download-group__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid rgba(9,91,72,.1)}
.download-group__head h3{font-size:1.3rem;color:#123d39}.download-group__head p{color:#667b80;font-size:.9rem;max-width:66ch}
.download-catalog{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important}
.download-card{
  min-height:100%;display:flex;flex-direction:column;
  border-radius:20px!important;padding:1.1rem!important;
  border:1px solid rgba(7,91,71,.12)!important;
  background:linear-gradient(150deg,#fff 0%,#f8fcfa 100%)!important;
  box-shadow:0 12px 30px rgba(15,69,57,.07)!important;
}
.download-card::before{height:3px!important;background:linear-gradient(90deg,#12b765,#4a748e)!important}
.download-card__top{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.download-card__icon{width:44px!important;height:44px!important;margin:0!important;border-radius:13px!important;background:#e8f6ee!important;color:#136e46;font-size:1.25rem!important}
.download-card h3{font-size:1.02rem;margin:.85rem 0 .3rem!important;color:#153f3a}
.download-card>p:not(.availability){font-size:.87rem;color:#64777b;line-height:1.55}
.download-card__meta{margin:.75rem 0 .45rem!important}
.download-card__meta span{background:#eef5f3!important;color:#3e5e58!important}
.download-card .inline-actions{margin-top:auto!important;padding-top:.75rem}
.download-note{background:#f1f7f5!important;border-left-color:#168e56!important;color:#526c68}
.download-web-callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-radius:18px;background:linear-gradient(135deg,#edf7f2,#edf5f8);border:1px solid rgba(6,93,73,.12)}
.download-web-callout__copy h3{font-size:1.05rem;color:#123d39}.download-web-callout__copy p{margin-top:.25rem;color:#65787d;font-size:.88rem}

/* ---------- Footer ---------- */
.site-footer{padding-top:2rem!important}.footer-inner{border-color:rgba(5,92,71,.11)!important;background:linear-gradient(145deg,#fff,#f4faf7)!important}
.brand-mark--footer{clip-path:none!important;background:transparent!important;border-radius:0!important;padding:0!important;min-width:0!important;align-self:auto!important}

@media (max-width:1250px){
  .brand-mark{min-width:250px!important;padding-right:2.5rem}.brand-copy span{display:none}
  .nav-label{font-size:.87rem}.nav-link,.nav-dropdown__trigger{padding:.65rem .55rem!important}
  .shell-primary-cta span{display:none}.shell-primary-cta{width:44px;padding:0!important}
}

@media (max-width:1080px){
  :root{--ps-nav-h:70px}
  #app-shell{height:calc(var(--ps-nav-h) + 1.25rem)}
  .app-shell{padding:.6rem .55rem 0}
  .shell-inner{min-height:var(--ps-nav-h);padding-right:.65rem!important;border-radius:20px}
  .brand-mark{min-width:220px!important;border-radius:19px 0 0 19px;padding:.5rem 2.4rem .5rem .8rem}.brand-logo{width:4rem!important;height:3rem!important}.brand-copy strong{font-size:1.05rem!important}
  .shell-toggle{display:inline-grid!important;place-items:center;order:4}
  .main-nav{
    position:absolute!important;left:.65rem!important;right:.65rem!important;top:calc(100% + .5rem)!important;
    display:none!important;flex-direction:column!important;align-items:stretch!important;gap:.2rem!important;
    padding:.65rem!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;
    background:linear-gradient(145deg,#043e37,#075248)!important;box-shadow:0 22px 55px rgba(4,47,40,.28)!important;
    max-height:calc(100vh - 7rem);overflow:auto;z-index:1002!important;
  }
  .main-nav.is-open{display:flex!important}
  .nav-link,.nav-dropdown__trigger{width:100%!important;justify-content:flex-start!important;padding:.72rem .8rem!important;color:#fff!important;border-radius:11px!important}
  .nav-chevron{margin-left:auto}
  .nav-dropdown{width:100%}
  .nav-dropdown__panel{
    position:static!important;display:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    transform:none!important;min-width:0!important;margin:.2rem 0 .25rem 1.5rem!important;padding:.25rem!important;
    background:rgba(255,255,255,.07)!important;border:0!important;box-shadow:none!important;
  }
  .nav-dropdown:hover .nav-dropdown__panel,.nav-dropdown:focus-within .nav-dropdown__panel{display:none!important}
  .nav-dropdown.is-open .nav-dropdown__panel{display:block!important}
  .nav-dropdown__panel a{color:rgba(255,255,255,.87)!important;padding:.62rem .72rem!important}.nav-dropdown__panel a:hover,.nav-dropdown__panel a.is-current{background:rgba(255,255,255,.1)!important;color:#fff!important}
  .shell-actions{margin-left:auto!important}.shell-primary-cta{display:none!important}
  .home-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .visual-story-grid{grid-template-columns:1fr 1fr}.visual-story-card:last-child{grid-column:1/-1}
  .download-catalog{grid-template-columns:repeat(2,minmax(0,1fr))!important}.downloads-overview{grid-template-columns:1fr}
}

@media (max-width:680px){
  :root{--ps-nav-h:64px}
  .app-shell{padding:.45rem .4rem 0}.shell-inner{border-radius:17px;padding-right:.45rem!important}
  .brand-mark{min-width:145px!important;padding:.4rem 1.75rem .4rem .55rem;border-radius:16px 0 0 16px;clip-path:polygon(0 0,82% 0,100% 100%,0 100%)}
  .brand-logo{width:3.55rem!important;height:2.7rem!important}.brand-copy{display:none!important}
  .lang-switch button{min-width:28px;height:28px;font-size:.7rem!important;padding:0 .32rem!important}
  .shell-toggle{width:38px;height:38px;border-radius:11px!important}
  .page-shell{width:min(100% - 1.1rem,1240px)!important;padding-top:.5rem!important}
  .home-quick-actions{grid-template-columns:1fr 1fr;gap:.55rem}.home-quick-action{min-height:68px;padding:.7rem .75rem}.home-quick-action__icon{width:38px;height:38px}.home-quick-action span:last-child{display:none}
  .visual-story-grid{grid-template-columns:1fr}.visual-story-card:last-child{grid-column:auto}
  .download-catalog{grid-template-columns:1fr!important}.download-group__head{display:block}.download-group__head p{margin-top:.25rem}.download-web-callout{align-items:flex-start;flex-direction:column}
}
