.checklist-roster{margin:2rem 0;color:var(--text,#f4f4f5)}.checklist-roster h2{font-size:1.3rem}.checklist-roster p{font-size:.9rem;color:var(--muted,#b0b0ba)}.roster-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.roster-filters label{font-size:.9rem;font-weight:600}.roster-filters input,.roster-filters select,.roster-table input{font:inherit;color:#f4f4f5;background:#101013;border:1px solid #50505a;border-radius:8px;min-height:44px;padding:.6rem;width:100%;margin-top:.4rem}.roster-scroll{overflow-x:auto}.roster-table{border-collapse:collapse;width:100%;text-align:left;font-size:.9rem}.roster-table td,.roster-table th{padding:.65rem;border-bottom:1px solid #34343b}.roster-table input{width:85px;margin:0}.roster-table caption{text-align:left;padding:1rem 0;color:#b0b0ba}.progress-save{position:sticky;top:0;z-index:2;background:#101013;display:flex;align-items:center;gap:1rem;padding:1rem 0}.roster-table tr[hidden]{display:none}.roster-filters :focus-visible,.roster-table input:focus-visible{outline:3px solid #4ade80;outline-offset:2px}@media(max-width:600px){.roster-table td,.roster-table th{padding:.55rem .35rem}.roster-table{font-size:.8rem}.roster-table input{width:65px}.progress-save{font-size:.85rem}.roster-filters{grid-template-columns:1fr}} .checklist-roster a{color:#4ade80;text-underline-offset:3px}