
/* V82 — MODULE SKIN
   Visual redesign only. Do not change module geometry.
   The existing application layout is intentionally preserved. */

:root{
  --ref-blue:#2563eb;
  --ref-navy:#0b2345;
  --ref-bg:#f5f8fc;
  --ref-card:#fff;
  --ref-border:#e3eaf2;
  --ref-text:#15233b;
  --ref-muted:#718096;
  --ref-soft:#eef5ff;
  --ref-shadow:0 2px 10px rgba(16,35,62,.045),0 8px 24px rgba(16,35,62,.035);
}

/* Common visual language */
.tab-panel .card,
.tab-panel .panel,
.tab-panel .section-card,
.tab-panel .table-wrap,
.tab-panel .profile-card,
.tab-panel .task-card,
.tab-panel .settings-card,
.tab-panel .wellness-question{
  background:var(--ref-card)!important;
  border:1px solid var(--ref-border)!important;
  border-radius:12px!important;
  box-shadow:var(--ref-shadow)!important;
}
.tab-panel .card-title,
.tab-panel .section-title{
  color:var(--ref-text)!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
}
.tab-panel .muted,
.tab-panel .text-muted,
.tab-panel .page-subtitle{
  color:var(--ref-muted)!important;
}
.tab-panel .btn,
.tab-panel button.btn,
.tab-panel .btn-secondary,
.tab-panel .btn-outline,
.tab-panel .btn-ghost{
  border:1px solid #d9e3ef!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#40526b!important;
  box-shadow:none!important;
}
.tab-panel .btn-primary,
.tab-panel button.btn-primary{
  background:var(--ref-blue)!important;
  border-color:var(--ref-blue)!important;
  color:#fff!important;
  box-shadow:0 5px 13px rgba(37,99,235,.16)!important;
}
.tab-panel input,
.tab-panel select,
.tab-panel textarea{
  border:1px solid #dbe4ef!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ref-text)!important;
}
.tab-panel input:focus,
.tab-panel select:focus,
.tab-panel textarea:focus{
  outline:none!important;
  border-color:#7ca5e7!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.08)!important;
}
.tab-panel th{
  background:#f7f9fc!important;
  color:#718096!important;
  border-bottom:1px solid var(--ref-border)!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-size:9px!important;
}
.tab-panel td{border-bottom:1px solid #edf2f7!important}

/* Headers of every module */
#tab-cargas .panel-header,
#tab-planificación .panel-header,
#tab-externa .panel-header,
#tab-readiness .panel-header,
#tab-peso .panel-header,
#tab-antropometria .panel-header,
#tab-wellness .panel-header,
#tab-salud .panel-header,
#tab-partidos .panel-header,
#tab-perfiles .panel-header,
#tab-temporada .panel-header{
  padding-bottom:2px!important;
}
#tab-cargas .panel-header h2,
#tab-planificación .panel-header h2,
#tab-externa .panel-header h2,
#tab-readiness .panel-header h2,
#tab-peso .panel-header h2,
#tab-antropometria .panel-header h2,
#tab-wellness .panel-header h2,
#tab-salud .panel-header h2,
#tab-partidos .panel-header h2,
#tab-perfiles .panel-header h2,
#tab-temporada .panel-header h2{
  color:var(--ref-text)!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}

/* Module toolbars */
#tab-cargas .cargas-mode-toggle,
#tab-planificación .cargas-mode-toggle,
#tab-externa .cargas-mode-toggle{
  background:#eef4fb!important;
  border:1px solid var(--ref-border)!important;
  border-radius:10px!important;
  padding:4px!important;
}
#tab-cargas .cargas-mode-btn,
#tab-planificación .cargas-mode-btn,
#tab-externa .cargas-mode-btn{
  border-radius:7px!important;
  color:#718096!important;
}
#tab-cargas .cargas-mode-btn.active,
#tab-planificación .cargas-mode-btn.active,
#tab-externa .cargas-mode-btn.active{
  background:#fff!important;
  color:var(--ref-blue)!important;
  box-shadow:0 2px 7px rgba(16,35,62,.07)!important;
}

/* Carga: analytics appearance without changing its layout */
#tab-cargas .kpi-card{
  background:linear-gradient(145deg,#fff,#fbfdff)!important;
}
#tab-cargas .kpi-value,
#tab-cargas .inicio-kpi-value{
  color:#1556c9!important;
}
#tab-cargas .table-wrap{
  overflow:auto!important;
}

/* Planificación: keep the existing calendar/grid exactly as built,
   only restyle its chrome. */
#tab-planificación .pp24-nav{
  background:#fff!important;
  border:1px solid var(--ref-border)!important;
  border-radius:10px!important;
  box-shadow:var(--ref-shadow)!important;
}
#tab-planificación .pp24-nav button.active{
  background:var(--ref-blue)!important;
  color:#fff!important;
  border-radius:8px!important;
}
#tab-planificación #plan-calendario-card,
#tab-planificación #plan-microciclo-card{
  border-color:var(--ref-border)!important;
  box-shadow:var(--ref-shadow)!important;
}

/* Microcycle cards: visual hierarchy only */
#tab-planificación .microcycle-card,
#tab-planificación .mc-day-card,
#tab-planificación .planning-day-card{
  border:1px solid var(--ref-border)!important;
  border-radius:11px!important;
  box-shadow:var(--ref-shadow)!important;
}
#tab-planificación .microcycle-card .day-header,
#tab-planificación .mc-day-card .day-header{
  background:#f7f9fc!important;
  border-bottom:1px solid var(--ref-border)!important;
}

/* External load: professional data-entry surface */
#tab-externa .card{
  border-radius:11px!important;
}
#tab-externa .table-wrap{
  background:#fff!important;
}
#tab-externa .card-title{
  font-size:13px!important;
  font-weight:800!important;
}

/* Wellness / Hooper */
#tab-wellness .wellness-question{
  background:#fff!important;
  border-color:var(--ref-border)!important;
  box-shadow:none!important;
}
#tab-wellness .wellness-question button{
  border-radius:8px!important;
}
#tab-wellness .kpi-card{
  background:linear-gradient(145deg,#fff,#fbfdff)!important;
}

/* Readiness */
#tab-readiness .fr-hero{
  border-radius:13px!important;
  box-shadow:0 12px 30px rgba(11,35,69,.12)!important;
}
#tab-readiness .fr-card{
  border-radius:11px!important;
}

/* Players: IMPORTANT — preserve the existing .player-grid layout.
   Only style the cards themselves. */
#tab-perfiles #perfiles-grid .player-grid{
  margin-bottom:20px!important;
}
#tab-perfiles #perfiles-grid .player-card{
  background:#fff!important;
  border:1px solid var(--ref-border)!important;
  border-radius:12px!important;
  box-shadow:var(--ref-shadow)!important;
}
#tab-perfiles #perfiles-grid .player-card:hover{
  border-color:#c6d7ec!important;
  box-shadow:0 8px 22px rgba(16,35,62,.07)!important;
}
#tab-perfiles #perfiles-grid .pc-pos{
  border-radius:999px!important;
}
#tab-perfiles #perfiles-grid .pc-footer{
  border-top:1px solid #edf2f7!important;
}

/* Matches */
#tab-partidos .partido-card,
#tab-partidos .match-card{
  background:#fff!important;
  border:1px solid var(--ref-border)!important;
  border-radius:11px!important;
  box-shadow:var(--ref-shadow)!important;
}

/* Season */
#tab-temporada .card{
  border-radius:12px!important;
}
#tab-temporada .card-title{
  font-weight:800!important;
}
#tab-temporada canvas{
  border-radius:9px!important;
}

/* Profile / settings modals */
.modal-back{
  background:rgba(9,36,74,.42)!important;
  backdrop-filter:blur(7px)!important;
}
.modal,
.modal-content{
  border:1px solid var(--ref-border)!important;
  border-radius:13px!important;
  box-shadow:0 24px 60px rgba(7,29,59,.18)!important;
}

/* Dashboard: keep its existing V80 geometry; only refine the visual scale.
   No grid/column model is replaced. */
#tab-inicio .v8-dashboard{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#tab-inicio .v8-card,
#tab-inicio .v8-kpi{
  border-color:var(--ref-border)!important;
  box-shadow:var(--ref-shadow)!important;
}
#tab-inicio .v8-kpi-value{
  color:#1556c9!important;
}
#tab-inicio .v8-card-title{
  color:var(--ref-text)!important;
}
#tab-inicio .v8-card-sub,
#tab-inicio .v8-kpi-meta{
  color:var(--ref-muted)!important;
}
#tab-inicio .v8-action{
  border-color:var(--ref-border)!important;
  background:#fff!important;
}
#tab-inicio .v8-action:hover{
  background:#f7faff!important;
}

/* Semantic colours stay untouched: C1-C5, session types, intensity,
   match status and warnings retain their meaning. */

@media(max-width:1100px){
  /* Only responsive typography/padding; do not alter module grids. */
  #tab-inicio .v8-dashboard{width:100%!important}
}
