/* Round 7 family pages (lane r7-family): School years from birth date, Our family's year and the
   Family cost projector. Tokens only (assets/tokens.css), so light and dark themes follow the skin. */
.fy-children{display:grid;gap:var(--space-group);margin-block:var(--space-group)}
.fy-child{background:var(--card);border:3px solid var(--outline);border-radius:var(--radius);padding:var(--space-card)}
.fy-child h3{margin:0 0 var(--space-1)}
.fy-child h4{margin:var(--space-4) 0 var(--space-2);font-size:1rem}
.fy-schemes,.fy-deadlines{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.fy-scheme{border-bottom:2px dashed var(--hair);padding-bottom:var(--space-3)}
.fy-scheme:last-child{border-bottom:0;padding-bottom:0}
.fy-scheme p{margin:0 0 var(--space-1)}
.fy-scheme-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.fy-badge{display:inline-block;padding:2px var(--space-2);border:2px solid var(--outline);border-radius:999px;font-size:.8125rem;font-weight:800;line-height:1.4;white-space:nowrap}
.fy-paid .fy-badge,.fy-due .fy-badge{background:var(--green);color:var(--on-green)}
.fy-applies .fy-badge{background:var(--blue);color:var(--on-blue)}
.fy-check .fy-badge{background:var(--yellow);color:var(--on-yellow)}
.fy-not-eligible .fy-badge{background:var(--soft);color:var(--ink)}
.fy-deadlines li{padding-left:var(--space-4);border-left:4px solid var(--line, var(--brand))}
.sy-table .sy-status{white-space:nowrap;font-weight:700}
.sy-table tr.sy-past{color:var(--muted)}
.sy-table tr[aria-current] th strong::before{content:"Next: ";color:var(--red-ink)}
.fc-estimates{margin-block:var(--space-group)}
.fc-estimates summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center}
@media (min-width:48em){.fy-children{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Row headers in the result tables read as body text, not as the small column labels. */
.result-panel :is(.fc-years,.sy-table) tbody th{color:var(--ink);background:none;font-size:inherit;font-weight:800;text-transform:none;letter-spacing:normal;text-align:left;vertical-align:top}
.result-panel table:is(.fc-years,.sy-table) tr:has(>:nth-child(3)) td:not(:last-child){text-align:left;vertical-align:top}
.result-panel table.fc-years tr:has(>:nth-child(3)) td:last-child{text-align:right;white-space:nowrap;vertical-align:top}
.result-panel .fc-years tbody tr.fc-overlap th{color:var(--red-ink)}
