/* Parent children directory: touch-friendly cards with no wide table. */
.family-children-summary{display:flex;align-items:center;gap:10px;padding:16px 4px;color:var(--ink-700)}
.family-children-summary strong{display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:#df1f2d;color:white}
.family-children-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px;padding:0 4px 16px}
.family-child-card{min-width:0;overflow:hidden;border:1px solid var(--line,#dce5ed);border-radius:18px;background:var(--surface,#fff);box-shadow:0 4px 16px #10203008}
.family-child-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:18px 16px 10px;border-top:3px solid #df1f2d}
.family-child-heading .table-entity{min-width:0;align-items:center;gap:10px}.family-child-heading .table-entity>div{min-width:0}
.family-child-heading h3{margin:0;font-size:18px;line-height:1.4;color:var(--ink-900);overflow-wrap:anywhere}.family-child-heading p{margin:3px 0 0;font-size:12px;color:var(--ink-500)}
.family-attendance{font-size:10px;font-weight:650;line-height:1.5;padding:5px 8px;border-radius:7px;background:#e5f6ee;color:#176441;flex-shrink:0}.family-attendance.is-absent{background:#fff0df;color:#8b4a06}
.family-child-approval{padding:0 16px 14px}.family-child-approval .compact-student-status{max-width:none;gap:8px}.family-child-approval .badge-pending:not(:first-child){display:none}.family-child-approval .student-status-pin{margin-inline-start:auto;min-height:44px}
.family-child-info{margin:0 16px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:16px 12px;padding:16px 0}.family-child-info>div{min-width:0}.family-child-info dt{color:var(--ink-500);font-size:11px;margin-bottom:5px}.family-child-info dd{margin:0;font-weight:600;font-size:13px;line-height:1.6;overflow-wrap:anywhere;color:var(--ink-900)}.family-child-info dd small{display:block;font-size:12px;color:var(--ink-500);font-weight:400}.family-child-address{grid-column:1/-1}.family-child-contact{margin-top:7px}.family-child-contact button{min-height:44px}
.family-child-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px;background:var(--surface-soft,#f6f8fb);border-top:1px solid var(--line)}.family-child-actions .btn,.family-remove{min-height:44px;min-width:0;white-space:normal;justify-content:center;font-size:12px}.family-remove{border:0;background:transparent;color:#b71d2b;border-radius:10px;cursor:pointer}.family-remove:focus-visible{outline:2px solid #df1f2d;outline-offset:2px}.family-children-empty{grid-column:1/-1;text-align:center;padding:32px 16px}
html[data-theme="dark"] .family-attendance{background:#193e34;color:#8aebba}html[data-theme="dark"] .family-attendance.is-absent{background:#443522;color:#ffd494}html[data-theme="dark"] .family-remove{color:#ff9ba7}html[data-theme="dark"] .family-child-approval .student-status-pin{background:#233750;color:#f2f5fb;border-color:#405570}
@media(max-width:480px){.family-children-grid{grid-template-columns:minmax(0,1fr);padding-inline:0;gap:14px}.family-child-heading{padding-inline:14px}.family-child-heading h3{font-size:17px}.family-child-info{margin-inline:14px}.family-child-actions{padding-inline:14px}.family-child-heading .avatar{flex-shrink:0}.family-attendance{max-width:94px;text-align:center}}

/* Parent cards: one clear action row, compact approvals, and quiet dark surfaces. */
.family-children-grid .family-child-card{background:#17263a;border-color:#344961;box-shadow:0 4px 16px #00000014}
.family-children-grid .family-child-heading{background:#20334a;border-top:3px solid #dc6876;padding:16px;align-items:center}
.family-children-grid .family-child-heading h3{color:#f0f5fc}
.family-children-grid .family-child-heading p{color:#bdcadc}
.family-children-grid .family-child-heading .avatar{border:1px solid #607f9f;flex:none}
.family-children-grid .family-child-approval{padding:12px 16px}
.family-children-grid .family-child-approval .compact-student-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.family-children-grid .family-child-info{margin:0 16px 16px;padding:14px;border:1px solid #31465e;border-radius:12px;background:#132236;gap:16px 12px}
.family-children-grid .family-child-info dt{color:#a9bdd5;font-size:11px;line-height:1.4}
.family-children-grid .family-child-info dd{color:#edf3fc;font-size:13px}
.family-children-grid .family-child-info dd small{color:#b6c7dc;font-size:12px}
.family-children-grid .family-child-address{border-top:1px solid #31465e;padding-top:12px}
.family-children-grid .family-child-actions{padding:12px 16px;background:#1b2c42;border-color:#344961}
.family-children-grid .family-child-actions>.btn{gap:7px;min-height:44px}
.family-children-grid .family-child-actions>.btn .icon{width:15px;height:15px;flex:none}
html[data-theme] .family-children-grid .family-child-contact .btn.btn-contact-pin{background:#234b70!important;border:1px solid #4c7daa!important;border-radius:9px;color:#e6f2ff!important;box-shadow:none;max-width:100%;padding:8px 10px;white-space:normal;gap:6px}
html[data-theme] .family-children-grid .family-child-contact .btn.btn-contact-pin:hover{background:#2e5d89!important;border-color:#91b9e0!important}
.family-children-grid .family-child-card button:focus-visible{outline:3px solid #92c5ff;outline-offset:3px}
@media(max-width:380px){.family-children-grid .family-child-heading{padding:14px;gap:8px}.family-children-grid .family-child-heading .avatar{width:34px;height:34px}.family-children-grid .family-child-heading h3{font-size:16px}.family-children-grid .family-attendance{max-width:82px;padding:5px 6px}.family-children-grid .family-child-info{margin-inline:14px;padding:12px;gap:14px 10px}.family-children-grid .family-child-actions,.family-children-grid .family-child-approval{padding-inline:14px}}
