/* Roster-specific styles. Uses the site's existing dark variables. */
.roster-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:8px}
.roster-heading h1{margin:0;font-size:clamp(2rem,7vw,3.8rem);line-height:1.05}
.eyebrow{margin:0 0 4px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.roster-tools{padding-top:18px;padding-bottom:12px}
.roster-tools label{display:block;font-weight:800;margin-bottom:8px}
.roster-tools input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit}
.roster-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding-top:14px}
.roster-link{display:flex;align-items:center;justify-content:center;min-height:62px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);font-weight:800;text-decoration:none;text-align:center;box-shadow:var(--shadow)}
.roster-link:first-child{border-color:var(--blue)}
.roster-link:hover,.roster-link:focus-visible{transform:translateY(-2px);outline:2px solid var(--blue)}
.unit-group{margin:0 0 12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}
.unit-group summary{cursor:pointer;padding:15px 18px;font-weight:850;list-style:none;display:flex;justify-content:space-between;gap:12px}
.unit-group summary::-webkit-details-marker{display:none}
.unit-group summary::after{content:'+';color:var(--red);font-size:1.25rem}
.unit-group[open] summary::after{content:'−'}
.unit-group[open] summary{border-bottom:1px solid var(--border)}
.table-wrap{overflow-x:auto}
.roster-table{width:100%;border-collapse:collapse;min-width:540px}
.roster-table th,.roster-table td{padding:11px 14px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
.roster-table th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.roster-table tr:last-child td{border-bottom:0}
.open-row{color:#fff;background:rgba(199,34,42,.17);font-weight:800}
.master-list-mobile{display:none}
.person-card{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:12px;padding:14px}
.person-card strong{display:block;font-size:1.05rem}.person-card small{display:block;color:var(--muted)}
.search-results:empty{display:none}.search-results{margin-top:12px}.search-summary{color:var(--muted);margin:0 0 8px}
.search-hit{display:block;padding:12px 14px;margin:8px 0;background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:10px;text-decoration:none}
@media(max-width:760px){.roster-heading{align-items:flex-start;flex-direction:column}.roster-heading .button{display:none}.roster-links{grid-template-columns:1fr 1fr;gap:9px}.roster-link{min-height:54px;padding:11px;font-size:.94rem}.roster-table.master{display:none}.master-list-mobile{display:grid;gap:10px}.unit-group summary{padding:14px}.roster-table{min-width:430px}.roster-table th,.roster-table td{padding:9px 10px}}
@media(max-width:390px){.roster-links{grid-template-columns:1fr}}
