.skip-link{position:absolute;left:16px;top:-80px;z-index:20;background:white;padding:12px}.skip-link:focus{top:12px}.auth-tagline{font-size:14px;color:var(--muted)}.auth-layout{max-width:1120px;display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:start;padding-top:64px;padding-bottom:64px}.auth-story{background:var(--navy);color:white;padding:44px 40px;border-radius:22px}.auth-kicker{font-size:14px;color:#9cddd5}.auth-story h1{color:white;font-size:46px;line-height:1.13;margin:20px 0}.auth-story>p{color:#d1dce7;max-width:350px}.auth-example{display:grid;gap:14px;margin:34px 0;padding:26px 30px;border-left:3px solid #78ccc0;background:#213956;font-size:26px;letter-spacing:1px}.auth-example>span:nth-child(2){color:#c2d4e3}.auth-example strong{color:#9ce1d1}.auth-example strong span{float:right}.auth-story .auth-story-note{font-size:13px;line-height:1.7;margin:0}.auth-panel{min-width:0;max-width:440px;width:100%;justify-self:center}.auth-panel h2{font-size:30px;letter-spacing:-.8px;margin-bottom:10px}.auth-panel-intro{margin-bottom:24px}.auth-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#e8eeee;border-radius:12px;padding:5px;width:100%}.auth-roles a{display:flex;justify-content:center;align-items:center;min-height:44px;border-radius:8px;text-decoration:none;color:#45566b;font-size:14px;font-weight:650}.auth-roles a[aria-current]{background:white;color:var(--teal);box-shadow:0 1px 4px #172b4d12}.auth-role-note{font-size:14px;color:var(--muted);min-height:44px;margin:18px 0}.auth-form{display:flex;flex-direction:column;gap:9px}.auth-form label{font-size:14px;font-weight:650;margin-top:10px}.auth-form input:not([type=hidden]){width:100%;min-width:0;min-height:48px;border:1px solid #9baeb8;border-radius:9px;background:white;color:var(--ink);padding:12px 14px;font-size:16px}.password-field{position:relative}.password-field input{padding-right:76px!important}.password-toggle{position:absolute;right:4px;top:3px;min-height:42px;min-width:64px;border:0;border-radius:6px;background:transparent;color:var(--teal);font-size:13px;font-weight:650}.auth-submit{margin-top:16px;min-height:48px}.auth-help{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;text-align:center;font-size:14px;color:var(--muted)}.auth-help p{margin:0}.auth-help a{font-weight:650}.auth-error{background:#fff0ee;border-left:3px solid #a33e3e;color:#8d3030;padding:14px;font-size:14px;border-radius:6px}.auth-footer{text-align:center;font-size:12px;color:var(--muted);padding:12px 20px 32px}.account-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.account-row{border-top:1px solid var(--line);padding:20px 0}.account-row:first-of-type{margin-top:20px}.account-row p{margin-bottom:6px;overflow-wrap:anywhere}.account-results{list-style:none;padding:0;font-size:13px}.account-results li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.account-results span{color:var(--muted)}.account-signout{margin-left:auto}.account-signout .btn{min-height:44px}
@media(max-width:800px){.auth-layout{gap:32px;padding-top:36px}.auth-story{padding:32px 26px}.auth-story h1{font-size:36px}.auth-tagline{display:none}.account-grid{grid-template-columns:1fr}}
@media(max-width:600px){.auth-layout{grid-template-columns:1fr;padding:28px 22px 36px}.auth-story{display:none}.auth-panel{max-width:440px}.auth-panel h2{font-size:28px}.auth-roles{width:100%}.auth-form input:not([type=hidden]){font-size:16px}.auth-footer{padding-top:0}.account-results li{flex-wrap:wrap}}

@media(max-width:720px){.header-inner>nav{order:2}}

.student-edit{margin:16px 0}.student-edit summary{cursor:pointer;color:var(--teal);font-weight:650;min-height:44px;padding:10px 0}.student-edit[open]{padding-bottom:16px;border-bottom:1px solid var(--line)}
.birth-field{display:flex;gap:8px;align-items:stretch}.birth-field input{flex:1}.birth-open{flex-shrink:0;border:1px solid var(--teal);border-radius:9px;background:#e8f5f3;color:var(--teal);padding:10px 12px;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.birth-calendar{box-sizing:border-box;width:420px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--line);border-radius:18px;padding:20px;background:white;color:var(--ink);box-shadow:0 16px 64px #172b4d33}.birth-calendar::backdrop{background:#172b4d88}.calendar-heading,.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading{font-size:20px;margin-bottom:14px}.birth-calendar button{min-height:44px;min-width:44px;border:0;border-radius:8px;background:#edf6f5;color:var(--teal);font-size:20px;cursor:pointer}.birth-calendar button:hover{background:#ccebe6}.birth-calendar button:disabled{opacity:.35;cursor:default}.birth-calendar button[aria-pressed=true]{background:var(--teal);color:white}.birth-calendar label{display:flex;align-items:center;gap:12px;font-weight:650}.birth-calendar input{width:110px;min-height:44px;border:1px solid #9baeb8;border-radius:8px;padding:8px;font:inherit;font-size:18px}.calendar-month{margin:16px 0;font-size:22px}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center;align-items:center}.calendar-days span{font-size:14px;color:var(--muted)}.calendar-days button{min-width:0;font-weight:600}.birth-calendar p{font-size:13px;color:var(--muted);margin:16px 0 0}@media(max-width:380px){.birth-calendar{padding:12px}.calendar-days{gap:2px}.birth-open{padding:8px;font-size:13px}}

.parent-progress{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.parent-progress h4{font-size:18px;margin:0 0 16px}.progress-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.progress-totals>div{background:#edf6f5;border-radius:12px;padding:14px 10px;min-width:0}.progress-totals strong{display:block;font-size:27px;color:var(--teal);line-height:1.2}.progress-totals span{display:block;font-size:12px;margin-top:7px;color:var(--muted)}.progress-details{border-top:1px solid var(--line);padding:4px 0}.progress-details summary{cursor:pointer;color:var(--teal);font-weight:650;padding:14px 0;min-height:44px;overflow-wrap:anywhere}.skill-results{list-style:none;margin:0 0 12px;padding:0}.skill-results li{padding:12px 0}.skill-results li>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}.skill-results span{font-size:12px;color:var(--muted);flex-shrink:0}.skill-results progress{display:block;width:100%;height:10px;margin-top:10px;border:0;border-radius:8px;overflow:hidden;background:#e5ecef;accent-color:var(--teal)}.skill-results progress::-webkit-progress-bar{background:#e5ecef}.skill-results progress::-webkit-progress-value{background:var(--teal);border-radius:8px}.skill-results progress::-moz-progress-bar{background:var(--teal);border-radius:8px}.parent-progress .account-results li{align-items:flex-start}.account-results li>div{min-width:0}.account-results .parent-result-score{flex-shrink:0;text-align:right;color:var(--teal);font-size:16px}.parent-result-score small{display:block;font-size:12px;color:var(--muted);margin-top:4px}@media(max-width:600px){.skill-results li>div{flex-wrap:wrap;gap:4px}.parent-progress .account-results li{flex-wrap:nowrap}.progress-totals>div{padding:12px 8px}}

.skill-highlights{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0;align-items:start}
.skill-highlights>div{border-radius:12px;padding:16px;min-width:0}
.skill-strong{background:#edf6f5;border:1px solid #b7dcd6}
.skill-focus{background:#fff8e9;border:1px solid #eddbb7}
.skill-highlight-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.skill-highlight-heading h5{margin:0;font-size:14px;line-height:1.5;font-weight:700;color:var(--ink)}
.skill-highlight-heading>strong{font-size:20px;line-height:1.3;white-space:nowrap;color:var(--teal);font-variant-numeric:tabular-nums}
.skill-focus .skill-highlight-heading>strong{color:#80601f}
.skill-highlights .skill-highlight-context{margin:4px 0 12px;font-size:12px;line-height:1.5;color:var(--muted)}
.skill-highlight-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.skill-highlight-list li{font-size:14px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}
.skill-highlight-more{margin-top:10px;border-top:1px solid #cedfdc;padding-top:4px}
.skill-highlight-more summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px;font-weight:650;color:var(--teal);line-height:1.5}
.skill-highlight-more summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.skill-highlight-more[open] summary{margin-bottom:7px}
.skill-results .skill-grade{background:#edf6f5;color:var(--teal);font-size:14px;font-weight:700;padding:5px 9px;border-radius:8px}.skill-results p{font-size:12px}@media(max-width:600px){.skill-highlights{grid-template-columns:1fr}}

.result-print-link{display:inline-block;min-height:44px;padding:10px 0;font-weight:650}

.subscription-summary{margin-bottom:20px}.subscription-summary .btn{text-decoration:none}.subscription-summary p{overflow-wrap:anywhere}@media(max-width:600px){.subscription-summary .btn{display:flex;width:100%;justify-content:center;text-align:center}}

.auth-form input[type=checkbox]{width:20px;min-height:20px;flex:0 0 20px;padding:0}.sharing-choice{display:flex;align-items:center;gap:12px;min-height:44px}.student-account .card{min-width:0}.student-account p{overflow-wrap:anywhere}.student-account .btn{white-space:normal;text-align:center;text-decoration:none}.recovery-layout{max-width:600px;margin:40px auto}

.parent-connection{margin-bottom:24px}.student-account form+form{margin-top:16px}

.student-account .account-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.student-account .account-grid>.card{display:flex;flex-direction:column}.student-account .card>.btn{align-self:flex-start;margin-top:auto}.student-account .auth-form+p{margin-top:16px}.student-account form>.btn{width:100%}.sharing-choice{align-items:flex-start}.sharing-choice input[type=checkbox]{margin:2px 0 0;height:20px}.parent-connection .auth-form{max-width:560px}@media(max-width:800px){.student-account .account-grid{grid-template-columns:1fr}}@media(max-width:600px){.student-account .card>.btn{width:100%;justify-content:center}.student-account-page .header-inner>.btn{width:100%;justify-content:center}}

.student-account .card>article{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}

.legal-choices{min-width:0;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.legal-choices legend{font-weight:650;padding:0 6px}.auth-form .legal-choices label{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin:4px 0;padding:8px 0;font-weight:400;line-height:1.6}.auth-form .legal-choices input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px;margin:3px 0 0;padding:0;accent-color:var(--teal)}.legal-choices span{min-width:0;overflow-wrap:anywhere}.legal-choices a{text-decoration:underline;text-underline-offset:3px}.consent-page{max-width:680px;margin:40px auto;padding:24px}.consent-code{font-family:monospace;overflow-wrap:anywhere}@media(max-width:600px){.consent-page{margin:20px 16px;padding:20px}.legal-choices{padding:12px}}
