.teams-page { min-height:60vh; }
.teams-page .heading-description { margin-top:10px; max-width:560px; }
.teams-primary,.teams-secondary,.team-follow { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border-radius:7px; font-size:12px; font-weight:600; text-align:center; }
.teams-primary { background:#bf1e2e; color:#fff; border:1px solid #bf1e2e; }
.teams-primary:hover { color:#fff; filter:brightness(.92); }
.teams-secondary { background:var(--panel); border:1px solid var(--line); color:var(--text); }
.teams-secondary:hover { border-color:var(--link); color:var(--link); }
.teams-back,.teams-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-bottom:24px; font-size:12px; color:var(--muted); }
.teams-back,.teams-breadcrumbs a { min-height:32px; align-items:center; }
.teams-breadcrumbs a { display:inline-flex; }
.teams-heading-icon { width:36px; height:36px; color:var(--red); }
.teams-status { color:var(--muted); font-size:12px; min-height:22px; margin:12px 0; }
.teams-error { display:flex; justify-content:space-between; align-items:center; padding:16px; gap:16px; margin-bottom:20px; border-left:3px solid var(--red); }
.teams-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; }
.teams-toolbar h2 { display:flex; gap:10px; align-items:center; }
.teams-toolbar p,.teams-meta { font-size:12px; color:var(--muted); }
.teams-toolbar p { margin-top:6px; }
.teams-toolbar .icon-button { display:grid; place-items:center; flex-shrink:0; }
.school-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.school-card { overflow:hidden; min-width:0; }
.school-card-heading { display:flex; align-items:center; gap:14px; padding:20px; border-bottom:1px solid var(--line); }
.school-logo { position:relative; width:48px; height:48px; flex-shrink:0; display:grid; place-items:center; border-radius:9px; background:var(--soft); overflow:hidden; font-weight:600; color:var(--muted); }
.school-logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:5px; background:#fff; }
.school-identity { min-width:0; }
.school-identity h3 { font-size:18px; overflow-wrap:anywhere; }
.school-identity p { font-size:12px; color:var(--muted); }
.school-drag { background:transparent; color:var(--muted); font-size:22px; cursor:grab; margin-left:auto; padding:0 4px; min-width:44px; min-height:44px; flex-shrink:0; touch-action:none; user-select:none; }
.school-drag:active { cursor:grabbing; }
.school-card.is-dragging { opacity:.55; }
.school-card.is-drop-target { outline:2px solid var(--link); outline-offset:3px; }
.school-teams { list-style:none; padding:0; margin:0; }
.school-team-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 20px; }
.school-team-row+.school-team-row { border-top:1px solid var(--line); }
.school-team-link { min-width:0; display:grid; gap:5px; }
.school-team-link strong { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.school-team-link>span { color:var(--muted); font-size:11px; }
.school-team-link:hover>span { color:var(--link); }
.team-follow { flex-shrink:0; background:var(--panel); border:1px solid var(--line); min-width:112px; padding:9px 12px; }
.team-follow .icon { width:15px; height:15px; }
.team-follow[aria-pressed=true] { background:var(--soft); color:var(--link); border-color:var(--soft); }
.team-follow[aria-pressed=true] .icon { fill:currentColor; }
.team-follow:hover { border-color:var(--link); }
.school-more { border-top:1px solid var(--line); }
.school-more summary { padding:14px 20px; color:var(--muted); font-size:12px; cursor:pointer; }
.school-more summary:focus-visible { outline:3px solid var(--link); outline-offset:-4px; }
.school-more summary span { font-size:10px; margin-left:6px; }
.school-more[open] summary { border-bottom:1px solid var(--line); }
.teams-search { padding:20px; }
.teams-search label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
.teams-search>div { display:flex; gap:12px; }
.teams-search input { min-width:0; flex:1; height:46px; padding:10px 14px; border:1px solid var(--line); background:var(--bg); border-radius:7px; }
.teams-search input::placeholder { color:var(--muted); }
.teams-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:26px; font-size:12px; color:var(--muted); }
.teams-empty { min-height:300px; gap:14px; }
.teams-empty>.icon { width:32px; height:32px; color:var(--red); }
.teams-empty h2 { font-size:24px; }
.teams-dialog { width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:30px; margin:auto; background:var(--panel); color:var(--text); border:1px solid var(--line); border-radius:12px; box-shadow:0 20px 80px #0005; }
.teams-dialog::backdrop { background:#0009; }
.teams-dialog-icon { width:44px; height:44px; display:grid; place-items:center; color:var(--red); background:var(--soft); border-radius:10px; margin-bottom:20px; }
.teams-dialog h2 { font-size:23px; }
.teams-dialog p { color:var(--muted); margin-top:12px; font-size:13px; }
.teams-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:26px; }
.teams-dialog-actions form { margin:0; }
.team-profile { display:flex; align-items:center; gap:20px; padding:28px; }
.team-profile-logo { width:80px; height:80px; }
.team-profile-identity { min-width:0; }
.team-profile-identity h1 { margin:5px 0; overflow-wrap:anywhere; }
.team-profile-identity>p:not(.eyebrow) { color:var(--muted); font-size:14px; }
.team-profile-identity>span { display:block; color:var(--muted); font-size:12px; margin-top:8px; }
.team-profile>.team-follow { margin-left:auto; }
.team-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:24px; align-items:start; }
.team-detail-grid>section { min-width:0; }
.team-schedule { overflow:hidden; }
.team-schedule-row { display:grid; grid-template-columns:78px 40px minmax(0,1fr) auto; align-items:center; gap:14px; padding:20px; }
.team-schedule-row+.team-schedule-row { border-top:1px solid var(--line); }
.team-schedule-row .school-logo { width:40px; height:40px; }
.team-game-date,.team-game-link { display:grid; gap:4px; }
.team-game-date strong,.team-opponent>a { font-size:13px; font-weight:600; }
.team-game-date span,.team-opponent p,.team-game-link>span { font-size:11px; color:var(--muted); }
.team-opponent { min-width:0; overflow-wrap:anywhere; }
.team-opponent p { margin-top:4px; }
.team-game-link { text-align:right; }
.team-game-link strong { font-size:15px; font-variant-numeric:tabular-nums; }
.team-game-link>span { color:var(--link); }
.team-result { color:var(--muted); font-size:11px; margin-right:5px; }
.team-season { padding:22px; }
.team-season h2 { margin:8px 0 20px; }
.team-records { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); text-align:center; }
.team-records>div { display:flex; flex-direction:column; padding:0 8px; gap:6px; }
.team-records>div+div { border-left:1px solid var(--line); }
.team-records span { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--muted); }
.team-records strong { font-size:30px; font-weight:600; }
.team-records small { font-size:11px; color:var(--muted); }
.team-splits { margin:22px 0 0; border-top:1px solid var(--line); }
.team-splits>div { display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.team-splits dt { color:var(--muted); }
.team-splits dd { margin:0; font-weight:600; }
.team-standings-link { margin-top:20px; width:100%; }
@media (max-width:980px) {
    .team-detail-grid { grid-template-columns:minmax(0,1fr); }
    .team-season { max-width:none; }
}
@media (max-width:740px) {
    .school-grid { grid-template-columns:minmax(0,1fr); }
    .team-profile { flex-wrap:wrap; padding:20px; gap:16px; }
    .team-profile-logo { width:60px; height:60px; }
    .team-profile-identity { flex:1; }
    .team-profile>.team-follow { margin-left:0; width:100%; }
}
@media (max-width:480px) {
    .teams-page .dashboard-heading { align-items:flex-start; flex-wrap:wrap; gap:16px; }
    .teams-heading-icon { display:none; }
    .teams-search { padding:16px; }
    .teams-search>div { flex-direction:column; }
    .school-card-heading { padding:16px; gap:10px; }
    .school-team-row { padding:14px 16px; gap:10px; }
    .team-follow { min-width:100px; padding:9px; }
    .school-more summary { padding:14px 16px; }
    .team-schedule-row { grid-template-columns:63px 32px minmax(0,1fr); gap:10px; padding:16px; }
    .team-schedule-row .school-logo { width:32px; height:32px; }
    .team-game-date strong { font-size:11px; }
    .team-game-link { grid-column:3; text-align:left; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
    .teams-dialog { padding:24px; }
}
