.season-summary-shell,.season-summary-admin{display:grid;gap:14px;max-width:1480px;margin:0 auto;min-width:0}
.season-summary-head,.season-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--line);border-top:4px solid var(--accent);background:linear-gradient(110deg,var(--panel),color-mix(in srgb,var(--panel) 88%,var(--accent) 12%));box-shadow:var(--shadow)}
.season-summary-head h2,.season-directory-head h2{margin:3px 0;font-size:clamp(26px,3.2vw,39px);letter-spacing:-.025em}.season-summary-head p,.season-directory-head p{margin:0;color:var(--muted)}
.season-summary-head-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.season-switcher{display:grid;gap:4px;min-width:190px}.season-switcher span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.season-switcher select{min-height:38px;padding:7px 30px 7px 9px;border:1px solid var(--line-strong);border-radius:8px;background:var(--input-bg);color:var(--text)}
.season-status{font-weight:850;text-transform:uppercase}.season-status.is-final{color:var(--success,#16845b)}.season-status.is-active{color:var(--warning,#b56b00)}
.season-summary-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid var(--line);background:var(--panel)}.season-summary-facts>div{padding:12px 16px;border-right:1px solid var(--line)}.season-summary-facts>div:last-child{border:0}.season-summary-facts dt,.season-stat-grid dt{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.season-summary-facts dd{margin:3px 0 0;font:800 24px/1 var(--font-display,inherit)}
.season-summary-panel{min-width:0;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.season-summary-panel>header,.season-competitions-list>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel-2)}.season-summary-panel>header h3,.season-competitions-list>header h3{margin:1px 0;font-size:17px}.season-summary-panel>header p,.season-competitions-list>header p{margin:0}
.season-champions>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.season-champion-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1.2fr);align-items:center;gap:14px;padding:15px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.season-competition-identity{display:flex;align-items:center;gap:10px;min-width:0}.season-competition-identity>span:last-child{display:grid;min-width:0}.season-competition-identity a{overflow:hidden;color:var(--text);font-weight:850;text-overflow:ellipsis;white-space:nowrap}.season-competition-identity small,.season-champion-winner small{color:var(--muted)}.season-competition-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--navy);color:white;font-weight:900}.season-champion-winner{display:grid;gap:5px}.season-champion-label{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.14em}.season-summary-team{display:flex;align-items:center;gap:7px;min-width:0}.season-summary-team b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-summary-pending{font-weight:800;color:var(--muted)}.season-champion-links{display:flex;gap:10px;font-size:11px;font-weight:750}.season-champion-links a,.season-champion-winner>a{color:var(--accent)}
.season-awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.season-award-tile{display:flex;align-items:flex-start;gap:10px;min-height:122px;padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.season-award-tile>div{display:grid;align-content:start;gap:6px;min-width:0;flex:1}.season-award-medal{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft-bg);color:var(--accent);font-size:18px}.season-award-icon{width:38px;height:38px;object-fit:contain}.season-award-tile p{margin:0;color:var(--muted);font-size:11px;line-height:1.35}.season-award-recipient,.season-leader{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text);text-decoration:none}.season-award-recipient>span,.season-leader>span{display:grid;min-width:0}.season-award-recipient b,.season-leader b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-award-recipient small,.season-leader small,.season-award-source{color:var(--muted);font-size:10px}.season-award-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--panel-2)}.season-leader{display:grid;grid-template-columns:36px minmax(0,1fr) auto}.season-leader>strong{font-size:20px}.season-award-metric{color:var(--accent);font-size:11px}.season-empty-awards{grid-column:1/-1;padding:16px}.season-main-awards .season-award-tile{min-height:140px}.season-competitions-list{display:grid;gap:10px}.season-competitions-list>header{padding-inline:0;border:0;background:transparent}.season-competition-panel .season-awards-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.season-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.season-stat-grid>div{padding:14px 16px;border-right:1px solid var(--line)}.season-stat-grid>div:last-child{border:0}.season-stat-grid dd{margin:5px 0 0;font-size:15px;font-weight:800;line-height:1.3}
.season-table-wrap{max-width:100%;overflow:auto}.season-table-wrap table{width:100%;min-width:720px;border-collapse:collapse}.season-table-wrap th,.season-table-wrap td{padding:9px 11px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:12px}.season-table-wrap th{color:var(--muted);background:var(--panel-2);font-size:10px;text-transform:uppercase}.season-table-wrap td:nth-child(n+4),.season-table-wrap th:nth-child(n+4){text-align:center}.season-table-wrap a{color:var(--text);font-weight:750}
.season-directory-head{margin-bottom:14px}.season-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.season-directory-card{display:grid;align-content:start;overflow:hidden;border-radius:0}.season-directory-card.is-current{border-top:4px solid var(--accent)}.season-directory-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 16px;border-bottom:1px solid var(--line)}.season-directory-card h3{margin:3px 0 0;font-size:20px}.season-directory-card dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;background:var(--panel-2)}.season-directory-card dl>div{padding:10px;border-right:1px solid var(--line)}.season-directory-card dt{font-size:9px;font-weight:850;color:var(--muted);text-transform:uppercase}.season-directory-card dd{margin:3px 0 0;font-size:12px;font-weight:750}.season-directory-champions{display:grid;gap:7px;padding:12px 16px}.season-directory-champions>span{font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.1em}.season-directory-champions>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px}.season-directory-champions small{color:var(--muted);font-size:10px}.season-directory-pending{min-height:54px;margin:0;padding:16px;color:var(--muted);font-size:12px}.season-directory-card>footer{display:flex;gap:7px;margin-top:auto;padding:12px 16px;border-top:1px solid var(--line)}
.season-admin-selector{max-width:360px}.season-admin-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.season-admin-slot{display:grid;grid-template-columns:minmax(110px,1fr) minmax(170px,2fr) auto;align-items:center;gap:8px;min-height:58px;padding:10px 13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.season-admin-slot>span{font-weight:850}.season-admin-slot>small,.season-admin-winner small{color:var(--muted)}.season-admin-winner{display:grid;gap:5px;min-width:0}.season-admin-slot>.actions{display:flex;gap:5px}.season-admin-slot.is-automatic{background:var(--panel-2)}.season-admin-custom>div{display:flex;align-items:center;gap:7px;padding:10px 13px;border-bottom:1px solid var(--line)}.season-admin-custom>div>span{display:grid;flex:1}.season-admin-custom small{color:var(--muted)}
.season-admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:17px 19px;border:1px solid var(--line);border-left:5px solid var(--accent);background:var(--panel)}.season-admin-head h2{margin:3px 0;font-size:29px}.season-admin-head p{margin:0;color:var(--muted)}.season-admin-toolbar{display:grid;grid-template-columns:minmax(190px,280px) 1fr;align-items:end;gap:14px;padding:12px 14px;border:1px solid var(--line);background:var(--panel)}.season-admin-toolbar dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.season-admin-toolbar dl>div{padding:5px 12px;border-left:1px solid var(--line)}.season-admin-toolbar dt{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.season-admin-toolbar dd{margin:3px 0 0;font-size:15px;font-weight:850}.season-admin-competition>header small{color:var(--muted)}
.season-publication{display:inline-flex;width:max-content;padding:2px 6px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-weight:850;text-transform:uppercase}.season-publication.is-published{background:var(--ok-bg);color:var(--ok-ink)}.season-publication.is-draft{background:var(--warn-bg);color:var(--warn-ink)}.season-publication.is-hidden{background:var(--gray-bg);color:var(--gray-ink)}.season-admin-pending{font-weight:750}.season-admin-empty{margin:0;padding:12px 14px}.season-admin-preview{display:grid;gap:10px;padding:12px;border:2px dashed var(--accent-soft-line);background:var(--panel-2)}.season-admin-preview[hidden]{display:none}.season-admin-preview>header{display:flex;align-items:center;justify-content:space-between}.season-admin-preview>header h3{margin:2px 0}.season-admin-preview .season-summary-shell{width:100%;max-height:70vh;padding:10px;overflow:auto;border:1px solid var(--line);background:var(--bg)}.season-admin-preview .season-summary-head-actions>.btn{display:none}
.season-admin-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px}.season-admin-directory-card{overflow:hidden}.season-admin-directory-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line)}.season-admin-directory-card h3{margin:3px 0;font-size:19px}.season-admin-directory-card p{margin:0;color:var(--muted);font-size:11px}.season-admin-directory-card dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;background:var(--panel-2)}.season-admin-directory-card dl>div{padding:10px;border-right:1px solid var(--line)}.season-admin-directory-card dt{font-size:9px;color:var(--muted);text-transform:uppercase}.season-admin-directory-card dd{margin:3px 0 0;font-size:18px;font-weight:850}.season-admin-directory-card>footer{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px}
@media(max-width:1100px){.season-champions>div{grid-template-columns:1fr}.season-awards-grid,.season-competition-panel .season-awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-stat-grid>div:nth-child(2){border-right:0}.season-stat-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:760px){.season-summary-head,.season-directory-head,.season-admin-head{align-items:flex-start;flex-direction:column;padding:16px}.season-admin-head .actions{width:100%}.season-admin-head .actions .btn{flex:1}.season-summary-head-actions,.season-summary-head-actions>*{width:100%}.season-summary-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.season-summary-facts>div:nth-child(2){border-right:0}.season-summary-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.season-champion-row{grid-template-columns:1fr}.season-awards-grid,.season-competition-panel .season-awards-grid,.season-admin-slots{grid-template-columns:1fr}.season-admin-slot{grid-template-columns:1fr auto}.season-admin-slot>b,.season-admin-slot>small,.season-admin-winner{grid-column:1/-1}.season-admin-slot>.actions{justify-content:flex-end}.season-summary-panel>header{align-items:flex-start;flex-direction:column}.season-admin-custom>div{align-items:flex-start;flex-wrap:wrap}.season-admin-custom>div>span{flex-basis:100%}.season-directory{grid-template-columns:1fr}.season-directory-card>footer .btn{flex:1}.season-summary-head h2{font-size:25px}.season-admin-toolbar{grid-template-columns:1fr}.season-admin-toolbar dl{grid-template-columns:repeat(2,minmax(0,1fr))}.season-admin-toolbar dl>div{border:1px solid var(--line);margin:-1px 0 0 -1px}.season-admin-directory{grid-template-columns:1fr}.season-admin-directory-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.season-admin-directory-card>footer .btn{flex:1}}
@media(max-width:430px){.season-summary-shell,.season-summary-admin{gap:10px}.season-summary-facts>div{padding:10px 12px}.season-summary-facts dd{font-size:21px}.season-award-tile{min-height:0}.season-stat-grid{grid-template-columns:1fr}.season-stat-grid>div{border-right:0;border-bottom:1px solid var(--line)}.season-directory-card dl{grid-template-columns:1fr}.season-directory-card dl>div{display:flex;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.season-directory-champions>div{grid-template-columns:28px minmax(0,1fr)}.season-directory-champions small{grid-column:2}.season-directory-card>footer{flex-direction:column}}

/* Escudos de temporadas: dimensiones locales para que las reglas globales de imagen no amplíen las tarjetas. */
.season-directory-champions>div{min-height:32px}
.season-directory-champions .team-logo{display:block;flex:0 0 28px;width:28px!important;height:28px!important;max-width:28px;max-height:28px;object-fit:contain}
.season-champion-winner .season-summary-team .team-logo{display:block;flex:0 0 48px;width:48px!important;height:48px!important;max-width:48px;max-height:48px;object-fit:contain}
.season-award-recipient .season-summary-team .team-logo{display:block;flex:0 0 40px;width:40px!important;height:40px!important;max-width:40px;max-height:40px;object-fit:contain}
