.family-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.family-paper{background:var(--white,#fffdf8);border:1px solid var(--line,#d5d5cb);padding:30px;border-radius:7px;min-width:0}.family-paper h2{font-size:27px;line-height:1.2;letter-spacing:-.8px;margin:14px 0}.family-paper p{line-height:1.6;color:var(--muted)}.family-paper h3{margin:22px 0 12px}.family-number{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}.family-lime{background:#e8efcd}.family-small,.family-paper small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:15px}.family-checks{padding-left:20px;line-height:2}.family-form{max-width:630px}.family-form label,.family-inline-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.family-form input:not([type=radio]),.family-inline-form input{font:inherit;background:#fffdf8;border:1px solid #babbaf;border-radius:4px;padding:12px;width:100%;min-width:0}.family-form fieldset{border:0;padding:24px 0}.family-form legend{font-size:13px;font-weight:600;padding-top:24px}.family-form .family-radio{flex-direction:row;margin:15px 0;font-weight:400;align-items:center}.family-form-error,.family-error{color:#a73f24!important;font-size:13px;line-height:1.5}.family-inline-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:26px 0}.family-inline-form label{flex:1;min-width:180px}.family-inline-form .family-form-error{width:100%;margin:0}.family-profile-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line,#ccc)}.family-profile-row>div:nth-child(2){flex:1;min-width:100px}.family-profile-row small{margin-top:4px}.family-profile-avatar{height:42px;width:42px;display:grid;place-items:center;background:#e8efcd;border:1px solid #bcc69d;border-radius:50%;font-weight:700}.family-button-row{display:flex;flex-wrap:wrap;gap:10px}.family-code{font-size:20px!important;font-family:monospace;color:var(--ink)!important;overflow-wrap:anywhere;letter-spacing:1px;padding:15px;background:#e8efcd}.family-child-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.family-child-tabs a{padding:10px 16px;border:1px solid var(--line,#ccc);border-radius:5px;font-size:13px}.family-child-tabs .active{background:var(--ink,#222);color:#fffdf8;border-color:var(--ink)}.family-result-hero{display:grid;grid-template-columns:1fr 235px;gap:40px;background:#e8efcd;border:1px solid #bcc69d;padding:40px;border-radius:7px}.family-result-hero h2{font-size:36px;max-width:650px;line-height:1.18;letter-spacing:-1.2px;margin:18px 0}.family-result-hero p{line-height:1.6;max-width:600px;margin-bottom:24px}.family-progress-dial{border:2px solid #7c8f51;border-radius:50%;width:220px;height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;background:#f9fbed}.family-progress-dial strong{font-size:70px;line-height:1.2;letter-spacing:-4px}.family-progress-dial small{font-size:23px;letter-spacing:-1px;margin-left:8px}.family-progress-dial span{font-size:11px;max-width:145px;text-align:center}.family-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line,#ccc);border-radius:5px;margin:24px 0;background:#fffdf8}.family-stats article{padding:22px;border-right:1px solid var(--line,#ccc)}.family-stats article:last-child{border:0}.family-stats strong{display:block;font-size:34px}.family-stats span{font-size:12px;color:var(--muted)}.family-value{margin:80px 0 30px}.family-value h2,.family-plans h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:15px 0 24px}.family-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line,#ccc);padding-top:26px}.family-value-grid span{font-size:12px;color:var(--blue,#2351e8);font-weight:700}.family-value-grid h3{font-size:18px;margin:18px 0 10px}.family-value-grid p,.family-plans p{font-size:14px;line-height:1.7;color:var(--muted)}.family-plans{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#ecebe3;border:1px solid var(--line,#ccc);padding:35px;border-radius:7px;margin:50px 0}.family-plans h3{font-size:24px;margin:20px 0 12px}.family-status-pill{display:inline-block;padding:7px 9px;background:#e8efcd;border:1px solid #bcc69d;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:1px}.family-evaluation{margin-top:16px;border:1px solid var(--line,#ccc);border-radius:5px;padding:16px}.family-evaluation summary{font-size:13px;font-weight:600;cursor:pointer}.family-evaluation p{font-size:13px;line-height:1.6}.family-account-link{border:0!important;text-decoration:none;display:grid;place-items:center}
@media(max-width:768px){.family-auth-grid,.family-plans{grid-template-columns:1fr;gap:16px}.family-result-hero{grid-template-columns:1fr;gap:22px;padding:25px}.family-result-hero h2{font-size:29px}.family-progress-dial{width:165px;height:165px;justify-self:center}.family-progress-dial strong{font-size:52px}.family-value-grid{grid-template-columns:1fr;gap:18px}.family-value{margin-top:45px}.family-paper{padding:22px}.family-plans{padding:22px}.family-value h2,.family-plans h2{font-size:28px}.family-stats article{padding:15px 10px}.family-stats span{font-size:11px}.family-stats strong{font-size:28px}.family-profile-row .secondary-button{padding:10px}.family-inline-form{align-items:stretch}.family-inline-form button{width:100%}}

body[data-page="parent"] .ac-skill-grid{align-items:start}
/* One clear access form, shared by student and parent. */
.access-card{margin:24px 0;max-width:900px}.access-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.access-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:#65748b}.access-badge{padding:8px 12px;border-radius:20px;background:#eef3fa;color:#50617a;font-size:13px}.access-badge.is-active{background:#e1f5ea;color:#1e7650}.access-card h2{margin:24px 0 12px}.access-card p{max-width:700px;line-height:1.6}.promo-form{display:grid;grid-template-columns:minmax(180px,360px) auto;align-items:end;gap:16px;max-width:610px;margin:24px 0}.promo-form label{display:grid;gap:8px;font-weight:600}.promo-form input{width:100%;min-height:54px;padding:12px 16px;border:1px solid #ccd8e5;border-radius:14px;background:#f8fbff;font:inherit;box-sizing:border-box}.promo-form .primary-button{min-height:54px}.promo-message{grid-column:1/-1;margin:0;color:#b33340}.access-price{padding-top:20px;border-top:1px solid #e8eef4;font-size:14px;color:#66758c}@media(max-width:600px){.promo-form{grid-template-columns:1fr}.promo-form button{justify-content:center}.access-card{padding:24px}.access-badge{font-size:12px}}
