/* ScoreMax UX vNext — balanced tools composition + complete public sitemap. Staging only. */

/* Align the two lead feature panels and eight capability tiles to one 4-column rhythm. */
@media (min-width:1001px){
  .ux-feature-bento{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
  .ux-feature-lead{grid-column:span 2!important}
  .ux-tool-grid{display:contents!important}
}
@media (min-width:701px) and (max-width:1000px){
  .ux-feature-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .ux-feature-lead{grid-column:span 1!important}
  .ux-tool-grid{display:contents!important}
}
@media (max-width:700px){
  .ux-feature-bento{grid-template-columns:1fr!important}
  .ux-feature-lead{grid-column:auto!important}
  .ux-tool-grid{display:contents!important}
}

/* Complete public navigation at the foot of the landing page. */
.ux-public-sitemap{max-width:1200px;margin:18px auto 0;padding:30px 28px 32px;border-top:1px solid #e6ebf3}
.ux-public-sitemap-inner{display:grid;grid-template-columns:1.35fr repeat(5,1fr);gap:28px;align-items:start}
.ux-footer-brand{padding-right:12px}
.ux-footer-brand-lockup{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#0f172a;font-size:1.2rem;font-weight:900;letter-spacing:-.04em;margin-bottom:10px}
.ux-footer-mini-mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(145deg,#2563eb,#7c3aed);display:grid;place-items:center;box-shadow:0 7px 18px rgba(37,99,235,.14)}
.ux-footer-mini-mark:before{content:'↗';color:#fff;font-size:.8rem;font-weight:900}
.ux-footer-brand p{margin:0;max-width:220px;color:#64748b;font-size:.79rem;line-height:1.5}
.ux-footer-col h3{margin:1px 0 10px;color:#334155;font-size:.69rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ux-footer-col a{display:block;width:max-content;max-width:100%;margin:0 0 7px;color:#56657a;text-decoration:none;font-size:.8rem;line-height:1.35;font-weight:650;transition:.15s ease}
.ux-footer-col a:hover,.ux-footer-col a:focus-visible{color:#2563eb;transform:translateX(1px)}
.ux-footer-col .ux-footer-primary{color:#1d4ed8;font-weight:850}
.ux-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding-top:16px;border-top:1px solid #edf1f6;color:#94a3b8;font-size:.72rem}
.ux-footer-bottom-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ux-footer-bottom-links a{color:#64748b;text-decoration:none;font-weight:700}
.ux-footer-bottom-links a:hover{color:#2563eb}
@media(max-width:1050px){.ux-public-sitemap-inner{grid-template-columns:1.4fr repeat(3,1fr);row-gap:24px}.ux-footer-brand{grid-row:span 2}}
@media(max-width:720px){.ux-public-sitemap{padding:26px 18px 28px}.ux-public-sitemap-inner{grid-template-columns:1fr 1fr;gap:22px 20px}.ux-footer-brand{grid-column:1/-1;grid-row:auto;padding-right:0}.ux-footer-brand p{max-width:360px}.ux-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:430px){.ux-public-sitemap-inner{grid-template-columns:1fr}.ux-footer-brand{grid-column:auto}.ux-footer-col a{margin-bottom:8px}}

/* Hero headline: keep the two intended statements on two clean desktop lines. */
@media (min-width:981px){
  .ux-hero{grid-template-columns:1.14fr .86fr!important;gap:44px!important}
  .ux-hero h1{font-size:clamp(2.85rem,3.75vw,3.5rem)!important;line-height:1.03!important;letter-spacing:-.045em!important;max-width:none!important}
  .ux-hero h1 span{white-space:nowrap!important}
  .ux-hero-copy{padding-right:0!important}
}
@media (min-width:981px) and (max-width:1120px){
  .ux-hero{grid-template-columns:1.16fr .84fr!important;gap:34px!important}
  .ux-hero h1{font-size:2.75rem!important}
}
@media (max-width:980px){
  .ux-hero h1 span{white-space:normal!important}
}

/* Seaweed accent trial — staging only. */
:root{--ux-blue:#3FA6A3;--ux-violet:#2F7F7D;--ux-seaweed:#3FA6A3;--ux-seaweed-deep:#2F7F7D;--ux-seaweed-soft:#E8F6F5;--brand:#3FA6A3;--brand2:#2F7F7D}
.ux-brand-mark{background:linear-gradient(145deg,#3FA6A3 0%,#378F8C 58%,#2F7F7D 100%)!important;box-shadow:0 7px 18px rgba(63,166,163,.22)!important}
.ux-brand-max{background:linear-gradient(90deg,#3FA6A3,#2F7F7D)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.site-header .desktop-nav .nav-cta,.ux-btn-primary{background:linear-gradient(135deg,#3FA6A3,#2F7F7D)!important;border-color:#2F7F7D!important;color:#fff!important;box-shadow:0 12px 30px rgba(63,166,163,.20)!important}
.site-header .desktop-nav .nav-cta:hover,.ux-btn-primary:hover{background:linear-gradient(135deg,#378F8C,#236765)!important}
.site-header .desktop-nav>a:hover,.site-header .desktop-nav>a:focus-visible,.ux-nav-dropdown summary:hover,.ux-nav-dropdown summary:focus-visible{color:#2F7F7D!important}
.ux-kicker,.ux-feature-eyebrow,.ux-card-link{color:#2F7F7D!important}
.ux-hero h1 span{background:linear-gradient(90deg,#3FA6A3,#2F7F7D)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.ux-intelligence{background:linear-gradient(150deg,#F1FAF9 0%,#E8F6F5 48%,#F8FCFC 100%)!important;border-color:#CBE9E7!important;box-shadow:0 30px 80px rgba(47,127,125,.12)!important}
.ux-grid-glow{background-image:linear-gradient(rgba(63,166,163,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(63,166,163,.09) 1px,transparent 1px)!important}
.ux-tech-core{border-color:rgba(63,166,163,.14)!important;box-shadow:0 20px 60px rgba(47,127,125,.16)!important}
.ux-tech-core:after{border-top-color:#3FA6A3!important;border-right-color:#2F7F7D!important}
.ux-tech-orbit{border-color:rgba(63,166,163,.26)!important}.ux-node b{background:#E8F6F5!important;color:#2F7F7D!important}.ux-signal-card small{color:#89D0CD!important}
.ux-feature-ai{background:radial-gradient(circle at 86% 20%,rgba(63,166,163,.17),transparent 36%),linear-gradient(145deg,#F8FCFC,#EDF8F7)!important}
.ux-feature-plan{background:radial-gradient(circle at 82% 18%,rgba(47,127,125,.14),transparent 34%),linear-gradient(145deg,#FAFDFC,#EFF8F7)!important}
.ux-feature-plan .ux-feature-eyebrow{color:#2F7F7D!important}.ux-plan-flow strong{background:#2F7F7D!important;border-color:#2F7F7D!important}
.ux-tool-glyph{background:linear-gradient(145deg,#E8F6F5,#F3FAF9)!important;color:#2F7F7D!important}.ux-tool-spark summary:after{color:#2F7F7D!important}.ux-tool-card:hover{border-color:#B9E1DF!important}
.level-2{border-top-color:#74C4C1!important}.level-3{border-top-color:#3FA6A3!important}.level-4{border-top-color:#2F7F7D!important}
.ux-programme-card.is-active{border-color:#9ED6D3!important;box-shadow:0 16px 40px rgba(63,166,163,.13)!important}.ux-current{background:#E8F6F5!important;color:#236765!important}.ux-how-grid article>span{color:#2F7F7D!important}.ux-spark{background:linear-gradient(120deg,#EDF8F7,#F7FCFB)!important}
.ux-impact{background:linear-gradient(135deg,#F3FAF9 0%,#F8FCFC 100%)!important}.ux-impact-card.primary{background:linear-gradient(145deg,#102F35,#2F7F7D)!important;box-shadow:0 12px 30px rgba(47,127,125,.18)!important}
.ux-footer-mini-mark{background:linear-gradient(145deg,#3FA6A3,#2F7F7D)!important;box-shadow:0 7px 18px rgba(63,166,163,.16)!important}.ux-footer-col a:hover,.ux-footer-col a:focus-visible,.ux-footer-bottom-links a:hover{color:#2F7F7D!important}.ux-footer-col .ux-footer-primary{color:#236765!important}

/* Authenticated student UX — brand/action colour only; semantic state colours are preserved. */
.site-header .desktop-nav a.active{color:#236765!important}
.programme-tab:hover{background:#E8F6F5!important;color:#236765!important}
.programme-tab.active,.mobile-programme-grid button.active,.workspace-tabs button.active,.app-tab-list button.active{background:#2F7F7D!important;color:#fff!important;border-color:#2F7F7D!important}
.subject-quick-strip a.active{background:#E8F6F5!important;color:#236765!important}
.mobile-bottom-nav a:hover,.mobile-bottom-nav a:focus-visible,.mobile-bottom-nav button:hover,.mobile-bottom-nav button:focus-visible{color:#236765!important}
.btn:not(.alt):not(.danger),.coach-toggle{background:linear-gradient(135deg,#3FA6A3,#2F7F7D)!important;color:#fff!important;border-color:#2F7F7D!important;box-shadow:0 7px 18px rgba(63,166,163,.16)!important}
.btn:not(.alt):not(.danger):hover,.coach-toggle:hover{background:linear-gradient(135deg,#378F8C,#236765)!important}
.command-focus-card,.plan-next-card{border-top-color:#3FA6A3!important}
.command-coach-card{background:linear-gradient(145deg,#F2FBFA,#fff)!important;border-top-color:#2F7F7D!important}
.pathway-explorer-card.selected{border-color:#3FA6A3!important}.context-card{border-left-color:#3FA6A3!important}.action-list>div>span{background:#2F7F7D!important}
.dashboard-quick-actions a:hover,.compact-route-grid .route-card:hover,.workspace-block:hover{border-color:#B9E1DF!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#3FA6A3!important}

/* Account-entry cleanup: programme selection belongs in onboarding, not the sign-in/create-account surface. */
.account-entry-card label:has(select[name="academic_level"]){display:none!important}

/* Student study context — one learner-specific row, not a public programme catalogue. */
.student-context-stack{position:sticky!important;top:64px!important;z-index:42!important;display:flex!important;align-items:center!important;gap:8px!important;overflow-x:auto!important;padding:8px max(18px,calc((100vw - 1200px)/2))!important;background:#fff!important;border-bottom:1px solid #e7ecef!important;scrollbar-width:none!important}
.student-context-stack::-webkit-scrollbar{display:none!important}
.student-context-stack .programme-context-strip,.student-context-stack .subject-quick-strip{position:static!important;top:auto!important;z-index:auto!important;display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;overflow:visible!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.student-context-stack .context-label{display:none!important}
.student-context-stack .programme-switch-form{flex:0 0 auto!important}
.student-context-stack .programme-tab{min-height:34px!important;padding:6px 12px!important;border:1px solid transparent!important;border-radius:999px!important;font-size:.82rem!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important}
.student-context-stack .programme-tab:not(.active){background:#f5f7f8!important;color:#465463!important}
.student-context-stack .programme-tab.active{background:#E8F6F5!important;color:#236765!important;border-color:#B9E1DF!important}
.student-context-stack .programme-tab .context-soon,.student-context-stack .programme-tab small{display:none!important}
.student-context-stack .subject-quick-strip{padding-left:12px!important;margin-left:6px!important;border-left:1px solid #dce5e5!important}
.student-context-stack .subject-quick-strip:before{content:'Subjects';font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#89939f;margin-right:3px;white-space:nowrap}
.student-context-stack .subject-quick-strip a{position:static!important;min-height:34px!important;padding:6px 12px!important;margin:0!important;border-radius:999px!important;background:#f7f9f9!important;color:#42515f!important;font-size:.82rem!important;font-weight:800!important;white-space:nowrap!important}
.student-context-stack .subject-quick-strip a.active{background:#E8F6F5!important;color:#236765!important}

/* FSc Year 1: current year + Year 2 + MDCAT only. Hide unrelated routes such as Matric/Grade 9/Grade 10/ECAT. */
.student-context-stack:has(.programme-switch-form:has(input[name='programme_code'][value='fsc1']) .programme-tab.active) .programme-switch-form:not(:has(input[name='programme_code'][value='fsc1'])):not(:has(input[name='programme_code'][value='fsc2'])):not(:has(input[name='programme_code'][value='mdcat'])){display:none!important}
.student-context-stack:has(.programme-switch-form:has(input[name='programme_code'][value='fsc2']) .programme-tab.active) .programme-switch-form:not(:has(input[name='programme_code'][value='fsc2'])):not(:has(input[name='programme_code'][value='mdcat'])){display:none!important}
.student-context-stack:has(.programme-switch-form:has(input[name='programme_code'][value='mdcat']) .programme-tab.active) .programme-switch-form:not(:has(input[name='programme_code'][value='mdcat'])){display:none!important}

/* Use learner language rather than internal short codes. */
.student-context-stack .programme-switch-form:has(input[name='programme_code'][value='fsc1']) .programme-tab{font-size:0!important}
.student-context-stack .programme-switch-form:has(input[name='programme_code'][value='fsc1']) .programme-tab:after{content:'FSc Year 1';font-size:.82rem!important}
.student-context-stack .programme-switch-form:has(input[name='programme_code'][value='fsc2']) .programme-tab{font-size:0!important}
.student-context-stack .programme-switch-form:has(input[name='programme_code'][value='fsc2']) .programme-tab:after{content:'FSc Year 2';font-size:.82rem!important}

@media(max-width:900px){
  .student-context-stack{top:58px!important;padding:7px 12px!important;gap:5px!important}
  .student-context-stack .programme-tab,.student-context-stack .subject-quick-strip a{min-height:32px!important;padding:6px 10px!important;font-size:.78rem!important}
  .student-context-stack .programme-switch-form:has(input[name='programme_code'][value='fsc1']) .programme-tab:after,.student-context-stack .programme-switch-form:has(input[name='programme_code'][value='fsc2']) .programme-tab:after{font-size:.78rem!important}
  .student-context-stack .subject-quick-strip{padding-left:9px!important;margin-left:3px!important}
}

/* Home dashboard simplification: subjects are already permanently available in the subject strip and Learn tab. */
.student-home-v2 > .home-section{display:none!important}

/* Make the three access options a stronger home-page decision surface. */
.student-home-v2 .ux-home-plans{margin:22px 0 20px!important}
.student-home-v2 .ux-home-plans-head{margin-bottom:11px!important}
.student-home-v2 .ux-home-plans-head h2{font-size:1.4rem!important;letter-spacing:-.02em!important}
.student-home-v2 .ux-home-plan-grid{gap:12px!important}
.student-home-v2 .ux-home-plan{min-height:145px!important;padding:20px 20px 17px!important;border-radius:17px!important;border-width:1.5px!important;box-shadow:0 10px 26px rgba(15,23,42,.055)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}
.student-home-v2 .ux-home-plan:before{height:7px!important}
.student-home-v2 .ux-home-plan:hover{transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(15,23,42,.09)!important}
.student-home-v2 .ux-home-plan strong{font-size:1.2rem!important;line-height:1.1!important}
.student-home-v2 .ux-home-plan span{margin-top:8px!important;font-size:.75rem!important;line-height:1.4!important;max-width:290px!important}
.student-home-v2 .ux-home-plan b{margin-top:12px!important;font-size:.72rem!important}
.student-home-v2 .ux-home-plan.silver{background:linear-gradient(145deg,#fff,#f7f9fa)!important}
.student-home-v2 .ux-home-plan.gold{background:linear-gradient(145deg,#fffdf6,#fff)!important;border-color:#ead9a5!important}
.student-home-v2 .ux-home-plan.platinum{background:linear-gradient(145deg,#f8fbfb,#fff)!important;border-color:#ccd7d8!important}
@media(max-width:640px){.student-home-v2 .ux-home-plan{min-height:auto!important;padding:17px 16px!important}}
