.family-shell{padding-top:32px;padding-bottom:72px}.family-nav{display:flex;align-items:center;gap:18px}.family-hero{padding:30px;border:1px solid var(--line,#dddfe9);border-radius:24px;background:linear-gradient(145deg,#fff 35%,#eefaf6);box-shadow:0 16px 44px rgba(34,24,111,.08)}.family-hero h1{max-width:720px;margin:12px 0;font-size:clamp(32px,5vw,52px);line-height:1.03}.family-hero>p{max-width:660px;margin-bottom:0;color:var(--muted,#555a6b)}.family-step{display:inline-flex;padding:7px 11px;border-radius:999px;color:#087860;background:#e5f8f1;font-size:13px;font-weight:800}#family-status:empty{display:none}.family-session-actions{margin-top:14px}.family-panel{margin:20px 0;padding:24px;border:1px solid var(--line,#dddfe9);border-radius:20px;background:#fff;min-width:0}.family-login-panel{max-width:620px}
.family-panel h2{margin:8px 0 12px}.family-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.family-panel-heading h2{margin-bottom:0}.family-panel-heading a{white-space:nowrap;font-weight:800}.family-form{display:grid;gap:16px;margin:20px 0}.family-form label{display:grid;gap:6px;font-weight:700}.family-invite-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.family-invite-form .button{min-height:48px}
.family-form input{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #dfe3ef;border-radius:10px;font:inherit}
.family-form-message{margin:-4px 0 4px;padding:12px 14px;border-radius:10px;color:#8b1e2d;background:#fff0f1;font-weight:700}.family-form-message:empty{display:none}
.family-identity{margin:22px 0 4px;color:var(--muted,#555a6b);font-size:14px}.family-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:16px 0;border-top:1px solid #dfe3ef;overflow-wrap:anywhere}.family-item:first-child{border-top:0}.family-item h3,.family-item strong,.family-item p{margin:0}.family-item p{grid-column:1}.family-item .button{grid-column:2;grid-row:1/span 2}.family-owner{color:#087860;font-weight:700}.family-card-list .family-item{padding:16px;border:1px solid #dfe3ef;border-radius:14px;margin-top:10px}.family-card-list .family-item:first-child{margin-top:16px}.family-empty{padding:22px;border:1px dashed #cbd0dd;border-radius:14px;text-align:center;color:var(--muted,#555a6b)}
.family-shell details{margin-top:20px}.family-shell summary{cursor:pointer;font-weight:700}.family-shell .button{white-space:normal}
.family-shell dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border:1px solid #dfe3ef;border-radius:20px;padding:20px;overflow:auto;overflow-wrap:anywhere}
.family-shell dialog::backdrop{background:#18113999}.family-shell dialog h2{margin:20px 0 8px}#family-code{min-width:0}#family-code img{display:block;width:100%;max-width:100%;height:auto}#family-code pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:22px;text-align:center}
#family-photo{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:12px}#family-photo[hidden]{display:none}
.family-shell [hidden]{display:none!important}.family-shell :focus-visible{outline:3px solid #22ac89;outline-offset:3px}
@media(max-width:600px){.family-nav{gap:12px;font-size:13px}.family-hero{padding:22px 18px}.family-hero h1{font-size:34px}.family-panel{padding:18px}.family-shell dialog{padding:16px}.family-shell{padding-top:20px}.family-invite-form{grid-template-columns:1fr}.family-invite-form .button{width:100%}.family-panel-heading{align-items:flex-start}.family-item{grid-template-columns:1fr}.family-item .button{grid-column:1;grid-row:auto;width:100%}}
@media(max-width:600px){.family-invite-form label{display:grid;gap:8px;min-width:0}.family-invite-form input{display:block;width:100%;min-width:0}.family-item{min-width:0}.family-item h3,.family-item strong,.family-item p{min-width:0;overflow-wrap:anywhere}.family-item .button{justify-self:stretch}}
