@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_95a74d9f-module__4wiJXW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_95a74d9f-module__4wiJXW__variable{--font-sans:"Manrope", "Manrope Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.1ljbalzvxyif7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.3ex3j6ahhvjry.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.40bho2kviej2o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_1c024fa-module__iDM5bG__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_1c024fa-module__iDM5bG__variable{--font-serif:"Newsreader", "Newsreader Fallback"}
:root{--ink:#102a43;--ink-soft:#486581;--paper:#f7f9f7;--surface:#fff;--surface-soft:#eef5f2;--teal-950:#073b3a;--teal-800:#0d5c58;--teal-700:#0f766e;--teal-500:#2aa198;--gold:#e9b949;--gold-soft:#fff5d6;--line:#d9e2e8;--danger:#b42318;--success:#16794b;--shadow:0 14px 38px #102a4317}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif;margin:0;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2aa19859}.brand{align-items:center;gap:11px;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--teal-500), var(--teal-800));border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 18px #0f766e40}.brand>span:last-child{line-height:1.1;display:grid}.brand strong{font-family:var(--font-serif), Georgia, serif;font-size:23px;font-weight:650}.brand small{color:var(--ink-soft);letter-spacing:.11em;text-transform:uppercase;margin-top:4px;font-size:10px}.brand .version-badge{width:fit-content;color:var(--teal-800);letter-spacing:.04em;background:#2aa19817;border:1px solid #0f766e47;border-radius:999px;margin-top:5px;padding:2px 7px;font-size:10px;font-weight:800;line-height:1.2}.button{color:#fff;background:var(--teal-700);border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:9px 16px;font-weight:720;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.button:hover{background:var(--teal-800);transform:translateY(-1px);box-shadow:0 7px 18px #0f766e2e}.button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.button-secondary{color:var(--ink);border-color:var(--line);background:#fff}.button-secondary:hover{background:var(--surface-soft);box-shadow:none}.button-gold{background:#bd7f07}.button-danger{background:var(--danger)}.button-small{border-radius:9px;min-height:34px;padding:6px 11px;font-size:13px}.icon-button{color:var(--ink-soft);background:0 0;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{background:var(--surface-soft);color:var(--ink)}.field{gap:7px;display:grid}.field label,.field-label{color:var(--ink);font-size:13px;font-weight:750}.field small{color:var(--ink-soft)}.input,.select,.textarea{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #bcccdc;border-radius:11px;padding:10px 12px}.input:hover,.select:hover,.textarea:hover{border-color:#829ab1}.textarea{resize:vertical;min-height:100px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.form-stack{gap:17px;display:grid}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.form-message{border-radius:10px;padding:10px 12px;font-size:13px}.message-error{color:#8a1c13;background:#fde7e3}.message-success{color:#08603a;background:#e1f6ec}.app-frame{grid-template-columns:268px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#fffffff2;flex-direction:column;height:100vh;padding:25px 18px 18px;display:flex;position:sticky;top:0}.sidebar-brand{justify-content:space-between;align-items:center;padding:0 7px 25px;display:flex}.side-nav{gap:5px;display:grid}.side-nav a{min-height:45px;color:var(--ink-soft);border-radius:11px;align-items:center;gap:12px;padding:9px 12px;font-weight:680;display:flex}.side-nav a:hover{color:var(--ink);background:var(--surface-soft)}.side-nav a.active{color:var(--teal-950);background:#dff1ed}.side-nav a.admin-link{color:#875e0b;background:var(--gold-soft);margin-top:14px}.sidebar-account{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:13px 7px 0;display:flex}.avatar{color:#fff;background:var(--teal-800);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.account-copy{min-width:0;line-height:1.25;display:grid}.account-copy strong,.account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-copy small{color:var(--ink-soft);font-size:11px}.app-main{min-width:0}.page-content{max-width:1440px;margin:0 auto;padding:38px clamp(22px,4vw,64px) 70px}.mobile-header,.mobile-only{display:none}.app-loading{min-height:100vh;color:var(--ink-soft);place-content:center;justify-items:center;display:grid}.loading-orbit{border:3px solid #d9e2e8;border-top-color:var(--teal-700);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.eyebrow{color:var(--teal-700);letter-spacing:.13em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:850}.page-title{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.025em;margin:0;font-size:clamp(34px,4vw,52px);font-weight:580;line-height:1.04}.page-subtitle{max-width:680px;color:var(--ink-soft);margin:10px 0 0;font-size:16px}.section-title{font-family:var(--font-serif), Georgia, serif;margin:0;font-size:25px;font-weight:650}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:30px 0 14px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 2px 7px #102a4306}.card-pad{padding:21px}.card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.metric-card{padding:20px;position:relative;overflow:hidden}.metric-card:after{content:"";background:#2aa1981c;border-radius:50%;width:72px;height:72px;position:absolute;top:-26px;right:-24px}.metric-label{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:760}.metric-value{font-family:var(--font-serif), Georgia, serif;margin-top:9px;font-size:38px;line-height:1;display:block}.metric-note{color:var(--ink-soft);margin-top:8px;font-size:12px;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:20px;display:grid}.hero-card{color:#fff;background:linear-gradient(135deg, var(--teal-950), var(--teal-700));box-shadow:var(--shadow);border:0;padding:clamp(24px,4vw,38px)}.hero-card h2{max-width:650px;font-family:var(--font-serif), Georgia, serif;margin:0;font-size:clamp(30px,4vw,46px);font-weight:540;line-height:1.07}.hero-card p{color:#d9f0eb;max-width:630px;margin:14px 0 25px}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-card .button{color:var(--teal-950);background:#fff}.hero-card .button-secondary{color:#fff;background:#ffffff14;border-color:#ffffff4d}.checklist{gap:13px;padding:19px;display:grid}.checklist-item{grid-template-columns:28px minmax(0,1fr);gap:10px;display:grid}.check-number{width:26px;height:26px;color:var(--teal-800);background:#dff1ed;border-radius:8px;place-items:center;font-size:12px;font-weight:850;display:grid}.checklist-item p{color:var(--ink-soft);margin:2px 0 0;font-size:13px}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.plan-card{padding:20px;transition:transform .15s,box-shadow .15s}.plan-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.plan-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-card h3{font-family:var(--font-serif), Georgia, serif;margin:14px 0 5px;font-size:23px}.plan-route{color:var(--ink-soft);min-height:42px;font-size:13px}.plan-stats{border-top:1px solid var(--line);gap:20px;margin-top:16px;padding-top:16px;display:flex}.plan-stats strong{font-size:18px;display:block}.plan-stats small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.status-pill{letter-spacing:.06em;text-transform:uppercase;min-height:25px;color:var(--ink-soft);background:#edf2f5;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:850;display:inline-flex}.status-active,.status-completed,.status-published,.status-ready,.status-satisfied{color:#08603a;background:#dff5e9}.status-draft,.status-planned,.status-pending-review,.status-review-required,.status-warning{color:#875e0b;background:var(--gold-soft)}.status-in-progress{color:#075985;background:#e0f2fe}.status-suspended,.status-rejected,.status-failed{color:#8a1c13;background:#fde7e3}.term-stack{gap:16px;display:grid}.term-card{overflow:hidden}.term-header{border-bottom:1px solid var(--line);background:#f0f7f5;justify-content:space-between;align-items:center;gap:15px;padding:16px 19px;display:flex}.term-header h3{font-family:var(--font-serif), Georgia, serif;margin:0;font-size:23px}.course-list{display:grid}.course-row{border-bottom:1px solid #edf2f5;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) 100px 120px;align-items:center;gap:14px;padding:15px 19px;display:grid}.course-row:last-child{border-bottom:0}.course-code{font-weight:800}.course-title{color:var(--ink-soft);font-size:13px}.course-meta{color:var(--ink-soft);font-size:12px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8edf0;padding:12px 14px}.data-table th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;background:#f7f9fa;font-size:11px}.data-table td{font-size:13px}.data-table tbody tr:hover{background:#fbfcfc}.tabs{background:#e8efed;border-radius:13px;gap:5px;width:fit-content;padding:5px;display:flex;overflow-x:auto}.tabs button{color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:8px 13px;font-weight:700}.tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #102a4314}.auth-layout{grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);min-height:100vh;display:grid}.auth-story{color:#fff;background:linear-gradient(150deg,#073b3a 0%,#0d5c58 55%,#14847b 100%);flex-direction:column;justify-content:space-between;padding:clamp(34px,6vw,78px);display:flex;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{content:"";border:1px solid #ffffff21;border-radius:50%;position:absolute}.auth-story:before{width:420px;height:420px;top:-160px;right:-140px}.auth-story:after{width:620px;height:620px;bottom:-400px;left:-320px}.auth-story .brand{z-index:1;position:relative}.auth-story .brand strong,.auth-story .brand small{color:#fff}.auth-story .brand small{opacity:.72}.auth-copy{z-index:1;max-width:650px;position:relative}.auth-copy h1{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.035em;margin:0;font-size:clamp(45px,6vw,78px);font-weight:500;line-height:.98}.auth-copy p{color:#cfe9e5;max-width:560px;margin:23px 0 0;font-size:17px}.auth-proof{z-index:1;flex-wrap:wrap;gap:30px;display:flex;position:relative}.auth-proof span{display:grid}.auth-proof strong{font-family:var(--font-serif), Georgia, serif;font-size:28px}.auth-proof small{color:#b9ddd7}.auth-panel{background:#fbfcfb;place-items:center;padding:30px;display:grid}.auth-card{width:min(470px,100%)}.auth-card h2{font-family:var(--font-serif), Georgia, serif;margin:20px 0 8px;font-size:36px}.auth-card>p{color:var(--ink-soft);margin:0 0 26px}.divider{color:#829ab1;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:20px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.security-note{color:var(--ink-soft);gap:10px;margin-top:22px;font-size:12px;display:flex}.landing{background:radial-gradient(circle at 80% 10%, #d9f0eb 0, transparent 30%), var(--paper);min-height:100vh}.landing-nav{justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:24px 28px;display:flex}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);align-items:center;gap:70px;max-width:1240px;min-height:calc(100vh - 96px);margin:auto;padding:55px 28px 90px;display:grid}.landing-copy h1{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.045em;margin:0;font-size:clamp(55px,7vw,88px);font-weight:500;line-height:.93}.landing-copy h1 em{color:var(--teal-700);font-style:normal}.landing-copy p{max-width:650px;color:var(--ink-soft);margin:25px 0 29px;font-size:18px}.landing-actions{flex-wrap:wrap;gap:11px;display:flex}.pathway-preview{box-shadow:var(--shadow);padding:21px;transform:rotate(1.5deg)}.preview-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:15px;display:flex}.preview-term{background:#f0f7f5;border-radius:13px;margin-top:16px;padding:14px}.preview-term strong{justify-content:space-between;align-items:center;display:flex}.preview-course{border-bottom:1px solid #dbe8e4;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:13px;display:flex}.preview-course:last-child{border-bottom:0}.disclaimer{border-left:3px solid var(--gold);color:var(--ink-soft);background:var(--gold-soft);border-radius:0 9px 9px 0;padding:12px 14px;font-size:12px}.empty-state{text-align:center;padding:42px 24px}.empty-state-icon{width:52px;height:52px;color:var(--teal-700);background:#dff1ed;border-radius:16px;place-items:center;margin:0 auto 13px;display:grid}.empty-state h3{font-family:var(--font-serif), Georgia, serif;margin:0 0 6px;font-size:24px}.empty-state p{max-width:520px;color:var(--ink-soft);margin:0 auto 18px}.notice{color:#68470b;background:var(--gold-soft);border-radius:12px;gap:11px;padding:14px;display:flex}.validation-panel{gap:12px;display:grid}.finding-list{gap:10px;display:grid}.finding-card{padding:16px 18px}.finding-card>div{align-items:center;gap:9px;display:flex}.finding-card p{margin:10px 0 8px;line-height:1.55}.finding-card a{color:var(--teal-700);font-size:13px;font-weight:750}.finding-code{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.advisor-review-form{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.advisor-review-list{gap:8px;margin-top:18px;display:grid}.advisor-review-row{border:1px solid var(--line);background:#f8fbfa;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.advisor-review-row svg{color:var(--teal-700)}.advisor-review-row strong,.advisor-review-row span{display:block}.advisor-review-row span{color:var(--ink-soft);margin-top:2px;font-size:12px}.muted{color:var(--ink-soft)}.text-small{font-size:12px}.upload-box{grid-template-columns:auto minmax(220px,1fr) minmax(240px,.8fr) auto;align-items:center;gap:18px;display:grid}.upload-box p{margin:4px 0 0}.search-results{border:1px solid var(--line);background:#f8faf9;border-radius:12px;gap:7px;max-height:330px;padding:5px;display:grid;overflow-y:auto}.search-results button{text-align:left;width:100%;color:var(--ink);background:#fff;border:1px solid #0000;border-radius:9px;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 13px;display:grid}.search-results button:hover,.search-results button.selected{border-color:var(--teal-500);background:#e7f6f2}.search-results button span,.search-results button small{color:var(--ink-soft)}@media (max-width:1100px){.metric-grid,.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-hero{gap:35px}.course-row{grid-template-columns:minmax(220px,1fr) 100px 110px}.course-row>:nth-child(2){display:none}}@media (max-width:820px){.app-frame{display:block}.sidebar{width:min(310px,90vw);box-shadow:var(--shadow);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar-open{transform:translate(0)}.mobile-only{display:grid}.mobile-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:64px;padding:10px 17px;display:flex}.page-content{padding:27px 18px 60px}.dashboard-grid,.landing-hero,.auth-layout{grid-template-columns:1fr}.upload-box{grid-template-columns:auto 1fr}.upload-box .input,.upload-box .button{grid-column:1/-1}.auth-story{min-height:360px;padding:30px}.auth-proof{display:none}.auth-panel{padding:40px 22px}.landing-hero{padding-top:35px}.pathway-preview{transform:none}}@media (max-width:620px){.page-header{display:grid}.page-title{font-size:38px}.metric-grid,.plan-grid,.form-grid{grid-template-columns:1fr}.course-row{grid-template-columns:minmax(0,1fr) auto}.course-row>:nth-child(2),.course-row>:nth-child(3){display:none}.landing-nav{padding:18px}.landing-hero{padding:32px 18px 70px}.landing-copy h1{font-size:55px}}
