/* ============================================================
   TT RIVALS 1.0.1 — UI REWORK / DESIGN SYSTEM
   Capa visual dedicada. Mantiene la lógica existente y unifica
   jerarquía, densidad, botones, cards, modales y temas.
   ============================================================ */

:root{
  --ui-bg:#080d18;
  --ui-bg-2:#0d1423;
  --ui-panel:#121b2d;
  --ui-panel-2:#172236;
  --ui-panel-3:#1c2940;
  --ui-line:rgba(148,163,184,.15);
  --ui-line-strong:rgba(125,153,197,.28);
  --ui-text:#f5f7fb;
  --ui-text-soft:#c6d0df;
  --ui-muted:#8795aa;
  --ui-blue:#4f8cff;
  --ui-blue-2:#2563eb;
  --ui-cyan:#38bdf8;
  --ui-violet:#8b5cf6;
  --ui-green:#22c55e;
  --ui-amber:#f59e0b;
  --ui-red:#ef4444;
  --ui-shadow:0 18px 50px rgba(0,0,0,.24);
  --ui-shadow-soft:0 10px 30px rgba(0,0,0,.16);
  --ui-radius-xl:24px;
  --ui-radius-lg:18px;
  --ui-radius-md:13px;
  --ui-ring:0 0 0 3px rgba(79,140,255,.16);
}

html[data-theme="light"],body[data-theme="light"]{
  --ui-bg:#eef3fa;
  --ui-bg-2:#f7f9fc;
  --ui-panel:#ffffff;
  --ui-panel-2:#f7f9fd;
  --ui-panel-3:#edf3fb;
  --ui-line:rgba(31,55,91,.11);
  --ui-line-strong:rgba(37,99,235,.22);
  --ui-text:#10203a;
  --ui-text-soft:#314561;
  --ui-muted:#6b7b93;
  --ui-blue:#2563eb;
  --ui-blue-2:#1d4ed8;
  --ui-cyan:#0284c7;
  --ui-violet:#7c3aed;
  --ui-green:#15803d;
  --ui-amber:#b45309;
  --ui-red:#b91c1c;
  --ui-shadow:0 16px 42px rgba(40,72,114,.10);
  --ui-shadow-soft:0 8px 24px rgba(40,72,114,.08);
}

html{background:var(--ui-bg)!important}
body{
  color:var(--ui-text)!important;
  background:
    radial-gradient(circle at 12% -5%,rgba(59,130,246,.14),transparent 29%),
    radial-gradient(circle at 88% 12%,rgba(124,58,237,.08),transparent 24%),
    linear-gradient(180deg,var(--ui-bg),var(--ui-bg-2) 52%,var(--ui-bg))!important;
}
body[data-theme="light"]{
  background:
    radial-gradient(circle at 9% 0,rgba(37,99,235,.08),transparent 27%),
    radial-gradient(circle at 92% 7%,rgba(124,58,237,.055),transparent 22%),
    linear-gradient(180deg,#f8faff 0,#eef3fa 54%,#f6f9fd 100%)!important;
}

/* ---------- escala, contenedor y tipografía ---------- */
.content-area{width:min(100%,1120px)!important;padding:16px 22px 44px!important}
.topbar{padding-left:max(22px,calc((100vw - 1120px)/2 + 22px))!important;padding-right:max(22px,calc((100vw - 1120px)/2 + 22px))!important;background:linear-gradient(to bottom,rgba(8,13,24,.97),rgba(8,13,24,.88),rgba(8,13,24,.16),transparent)!important}
body[data-theme="light"] .topbar{background:linear-gradient(to bottom,rgba(247,250,255,.98),rgba(247,250,255,.91),rgba(247,250,255,.24),transparent)!important}
.topbar h2{letter-spacing:-.035em!important;font-size:clamp(1.35rem,2.4vw,1.8rem)!important}
.page-heading{padding:12px 4px 20px!important}
.page-heading h2{font-size:clamp(2rem,4vw,3.15rem)!important;letter-spacing:-.055em!important;line-height:.95!important;margin:7px 0 10px!important}
.page-heading p:last-child{max-width:680px!important;color:var(--ui-muted)!important;line-height:1.55!important}
.muted-label,.eyebrow{color:#86a2ca!important;font-size:.69rem!important;letter-spacing:.18em!important}
body[data-theme="light"] .muted-label,body[data-theme="light"] .eyebrow{color:#5c76a0!important}

/* ---------- sistema de superficies ---------- */
.section-card,.hero-card,.profile-header-card,
.v15-player-hero,.v15-profile-hero,.season-strip,
.ranking-season-card,.play-mode-gate-v62>button,.tournament-banner,
.ai-feature-card,.settings-group,.places-hero-v100,.places-filter-panel-v100{
  border-color:var(--ui-line)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.section-card{
  margin-top:16px!important;
  padding:20px!important;
  border-radius:var(--ui-radius-xl)!important;
  background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
}
body[data-theme="light"] .section-card{
  color:var(--ui-text)!important;
  background:linear-gradient(150deg,#fff,#f9fbff)!important;
  border:1px solid var(--ui-line)!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.section-title-row{gap:18px!important;align-items:flex-start!important}
.section-title-row h3{font-size:clamp(1.08rem,2vw,1.35rem)!important;letter-spacing:-.025em!important}
.section-title-row>span,.section-title-row>button{flex:0 0 auto}

/* ---------- botones ---------- */
button{transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}
button:not(:disabled):active{transform:scale(.975)}
.btn,.settings-save-profile,.ai-action-row-v61 .primary{
  border-radius:14px!important;
  min-height:50px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.13)!important;
}
.btn-start,.settings-save-profile,.ai-action-row-v61 .primary{
  background:linear-gradient(135deg,#13a94e,#24cf69)!important;
  color:#fff!important;
}
.btn-login{background:linear-gradient(135deg,#2458d5,#4b8cff)!important}
.tiny-btn,.back-inline,.secondary-action-button,.section-title-row button,
.history-stats-button,.v28-event-badge,.season-rewards-button-v63{
  min-height:38px!important;
  padding:0 13px!important;
  border:1px solid var(--ui-line)!important;
  border-radius:11px!important;
  color:var(--ui-text-soft)!important;
  background:var(--ui-panel-2)!important;
  font-weight:800!important;
}
body[data-theme="light"] .tiny-btn,body[data-theme="light"] .back-inline,
body[data-theme="light"] .secondary-action-button,body[data-theme="light"] .section-title-row button,
body[data-theme="light"] .history-stats-button,body[data-theme="light"] .season-rewards-button-v63{
  color:#244064!important;background:#f5f8fd!important;border-color:rgba(37,99,235,.13)!important
}

/* ---------- formularios ---------- */
input,select,textarea{
  border:1px solid var(--ui-line)!important;
  border-radius:12px!important;
  color:var(--ui-text)!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{border-color:rgba(79,140,255,.65)!important;box-shadow:var(--ui-ring)!important}
body[data-theme="light"] input,body[data-theme="light"] select,body[data-theme="light"] textarea{
  color:#10203a!important;background:#f8faff!important;border-color:rgba(31,55,91,.14)!important
}
body[data-theme="light"] select option{color:#10203a!important;background:#fff!important}
.search-box{border-color:var(--ui-line)!important;background:var(--ui-panel-2)!important;border-radius:13px!important}
body[data-theme="light"] .search-box{background:#fff!important;border-color:rgba(31,55,91,.13)!important}

/* ---------- navegación ---------- */
.bottom-nav{
  width:min(calc(100% - 28px),1060px)!important;
  bottom:12px!important;
  padding:7px!important;
  border:1px solid var(--ui-line)!important;
  border-radius:20px!important;
  background:rgba(10,16,28,.90)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.38)!important;
}
body[data-theme="light"] .bottom-nav{background:rgba(255,255,255,.94)!important;border-color:rgba(31,55,91,.13)!important;box-shadow:0 14px 40px rgba(52,76,112,.16)!important}
.nav-item{min-height:52px!important;border-radius:13px!important;color:var(--ui-muted)!important}
.nav-item.active{color:#fff!important;background:linear-gradient(145deg,rgba(79,140,255,.28),rgba(124,58,237,.16))!important;box-shadow:inset 0 0 0 1px rgba(96,165,250,.18)!important}
body[data-theme="light"] .nav-item.active{color:#174b9d!important;background:#eaf2ff!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.13)!important}

/* ============================================================
   INICIO — identidad arriba, acciones claras, menos cajas vacías
   ============================================================ */
#tab-home .v15-home-layout{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr)!important;gap:16px!important;align-items:stretch!important}
#tab-home .v15-player-hero{
  margin:0!important;padding:24px!important;border:1px solid var(--ui-line)!important;border-radius:26px!important;
  background:
    radial-gradient(circle at 95% 0,rgba(79,140,255,.17),transparent 38%),
    linear-gradient(145deg,#121c2f,#0f1728)!important;
  box-shadow:var(--ui-shadow)!important;
}
body[data-theme="light"] #tab-home .v15-player-hero{background:radial-gradient(circle at 95% 0,rgba(37,99,235,.09),transparent 36%),linear-gradient(145deg,#fff,#f5f9ff)!important}
#tab-home .v15-player-identity{align-items:center!important}
#tab-home .v15-player-copy{min-width:0!important}
#tab-home .v59-rating-duo{margin-top:18px!important;gap:10px!important}
#tab-home .v59-rating-card{min-height:100px!important;border-radius:16px!important;border-color:var(--ui-line)!important;background:rgba(255,255,255,.045)!important}
body[data-theme="light"] #tab-home .v59-rating-card{background:#f7faff!important;color:#10203a!important}
#tab-home .v59-rating-card strong{font-size:clamp(1.8rem,4vw,2.65rem)!important;letter-spacing:-.055em!important}
#tab-home .v15-dashboard-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important}
#tab-home .v15-metric-card{min-height:132px!important;padding:17px!important;border-radius:18px!important;background:var(--ui-panel)!important;border:1px solid var(--ui-line)!important;box-shadow:none!important}
body[data-theme="light"] #tab-home .v15-metric-card{background:#fff!important;color:#10203a!important}
#tab-home .v15-metric-card strong{font-size:1.85rem!important}
#tab-home .protection-card-v58,#tab-home .season-strip,#tab-home .v60-home-priority,#tab-home .v28-progression-panel{padding:18px 20px!important}
#tab-home .v59-discovery-dock{grid-template-columns:repeat(4,1fr)!important;gap:9px!important;margin-top:16px!important}
#tab-home .v59-discovery-dock>button{min-height:72px!important;border-radius:16px!important;border:1px solid var(--ui-line)!important;background:var(--ui-panel-2)!important}
body[data-theme="light"] #tab-home .v59-discovery-dock>button{background:#fff!important;color:#10203a!important}
#tab-home .v28-home-tools{grid-template-columns:1fr 1fr!important;gap:10px!important}

/* ---------- Misiones diarias ---------- */
#tab-home .v28-missions{padding:22px!important;overflow:hidden!important;position:relative!important}
#tab-home .v28-missions:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#4f8cff,#8b5cf6);opacity:.8}
.ui101-mission-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.ui101-mission-heading-copy{display:flex;align-items:center;gap:12px}
.ui101-mission-heading-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(79,140,255,.12);border:1px solid rgba(79,140,255,.2);font-size:1.15rem}
.ui101-mission-heading-copy h3{margin:2px 0 2px!important;font-size:1.35rem!important}
.ui101-mission-heading-copy small{display:block;color:var(--ui-muted)!important}
.ui101-mission-heading-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ui101-mission-heading-meta span{padding:7px 10px;border:1px solid var(--ui-line);border-radius:999px;color:var(--ui-muted);font-size:.66rem;font-weight:800}
.ui101-mission-heading-meta b{padding:7px 10px;border-radius:999px;background:rgba(139,92,246,.12);color:#c4b5fd;font-size:.67rem}
body[data-theme="light"] .ui101-mission-heading-meta b{color:#6d28d9;background:#f1eaff}
.v28-mission-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.v101-mission-cycle-head{grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 2px 3px!important;color:var(--ui-text-soft)!important}
.v101-mission-cycle-head span{font-weight:850!important}.v101-mission-cycle-head small{color:var(--ui-muted)!important}
.v28-mission{min-height:154px!important;padding:16px!important;border:1px solid var(--ui-line)!important;border-radius:17px!important;background:linear-gradient(150deg,var(--ui-panel-2),rgba(22,34,54,.72))!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:1fr auto!important;gap:12px!important;box-shadow:none!important}
body[data-theme="light"] .v28-mission{background:linear-gradient(150deg,#fff,#f5f8fd)!important;color:#10203a!important}
.v28-mission>div:first-child{display:grid!important;align-content:start!important;gap:6px!important}
.v28-mission>div:first-child>span{width:max-content;padding:4px 7px;border-radius:999px;background:rgba(79,140,255,.10);color:#8eb8ff;font-size:.58rem;font-weight:900;letter-spacing:.11em}
body[data-theme="light"] .v28-mission>div:first-child>span{color:#1d4ed8;background:#e8f0ff}
.v28-mission strong{font-size:.95rem!important;line-height:1.2!important;color:var(--ui-text)!important}.v28-mission small{line-height:1.45!important;color:var(--ui-muted)!important}.v28-mission>b{font-size:.82rem!important;color:var(--ui-text-soft)!important}
body[data-theme="light"] .v28-mission strong{color:#10203a!important}
.v28-mission-track{grid-column:1/-1!important;height:6px!important;border-radius:999px!important;background:rgba(148,163,184,.12)!important;overflow:hidden!important}
.v28-mission-track i{height:100%!important;display:block!important;border-radius:inherit!important;background:linear-gradient(90deg,#4f8cff,#8b5cf6)!important}
.v101-missions-complete{grid-column:1/-1!important;min-height:132px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;text-align:left!important;border:1px solid rgba(34,197,94,.2)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(34,197,94,.10),rgba(79,140,255,.045))!important}
.v101-missions-complete>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(34,197,94,.18);color:#86efac;font-size:1.4rem;font-weight:900}.v101-missions-complete strong{display:block;font-size:1.1rem}.v101-missions-complete p{margin:4px 0;color:var(--ui-muted)}.v101-missions-complete em{font-style:normal;color:#86efac;font-size:.75rem}
body[data-theme="light"] .v101-missions-complete{background:linear-gradient(145deg,#f1fff6,#f6faff)!important}.body-light-fix{}
.ui101-mission-error{grid-column:1/-1;min-height:128px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px dashed rgba(245,158,11,.32);border-radius:17px;background:rgba(245,158,11,.055)}
.ui101-mission-error>div{display:grid;gap:4px}.ui101-mission-error strong{color:var(--ui-text)}.ui101-mission-error small{color:var(--ui-muted)}.ui101-mission-error button{min-height:38px;padding:0 13px;border:1px solid rgba(245,158,11,.28);border-radius:11px;background:rgba(245,158,11,.10);color:#fbbf24;font-weight:850}
.ui101-mission-skeleton{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ui101-mission-skeleton i{height:146px;border-radius:17px;background:linear-gradient(100deg,rgba(255,255,255,.035) 25%,rgba(255,255,255,.075) 45%,rgba(255,255,255,.035) 65%);background-size:200% 100%;animation:ui101Shimmer 1.2s linear infinite}
body[data-theme="light"] .ui101-mission-skeleton i{background:linear-gradient(100deg,#edf2f9 25%,#f9fbff 45%,#edf2f9 65%);background-size:200% 100%}
@keyframes ui101Shimmer{to{background-position:-200% 0}}

/* ============================================================
   RANKING
   ============================================================ */
#tab-ranking>.page-heading{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:18px!important}
#tab-ranking .ranking-season-card{padding:18px 20px!important;border-radius:20px!important;background:linear-gradient(140deg,rgba(37,99,235,.13),rgba(124,58,237,.08))!important}
body[data-theme="light"] #tab-ranking .ranking-season-card{background:linear-gradient(140deg,#eef5ff,#f5f0ff)!important;color:#10203a!important}
#tab-ranking .segmented,#tab-ranking .ranking-scope-tabs{max-width:max-content!important;display:inline-grid!important;vertical-align:middle!important}
#tab-ranking .segmented{grid-template-columns:repeat(2,minmax(110px,1fr))!important;margin-right:8px!important}
#tab-ranking .ranking-scope-tabs{grid-template-columns:repeat(3,minmax(92px,1fr))!important}
#tab-ranking #rankingSearchBox{margin-top:14px!important;max-width:520px!important}
#tab-ranking .ranking-podium-section{padding:10px 0 2px!important}
#tab-ranking .ranking-podium{gap:12px!important;align-items:end!important}
#tab-ranking .podium-slot{border-radius:20px!important;border:1px solid var(--ui-line)!important;background:var(--ui-panel)!important;box-shadow:var(--ui-shadow-soft)!important}
body[data-theme="light"] #tab-ranking .podium-slot{background:#fff!important;color:#10203a!important}
#tab-ranking .podium-1{min-height:236px!important;transform:translateY(-8px)}
#tab-ranking .podium-2,#tab-ranking .podium-3{min-height:210px!important}
#rankingListSection{padding:8px!important;background:transparent!important;border:0!important;box-shadow:none!important}
#rankingList{gap:7px!important}
#tab-ranking .v62-rank-row{min-height:70px!important;padding:8px!important;border:1px solid var(--ui-line)!important;border-radius:16px!important;background:var(--ui-panel)!important;box-shadow:none!important}
body[data-theme="light"] #tab-ranking .v62-rank-row{background:#fff!important;color:#10203a!important}
#tab-ranking .v62-rank-row.is-me{border-color:rgba(79,140,255,.42)!important;background:linear-gradient(140deg,rgba(79,140,255,.10),var(--ui-panel))!important}
body[data-theme="light"] #tab-ranking .v62-rank-row.is-me{background:linear-gradient(140deg,#edf5ff,#fff)!important}
#tab-ranking .v62-rank-profile{grid-template-columns:44px 46px minmax(0,1fr) 72px!important;gap:10px!important}
#tab-ranking .v62-rank-position{width:44px;height:44px;border-radius:12px;background:var(--ui-panel-2);display:grid;place-items:center;align-content:center}
#tab-ranking .v62-rank-position small{font-size:.48rem!important;letter-spacing:.12em!important}
#tab-ranking .v62-rank-identity>strong{font-size:.85rem!important}.v62-rank-meta{margin-top:4px!important}.v62-rank-elo strong{font-size:1rem!important}.v62-rank-elo small{font-size:.55rem!important}
#tab-ranking .v62-rank-challenge{width:88px!important;height:42px!important;border-radius:12px!important}

/* ============================================================
   JUGAR
   ============================================================ */
#tab-play .play-heading{padding-bottom:8px!important}
#tab-play .tournament-banner{margin-top:0!important;min-height:78px!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(139,92,246,.07))!important}
body[data-theme="light"] #tab-play .tournament-banner{background:linear-gradient(135deg,#fff7e8,#f5f1ff)!important;color:#10203a!important}
#tab-play .play-mode-gate-v62{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin:16px 0!important}
#tab-play .play-mode-gate-v62>button{min-height:132px!important;padding:20px!important;border-radius:20px!important;background:var(--ui-panel)!important;text-align:left!important}
#tab-play .play-mode-gate-v62>button>span{font-size:2rem!important}
#tab-play .play-mode-gate-v62 strong{font-size:1.35rem!important}.play-mode-gate-v62 small{font-size:.8rem!important;color:var(--ui-muted)!important}
body[data-theme="light"] #tab-play .play-mode-gate-v62>button{background:#fff!important;color:#10203a!important}
#tab-play .play-search-card,#tab-play #challengeComposer,#tab-play .doubles-builder-v62{border-left:3px solid rgba(79,140,255,.55)!important}
#tab-play .play-status-card{padding:14px 16px!important}
#tab-play .play-status-heading{min-height:42px!important}.play-status-heading strong{font-size:.95rem!important}.play-status-heading small{min-width:27px;height:27px;display:grid;place-items:center;border-radius:999px;background:var(--ui-panel-3)!important}
#tab-play .challenge-row,#tab-play .match-row,#tab-play .doubles-challenge-card-v62,#tab-play .doubles-match-card-v62{border:1px solid var(--ui-line)!important;background:var(--ui-panel-2)!important;border-radius:14px!important}
body[data-theme="light"] #tab-play .challenge-row,body[data-theme="light"] #tab-play .match-row,body[data-theme="light"] #tab-play .doubles-challenge-card-v62,body[data-theme="light"] #tab-play .doubles-match-card-v62{background:#f8faff!important;color:#10203a!important}

/* ============================================================
   HISTORIAL
   ============================================================ */
#tab-history .history-heading{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important}
#tab-history .history-summary-grid{grid-template-columns:repeat(4,1fr)!important;gap:9px!important;margin-bottom:12px!important}
#tab-history .history-summary-grid article{min-height:86px!important;padding:15px!important;border:1px solid var(--ui-line)!important;border-radius:16px!important;background:var(--ui-panel)!important}
body[data-theme="light"] #tab-history .history-summary-grid article{background:#fff!important;color:#10203a!important}
#tab-history .history-summary-grid strong{font-size:1.65rem!important}
#tab-history .history-legend{margin:4px 0 10px!important}
#tab-history .history-filter-bar{padding:12px!important;border:1px solid var(--ui-line)!important;border-radius:18px!important;background:var(--ui-panel)!important;box-shadow:var(--ui-shadow-soft)!important}
body[data-theme="light"] #tab-history .history-filter-bar{background:#fff!important}
#tab-history .history-filter-group{gap:5px!important}.history-filter{min-height:36px!important;padding:0 10px!important;border-radius:10px!important}
#tab-history .history-advanced-v60{margin-top:10px!important;gap:8px!important}
#tab-history .v15-history-shell{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#tab-history .v15-match-history{gap:9px!important}
#tab-history .history-match-card{border:1px solid var(--ui-line)!important;border-radius:18px!important;background:var(--ui-panel)!important;overflow:hidden!important;box-shadow:var(--ui-shadow-soft)!important}
body[data-theme="light"] #tab-history .history-match-card{background:#fff!important;color:#10203a!important}
#tab-history .history-match-main{padding:14px 16px!important;grid-template-columns:48px minmax(0,1fr) auto!important}
#tab-history .history-score strong{font-size:1.5rem!important}
#tab-history .history-match-actions{padding:9px 12px!important;border-top:1px solid var(--ui-line)!important;background:rgba(255,255,255,.015)!important;gap:6px!important}
#tab-history .history-match-actions button{min-height:34px!important;border-radius:9px!important}
body[data-theme="light"] #tab-history .history-match-actions{background:#f8faff!important}

/* ============================================================
   PERFIL — identidad + métricas + bloques diferenciados
   ============================================================ */
#tab-profile .v15-profile-hero{padding:24px!important;border:1px solid var(--ui-line)!important;border-radius:26px!important;background:radial-gradient(circle at 92% 8%,rgba(139,92,246,.14),transparent 34%),linear-gradient(145deg,#121b2e,#101827)!important;box-shadow:var(--ui-shadow)!important}
body[data-theme="light"] #tab-profile .v15-profile-hero{background:radial-gradient(circle at 92% 8%,rgba(124,58,237,.08),transparent 34%),linear-gradient(145deg,#fff,#f5f8ff)!important;color:#10203a!important}
#tab-profile .v44-profile-copy h2{font-size:clamp(2rem,4.6vw,3.15rem)!important;letter-spacing:-.055em!important;margin:6px 0 2px!important}
#tab-profile #profileUsername{font-size:1rem!important;color:var(--ui-muted)!important}
#tab-profile .profile-equipped-title-v58{margin:10px 0 8px!important;max-width:540px!important;min-height:46px!important;padding:10px 14px!important;border-radius:13px!important;border:1px solid rgba(245,158,11,.22)!important;background:linear-gradient(135deg,rgba(245,158,11,.10),rgba(139,92,246,.07))!important;box-shadow:0 8px 26px rgba(0,0,0,.12)!important}
#tab-profile .profile-equipped-title-v58 strong{font-size:1rem!important;letter-spacing:.02em!important}
#tab-profile .v15-profile-tags{gap:6px!important}.v15-profile-tags span{min-height:30px!important;padding:0 10px!important;border-radius:999px!important}
#tab-profile .profile-quick-actions-v56{grid-template-columns:repeat(3,1fr)!important;gap:9px!important;margin:14px 0!important}
#tab-profile .profile-quick-action-v56{min-height:76px!important;padding:13px!important;border:1px solid var(--ui-line)!important;border-radius:16px!important;background:var(--ui-panel)!important}
body[data-theme="light"] #tab-profile .profile-quick-action-v56{background:#fff!important;color:#10203a!important}
#tab-profile .profile-rating-grid{grid-template-columns:repeat(4,1fr)!important;gap:9px!important;margin-top:0!important}
#tab-profile .profile-rating-grid article{min-height:100px!important;padding:15px!important;border-radius:16px!important;background:var(--ui-panel)!important;border:1px solid var(--ui-line)!important}
body[data-theme="light"] #tab-profile .profile-rating-grid article{background:#fff!important;color:#10203a!important}
#tab-profile .profile-rating-grid strong{font-size:1.75rem!important}
#tab-profile .profile-protection-v58,#tab-profile .reliability-card-v34{padding:17px 18px!important}
#tab-profile .profile-info-list{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin-top:12px!important}
#tab-profile .profile-info-list div{min-height:62px!important;padding:10px 12px!important;display:grid!important;align-content:center!important;gap:4px!important;border:1px solid var(--ui-line)!important;border-radius:13px!important;background:var(--ui-panel-2)!important}
#tab-profile .profile-info-list div span{font-size:.66rem!important;text-transform:uppercase!important;letter-spacing:.08em!important}#tab-profile .profile-info-list div strong{text-align:left!important;font-size:.88rem!important}
body[data-theme="light"] #tab-profile .profile-info-list div{background:#f8faff!important}
#tab-profile .identity-showcase-section,#tab-profile .competitive-title-section,#tab-profile .profile-season-section,#tab-profile .v63-palmares-section,#tab-profile .primary-rival-section,#tab-profile .v28-trophy-room,#tab-profile .achievements-section{margin-top:12px!important}
#tab-profile .equipped-title-card{min-height:96px!important;border-radius:17px!important;border:1px solid var(--ui-line)!important;background:linear-gradient(135deg,rgba(139,92,246,.09),rgba(79,140,255,.05))!important}
body[data-theme="light"] #tab-profile .equipped-title-card{background:linear-gradient(135deg,#f7f1ff,#f1f7ff)!important;color:#10203a!important}
#tab-profile .title-emblem{width:52px!important;height:52px!important;border-radius:15px!important;font-size:1.25rem!important}
#tab-profile .equipped-title-card strong{font-size:1.15rem!important}
#tab-profile .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}

/* ============================================================
   INTELLIGENCE
   ============================================================ */
#tab-ai .ai-assistant-hero-v61{min-height:190px!important;padding:24px!important;border-radius:26px!important;background:radial-gradient(circle at 10% 20%,rgba(56,189,248,.13),transparent 30%),radial-gradient(circle at 90% 20%,rgba(139,92,246,.15),transparent 32%),linear-gradient(145deg,#111b2d,#0d1424)!important}
body[data-theme="light"] #tab-ai .ai-assistant-hero-v61{background:radial-gradient(circle at 10% 20%,rgba(2,132,199,.08),transparent 30%),radial-gradient(circle at 90% 20%,rgba(124,58,237,.07),transparent 32%),linear-gradient(145deg,#fff,#f4f8ff)!important;color:#10203a!important}
#tab-ai .ai-feature-grid-v61{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
#tab-ai .ai-feature-card{min-height:154px!important;padding:18px!important;border-radius:18px!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:1fr auto!important;align-items:start!important;gap:12px!important;background:var(--ui-panel)!important}
#tab-ai .ai-feature-card>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--ui-panel-3)!important;font-size:1.35rem!important}
#tab-ai .ai-feature-card>div strong{font-size:.95rem!important}#tab-ai .ai-feature-card>div small{display:block;margin-top:5px;line-height:1.45!important}#tab-ai .ai-feature-card>b{grid-column:1/-1!important;width:max-content;padding:5px 8px;border-radius:999px;font-size:.56rem!important;letter-spacing:.1em!important}
#tab-ai .ai-feature-live-v61{border-color:rgba(79,140,255,.25)!important;background:linear-gradient(145deg,rgba(79,140,255,.09),var(--ui-panel))!important}
#tab-ai .ai-feature-live-v61>b{color:#8eb8ff;background:rgba(79,140,255,.11)}
#tab-ai .ai-feature-card:not(.ai-feature-live-v61){opacity:.78!important;box-shadow:none!important}
body[data-theme="light"] #tab-ai .ai-feature-card{background:#fff!important;color:#10203a!important}body[data-theme="light"] #tab-ai .ai-feature-live-v61{background:linear-gradient(145deg,#edf5ff,#fff)!important}
#tab-ai .ai-workspace-v61{margin-top:14px!important}.ai-tool-panel-v61{padding:22px!important}.ai-form-grid-v61{gap:10px!important}.ai-equipment-v61{border-radius:15px!important;border-color:var(--ui-line)!important}

/* ============================================================
   TORNEOS
   ============================================================ */
#tab-tournaments .tournament-mode-selector,#tab-tournaments .preset-grid{gap:10px!important}
#tab-tournaments .preset-grid{grid-template-columns:repeat(4,1fr)!important}
#tab-tournaments .preset-card{min-height:142px!important;padding:17px!important;border-radius:18px!important;border:1px solid var(--ui-line)!important;background:var(--ui-panel)!important;display:grid!important;align-content:start!important;gap:7px!important;text-align:left!important}
#tab-tournaments .preset-card>span{font-size:1.6rem!important}.preset-card strong{font-size:.92rem!important}.preset-card small{line-height:1.4!important}
body[data-theme="light"] #tab-tournaments .preset-card{background:#fff!important;color:#10203a!important}
#tab-tournaments .builder-card{padding:22px!important}#tab-tournaments .tournament-hub-v30{padding:16px!important}
#tab-tournaments .tournament-hub-tabs{max-width:360px!important;border:1px solid var(--ui-line)!important;border-radius:13px!important;padding:4px!important;background:var(--ui-panel-2)!important}

/* ============================================================
   DÓNDE PRACTICAR
   ============================================================ */
#tab-places .places-hero-v100{padding:24px!important;border-radius:24px!important;background:radial-gradient(circle at 90% 10%,rgba(34,197,94,.11),transparent 31%),linear-gradient(145deg,#111b2c,#0e1726)!important}
body[data-theme="light"] #tab-places .places-hero-v100{background:radial-gradient(circle at 90% 10%,rgba(21,128,61,.06),transparent 31%),linear-gradient(145deg,#fff,#f5faf7)!important;color:#10203a!important}
#tab-places .practice-places-list-v100{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
#tab-places .practice-place-card-v100{margin:0!important;border-radius:18px!important;border:1px solid var(--ui-line)!important;background:var(--ui-panel)!important;box-shadow:var(--ui-shadow-soft)!important}
body[data-theme="light"] #tab-places .practice-place-card-v100{background:#fff!important;color:#10203a!important}

/* ============================================================
   ADMIN + CONFIGURACIÓN
   ============================================================ */
#tab-admin .tt-admin-heading-v43{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:18px!important;padding-bottom:12px!important}
#tab-admin .tt-admin-summary-v43{padding:16px 18px!important}#tab-admin .section-card{border-radius:18px!important}
#tab-admin .v60-admin-dashboard,#tab-admin .admin-community-grid-v100{gap:10px!important}
#tab-admin .tt-admin-frame-lab-v43{padding:18px!important}
#tab-settings .settings-accordion{display:grid!important;gap:10px!important}#tab-settings .settings-group{margin:0!important;border-radius:18px!important;background:var(--ui-panel)!important;overflow:hidden!important}
#tab-settings .settings-group-toggle{min-height:62px!important;padding:0 16px!important}#tab-settings .settings-group-body{padding:0 16px 16px!important}
body[data-theme="light"] #tab-settings .settings-group{background:#fff!important;color:#10203a!important}

/* ============================================================
   MODALES + ESTADOS + LIGHT THEME FINAL
   ============================================================ */
.modal{background:rgba(3,8,18,.76)!important;backdrop-filter:blur(14px)!important}
body[data-theme="light"] .modal{background:rgba(28,42,63,.38)!important}
.modal-card{border:1px solid var(--ui-line)!important;border-radius:22px!important;background:var(--ui-panel)!important;color:var(--ui-text)!important;box-shadow:0 28px 90px rgba(0,0,0,.34)!important}
body[data-theme="light"] .modal-card{background:#fff!important;color:#10203a!important;box-shadow:0 25px 80px rgba(31,55,91,.22)!important}
.modal-close{border-radius:12px!important;background:var(--ui-panel-2)!important;color:var(--ui-text)!important}
body[data-theme="light"] .modal-close{background:#f2f6fc!important;color:#233b5d!important}
.loading-row,.compact-empty,.history-empty,.following-empty{border-radius:14px!important;color:var(--ui-muted)!important}
.loading-row{min-height:72px;display:grid;place-items:center}
.status.error{color:#fca5a5!important}.status.ok{color:#86efac!important}
body[data-theme="light"] .status.error{color:#b91c1c!important}body[data-theme="light"] .status.ok{color:#15803d!important}

/* fuerza coherencia en tema claro sobre estilos históricos */
body[data-theme="light"] .section-card h2,body[data-theme="light"] .section-card h3,body[data-theme="light"] .section-card strong,
body[data-theme="light"] .page-heading h2,body[data-theme="light"] .topbar h2{color:#10203a!important}
body[data-theme="light"] .section-card p,body[data-theme="light"] .section-card small,body[data-theme="light"] .section-card span:not(.badge):not(.status):not(.rank-name):not(.home-rank-badge-icon){--light-copy:1}
body[data-theme="light"] .topbar .icon-btn{background:#fff!important;color:#244064!important;border-color:rgba(31,55,91,.13)!important;box-shadow:0 6px 18px rgba(31,55,91,.07)!important}
body[data-theme="light"] .segmented,body[data-theme="light"] .ranking-scope-tabs{background:#e9eff8!important;border-color:rgba(31,55,91,.11)!important}
body[data-theme="light"] .segment,body[data-theme="light"] .ranking-scope{color:#61738e!important}
body[data-theme="light"] .segment.active,body[data-theme="light"] .ranking-scope.active{background:#fff!important;color:#1d4ed8!important;box-shadow:0 4px 12px rgba(31,55,91,.08)!important}
body[data-theme="light"] .danger-btn{background:#fff5f5!important;color:#b91c1c!important;border-color:rgba(185,28,28,.18)!important}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .content-area{width:min(100%,760px)!important;padding:10px 16px 38px!important}
  #tab-home .v15-home-layout{grid-template-columns:1fr!important}
  #tab-home .v15-dashboard-stats{grid-template-columns:repeat(4,1fr)!important}
  #tab-home .v15-metric-card{min-height:104px!important}
  #tab-ai .ai-feature-grid-v61{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #tab-tournaments .preset-grid{grid-template-columns:repeat(2,1fr)!important}
  #tab-places .practice-places-list-v100{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .topbar{padding-left:15px!important;padding-right:15px!important}
  .content-area{padding-inline:12px!important}
  .bottom-nav{width:calc(100% - 16px)!important;bottom:6px!important;border-radius:17px!important}
  #tab-home .v15-dashboard-stats{grid-template-columns:1fr 1fr!important}
  #tab-home .v59-discovery-dock{grid-template-columns:1fr 1fr!important}
  .v28-mission-list,.ui101-mission-skeleton{grid-template-columns:1fr!important}
  .v28-mission{min-height:124px!important}
  .ui101-mission-heading{align-items:flex-start!important;flex-direction:column!important}.ui101-mission-heading-meta{justify-content:flex-start!important}
  #tab-ranking>.page-heading,#tab-history .history-heading,#tab-admin .tt-admin-heading-v43{display:block!important}
  #tab-ranking .podium-1{min-height:205px!important}#tab-ranking .podium-2,#tab-ranking .podium-3{min-height:185px!important}
  #tab-ranking .v62-rank-profile{grid-template-columns:38px 40px minmax(0,1fr) 55px!important;gap:7px!important}
  #tab-ranking .v62-rank-challenge{width:44px!important}.v62-rank-challenge b{display:none!important}
  #tab-play .play-mode-gate-v62{grid-template-columns:1fr!important}.play-mode-gate-v62>button{min-height:100px!important}
  #tab-history .history-summary-grid{grid-template-columns:1fr 1fr!important}
  #tab-history .history-advanced-v60{grid-template-columns:1fr 1fr!important}
  #tab-profile .profile-quick-actions-v56{grid-template-columns:1fr!important}
  #tab-profile .profile-rating-grid{grid-template-columns:1fr 1fr!important}
  #tab-profile .profile-info-list{grid-template-columns:1fr 1fr!important}
  #tab-profile .achievement-grid{grid-template-columns:1fr!important}
  #tab-ai .ai-feature-grid-v61{grid-template-columns:1fr!important}.ai-feature-card{min-height:122px!important}
}
@media(max-width:430px){
  .content-area{padding-inline:9px!important}.section-card{padding:15px!important;border-radius:18px!important}.page-heading{padding-inline:5px!important}
  #tab-home .v15-player-hero{padding:17px!important}#tab-home .v59-rating-card{min-height:88px!important}.v59-rating-card strong{font-size:1.8rem!important}
  #tab-home .v15-dashboard-stats{gap:7px!important}.v15-metric-card{padding:13px!important}
  #tab-ranking .ranking-podium{gap:6px!important}.podium-slot{padding-inline:6px!important}.podium-slot strong{font-size:.68rem!important}
  #tab-history .history-filter-bar{padding:9px!important}.history-filter-group{overflow-x:auto!important;display:flex!important;flex-wrap:nowrap!important;padding-bottom:2px!important}.history-filter{white-space:nowrap!important}
  #tab-history .history-advanced-v60{grid-template-columns:1fr!important}
  #tab-history .history-match-main{grid-template-columns:40px minmax(0,1fr) auto!important;padding:12px!important}.history-match-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  #tab-profile .profile-info-list{grid-template-columns:1fr!important}
  #tab-tournaments .preset-grid{grid-template-columns:1fr!important}.preset-card{min-height:105px!important}
}

@media(prefers-reduced-motion:reduce){
  .ui101-mission-skeleton i{animation:none!important}
  button{transition:none!important}
}
