.team-dialog-shell { width:min(1080px,100%); max-height:90dvh; display:flex; flex-direction:column; overflow:hidden; background:#fff; color:#022c22; border-radius:1.5rem; box-shadow:0 24px 80px #0005; }
.team-dialog-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:1.5rem 2rem 1rem; }
.team-eyebrow { color:#b91c1c; text-transform:uppercase; font-size:.7rem; font-weight:800; letter-spacing:.14em; margin:0 0 .4rem; }
.team-dialog-header h2 { margin:0; font:700 clamp(1.6rem,3vw,2.4rem)/1.1 Oswald,sans-serif; text-transform:uppercase; }
.team-close { display:grid; place-items:center; width:2.5rem; height:2.5rem; flex-shrink:0; background:#f1f5f9; border-radius:50%; color:#022c22; }
.team-close svg { width:1.4rem; height:1.4rem; }
.team-variant-bar { padding:0 2rem 1rem; }
.team-variant-bar label { display:flex; align-items:center; gap:.8rem; font-size:.75rem; font-weight:700; }
.team-variant-select { border:1px solid #cbd5e1; border-radius:.5rem; padding:.5rem 2rem .5rem .7rem; background:#fff; max-width:100%; font-size:.85rem; }
.team-section-tabs { display:flex; gap:1.5rem; padding:0 2rem; border-bottom:1px solid #e2e8f0; flex-shrink:0; overflow-x:auto; }
.team-section-tabs button { padding:.8rem 0; border-bottom:3px solid transparent; font-weight:700; font-size:.85rem; white-space:nowrap; }
.team-section-tabs [aria-selected=true] { color:#b91c1c; border-color:#dc2626; }
.team-dialog-body { overflow:auto; overscroll-behavior:contain; padding:1.5rem 2rem 2rem; }
.team-panel[hidden] { display:none; }
.team-panel > h3 { font:700 1.4rem Oswald,sans-serif; text-transform:uppercase; margin:0 0 1rem; }
.team-overview { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:2rem; align-items:start; }
.team-photo-frame { margin:0; overflow:hidden; background:#f1f5f9; border-radius:.8rem; }
.team-photo { display:block; width:100%; height:auto; max-height:360px; object-fit:contain; }
.team-photo-brand { height:220px; padding:3rem; }
.team-photo-frame figcaption { text-align:center; font-size:.75rem; padding:0 1rem 1rem; color:#64748b; }
.team-facts { display:grid; gap:1.5rem; }
.team-facts h3 { margin:0 0 .65rem; font:700 .9rem Oswald,sans-serif; text-transform:uppercase; letter-spacing:.04em; }
.team-coaches { font-weight:600; font-size:.9rem; line-height:1.6; }
.team-contact { display:flex; align-items:center; gap:.5rem; color:#b91c1c; font-size:.8rem; margin-top:.6rem; overflow-wrap:anywhere; }
.team-contact svg { width:1rem; height:1rem; flex-shrink:0; }
.team-training { margin:0; padding:0; list-style:none; }
.team-training li { display:grid; grid-template-columns:1fr auto; gap:.2rem .6rem; border-top:1px solid #e2e8f0; padding:.6rem 0; font-size:.8rem; }
.team-training small { grid-column:1/-1; color:#64748b; font-size:.75rem; }
.team-info-note,.team-data-source { color:#64748b; font-size:.8rem; margin-top:1rem; }
.team-match-row { display:grid; grid-template-columns:7rem minmax(0,1fr) 4rem; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid #e2e8f0; }
.team-match-date { font-size:.75rem; color:#64748b; }
.team-match-date strong { display:block; color:#022c22; font-weight:700; }
.team-club-line { display:flex; align-items:center; gap:.5rem; min-width:0; font-weight:600; font-size:.9rem; }
.team-club-line + .team-club-line { margin-top:.4rem; }
.team-club-logo { width:1.8rem; height:1.8rem; object-fit:contain; flex-shrink:0; background:#fff; border-radius:.2rem; padding:.1rem; }
.team-match-result { font:700 1.4rem Oswald,sans-serif; text-align:right; }
.team-match-venue { display:block; color:#64748b; font-size:.7rem; margin-top:.5rem; }
.team-fixture-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.team-fixture-filters button { border:1px solid #cbd5e1; border-radius:.4rem; padding:.4rem .75rem; font-size:.75rem; font-weight:700; }
.team-fixture-filters button[aria-pressed=true] { background:#022c22; color:#fff; border-color:#022c22; }
.team-table-data table { border-collapse:collapse; width:100%; font-size:.8rem; }
.team-table-data th { color:#64748b; background:#f8fafc; }
.team-table-data th,.team-table-data td { padding:.65rem .5rem; border-bottom:1px solid #e2e8f0; }
.team-table-data th:nth-child(n+3),.team-table-data td:nth-child(n+3) { text-align:right; white-space:nowrap; }
.team-table-data .team-club-line { font-size:.8rem; }
.team-source-links { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1rem; font-size:.75rem; color:#b91c1c; text-decoration:underline; }
.team-dialog button:focus-visible,.team-dialog select:focus-visible,.team-dialog a:focus-visible { outline:3px solid #dc2626; outline-offset:3px; }
.dark .team-dialog-shell { background:#0f172a; color:#f1f5f9; }
.dark .team-section-tabs,.dark .team-training li,.dark .team-match-row,.dark .team-table-data td { border-color:#334155; }
.dark .team-photo-frame,.dark .team-table-data th { background:#1e293b; }
.dark .team-variant-select { background:#1e293b; color:#fff; }
.dark .team-contact,.dark .team-section-tabs [aria-selected=true],.dark .team-source-links { color:#fca5a5; }
.dark .team-match-date strong { color:#f1f5f9; }
@media(max-width:700px) { .team-dialog-shell { max-height:92dvh; border-radius:1rem; } .team-dialog-header { padding:1.2rem 1.2rem .8rem; } .team-variant-bar { padding:0 1.2rem .8rem; } .team-section-tabs { padding:0 1.2rem; gap:1.2rem; } .team-dialog-body { padding:1.2rem; } .team-overview { grid-template-columns:1fr; gap:1.2rem; } .team-photo { max-height:240px; } .team-match-row { grid-template-columns:minmax(0,1fr) 3.5rem; gap:.5rem; } .team-match-date { grid-column:1/-1; } .team-table-data table { font-size:.7rem; } .team-table-data .team-club-line { font-size:.75rem; } .team-table-data th,.team-table-data td { padding:.6rem .3rem; } }

.team-own-standing { background:#f0fdf4; font-weight:800; } .dark .team-own-standing { background:#164e38; }

.team-dialog { pointer-events:none; } .team-dialog.active { pointer-events:auto; }
.team-club-line > span { overflow-wrap:anywhere; }
