:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#26345b;background:#f3f5fa;font-size:16px}
*{box-sizing:border-box}
body{margin:0}
a{color:#216956;text-underline-offset:4px}
button,input{font:inherit}
button,a,input{outline-offset:4px}
button{cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
[hidden]{display:none!important}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px max(20px,calc((100vw - 1100px)/2));background:#fff;border-bottom:1px solid #e3e8ef}
.brand{text-decoration:none;color:#26345b;font-size:22px;font-weight:800;white-space:nowrap}
.brand b{color:#238e72}
.account-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1050px;margin:56px auto;gap:50px;padding:0 24px;align-items:start}
.intro{padding:26px 0}
.eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#28785f}
h1{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:16px 0}
h2{font-size:25px;margin:0 0 14px}
p{line-height:1.6}
.features{padding:0;list-style:none}
.features li{padding:12px 0;border-bottom:1px solid #dfe5ed}
.price{font-size:34px;font-weight:800;margin-bottom:0}
.muted{color:#5d6980;font-size:14px}
.card{background:#fff;border:1px solid #dce3eb;border-radius:22px;padding:30px;box-shadow:0 14px 40px #25375b09}
.tabs{display:flex;gap:6px;background:#eff2f7;padding:5px;border-radius:12px;margin-bottom:25px}
.tabs button{border:0;border-radius:8px;padding:12px 10px;flex:1;color:#26345b;background:transparent}
.tabs button.active{background:#fff;font-weight:700;box-shadow:0 2px 5px #0001}
label{display:block;font-weight:650;margin-top:18px;margin-bottom:7px}
input{width:100%;border:1px solid #bcc8d5;border-radius:10px;padding:13px;background:#fff;color:#17253d}
input[readonly]{background:#f4f7f8;color:#34465d}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none;border:1px solid transparent}
.primary{background:#238268;color:#fff}
.secondary{border-color:#cdd5e1;background:white;color:#26345b}
.full{width:100%;margin-top:22px}
.link-button{border:0;background:none;color:#216956;text-decoration:underline;padding:12px 0}
.link-button.compact{padding:8px 0 0}
.notice{background:#edf7f3;border-radius:10px;padding:14px;line-height:1.5;overflow-wrap:anywhere}
.notice.error{background:#fff0ed;color:#993a29}
.email-review{margin:12px 0 0;font-size:14px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.support{margin-top:22px;font-size:14px;overflow-wrap:anywhere}
.campus-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 20px;background:#fff;border-bottom:1px solid #dce3eb}
.campus-toolbar .brand{margin-right:auto}
.campus-toolbar button{padding:8px 12px;min-height:40px}
.frame{width:100%;height:calc(100dvh - 76px);border:0;display:block}
.campus-status{max-width:620px;margin:50px auto;padding:24px}
.sync{font-size:14px;color:#456352}
.email{font-size:14px;overflow-wrap:anywhere}
.retry{font-size:14px}
@media(max-width:700px){
 .account-layout{grid-template-columns:1fr;margin:20px auto;gap:12px}
 .intro{padding:0}
 .intro h1{font-size:30px}
 .features{display:none}
 .price{font-size:26px}
 .card{padding:22px}
 .top{padding:16px}
 .top a:last-child{font-size:14px}
 .campus-toolbar{gap:8px}
 .email{max-width:160px}
 .frame{height:calc(100dvh - 118px)}
}
.legal-consent{display:grid;gap:10px;margin:16px 0;text-align:left}.legal-consent label{display:flex;align-items:flex-start;gap:9px;color:#57536b;font-size:12px;line-height:1.45}.legal-consent input{width:17px;height:17px;margin-top:1px;flex:0 0 auto}.legal-consent a{color:#6040b8;font-weight:700}

/* Mobile navigation refinement — 2026-09-27 */
.campus-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.campus-shell .campus-toolbar{flex-shrink:0;position:relative;z-index:30}
.campus-shell>main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}
.campus-shell .frame{flex:1;min-height:0;height:100%;width:100%}
.account-support{grid-column:1/-1;margin:0;text-align:center}
.account-menu{position:relative;margin-left:auto;flex-shrink:0}
.account-menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #dce3eb;border-radius:12px;font-weight:700;background:#fff}
.account-menu summary::-webkit-details-marker{display:none}
.account-menu summary:focus-visible{outline:3px solid #7c3aed;outline-offset:3px}
.account-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:220px;max-width:calc(100vw - 32px);padding:16px;background:#fff;border:1px solid #dce3eb;border-radius:14px;box-shadow:0 12px 30px #26345b20}
.account-menu-panel .email{display:block;margin-bottom:12px;max-width:none;overflow-wrap:anywhere}
.account-menu-panel button{width:100%;min-height:44px}
@media(max-width:700px){
 .account-layout{margin:16px auto;gap:14px;padding:0 16px}
 .intro h1{font-size:26px;line-height:1.15;margin:8px 0}
 .intro>p:not(.price):not(.muted){margin:8px 0;font-size:14px;line-height:1.5}
 .intro .eyebrow{font-size:11px}
 .intro .price{font-size:25px;margin:12px 0 3px}
 .intro>.muted{margin:3px 0 0;font-size:12px}
 .account-layout>.card{padding:20px;border-radius:18px}
 .account-layout .tabs{margin-bottom:18px}
 .account-support{font-size:12px;margin:0 0 20px;line-height:1.8}
 .top{padding:12px 16px;gap:10px}.top .brand{font-size:19px}.top a:last-child{font-size:12px;text-align:right;max-width:135px}
 .campus-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .campus-shell .campus-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:8px 12px;flex-shrink:0;position:relative;z-index:30}
 .campus-toolbar .brand{font-size:20px;grid-column:1;grid-row:1}
 .campus-toolbar .account-menu{grid-column:2;grid-row:1}
 .campus-toolbar .sync{grid-column:1/-1;grid-row:2;font-size:11px;line-height:16px;min-height:16px}
 .campus-toolbar .retry{grid-column:1/-1;grid-row:3;min-height:44px}
 .campus-shell>main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}
 .campus-shell .frame{flex:1;min-height:0;height:100%;width:100%}
 .campus-shell .campus-status{margin:20px 12px}
}
@media(max-width:700px){
 .campus-shell.practice-focus{position:relative}
 .campus-shell.practice-focus .campus-toolbar{position:absolute;top:0;left:0;right:0;transform:translateY(-110%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility .2s ease;box-shadow:0 8px 24px #26345b20}
 .campus-shell.practice-focus.chrome-visible .campus-toolbar{transform:translateY(0);visibility:visible;pointer-events:auto}
 .campus-shell.practice-focus>main{height:100dvh}
}
@media(prefers-reduced-motion:reduce){.campus-shell.practice-focus .campus-toolbar{transition:none}}
