/* Both factions stay equal-width; each faction owns a single scroll area. */
.teams-grid.squad-rosters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.squad-team .squad-scroll{max-height:calc(100dvh - 410px);min-height:180px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.squad-team .squad-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.squad-team .squad-group{border-bottom:1px solid var(--line);white-space:normal}
.squad-team .squad-group:last-child{border-bottom:0}
.squad-team .squad-group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;cursor:pointer;list-style:none;color:var(--text);background:#f3f6fb;font-size:12px}
.squad-team .squad-group>summary::-webkit-details-marker{display:none}
.squad-team .squad-group>summary:before{content:'›';flex-shrink:0;color:var(--muted);transition:transform .12s}
.squad-team .squad-group[open]>summary:before{transform:rotate(90deg)}
.squad-group-title{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1;flex-wrap:wrap}
.squad-group-title b{font-weight:600;white-space:nowrap}
.squad-team .squad-name{color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.squad-team .squad-count{flex-shrink:0;color:var(--ink-2);font-size:10px;white-space:nowrap}
.squad-team .squad-meta{display:flex;justify-content:space-between;gap:8px;padding:5px 11px;color:var(--muted);font-size:10px;background:#fcfdff}
.squad-team .squad-meta span:first-child{min-width:0;overflow-wrap:anywhere}
.squad-team .squad-meta span:last-child{white-space:nowrap}
.squad-team .squad-scroll .table-wrap{max-height:none;min-height:0;overflow:auto}
.squad-team .squad-scroll th{position:static}
.squad-team .squad-scroll th,.squad-team .squad-scroll td{padding:7px 9px}
.squad-team .squad-scroll .identity{min-width:110px}
.squad-team .squad-scroll .identity>div{max-width:230px;overflow:hidden;text-overflow:ellipsis}
.squad-team .squad-scroll .empty{padding:24px 10px}
.squad-unknown-team{margin-top:12px}
@media(min-width:1101px){.squad-team .squad-scroll{max-height:calc(100dvh - 420px)}}
@media(max-width:700px){.squad-team .squad-scroll{max-height:calc(100dvh - 385px);min-height:190px}.squad-team .squad-group>summary{padding:7px 6px;gap:5px;font-size:11px}.squad-group-title{gap:2px}.squad-group-title .squad-name{width:100%;font-size:9px}.squad-team .squad-meta{padding:4px 6px;font-size:9px}.squad-team .squad-meta span:last-child{display:none}.squad-team .squad-scroll th,.squad-team .squad-scroll td{padding:7px 6px}.squad-team .squad-scroll .identity{min-width:90px}}

/* Keep each squad table usable inside narrow equal-width faction columns. */
.squad-team .squad-scroll table{table-layout:fixed;white-space:normal}
.squad-team .squad-scroll th:nth-child(3),.squad-team .squad-scroll td:nth-child(3){display:none}
.squad-team .squad-scroll th:first-child{width:48%}
.squad-team .squad-scroll th:nth-child(5){width:22%}
.squad-team .squad-scroll th:last-child{width:30%}
.squad-team .squad-scroll .roster-identity{min-width:0;display:block}
.squad-team .squad-scroll .roster-identity>div{max-width:100%;overflow:visible}
.roster-player-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.roster-player-role{display:block;font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.squad-team .squad-scroll td:nth-child(5){white-space:nowrap}
.squad-team .squad-scroll .link{font-size:10px;line-height:1.3}
@media(max-width:700px){.squad-team .squad-scroll th,.squad-team .squad-scroll td{padding:6px 4px;font-size:10px}.squad-team .squad-scroll th:last-child{width:27%}.squad-team .squad-scroll th:first-child{width:51%}.squad-team .squad-scroll .link{font-size:9px}}
