.roster-page{padding-block:4px 24px}
.roster-intro{max-width:680px;color:var(--muted);margin:12px 0 28px}
.roster-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-block:24px 32px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.roster-filters label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}
.roster-filters select{min-height:46px;max-width:100%;padding:10px 34px 10px 12px;border:1px solid #68645e;border-radius:5px;background:#242422;color:var(--paper);font:inherit}
.roster-filters .button{min-height:46px;padding:10px 22px;font-size:14px;cursor:pointer}
.roster-filters select:focus-visible{outline:3px solid #ffae6b;outline-offset:3px}
.roster-heading{border-left:3px solid var(--orange);padding:4px 0 4px 20px;margin:28px 0}
.roster-heading .eyebrow{margin:0 0 10px}
.roster-heading h2{margin:0;font-size:clamp(27px,4vw,36px)}
.roster-heading p:last-child,.roster-count{color:var(--muted);font-size:14px}
.roster-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:#191918}
.roster-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;text-align:left}
.roster-table caption{text-align:left;padding:16px 18px;color:var(--muted);font-size:13px}
.roster-table th,.roster-table td{padding:14px 18px;border-top:1px solid var(--border)}
.roster-table thead th{background:#242422;color:var(--muted);font-size:11px;letter-spacing:.7px;text-transform:uppercase}
.roster-table tbody th{font-weight:700;color:var(--paper)}
.roster-table tbody tr:nth-child(even){background:#ffffff03}
.roster-table td:first-child{color:#ffad79;font-weight:700}
.roster-note{margin-top:22px;font-size:12px;color:var(--muted);max-width:780px}
.roster-note a{color:#ffad79;text-underline-offset:3px}
.roster-empty{padding:24px;border:1px solid var(--border);border-radius:8px;background:#191918}
.roster-empty h3{margin-top:0}
.roster-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.roster-edit-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}
.roster-edit-fields input{min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid #68645e;border-radius:5px;background:#242422;color:var(--paper);font:inherit}
.roster-edit-fields input:focus-visible{outline:3px solid #ffae6b;outline-offset:3px}
.roster-edit-actions{display:flex;flex-wrap:wrap;gap:14px}
.roster-delete{margin-block:28px;padding:18px;border:1px solid var(--border);border-radius:8px}
.roster-delete summary{cursor:pointer;font-weight:700;color:#ffad79}
.roster-delete input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px}
@media(max-width:640px){.roster-edit-fields{grid-template-columns:1fr}}
@media(max-width:640px){.roster-filters{gap:14px}.roster-filters label:first-child{width:100%}.roster-filters select{width:100%}.roster-filters .button{width:100%}.roster-heading{padding-left:16px}.roster-table th,.roster-table td{padding:12px}}
