.parent-login label {display:block; margin-top:16px; font-size:13px; line-height:1.8}
.parent-login input {display:block; margin-top:5px}
.parent-login .text-button {margin:18px 0}
#parent-login-error {color:#98412f; min-height:1em; margin:10px 0 0}
.family-account {padding:12px 8px; margin-top:auto; font-size:12px; overflow-wrap:anywhere}
.family-account .text-button {margin-top:8px}
@media(max-width:880px) {.family-account {font-size:11px; text-align:center; padding:8px 0}.family-account>span {display:none}}
@media(max-width:650px) {.family-account {margin:0;padding:0}.family-account .text-button {font-size:11px;margin:0;min-height:40px}}

.family-current {display:none}
@media(max-width:880px) {.family-current {display:block;margin:0 0 15px;color:#54735e;font-size:12px;overflow-wrap:anywhere}}

/* Family entry follows DESIGN.md; usable with long family names at 320px. */
.parent-login label {font-size:14px}
.parent-login input {width:100%; min-height:48px; border-color:#75877B}
.parent-login .text-button {min-height:44px}
#parent-login-error {color:#A53E38}
.family-current {display:block; max-width:100%; min-height:44px; margin:0 0 16px; text-align:left; font-size:14px; color:#285C49; white-space:normal; overflow-wrap:anywhere}
.account-welcome {max-width:640px; padding:24px; border:1px solid #DDE3DA; border-radius:20px; background:#fff}
.account-welcome h2 {margin:16px 0 8px}
.account-welcome p {margin:12px 0 24px}
.account-entry-actions {display:flex; flex-wrap:wrap; gap:12px}
.account-entry-actions button {min-height:48px; white-space:nowrap}
@media(max-width:400px) {.account-entry-actions button {width:100%}}
.account-details {display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px 16px; margin:24px 0}
.account-details dt {color:#596B61}
.account-details dd {margin:0; overflow-wrap:anywhere}
.migration-note {padding:16px; margin:24px 0; border-radius:12px; background:#EAF0E6}
.migration-note h3 {margin:0 0 8px}
@media(max-width:650px) {.family-current {font-size:14px; margin-bottom:16px}.family-account .text-button {min-height:44px}}

/* Shared account/profile tokens; primary targets 48px, secondary targets 44px. */
.family-account{display:none}.family-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #dde3da}
.family-topbar button{min-height:48px;border-radius:12px}.child-context{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:4px 8px;text-align:left;min-width:0}
.child-context>span{min-width:0}.child-context strong{font-size:16px;overflow-wrap:anywhere}.child-context small{font-size:12px;display:block;color:#596b61}.child-context .icon{width:16px}
.profile-avatar{width:48px;height:48px;object-fit:contain;background:#eaf0e6;border-radius:50%;flex-shrink:0}.family-topbar .family-current{display:flex;align-items:center;gap:8px;margin:0;padding:4px 8px;text-align:left}
.family-current small{display:block;font-size:12px;color:#596b61;overflow-wrap:anywhere;max-width:200px}.profile-parent{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;background:#e9e6df;border-radius:50%;flex-shrink:0}
.profile-parent .icon{width:24px;height:24px}.profile-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:24px 0 12px}.profile-heading h3{font-size:18px}
.profile-rows{display:grid;gap:12px}.profile-row{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #dde3da;border-radius:16px}.profile-row>div{flex:1;min-width:0;overflow-wrap:anywhere}
.profile-row small{display:block;font-size:12px;color:#596b61}.profile-row>.text-button{min-width:44px;white-space:nowrap;font-size:14px}.profile-choice{display:flex;align-items:center;gap:16px;padding:16px;margin:12px 0;width:100%;border:1px solid #b9c7bd;background:white;border-radius:16px;text-align:left}
.profile-choice>span{flex:1;overflow-wrap:anywhere}.profile-choice small{font-size:12px}.profile-choice.selected{background:#eaf0e6;border-color:#285c49}.profile-logout{display:flex;margin:24px auto 0!important}
.profile-avatar-options{border:0;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-avatar-options legend{font-size:16px;margin-bottom:12px}
.profile-avatar-options label{display:flex!important;align-items:center;gap:8px;padding:12px;border:1px solid #b9c7bd;border-radius:12px;margin:0;font-size:14px;cursor:pointer}.profile-avatar-options label:has(:checked){background:#eaf0e6;border-color:#285c49}
.profile-avatar-options input{width:20px!important;min-height:20px!important;flex-shrink:0;margin:0}.profile-avatar-options .profile-avatar{width:40px;height:40px}#profile-form-error{color:#a53e38;font-size:14px}
#child-profile-form>label,#family-password-form>label{display:block;font-size:16px;margin:16px 0 8px}#child-profile-form>input,#family-password-form>input{width:100%;min-height:52px}
.parent-login{padding:8px}.parent-login h2{font-size:28px;margin-top:16px}.parent-login label{font-size:16px;margin-top:24px}.parent-login input{margin-top:8px;min-height:52px;font-size:16px}
.parent-login .password-control{display:flex;align-items:center;border:1px solid #75877b;border-radius:12px;margin-top:8px;background:white}.parent-login .password-control input{border:0;margin:0;min-width:0;flex:1}
.parent-login .password-control button{min-width:52px;min-height:44px;margin:0 4px;padding:4px;font-size:14px}
@media(max-width:650px){.family-topbar{gap:8px;align-items:flex-start}.family-current small{max-width:110px}.child-context{padding:4px 0}.child-context .icon{display:none}.profile-row{flex-wrap:wrap}.profile-row>div{min-width:calc(100% - 64px)}.profile-row>.text-button{flex:1}.profile-avatar-options label{flex-wrap:wrap}.profile-avatar-options .profile-avatar{width:36px;height:36px}.parent-login{padding:0}}

/* The account name belongs inside My Family, leaving one compact entry. */
.family-topbar .family-current {white-space:nowrap; flex-shrink:0; gap:8px; min-height:48px; margin:0}
.family-topbar .child-context {min-width:0}
.family-topbar .child-context>span {min-width:0}
@media(max-width:360px) {.family-topbar {flex-wrap:wrap}}

/* Child avatars: reuse the profile editor, with earned pictures kept separate. */
.profile-avatar-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-earned-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;grid-column:1/-1;min-width:0}
.profile-avatar-options label{position:relative;flex-direction:column;justify-content:center;min-width:0;min-height:116px;text-align:center;overflow-wrap:anywhere}
.profile-avatar-options label input{position:absolute;left:8px;top:8px}
.profile-avatar-options .profile-avatar{width:64px;height:64px;margin:12px 0 4px}
.profile-avatar-options label:has(:focus-visible){outline:3px solid #285c49;outline-offset:3px}
.profile-avatar-selected{display:none;color:#285c49;font-size:.75rem}
.profile-avatar-options label:has(:checked) .profile-avatar-selected{display:block}
.profile-avatar-note{grid-column:1/-1;margin:0;color:#596b61;font-size:.875rem;line-height:1.7}
.profile-avatar-note .text-button{display:block;min-height:44px;margin-top:8px}
.profile-editor-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.profile-editor-actions button{flex:1 1 140px;min-height:48px;margin:0}

.email-recovery{max-width:100%;overflow-wrap:anywhere}.email-recovery .recovery-error{color:#A53E38;min-height:1.5em}.email-recovery form{margin-top:16px}.email-recovery .primary{min-height:48px}

.child-danger{color:#a53e38}.deleted-child-profiles{margin-top:20px}.deleted-child-profiles>summary{min-height:44px;cursor:pointer}.deleted-child-profiles .profile-row{margin-top:12px}

/* Membership details stay in the parent account surface. */
.membership-panel{max-width:100%;overflow-wrap:anywhere}.membership-status{padding:16px;background:#eaf0e6;border-radius:12px;margin:16px 0}.membership-panel h3{margin:8px 0}.membership-panel p{line-height:1.6}.membership-plans summary{min-height:44px;cursor:pointer;padding:12px 0}.membership-plans article{padding:16px 0;border-top:1px solid #dde3da}.membership-plans h3 span{white-space:nowrap}.membership-panel button{min-height:44px}#ops-membership-dialog select{width:100%;min-height:44px}#ops-membership-dialog{overflow-wrap:anywhere}

.parent-login .registration-account{overflow-wrap:anywhere}
