@font-face{font-family:Inter;src:url('/assets/ui/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
#app .modern-shell,.portal-admin,.login-layout,.portal-account-bar{font-family:Inter,'Segoe UI',Arial,sans-serif;--red:#b92d39;--blue:#244f98;--line:#dfe2e7;--muted:#686e78;color:#292c32}
#app .modern-shell .topbar{height:78px;padding:0 30px;position:relative}
#app .modern-shell .brand{gap:13px}#app .modern-shell .brand img{height:54px;width:66px}#app .modern-shell .brand-name{font-size:15px;font-weight:600}#app .modern-shell .brand-name small{font-size:10px;letter-spacing:1px}
#app .modern-shell .layout{grid-template-columns:216px minmax(0,1fr);min-height:calc(100vh - 120px);background:#f6f7f9}
#app .modern-shell .sidebar{height:auto;min-height:calc(100vh - 120px);top:0;position:relative;padding:30px 17px}
#app .modern-shell .nav-item{font-size:13px;font-weight:400;padding:12px 14px;border-radius:3px;gap:12px;margin:3px 0;color:#505762}
#app .modern-shell .nav-item.active{background:#eaf0fa;color:var(--blue);font-weight:600;box-shadow:inset 2px 0 var(--red)}
#app .modern-shell .nav-item:hover{background:#f0f3f8}#app .modern-shell .sidebar-foot{font-size:11px}#app .modern-shell .sidebar .eyebrow{font-size:10px}
#app .modern-shell .main{padding:30px 40px 38px;max-width:1410px;margin:auto}#app .modern-shell .breadcrumb{font-size:11px;margin-bottom:22px}
#app .modern-shell .page-title h1{font-size:28px;letter-spacing:-.8px}#app .modern-shell .page-title{margin-bottom:24px}
#app .modern-shell .primary,.login-layout .primary,.portal-admin .primary{background:var(--red);border-color:var(--red);font-weight:600}
#app .modern-shell .primary:hover:not(:disabled),.login-layout .primary:hover:not(:disabled),.portal-admin .primary:hover:not(:disabled){background:#9f2330;border-color:#9f2330;color:white}
#app .modern-shell .pill,#app .modern-shell button{border-radius:3px}#app .modern-shell .header-right>.muted{font-size:12px}
.journey-home{font-size:14px;line-height:1.55}.journey-home h1,.journey-home h2,.journey-home h3,.journey-home p{margin:0}
.journey-hero{background:white;border:1px solid var(--line);border-radius:7px;overflow:clip;margin-bottom:26px}
.journey-hero-main{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;padding:34px 34px 13px;gap:10px}
.journey-copy .eyebrow{color:var(--red);font-size:11px;letter-spacing:1.45px;font-weight:600}
.journey-copy h1{font-size:43px;font-weight:600;letter-spacing:-1.9px;line-height:1.13;max-width:14ch;margin-top:15px}
.journey-copy h1 em{color:var(--red);font-style:normal}.journey-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:340px;margin-top:18px}
.journey-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}.journey-actions button{font-size:13px;font-weight:600;padding:12px 18px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.journey-actions button svg{width:17px;height:17px;margin:0}.journey-secondary{background:transparent;border-color:#bdc6d5}
.journey-art{position:relative;min-width:0;padding-left:3px}.journey-art>svg{display:block;width:100%;height:auto}
.journey-motion{position:absolute;right:0;top:0;z-index:1;min-height:30px;padding:5px 7px;font-size:10px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;background:white}.journey-motion[hidden]{display:none}
.journey-hero-bottom{padding:17px 34px;background:#f2f4f7;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px;font-size:12px}
.journey-target{display:flex;align-items:center;gap:12px;border-right:1px solid var(--line);padding-right:22px;flex-shrink:0}.journey-target small,.journey-focus small{display:block;font-size:11px;color:var(--muted)}.journey-target b,.journey-focus b{font-weight:600}.journey-target .link-button{display:block;font-size:10px;padding:0;margin-top:3px}
.journey-band{position:relative;display:grid;place-items:center;width:54px;height:54px}.journey-band strong{position:relative;font-size:30px;line-height:1;letter-spacing:-1px;font-weight:500}.journey-band svg{position:absolute;inset:0;width:100%;height:100%}.journey-band svg>circle{fill:none;stroke:var(--line);stroke-width:.85;stroke-dasharray:2 3.3}.journey-band path{fill:none;stroke:var(--red);stroke-width:1.2;stroke-linecap:round}.journey-band-marker{fill:var(--red);transform-origin:30px 30px}
.journey-focus{flex:1;min-width:100px}.journey-focus b{display:block;max-width:28ch;overflow-wrap:anywhere}.journey-exam{width:230px;flex-shrink:0}.journey-exam #source-home-countdown b{font-size:11px}.journey-exam #source-home-countdown>div:nth-child(2){margin-bottom:0!important}.journey-exam button{min-height:28px}
.journey-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:16px 20px;margin:0 0 29px;background:white;border:1px solid var(--line);border-radius:5px}.journey-route button{position:relative;display:flex;align-items:center;text-align:left;gap:10px;background:none;border:0;padding:0;min-height:40px;font-size:12px}.journey-route button:hover{background:none;border:0;color:var(--blue)}.journey-step{width:28px;height:28px;border:1px solid #bdc6d5;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px}.journey-route button:first-child .journey-step{background:var(--blue);border-color:var(--blue);color:white}.journey-route b{font-weight:500}.journey-route small{display:block;font-size:10px;color:var(--muted)}.journey-chevron{margin-left:auto;color:#8a98af;font-size:19px}.journey-route button:last-child .journey-chevron{display:none}
.journey-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.journey-heading h2{font-size:21px;font-weight:600;letter-spacing:-.7px}.journey-heading p{color:var(--muted);font-size:12px;margin-top:4px}.journey-heading button{font-size:12px;white-space:nowrap;color:inherit;font-weight:600}
.journey-skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:27px}.journey-skill-card{position:relative;min-width:0;padding:20px 18px;background:white;border:1px solid var(--line);border-radius:6px}.journey-skill-icon{height:38px;width:38px;background:#eef3fb;color:var(--blue);border-radius:4px;display:grid;place-items:center;margin-bottom:17px}.journey-skill-icon svg{width:20px;height:20px}.journey-skill-card h3{font-size:16px;font-weight:600;margin-bottom:6px}.journey-skill-card p{font-size:12px;color:var(--muted)}.journey-metric{font-size:27px;font-weight:500;letter-spacing:-1px;line-height:1;margin:19px 0 13px}.journey-track{height:4px;border-radius:3px;background:#e8edf5;margin-bottom:11px}.journey-track span{display:block;height:100%;background:var(--blue);border-radius:3px}.journey-skill-card small{display:block;font-size:11px;color:var(--muted);padding-right:24px}.journey-card-link{position:absolute;right:9px;bottom:11px;min-width:32px;min-height:32px;padding:4px;border:0;font-size:20px;background:transparent;color:var(--blue)}
.journey-lower{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}.journey-home .panel{padding:22px;margin-bottom:20px}.journey-home .panel-heading h2,.journey-home .panel>h2{font-size:17px;font-weight:600;letter-spacing:-.4px}.journey-home .panel>p{font-size:12px;color:var(--muted);margin-top:9px}.journey-home .panel .link-button{font-size:12px;font-weight:600}.journey-mock{background:#f2f4f7}.journey-mock>svg{width:35px;height:35px;color:var(--blue);margin-bottom:12px}.journey-mock .link-button,.journey-notice .link-button{margin-top:12px}.journey-notice h2{margin-top:11px}.journey-notice p:not(.eyebrow){white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto}.journey-notice small{font-size:10px;color:var(--muted);display:block;margin-top:12px}.journey-notice .eyebrow{font-size:10px}.journey-toolkit>button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;padding:13px 0;font-size:12px;text-align:left;margin-top:6px}.journey-toolkit>button span{color:var(--red)}
.platform-wordmark{font-size:14px;font-weight:600;color:var(--blue);padding:12px 15px;border:1px solid var(--line);border-radius:4px;background:#f5f7fb}.platform-kicker{font-size:13px;font-weight:600;color:var(--blue);letter-spacing:1px;text-transform:uppercase}.portal-admin .admin-tabs button.active{background:var(--blue)}.portal-admin header h1{font-size:28px;letter-spacing:-.8px}.portal-admin .hierarchy-path{color:var(--blue)}.portal-admin .panel{border-radius:6px}.portal-admin .admin-tabs button{font-size:12px}.portal-admin .institute-context{background:#f2f5fb;border-color:#d4deef}
@keyframes journey-drift{0%,100%{translate:0 0}50%{translate:0 -4px}}@keyframes journey-path-flow{to{stroke-dashoffset:-80}}@keyframes journey-flag-breathe{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.93)}}@keyframes journey-band-sway{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@media(prefers-reduced-motion:no-preference){.journey-art .art-checkpoint{animation:journey-drift 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.journey-art .art-checkpoint:nth-of-type(2){animation-delay:-1.7s;animation-duration:8s}.journey-art .art-checkpoint:nth-of-type(3){animation-delay:-3.5s;animation-duration:7.5s}.journey-art .art-checkpoint:nth-of-type(4){animation-delay:-5s;animation-duration:8.5s}.journey-trail{animation:journey-path-flow 28s linear infinite}.journey-flag{transform-box:fill-box;transform-origin:left center;animation:journey-flag-breathe 6s ease-in-out infinite}.journey-band-marker{animation:journey-band-sway 9s ease-in-out infinite}}
.journey-motion-paused .journey-art *,.journey-motion-paused .journey-band *{animation-play-state:paused!important}
@media(min-width:1600px){#app .modern-shell .main{padding:38px 48px 45px}.journey-copy h1{font-size:49px}}
@media(max-width:1180px){#app .modern-shell .layout{grid-template-columns:184px minmax(0,1fr)}#app .modern-shell .main{padding:26px}#app .modern-shell .sidebar{padding-left:11px;padding-right:11px}.journey-hero-main{padding:27px 25px 17px}.journey-copy h1{font-size:35px}.journey-hero-bottom{padding:17px 25px;gap:16px}.journey-target{padding-right:16px}.journey-exam{width:190px}.journey-skill-card{padding:17px 13px}}
@media(max-width:980px){.journey-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-lower{grid-template-columns:1fr}.journey-route{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-route button:nth-child(2) .journey-chevron{display:none}.journey-hero-bottom{flex-wrap:wrap}.journey-exam{width:100%;border-top:1px solid var(--line);padding-top:12px}.journey-exam #source-home-countdown{max-width:300px}}
@media(max-width:760px){#app .modern-shell .topbar{height:72px;padding:0 16px}#app .modern-shell .brand img{width:52px;height:43px}#app .modern-shell .brand-name{font-size:12px}#app .modern-shell .brand-name small{font-size:8px;letter-spacing:.8px}#app .modern-shell .header-right{gap:8px}#app .modern-shell .layout{display:block}#app .modern-shell .sidebar{position:fixed;top:112px;left:0;width:230px;height:calc(100dvh - 112px);min-height:0;z-index:30;overflow:auto}#app .modern-shell .main{padding:21px 17px 30px}.journey-hero-main{grid-template-columns:1fr;padding:26px 23px 9px;gap:4px}.journey-copy h1{font-size:36px;max-width:14ch}.journey-copy>p:not(.eyebrow){font-size:14px;max-width:38ch;margin-top:15px}.journey-actions{display:grid;grid-template-columns:1fr;max-width:320px;gap:5px;margin-top:21px}.journey-secondary{border:0;min-height:38px!important;padding:6px!important;font-size:12px!important}.journey-art{padding:0;margin:auto;max-width:280px;width:100%}.journey-hero-bottom{padding:16px 22px;gap:13px}.journey-target{padding-right:14px;gap:9px}.journey-band strong{font-size:27px}.journey-route{padding:15px 13px;gap:15px;margin-bottom:24px}.journey-route button{min-height:44px}.journey-heading h2{font-size:21px}.journey-heading p{font-size:11px}.journey-skill-grid{gap:12px;margin-bottom:24px}.journey-skill-card{padding:19px 15px}.journey-home .panel{padding:19px}.journey-heading .link-button{font-size:11px}.portal-admin header h1{font-size:25px}.journey-focus b{max-width:25ch}}
@media(prefers-reduced-motion:reduce){.journey-home *{animation:none!important;transition:none!important}}

/* Override the retained Study Ledger layer only inside the connected Modern shell. */
#app .modern-shell{--ledger-paper:#f6f7f9;--ledger-raised:#ffffff;--ledger-sunk:#f2f4f7;--ledger-ink:#292c32;--ledger-soft:#505762;--ledger-muted:#686e78;--ledger-line:#dfe2e7;--ledger-strong:#bdc6d5;--ledger-accent:#b92d39;--ledger-accent-hover:#9f2330;--ledger-accent-soft:#f7ecee;--ledger-display:Inter,Segoe UI,Arial,sans-serif;--ledger-body:Inter,Segoe UI,Arial,sans-serif;--ledger-data:Inter,Segoe UI,Arial,sans-serif}
#app .modern-shell .sidebar{background:white;color:#505762;overflow:visible}
#app .modern-shell .sidebar .eyebrow,#app .modern-shell .sidebar .nav-label,#app .modern-shell .sidebar-foot,#app .modern-shell .sidebar-foot span{color:var(--muted)}
#app .modern-shell .sidebar .nav-item.active{color:var(--blue);background:#eaf0fa;box-shadow:inset 2px 0 var(--red)}
#app .modern-shell .sidebar .nav-item.active::before{display:none}
#app .modern-shell .journey-home h1,#app .modern-shell .journey-home h2,#app .modern-shell .journey-home h3{font-family:Inter,Segoe UI,Arial,sans-serif;text-wrap:initial}
#app .modern-shell .journey-copy h1{font-size:43px;font-weight:600;letter-spacing:-1.9px;line-height:1.13}
#app .modern-shell .journey-heading h2{font-size:21px;letter-spacing:-.7px}
#app .modern-shell .journey-skill-card h3{font-size:16px;letter-spacing:0}
#app .modern-shell .journey-home .panel h2{font-size:17px;letter-spacing:-.4px}
#app .modern-shell .journey-home .eyebrow{color:var(--red)}
#app .modern-shell .journey-home .journey-notice .eyebrow{color:var(--muted)}
#app .modern-shell .journey-card-link,#app .modern-shell .journey-route button{background:transparent;border-color:transparent}
@media(min-width:1600px){#app .modern-shell .journey-copy h1{font-size:49px}}
@media(max-width:1180px){#app .modern-shell .journey-copy h1{font-size:35px}}
@media(max-width:760px){#app .modern-shell .journey-copy h1{font-size:36px}#app .modern-shell .sidebar{overflow:auto}}
