.family-children{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.family-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:180px;padding:18px 20px;border:1px solid var(--line,#d9dfeb);border-radius:14px;color:inherit;text-decoration:none;background:var(--panel,#fff)}
.family-child.is-selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--paper-2)}
.family-child strong{font-size:1.1rem}.family-child>span:last-child{font-size:.875rem}
.family-appointments{display:grid;gap:16px}.family-appointment{padding:20px 0;border-top:1px solid var(--line,#d9dfeb)}
.family-response{max-width:620px}.family-response .button{align-self:flex-start}
.family-details{margin-top:18px;max-width:100%}.family-note{white-space:normal;overflow-wrap:anywhere}
.family-parent-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:16px}
.family-parent-controls .form-stack{min-width:0}.family-account-name{margin-bottom:8px;font-size:1rem}
.family-account-activity{margin:0 0 16px}
.family-details .checkbox-line input[type="checkbox"]{min-width:0;width:1.125rem;height:1.125rem;flex:none;accent-color:var(--brand)}
.family-child:focus-visible{outline:3px solid var(--brand-2);outline-offset:3px}
@media(max-width:700px){.family-child{flex:1;min-width:140px}.family-parent-controls{grid-template-columns:1fr}.family-response{max-width:none}.family-appointment{padding:18px 0}}
