:root{
  --bg:#edf1ed;--surface:#fff;--surface2:#f5f7f4;--ink:#101713;--muted:#66736b;
  --hero:#123426;--hero2:#071b12;--amber:#ffb21f;--line:#d7dfd9;--green:#1d8c4d;
  --orange:#df661d;--blue:#3267c8;--red:#b8433a;--shadow:0 8px 28px rgba(12,34,23,.08);
  --radius:16px
}
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);scroll-behavior:smooth}body{margin:0}.wrap{width:min(1180px,calc(100% - 28px));margin:auto}button,input,select{font:inherit}.top{background:radial-gradient(circle at 82% 18%,rgba(255,178,31,.13),transparent 24%),linear-gradient(135deg,var(--hero),var(--hero2));color:#fff;border-bottom:7px solid var(--amber);position:relative;overflow:hidden}.top:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.02) 18px 36px);pointer-events:none}.hero{position:relative;z-index:1;padding:52px 0 40px;display:flex;justify-content:space-between;gap:36px;align-items:flex-end}.eyebrow{color:var(--amber);letter-spacing:.14em;font-weight:900;font-size:.78rem;margin:0 0 10px}.hero h1{font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(3rem,7vw,5.6rem);font-style:italic;text-transform:uppercase;line-height:.82;margin:0;letter-spacing:-.02em}.sub{color:#d0dfd5;margin:18px 0 0;max-width:620px;font-size:1.04rem}.hero-side{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.status-dot{display:flex;align-items:center;gap:8px;color:#d0dfd5;font-size:.82rem}.status-dot span{width:8px;height:8px;border-radius:50%;background:#69d690;box-shadow:0 0 0 5px rgba(105,214,144,.1)}.ghost-light{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:9px 13px;cursor:pointer}.ghost-light:hover{background:rgba(255,255,255,.12)}
.nav{background:#0a2116;position:sticky;top:0;z-index:20;box-shadow:0 4px 18px #0003}.navin{display:flex;overflow:auto;scrollbar-width:none}.navin::-webkit-scrollbar{display:none}.nav button{border:0;background:none;color:#b9cdc0;font-weight:800;font-size:.78rem;padding:15px 16px;text-transform:uppercase;letter-spacing:.045em;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}.nav button[aria-pressed=true]{color:var(--amber);border-color:var(--amber)}main{padding:28px 0 72px;min-height:62vh}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card.compact{padding:14px}.sport{border-left:5px solid var(--sport,#607067)}.futbol{--sport:var(--green)}.basquet{--sport:var(--orange)}.voley{--sport:var(--blue)}.card h2,.card h3,.card h4,.section-title h2,.modal h2,.modal h3{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;text-transform:uppercase}.card h2{font-size:1.72rem;margin:4px 0 8px}.card h3{font-size:1.25rem;margin:18px 0 8px}.muted{color:var(--muted)}.small{font-size:.82rem}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:#e8ede9;color:#425148;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.025em}.pill.amber{background:#fff0ce;color:#775009}.pill.live{background:#e3f5e9;color:#17683a}.pill.gray{background:#ecefed;color:#59645e}.pill.red{background:#f9e6e4;color:#8d332c}.section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:28px 0 12px}.section-title h2{font-size:1.85rem;margin:0}.section-title p{margin:0;color:var(--muted);font-size:.86rem}
.featured{background:linear-gradient(135deg,#fff,#f7faf6);padding:0;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr}.featured-main{padding:24px}.featured-side{background:#102f22;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.featured-side .muted{color:#c3d6c9}.featured-title{font-family:"Arial Narrow",Impact,sans-serif;text-transform:uppercase;font-style:italic;font-size:.9rem;color:var(--muted);font-weight:900;letter-spacing:.07em}.featured-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:20px 0}.featured-team{font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(1.6rem,4vw,2.4rem);font-style:italic;text-transform:uppercase;line-height:.95}.featured-team.right{text-align:right}.vs{font-weight:950;color:var(--amber);font-size:1.2rem}.score-big{font:900 italic clamp(2rem,5vw,3.6rem) "Arial Narrow",Impact,sans-serif;color:var(--amber);text-align:center;white-space:nowrap}.match-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.86rem}.match-meta span{background:var(--surface2);border:1px solid var(--line);padding:6px 9px;border-radius:999px}.featured-side .match-meta span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#d7e5db}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:13px}.stat b{display:block;font:900 italic 2rem "Arial Narrow",Impact,sans-serif}.stat span{color:var(--muted);font-size:.78rem}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 12px;font-weight:800;font-size:.8rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{background:#f3f6f3}.btn.pri{background:#123426;color:#fff;border-color:#123426}.btn.pri:hover{background:#0d291d}.btn.amber{background:var(--amber);color:#1e1b12;border-color:var(--amber)}.btn.danger{color:#8b2f28}.btn.icon{padding:8px 10px}.link-btn{border:0;background:none;color:#176b3d;font-weight:850;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}
.match-card{padding:0;overflow:hidden}.match-card .match-head{padding:13px 15px;background:var(--surface2);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}.match-card .match-body{padding:15px}.match-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.team-name{font-weight:900;line-height:1.1}.team-name.right{text-align:right}.score{font:900 italic 1.4rem "Arial Narrow",Impact,sans-serif;background:#10261b;color:var(--amber);padding:6px 10px;border-radius:7px;min-width:66px;text-align:center}.secondary-score{text-align:center;font-size:.72rem;color:var(--muted);margin-top:4px}.match-actions{display:flex;gap:7px;margin-top:13px;flex-wrap:wrap}.date{font-size:.78rem;color:var(--muted)}
.filters{display:grid;grid-template-columns:1.2fr repeat(3,minmax(145px,.7fr));gap:9px;margin-bottom:16px}.filter{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.filter label{display:block;font-size:.67rem;text-transform:uppercase;color:var(--muted);font-weight:900;letter-spacing:.04em;margin-bottom:4px}.filter input,.filter select{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.86rem;background:var(--surface)}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--surface)}th{font-size:.68rem;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}tbody tr:hover td{background:#f8faf8}tbody tr:hover td:first-child{background:#f8faf8}.rank{display:inline-flex;width:23px;height:23px;border-radius:50%;align-items:center;justify-content:center;background:#eef2ef;margin-right:6px;font-size:.72rem}.team-link{border:0;background:none;padding:0;font-weight:900;color:inherit;cursor:pointer}.team-link:hover{color:#166b3c;text-decoration:underline}
.tournament-card{display:flex;flex-direction:column}.tournament-card .grow{flex:1}.mini-list{display:grid;gap:7px;margin-top:12px}.mini-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;background:var(--surface2);border-radius:9px;font-size:.82rem}.mini-item strong:last-child{text-align:right}.progress{height:7px;background:#e7ebe8;border-radius:99px;overflow:hidden;margin-top:8px}.progress span{display:block;height:100%;background:#1f8a4c;border-radius:99px}
.favorite-card{border:1px solid #e2bd61;background:linear-gradient(135deg,#fff8e7,#fff)}.favorite-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.favorite-team{font:900 italic 2rem "Arial Narrow",Impact,sans-serif;text-transform:uppercase;margin:3px 0}.favorite-empty{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.calendar-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:16px}.calendar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.cal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.cal-head h2{font:900 italic 1.6rem "Arial Narrow",Impact,sans-serif;text-transform:uppercase;margin:0}.cal-nav{display:flex;gap:6px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-dow{text-align:center;font-size:.68rem;font-weight:900;color:var(--muted);text-transform:uppercase;padding:5px}.cal-day{min-height:82px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px;cursor:pointer;text-align:left;position:relative}.cal-day:hover{background:#f8faf8}.cal-day.out{opacity:.38}.cal-day.selected{border-color:#123426;box-shadow:inset 0 0 0 1px #123426}.cal-day.today .num{background:#123426;color:#fff}.cal-day .num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-weight:900;font-size:.78rem}.dots{display:flex;gap:3px;margin-top:9px;flex-wrap:wrap}.dot{width:7px;height:7px;border-radius:50%;background:#7b8b81}.dot.futbol{background:var(--green)}.dot.basquet{background:var(--orange)}.dot.voley{background:var(--blue)}.dot.event{background:var(--amber)}.day-panel{display:grid;gap:10px;align-content:start}.day-panel h3{font:900 italic 1.45rem "Arial Narrow",Impact,sans-serif;text-transform:uppercase;margin:0}.day-item{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.event-card .event-date{font:900 italic 1.45rem "Arial Narrow",Impact,sans-serif;color:#123426}.activity-card .activity-time{font-weight:900}.privacy-box{background:#f4f8f5;border:1px solid #cadbd0;border-left:5px solid #21844b;border-radius:12px;padding:15px;margin-bottom:16px}.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.privacy-list{padding:0;margin:10px 0 0;list-style:none;display:grid;gap:7px}.privacy-list li{display:flex;gap:8px;align-items:start}.privacy-list li:before{content:"✓";font-weight:900;color:#21844b}.privacy-list.no li:before{content:"×";color:#a63d35}
.empty{text-align:center;background:var(--surface);border:1px dashed #b5c2ba;border-radius:var(--radius);padding:48px 20px}.empty h2{font:900 italic 1.8rem "Arial Narrow",Impact,sans-serif;text-transform:uppercase;margin:0 0 7px}.empty p{color:var(--muted);margin:0}.notice{padding:12px 14px;border-left:5px solid var(--amber);background:#fff8e6;border-radius:9px;margin-bottom:14px}.results-stack{display:grid;gap:10px}
footer{background:#0a2116;color:#a9bdb0;padding:28px 0;font-size:.82rem}.footer-grid{display:flex;justify-content:space-between;gap:18px;align-items:center}.footer-link{border:0;background:none;color:#d0ded4;text-decoration:underline;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:rgba(1,10,6,.62);z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal{width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;background:var(--surface);border-radius:18px;padding:24px;position:relative;box-shadow:0 30px 80px #0005}.modal-close{position:sticky;float:right;top:0;margin:-8px -8px 0 10px;border:0;background:#eef2ef;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:2}.modal h2{font-size:2rem;margin:4px 0 6px}.modal h3{font-size:1.3rem;margin:22px 0 9px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:#0a2116;color:#fff;padding:11px 15px;border-radius:999px;z-index:200;box-shadow:0 10px 35px #0004;font-size:.82rem;font-weight:800;transition:.25s ease;pointer-events:none}.toast.show{transform:translate(-50%,0)}
@media(max-width:850px){.featured{grid-template-columns:1fr}.featured-side{min-height:180px}.filters{grid-template-columns:1fr 1fr}.calendar-shell{grid-template-columns:1fr}.grid.two{grid-template-columns:1fr}.privacy-grid{grid-template-columns:1fr}}
@media(max-width:650px){.hero{display:block;padding:40px 0 30px}.hero-side{align-items:flex-start;margin-top:20px}.stats{grid-template-columns:1fr 1fr}.wrap{width:min(100% - 20px,1180px)}.featured-main,.featured-side{padding:18px}.featured-teams{gap:7px}.filters{grid-template-columns:1fr}.match-row{grid-template-columns:1fr auto 1fr;gap:7px}.calendar{padding:10px}.cal-day{min-height:62px;padding:5px}.cal-day .num{width:23px;height:23px}.footer-grid{display:block}.footer-link{padding:12px 0}.modal{padding:18px}}

/* ===== Portal oficial v3: navegación, calendario completo y modo oscuro ===== */
.navin{display:flex;align-items:stretch;gap:8px;overflow:visible}
.navlinks{display:flex;overflow:auto;scrollbar-width:none;flex:1;min-width:0}
.navlinks::-webkit-scrollbar{display:none}
.nav .theme-toggle{margin-left:auto;border:0;border-left:1px solid rgba(255,255,255,.10);border-bottom:0;background:rgba(255,255,255,.04);color:#d8e6dc;padding:0 14px;display:flex;align-items:center;gap:7px;text-transform:none;letter-spacing:0;font-size:.78rem}
.nav .theme-toggle:hover{background:rgba(255,255,255,.09);color:#fff}
.calendar-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:-2px 0 12px;color:var(--muted);font-size:.75rem;font-weight:800}
.calendar-legend span{display:inline-flex;gap:6px;align-items:center}
.calendar-legend .dot{display:inline-block;margin:0}
.dot.activity{background:#8b5cf6}
.activity-pill{background:#eee7ff;color:#5d3aa7}

[data-theme="dark"]{
  --bg:#09110d;
  --surface:#101914;
  --surface2:#16231b;
  --ink:#edf5ef;
  --muted:#a9b7ae;
  --hero:#102f22;
  --hero2:#050d09;
  --line:#2a3a30;
  --shadow:0 10px 30px rgba(0,0,0,.28);
}
[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
[data-theme="dark"] .card,
[data-theme="dark"] .stat,
[data-theme="dark"] .filter,
[data-theme="dark"] .calendar,
[data-theme="dark"] .cal-day,
[data-theme="dark"] .day-item,
[data-theme="dark"] .modal,
[data-theme="dark"] table,
[data-theme="dark"] th:first-child,
[data-theme="dark"] td:first-child{background:var(--surface);color:var(--ink)}
[data-theme="dark"] .featured{background:linear-gradient(135deg,var(--surface),#0c1510)}
[data-theme="dark"] .btn{background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .btn:hover,
[data-theme="dark"] .cal-day:hover,
[data-theme="dark"] tbody tr:hover td,
[data-theme="dark"] tbody tr:hover td:first-child{background:var(--surface2)}
[data-theme="dark"] .btn.pri{background:#1a5939;color:#fff;border-color:#1a5939}
[data-theme="dark"] .btn.pri:hover{background:#216a45}
[data-theme="dark"] .link-btn,.team-link:hover{color:#78d59a}
[data-theme="dark"] .pill{background:#223129;color:#c9d7cf}
[data-theme="dark"] .pill.amber{background:#483813;color:#ffd36c}
[data-theme="dark"] .pill.live{background:#153823;color:#84daa2}
[data-theme="dark"] .pill.gray{background:#26312b;color:#b7c3bc}
[data-theme="dark"] .pill.red{background:#40221f;color:#ffaaa2}
[data-theme="dark"] .activity-pill{background:#332752;color:#cbb9ff}
[data-theme="dark"] .favorite-card{border-color:#705e2f;background:linear-gradient(135deg,#282315,var(--surface))}
[data-theme="dark"] .notice{background:#302913}
[data-theme="dark"] .privacy-box{background:#10251a;border-color:#28513a}
[data-theme="dark"] .rank,.modal-close{background:#243129;color:var(--ink)}
[data-theme="dark"] .progress{background:#26342c}
[data-theme="dark"] .empty{border-color:#3a4b40}
[data-theme="dark"] .event-card .event-date{color:#8fdda9}
[data-theme="dark"] input,[data-theme="dark"] select{color:var(--ink)}
[data-theme="dark"] select option{background:#101914;color:#edf5ef}
[data-theme="dark"] .cal-day.selected{border-color:#70c98f;box-shadow:inset 0 0 0 1px #70c98f}
[data-theme="dark"] .cal-day.today .num{background:#26744c;color:#fff}
[data-theme="dark"] .score{background:#06110b}

@media(max-width:650px){
  .navin{width:100%;padding-left:10px;padding-right:0}
  .nav .theme-toggle{position:sticky;right:0;background:#0a2116;box-shadow:-10px 0 16px #0a2116;padding:0 12px;flex:0 0 auto}
  .nav .theme-toggle span{display:none}
  .hero{padding:38px 0 30px}
}

/* Portal v4: información pública de actividades */
.activity-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.activity-detail{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--soft)}
.activity-detail span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.activity-detail strong{display:block;margin-top:3px}
.activity-public-meta{margin:9px 0 0;color:var(--text)}
@media(max-width:620px){.activity-public-grid{grid-template-columns:1fr}}


/* v7 · nomenclaturas de tabla */
.table-legend{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:8px;color:var(--muted);font-size:.76rem;line-height:1.35}
.table-legend b{color:var(--text);font-weight:900}
.table-legend .legend-sep{opacity:.5}
@media(max-width:640px){.table-legend{font-size:.72rem;gap:4px 7px}}


/* ===== v8 · rebrand SUTCOLMEX / COLMEX ===== */
:root{
  --bg:#f3f5f9;
  --surface:#ffffff;
  --surface2:#eef2f7;
  --ink:#11233f;
  --muted:#5f6f83;
  --hero:#0f2c57;
  --hero2:#8e1f31;
  --amber:#cfd6e2;
  --line:#d9e0ea;
  --green:#981f33;
  --orange:#143868;
  --blue:#8f98a8;
  --red:#b12a3e;
  --shadow:0 10px 30px rgba(17,35,63,.08);
}
.top{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.12),transparent 24%),linear-gradient(135deg,var(--hero),var(--hero2));border-bottom:7px solid #143868}
.eyebrow{color:#ffffff}
.nav{background:#102542}
.nav button{color:#d6dfeb}
.nav button[aria-pressed=true]{color:#fff;border-color:#c12d43}
.nav .theme-toggle{color:#eef2f7;background:rgba(255,255,255,.05)}
.nav .theme-toggle:hover{background:rgba(255,255,255,.11)}
.featured{background:linear-gradient(135deg,#ffffff,#f2f5fa)}
.featured-side,.score,footer,.toast{background:#102542}
.featured-side .muted,.footer-link{color:#d9e2ee}
.vs,.score-big{color:#ffffff}
.btn.pri{background:#981f33;border-color:#981f33}
.btn.pri:hover{background:#82192a}
.btn.amber{background:#143868;border-color:#143868;color:#fff}
.btn:hover{background:#eef2f7}
.link-btn,.team-link:hover,.event-card .event-date{color:#143868}
.pill.amber{background:#e9edf4;color:#143868}
.pill.live{background:#fbe8ec;color:#981f33}
.pill.gray{background:#edf1f6;color:#5f6f83}
.pill.red{background:#fbe8ec;color:#981f33}
.favorite-card{border-color:#cfd6e2;background:linear-gradient(135deg,#f7f9fc,#ffffff)}
.rank,.modal-close{background:#eef2f7}
.progress{background:#e4e9f0}
.progress span{background:linear-gradient(90deg,#981f33,#143868)}
.cal-day.selected{border-color:#143868;box-shadow:inset 0 0 0 1px #143868}
.cal-day.today .num{background:#981f33;color:#fff}
.dot.futbol{background:#981f33}.dot.basquet{background:#143868}.dot.voley{background:#8f98a8}.dot.event{background:#6b7280}
.activity-pill{background:#ebedf3;color:#516074}
.notice{background:#f4f6fa;border-left-color:#981f33}
.privacy-box{background:#f7f9fc;border-color:#d7e0ea;border-left-color:#143868}
.privacy-list li:before{color:#143868}.privacy-list.no li:before{color:#981f33}
.table-legend b,.activity-detail strong,.activity-public-meta{color:var(--ink)}
[data-theme="dark"]{
  --bg:#07101d;
  --surface:#0d182a;
  --surface2:#142137;
  --ink:#edf2fb;
  --muted:#aab6c9;
  --hero:#060d19;
  --hero2:#5a1523;
  --line:#223754;
  --shadow:0 14px 34px rgba(0,0,0,.32);
}
[data-theme="dark"] .top{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.06),transparent 24%),linear-gradient(135deg,var(--hero),var(--hero2));border-bottom-color:#243652}
[data-theme="dark"] .nav,.nav .theme-toggle{background:#08111f}
[data-theme="dark"] .featured-side,.score, [data-theme="dark"] footer, [data-theme="dark"] .toast{background:#08111f}
[data-theme="dark"] .featured{background:linear-gradient(135deg,var(--surface),#091221)}
[data-theme="dark"] .btn.pri{background:#b3293f;border-color:#b3293f}
[data-theme="dark"] .btn.pri:hover{background:#c8374e}
[data-theme="dark"] .btn.amber{background:#1d4a87;border-color:#1d4a87;color:#fff}
[data-theme="dark"] .link-btn,[data-theme="dark"] .team-link:hover,[data-theme="dark"] .event-card .event-date{color:#8fb6ff}
[data-theme="dark"] .pill.live{background:#3b1620;color:#ffb4c0}
[data-theme="dark"] .pill.amber{background:#132540;color:#9fc0ff}
[data-theme="dark"] .pill.gray{background:#203049;color:#c5cedd}
[data-theme="dark"] .pill.red{background:#3b1620;color:#ffb4c0}
[data-theme="dark"] .favorite-card{border-color:#31435e;background:linear-gradient(135deg,#152235,var(--surface))}
[data-theme="dark"] .notice{background:#1b2330;border-left-color:#ff8ea2}
[data-theme="dark"] .privacy-box{background:#101d2f;border-color:#27425f;border-left-color:#8fb6ff}
[data-theme="dark"] .rank,.modal-close{background:#1b2a40}
[data-theme="dark"] .progress{background:#23344a}
[data-theme="dark"] .cal-day.selected{border-color:#8fb6ff;box-shadow:inset 0 0 0 1px #8fb6ff}
[data-theme="dark"] .cal-day.today .num{background:#b3293f;color:#fff}
@media(max-width:650px){.nav .theme-toggle{background:#102542;box-shadow:-10px 0 16px #102542}}


/* ===== v10 · botón de cierre visible en claro y oscuro ===== */
.modal-close{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  border-radius:50%;
  border:1px solid #cfdae8;
  background:#143868;
  color:#ffffff;
  font-size:1.7rem;
  line-height:1;
  font-weight:900;
  text-align:center;
  box-shadow:0 6px 18px rgba(20,56,104,.18);
}
.modal-close:hover{background:#102f57;color:#ffffff}
.modal-close:focus-visible{outline:2px solid #981f33;outline-offset:2px}
[data-theme="dark"] .modal-close{
  background:#1c3152;
  border-color:#314a71;
  color:#ffffff;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
[data-theme="dark"] .modal-close:hover{background:#254069}


/* ===== v11 · integración discreta del logo SUTCOLMEX ===== */
.hero{min-height:184px}
.hero-logo-wrap{position:relative;align-self:stretch;flex:0 0 320px;display:flex;justify-content:flex-end;align-items:center;pointer-events:none}
.hero-logo-mark{width:min(300px,28vw);max-height:150px;object-fit:contain;opacity:.16;filter:brightness(0) invert(1);transform:translateY(4px)}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-logo{width:52px;height:52px;object-fit:contain;opacity:.9;filter:brightness(0) invert(1)}
@media (max-width:980px){
  .hero-logo-wrap{flex-basis:240px}
  .hero-logo-mark{width:min(230px,30vw);max-height:118px;opacity:.15}
}
@media (max-width:760px){
  .hero{display:block}
  .hero-logo-wrap{position:absolute;right:0;bottom:8px;top:auto;display:block;flex:none}
  .hero-logo-mark{width:min(170px,34vw);max-height:92px;opacity:.12}
}
@media (max-width:650px){
  .hero{padding-bottom:40px}
  .hero-logo-wrap{right:4px;bottom:0}
  .hero-logo-mark{width:min(132px,32vw);max-height:72px;opacity:.11}
  .footer-brand{align-items:flex-start}
  .footer-logo{width:42px;height:42px}
}
[data-theme="dark"] .hero-logo-mark{opacity:.17;filter:brightness(0) invert(1)}
[data-theme="dark"] .footer-logo{filter:brightness(0) invert(1)}


/* ===== v12 · reacomodo de cabecera ===== */
.hero-balanced{
  position:relative;
  min-height:188px;
  justify-content:center;
  align-items:center;
  padding:42px 0 34px;
}
.brand-copy-centered{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 160px;
}
.brand-copy-centered h1{
  margin:0;
}
.eyebrow-under{
  order:2;
  margin:12px 0 0;
  color:rgba(255,255,255,.92);
  letter-spacing:.14em;
}
.hero-balanced .hero-logo-wrap{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  right:auto;
  bottom:auto;
  flex:none;
  width:min(250px,23vw);
  display:flex;
  justify-content:flex-start;
  align-items:center;
  pointer-events:none;
}
.hero-balanced .hero-logo-mark{
  width:min(220px,20vw);
  max-height:126px;
  object-fit:contain;
  opacity:.17;
  filter:brightness(0) invert(1);
  transform:none;
}
@media (max-width:1100px){
  .brand-copy-centered{padding:0 130px}
  .hero-balanced .hero-logo-wrap{width:min(210px,22vw)}
  .hero-balanced .hero-logo-mark{width:min(185px,19vw);max-height:110px}
}
@media (max-width:760px){
  .hero-balanced{display:flex;min-height:156px;padding:34px 0 28px}
  .brand-copy-centered{padding:0 84px 0 84px}
  .brand-copy-centered h1{font-size:clamp(2.5rem,12vw,4.1rem)}
  .eyebrow-under{font-size:.70rem;letter-spacing:.1em}
  .hero-balanced .hero-logo-wrap{left:2px;width:92px}
  .hero-balanced .hero-logo-mark{width:88px;max-height:64px;opacity:.14}
}
@media (max-width:500px){
  .brand-copy-centered{padding:0 66px}
  .hero-balanced .hero-logo-wrap{left:0;width:78px}
  .hero-balanced .hero-logo-mark{width:74px;max-height:54px;opacity:.13}
}
[data-theme="dark"] .eyebrow-under{color:rgba(255,255,255,.9)}
