:root{--brand:#246b60;--ink:#233833;--muted:#72807b;--paper:#f6f8f6;--line:#e4eae5}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:14px}a{color:var(--brand);text-decoration:none}.wordmark{font-weight:750;font-size:24px;color:#233833;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand-dot{color:var(--brand);margin-left:-10px}.brand-mark{background:var(--brand);color:white;width:36px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;position:relative;font-size:25px;font-family:Georgia,serif}.brand-mark span{font-family:sans-serif;font-size:15px;position:absolute;right:3px;top:0}.sidebar{width:248px!important;position:fixed;inset:0 auto 0 0;background:white!important;border-right:1px solid var(--line);padding:30px 20px;z-index:1045;display:flex;flex-direction:column}.sidebar-top{display:flex;align-items:center;justify-content:space-between}.school-label{padding:28px 10px 24px;font-size:13px;font-weight:650;border-bottom:1px solid var(--line);margin-bottom:24px}.school-label small,.sidebar-bottom small{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:6px}.nav-caption{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#8b9690;margin:0 12px 12px}.nav-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:9px;color:#6b7972;margin:4px 0;font-weight:500}.nav-item>span{font-size:21px;width:22px;text-align:center}.nav-item:hover,.nav-item.active{background:#eaf3ed;color:var(--brand)}.sidebar-bottom{margin-top:auto;font-size:11px;padding:25px 10px 0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58a476;margin-right:5px}.workspace{margin-left:248px}.topbar{height:86px;background:white;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between}.avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#e6eee4;font-weight:700}.user-label{font-size:12px;font-weight:650}.user-label small{display:block;color:var(--muted);font-size:10px;font-weight:400}.main-content{max-width:1460px;padding:38px 42px 60px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--brand);font-weight:700;text-transform:uppercase;margin-bottom:12px}h1{font-size:30px;letter-spacing:-1px;font-weight:650}h2{font-size:20px;font-weight:650;letter-spacing:-.4px}h3{font-size:16px;font-weight:600}.muted,.text-muted{color:var(--muted)!important}.btn{font-size:13px;border-radius:8px;padding:10px 16px;font-weight:550}.btn-sm{padding:6px 12px;font-size:12px}.btn-brand{background:var(--brand);border-color:var(--brand);color:white}.btn-brand:hover{background:#194b43;border-color:#194b43;color:white}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px}.page-heading p{color:var(--muted);margin:8px 0 0}.surface{background:white;border:1px solid var(--line);border-radius:14px;padding:25px}.welcome-banner{background:#e9f0e5;border:1px solid #dae6d5;border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:32px;margin:24px 0 28px;overflow:hidden}.welcome-banner h2{font-family:Georgia,serif;font-size:28px;font-weight:500}.welcome-banner p{max-width:550px;font-size:13px;color:#617365;line-height:1.8}.banner-art{font-size:100px;line-height:1;color:#8aa17c;margin-right:20px;transform:rotate(-14deg)}.stat-card{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;height:100%}.stat-title{color:var(--muted);font-size:12px}.stat-value{font-size:32px;font-weight:650;letter-spacing:-1px;margin:14px 0 4px}.stat-foot{font-size:11px;color:#89948c}.stat-icon{float:right;background:#eef3ea;border-radius:8px;padding:5px 10px;color:var(--brand);font-size:19px}.module-card{border:1px solid var(--line);border-radius:12px;padding:24px;background:white;height:100%}.module-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#ecf1e7;font-size:23px;color:#53784f;margin-bottom:18px}.module-card p{color:var(--muted);line-height:1.8;font-size:12px}.pill{font-size:10px;padding:5px 9px;border-radius:20px;display:inline-block;background:#edf3eb;color:#55734d}.pill.pending,.pill.inactive,.pill.disabled{background:#f6efdf;color:#8b7337}.table{font-size:13px;vertical-align:middle;--bs-table-bg:transparent}.table th{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#87928a;background:#f8faf7;border-bottom:1px solid var(--line);padding:14px}.table td{padding:17px 14px;border-color:var(--line)}.table small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.table-wrap{padding:0;overflow:hidden}.table-toolbar{padding:20px;border-bottom:1px solid var(--line)}.search-input{max-width:340px}.form-control,.form-select{border-color:#dce4dd;border-radius:7px;font-size:14px;padding:10px 12px}.form-control:focus,.form-select:focus{border-color:#729788;box-shadow:0 0 0 3px #e9f0e9}.form-label{font-size:12px;font-weight:600;margin-bottom:7px}input[type=checkbox]{margin-right:8px}.form-card{max-width:840px}.form-card fieldset+fieldset{margin-top:28px}.form-card legend{font-size:17px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}.form-note{font-size:12px;color:var(--muted);line-height:1.7}.empty-state{padding:45px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:17px;margin-bottom:8px}.workspace-footer{padding:20px 42px;border-top:1px solid var(--line);color:#95a097;font-size:11px}.message{padding:15px 20px;border-radius:8px;background:#e4f2e6;margin-bottom:24px}.message.error{background:#fff0ed;color:#9c4334}.pagination{gap:8px;padding:18px;margin:0}.pagination li a,.pagination li span{padding:6px 10px;border:1px solid var(--line);border-radius:5px}.pagination li.active a{background:var(--brand);color:white}.public-header{display:flex;align-items:center;justify-content:space-between;padding:24px 6vw;background:#fff;border-bottom:1px solid var(--line);gap:24px}.public-header>.text-muted{font-size:12px}.public-footer{text-align:center;color:var(--muted);font-size:12px;padding:32px}.hero{max-width:1160px;margin:auto;padding:80px 25px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.hero h1{font-family:Georgia,serif;font-size:62px;line-height:1.1;font-weight:400;letter-spacing:-2px}.hero h1 em{color:var(--brand)}.hero p{font-size:16px;color:var(--muted);line-height:1.9;max-width:500px;margin:25px 0}.hero-visual{background:#e4eddc;border:1px solid #d5e2cc;border-radius:120px 120px 24px 24px;padding:60px 28px 28px;min-height:360px;position:relative}.book-stack{font-family:Georgia,serif;font-size:100px;text-align:center;color:#53784f;line-height:1.3}.hero-note{background:#fff;border-radius:14px;padding:23px;box-shadow:0 15px 50px #304e2110;margin-top:20px}.hero-note strong{display:block;font-size:17px}.hero-note span{color:var(--muted);font-size:12px}.login-shell{max-width:980px;margin:65px auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.login-story h1{font-family:Georgia,serif;font-size:46px;line-height:1.2;font-weight:400}.login-story p{color:var(--muted);line-height:1.9}.login-card{background:white;padding:36px;border:1px solid var(--line);border-radius:16px}.login-card h2{font-size:24px}.break-all{word-break:break-all}pre{white-space:pre-wrap;font-size:12px}.activity-item{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:12px}.activity-item:last-child{border:0}.feature-line{margin-top:28px;color:#6c806d;font-size:12px;display:flex;gap:18px;flex-wrap:wrap}@media(max-width:991px){.workspace{margin-left:0}.sidebar{width:248px!important}.main-content{padding:25px 22px}.topbar{padding:0 22px}.hero{gap:30px;padding-top:50px}.hero h1{font-size:48px}.login-shell{gap:30px}}@media(max-width:640px){.hero,.login-shell{grid-template-columns:1fr}.hero{padding:40px 24px}.hero h1{font-size:43px}.hero-visual{min-height:240px;padding-top:20px}.book-stack{font-size:64px}.login-shell{margin:30px auto}.login-story h1{font-size:32px}.login-card{padding:25px}.page-heading{align-items:flex-start;flex-direction:column}h1{font-size:25px}.banner-art{display:none}.welcome-banner{padding:23px}.topbar{height:72px;font-size:12px}.surface{padding:18px}.table-wrap{padding:0}.main-content{padding:24px 16px}.public-header{padding:20px}.public-header .wordmark{font-size:21px}}

.topbar .btn{white-space:nowrap}

/* Consistent account form geometry, including the text-based school code field. */
.auth-shell{max-width:1090px;grid-template-columns:1fr 460px;gap:80px;margin:64px auto;align-items:center}.auth-card{width:100%;padding:38px;border-radius:20px;border:1px solid #e1e8e4;box-shadow:0 12px 40px #213e3210}.auth-card-header{margin-bottom:28px}.auth-card-header h2{font-size:25px;letter-spacing:-.65px;margin:18px 0 8px}.auth-card-header p{font-size:13px;line-height:1.6;color:#75827b;margin:0}.auth-symbol{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#eaf2ed;color:var(--brand);font-family:Georgia,serif;font-size:23px;font-weight:700}.auth-form .input,.auth-form .mb-3{width:100%;margin-bottom:18px!important}.auth-form .form-label{display:block;font-size:12px;line-height:20px;font-weight:600;color:#344c40;margin-bottom:7px}.auth-form .form-control,.auth-form input:not([type=hidden]):not([type=checkbox]){display:block;width:100%;height:48px;min-height:48px;padding:0 14px;line-height:normal;border:1px solid #dce5df;border-radius:9px;background:#fff;color:#233833;font-family:inherit;font-size:14px;box-sizing:border-box;box-shadow:none}.auth-form .form-control::placeholder{color:#94a198;font-size:13px}.auth-form .form-control:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #246b6012}.auth-form .required label:after{content:none}.auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:48px;min-height:48px;border-radius:9px;font-size:14px;letter-spacing:.1px}.auth-form-meta{display:flex;justify-content:flex-end;margin:-2px 0 22px;font-size:12px;font-weight:600}.auth-help{font-size:11px;line-height:1.8;color:#7c8880;margin:17px 0 0}.auth-divider{height:1px;background:#e8ede9;margin:25px 0 21px}.auth-footer{font-size:13px;text-align:center;color:#77837b;margin:0}.auth-footer a{font-weight:650}.auth-assurance{display:flex;gap:12px;align-items:center;color:#6f8074;font-size:12px;line-height:1.7;margin-top:28px}.assurance-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--brand);background:#e6efe7;flex-shrink:0}.auth-tabs{display:flex;gap:6px;padding:5px;background:#f1f5f2;border-radius:10px;margin-bottom:24px}.auth-tabs a{flex:1;text-align:center;font-size:12px;padding:10px 4px;color:#6c7b70;border-radius:7px}.auth-tabs .selected{color:var(--brand);background:white;box-shadow:0 2px 6px #1431230d;font-weight:650}.auth-notice{background:#edf5ef;border:1px solid #dceadf;border-radius:12px;padding:22px;font-size:13px;line-height:1.85;margin-bottom:22px}.auth-notice h3{font-size:18px;margin-bottom:12px}.auth-notice p:last-child{margin-bottom:0}.auth-single{max-width:510px;margin:65px auto;padding:0 24px}.registration-shell{align-items:start}.registration-shell .login-story{padding-top:65px}.auth-form .row{--bs-gutter-x:16px;--bs-gutter-y:0}.public-site>main>.message{max-width:1040px;margin:20px auto 0}.login-story h1{letter-spacing:-1.5px}@media(max-width:991px){.auth-shell{grid-template-columns:1fr 420px;gap:35px;margin:45px auto}.auth-card{padding:30px}.auth-shell .login-story h1{font-size:37px}}@media(max-width:767px){.auth-shell{grid-template-columns:1fr;max-width:500px;gap:28px;margin:32px auto;padding:0 20px}.auth-shell .login-story{padding-top:0}.auth-shell .login-story h1{font-size:33px}.auth-assurance{display:none}.auth-shell .login-story p{margin-bottom:0}.auth-card{padding:27px 25px}.auth-card-header h2{font-size:24px}.auth-single{margin:36px auto;padding:0 20px}.auth-tabs a{font-size:11px}.public-site>main>.message{margin:16px 20px 0}}
