/* The Learners page (/household): the family code, one card per learner and
   the add-a-learner form. Sits on app.css. */
.household-main{width:100%;max-width:820px;margin:0 auto;padding:28px var(--gutter) 64px}
.household-main h1{margin-top:0}
.family-code{margin:24px 0}
.family-code .code-line b{font-size:40px}
.family-code .code-line .button{flex-shrink:0}
.family-code.is-empty .code-line{display:none}
.children{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:start;padding:var(--pad);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.child.is-active{border-color:var(--blue)}
.child b{font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.child .hint{font-size:var(--t-small);color:var(--muted)}
.child .login-state{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--amber)}
.child .login-state.is-ready{color:var(--green)}
.child .child-actions{grid-column:2;grid-row:1/4;display:grid;gap:8px;justify-items:end}
.child .child-tools{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.child .child-tools details[open]{flex-basis:100%}
.credential-settings summary{cursor:pointer;color:var(--blue);font-weight:600;font-size:var(--t-small);min-height:40px;display:inline-flex;align-items:center;list-style:none}
.credential-settings summary::-webkit-details-marker{display:none}
.credential-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:8px 0 12px}
.credential-form input,.credential-form select{min-height:46px;padding:10px 12px;border:1px solid #aeb7c9;border-radius:10px;background:var(--surface)}
.learner-edit{grid-template-columns:minmax(0,1fr) auto auto auto}
.learner-edit .danger{color:var(--red)}
#add{margin-top:28px}
#add h2{margin-bottom:16px}
.archived{margin-top:16px;padding:14px var(--pad);border:1px dashed var(--line);border-radius:var(--radius)}
.archived summary{font-size:var(--t-small);color:var(--muted);cursor:pointer}
.archived ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.archived li{display:flex;justify-content:space-between;gap:12px;align-items:center}
.privacy{margin-top:16px;font-size:var(--t-small);color:var(--muted)}
.privacy summary{cursor:pointer;min-height:40px;display:flex;align-items:center;gap:6px}.privacy summary::before{content:"▸";font-size:12px}.privacy[open] summary::before{content:"▾"}
#status{margin-top:16px;font-size:var(--t-small)}#status:empty{display:none}
@media(max-width:639px){.child{grid-template-columns:1fr}.child .child-actions{grid-column:1;grid-row:auto;justify-items:stretch}.child .child-actions .button{width:100%}.credential-form,.learner-edit{grid-template-columns:1fr}.credential-form .button{width:100%}.family-code .code-line b{font-size:32px}}
