:root{--portal-ink:#163a33;--portal-deep:#102d28;--portal-coral:#ec715d;--portal-leaf:#c6e69a;--portal-paper:#f5f5ef;--portal-line:#dce1d8;--portal-muted:#69766f;--portal-max:1120px}
body.student-portal{margin:0;background:var(--portal-paper);color:var(--portal-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
.student-portal *{box-sizing:border-box}.student-portal a{color:inherit;text-decoration:none}.student-portal button,.student-portal input,.student-portal select,.student-portal textarea{font:inherit}.student-portal button{cursor:pointer}.student-portal [hidden]{display:none!important}.portal-wrap{width:min(calc(100% - 48px),var(--portal-max));margin-inline:auto}.portal-skip{position:absolute;left:-999px;top:10px;z-index:200;padding:9px 13px;background:var(--portal-leaf);color:var(--portal-ink)}.portal-skip:focus{left:12px}
.portal-header{position:sticky;top:0;z-index:40;background:rgba(245,245,239,.95);border-bottom:1px solid var(--portal-line);backdrop-filter:blur(14px)}.portal-nav{height:72px;display:flex;align-items:center;gap:28px}.portal-nav .brand{flex:0 0 160px}.portal-nav nav{display:flex;align-items:center;gap:24px;margin-left:auto}.portal-nav nav a,.portal-nav-login{font-size:12px;font-weight:700;color:#59675f}.portal-nav nav a:hover,.portal-nav-login:hover{color:var(--portal-coral)}.portal-nav-login{padding:10px 13px;border:1px solid #cbd4c9;border-radius:4px;color:var(--portal-ink)}.portal-menu-button,.portal-mobile-menu{display:none}.portal-header button{color:var(--portal-ink)}
.account-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.84fr);gap:70px;align-items:center;min-height:calc(100vh - 148px);padding-block:64px}.account-intro{position:relative;padding:25px 0}.account-intro:before{content:"";position:absolute;z-index:-1;left:-70px;top:-80px;width:400px;height:400px;border:1px solid rgba(22,58,51,.12);border-radius:50%;box-shadow:0 0 0 44px rgba(22,58,51,.025),0 0 0 96px rgba(22,58,51,.02)}.portal-eyebrow{display:block;margin-bottom:12px;color:#9b5949;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.account-intro h1,.dashboard-heading h1{margin:0;color:var(--portal-deep);font-size:clamp(2.5rem,4.5vw,4.25rem);line-height:1.02;letter-spacing:-.055em}.account-intro h1 em{color:#ad604f;font-style:normal}.account-intro>p{max-width:440px;margin:20px 0 30px;color:var(--portal-muted);font-size:14px;line-height:1.7}.account-highlights{display:grid;gap:12px}.account-highlights span{display:flex;align-items:center;gap:13px;color:#58675e;font-size:11px;font-weight:700}.account-highlights b{display:grid;place-items:center;width:27px;height:27px;border:1px solid #b8c5b6;border-radius:50%;color:var(--portal-ink);font-size:9px}
.auth-card{padding:30px 31px;background:#fff;border:1px solid var(--portal-line);box-shadow:0 18px 50px rgba(18,50,42,.08)}.auth-card-heading h2{margin:0;color:var(--portal-ink);font-size:25px;letter-spacing:-.04em}.auth-card-heading p{margin:7px 0 20px;color:var(--portal-muted);font-size:12px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px;border-bottom:1px solid var(--portal-line)}.auth-tab{min-height:40px;border:0;border-bottom:2px solid transparent;background:transparent;color:#78837a;font-size:12px;font-weight:800}.auth-tab.is-active{border-bottom-color:var(--portal-coral);color:var(--portal-ink)}.portal-form{display:grid;gap:13px}.portal-form label,.profile-form label,.application-form label{display:grid;gap:6px;color:#53635a;font-size:10px;font-weight:800}.portal-form input,.profile-form input,.application-form input,.application-form select,.application-form textarea{width:100%;min-width:0;min-height:43px;padding:10px 11px;border:1px solid #d5ddd3;border-radius:3px;background:#fff;color:var(--portal-ink);font-size:13px}.portal-form input:focus,.profile-form input:focus,.application-form input:focus,.application-form select:focus,.application-form textarea:focus{outline:3px solid rgba(198,230,154,.65);border-color:var(--portal-ink)}.portal-form input::placeholder,.application-form input::placeholder,.application-form textarea::placeholder{color:#9ba49d}.portal-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:0 15px;border:1px solid #cbd4c9;border-radius:4px;background:#fff;color:var(--portal-ink);font-size:12px;font-weight:800}.portal-button:hover{background:#eef1e9}.portal-button.primary{border-color:var(--portal-coral);background:var(--portal-coral);color:white}.portal-button.primary:hover{border-color:#d95f4b;background:#d95f4b}.portal-form>.portal-button{width:100%;margin-top:3px}.text-action{justify-self:center;padding:2px 4px;border:0;background:transparent;color:#52665b;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.text-action:hover{color:#aa5c4c}.consent-check{display:flex!important;grid-template-columns:16px 1fr;align-items:start;gap:9px!important;color:#6a766e!important;font-size:10px!important;font-weight:500!important}.consent-check input{width:15px;height:15px;min-height:0;margin:1px 0;accent-color:var(--portal-ink)}.consent-check a{font-weight:800;text-decoration:underline;text-underline-offset:2px}.google-button{width:100%;margin-top:17px}.google-mark{font-size:15px;font-weight:900;color:#4285f4}.auth-divider{display:flex;align-items:center;gap:12px;margin:15px 0 9px;color:#9aa39d;font-size:9px;font-weight:800}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--portal-line)}.auth-status,.form-status{min-height:0;margin:8px 0 0;color:#53675a;font-size:11px;line-height:1.55}.auth-status:empty,.form-status:empty{display:none}.auth-status.error,.form-status.error{color:#a4382d}.auth-status.success,.form-status.success{padding:10px 11px;border-left:3px solid #799f54;background:#f0f5e9;color:#365331}.auth-footnote{margin:14px 0 0;color:#7a857d;font-size:9px;line-height:1.55}.resend-link{margin:7px auto 0}.compact-form{margin-top:10px}
.dashboard{padding:48px 0 70px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:26px;border-bottom:1px solid var(--portal-line)}.dashboard-heading h1{font-size:clamp(1.8rem,3vw,2.8rem)}.dashboard-heading p{margin:8px 0 0;color:var(--portal-muted);font-size:12px}.signout-button{min-height:38px}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 29px}.metric{display:grid;gap:5px;min-height:112px;padding:17px 19px;border:1px solid var(--portal-line);background:#fff}.metric>span{color:#8d6356;font-size:9px;font-weight:900;letter-spacing:.12em}.metric>b{color:var(--portal-ink);font-size:24px;line-height:1.1}.metric>small{color:var(--portal-muted);font-size:10px}.dashboard-tabs{display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--portal-line)}.dashboard-tab{flex:0 0 auto;min-height:42px;padding:0 3px;border:0;border-bottom:2px solid transparent;background:transparent;color:#66756b;font-size:11px;font-weight:800}.dashboard-tab.is-active{border-color:var(--portal-coral);color:var(--portal-ink)}.dashboard-panel{padding-top:25px}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.panel-heading .portal-eyebrow{margin-bottom:6px}.panel-heading h2{margin:0;color:var(--portal-ink);font-size:23px;letter-spacing:-.04em}.panel-heading>a{font-size:11px;font-weight:800;color:#9b5949}.small-button{min-height:36px;font-size:10px}.overview-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.data-section{min-width:0}.data-heading{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;border-bottom:1px solid var(--portal-line)}.data-heading h3{margin:0;color:var(--portal-ink);font-size:13px}.subtle-action{padding:3px;border:0;background:none;color:#9b5949;font-size:10px;font-weight:800}.record-list{display:grid}.record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 2px;border-bottom:1px solid var(--portal-line)}.record-row strong,.record-row small{display:block;min-width:0}.record-row strong{overflow-wrap:anywhere;color:var(--portal-ink);font-size:12px}.record-row small{margin-top:4px;color:var(--portal-muted);font-size:10px}.record-status{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border:1px solid #d4ddd0;border-radius:20px;color:#4f6557;font-size:9px;font-weight:800;white-space:nowrap}.record-link{color:#995744;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.empty-state{padding:20px 0;color:var(--portal-muted);font-size:11px;line-height:1.6}.empty-state a{color:#995744;font-weight:800;text-decoration:underline;text-underline-offset:3px}.application-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 21px;padding:18px;border:1px solid var(--portal-line);background:#fff}.application-form textarea{min-height:82px;resize:vertical}.application-form .wide-field{grid-column:1/-1}.application-form .portal-button{justify-self:start}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:740px;padding:20px;border:1px solid var(--portal-line);background:#fff}.profile-form label:first-child{grid-column:1/-1}.profile-form input[readonly]{background:#f4f5f1;color:#79847c}.profile-form .portal-button{justify-self:start}.dashboard-status{margin:16px 0 0;color:#69766f;font-size:10px}.portal-footer{border-top:1px solid var(--portal-line);background:#edf0e8}.portal-footer .portal-wrap{display:flex;justify-content:space-between;gap:20px;padding-block:18px;color:#69766f;font-size:10px}.portal-footer a{font-weight:800;color:var(--portal-ink)}
@media(max-width:850px){.account-area{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:34px}.portal-nav{gap:18px}.portal-nav nav{gap:16px}.portal-nav .brand{flex-basis:140px}}
@media(max-width:680px){.portal-wrap{width:min(calc(100% - 32px),var(--portal-max))}.portal-nav{height:64px;justify-content:space-between}.portal-nav nav,.portal-nav-login{display:none}.portal-nav .brand{flex-basis:140px}.portal-menu-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--portal-line);border-radius:50%;background:#fff}.portal-menu-button i,.portal-menu-button i:before,.portal-menu-button i:after{display:block;width:16px;height:2px;background:var(--portal-ink);content:"";position:relative}.portal-menu-button i:before{position:absolute;top:-5px}.portal-menu-button i:after{position:absolute;top:5px}.portal-mobile-menu:not([hidden]){display:grid;gap:2px;padding:8px 16px 12px;border-top:1px solid var(--portal-line);background:#fff}.portal-mobile-menu a{padding:10px 8px;color:var(--portal-ink);font-size:12px;font-weight:800}.account-area{grid-template-columns:1fr;gap:25px;min-height:0;padding-block:42px 56px}.account-intro{padding:0}.account-intro:before{left:-150px;top:-55px;width:300px;height:300px}.account-intro h1{font-size:2.6rem}.account-intro>p{margin:14px 0 18px;font-size:12px}.account-highlights{grid-template-columns:1fr 1fr;gap:8px 14px}.account-highlights span{font-size:9px}.account-highlights b{width:23px;height:23px}.auth-card{padding:23px 18px}.dashboard{padding:32px 0 50px}.dashboard-heading{align-items:flex-start}.dashboard-heading h1{font-size:1.8rem}.dashboard-heading p{font-size:10px;overflow-wrap:anywhere}.signout-button{padding-inline:10px}.dashboard-metrics{grid-template-columns:1fr 1fr;gap:8px;margin-block:16px 22px}.metric{min-height:92px;padding:13px}.metric:last-child{grid-column:1/-1}.metric>b{font-size:20px}.dashboard-tabs{gap:17px}.dashboard-tab{font-size:10px}.panel-heading{align-items:flex-start;flex-direction:column}.overview-columns{grid-template-columns:1fr;gap:23px}.application-form,.profile-form{grid-template-columns:1fr;padding:14px}.application-form .wide-field,.profile-form label:first-child{grid-column:auto}.application-form .portal-button,.profile-form .portal-button{width:100%}.portal-footer .portal-wrap{align-items:flex-start;flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){.student-portal *{scroll-behavior:auto!important;transition:none!important}}