#nextMatches .teams-block{
  display:flex;
  flex-direction:column;
  gap:4px;
}

@media (min-width:769px){
  body[data-page="calendario"] #calendarTable[data-appadel-rendering="true"]{
    visibility:hidden;
  }
}

@media (min-width:1024px){
  body[data-page="calendario"] .cal-wrap .cal-table{
    table-layout:fixed;
    width:100%;
  }

  body[data-page="calendario"] .cal-wrap .cal-table th:nth-child(1),
  body[data-page="calendario"] .cal-wrap .cal-table td:nth-child(1){
    width:128px;
  }

  body[data-page="calendario"] .cal-wrap .cal-table th:nth-child(2),
  body[data-page="calendario"] .cal-wrap .cal-table td:nth-child(2){
    width:160px;
  }

  body[data-page="calendario"] .cal-wrap .cal-table th:nth-child(3),
  body[data-page="calendario"] .cal-wrap .cal-table td:nth-child(3){
    width:88px;
  }

  body[data-page="calendario"] .cal-wrap .cal-table td{
    padding-top:12px;
    padding-bottom:12px;
    vertical-align:middle;
  }

  body[data-page="calendario"] .cal-jornada-cell{
    gap:8px;
    white-space:nowrap;
  }

  body[data-page="calendario"] .cal-venue-ico{
    width:30px;
    height:30px;
    flex:0 0 30px;
  }

  body[data-page="calendario"] .date-cell.cal-meta-block,
  body[data-page="calendario"] td:nth-child(3) .cal-meta-block{
    gap:0;
  }

  body[data-page="calendario"] .date-main,
  body[data-page="calendario"] .cal-wrap .cal-table .teams-inline{
    font-size:.95rem;
    line-height:1.2;
  }

  body[data-page="calendario"] .date-sub{
    display:none;
  }

  body[data-page="calendario"] .cal-main-cell{
    display:flex;
    align-items:center;
    gap:12px;
    white-space:nowrap;
  }

  body[data-page="calendario"] .teams-head-inline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex:1 1 auto;
    min-width:0;
  }

  body[data-page="calendario"] .cal-score-main{
    flex:1 1 auto;
    min-width:0;
  }

  body[data-page="calendario"] .cal-wrap .cal-table .teams-inline{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:800;
  }

  body[data-page="calendario"] .cal-score-side{
    flex:0 0 auto;
  }

  body[data-page="calendario"] .score-badge{
    min-width:66px;
    min-height:36px;
    padding:6px 12px;
    font-size:.98rem;
  }

  body[data-page="calendario"] .cal-action-row{
    margin-top:0;
    flex:0 0 auto;
    width:auto;
    gap:6px;
  }

  body[data-page="calendario"] .cal-action-row .cal-gestion-btn,
  body[data-page="calendario"] .cal-action-row .cal-detail-toggle{
    flex:0 0 auto;
    width:auto;
    min-height:34px;
    padding:5px 8px;
    font-size:.72rem;
    border-radius:999px;
  }

  body[data-page="calendario"] .cal-action-row .cal-btn-text{
    max-width:94px;
    white-space:nowrap;
  }

  body[data-page="calendario"] .cal-main-cell > .cal-detail-block{
    flex:1 0 100%;
  }
}
#nextMatches .team-name.team-ours{
  color:var(--club-green);
  font-weight:800;
}

#homeConvocatoria:empty{display:none;}

.mcal-list{display:grid;gap:10px}
.mcal-card{
  background:var(--card-secondary-bg);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);
  padding:13px 14px;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.mcal-line1{
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex-wrap:nowrap;
  margin-bottom:10px;
  min-width:0;
  max-width:100%;
}

.mcal-line1 .ms-auto{
  margin-left:auto;
}.mcal-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:var(--radius-pill);
  background:var(--color-primary-ghost);
  color:var(--color-primary);
  border:1px solid var(--color-primary-border-soft);
  font-weight:900;
}
.mcal-meta{
  color:var(--color-muted);
  font-weight:600;
  font-size:.82rem;
  line-height:1.25;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mcal-line2{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
  min-width:0;
  max-width:100%;
}
.mcal-teams{
  font-weight:900;
  font-size:1rem;
  line-height:1.28;
  word-break:break-word;
}
.mcal-teams .sep{opacity:.6;font-weight:700}
.mcal-teams-vs{display:grid;gap:4px}
.mcal-vs{font-size:.78rem;opacity:.55;font-weight:800;letter-spacing:.03em}
.mcal-line3 .mcal-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.cal-score-main{
  display:grid;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
  width:100%;
}

.cal-teams-block{
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
  min-width:0;
}

.cal-team-row,
.mcal-team-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  width:100%;
  max-width:100%;
  overflow:hidden;
}

.cal-team-row .badge,
.mcal-team-row .badge{
  flex:0 0 auto;
  min-width:0;
}

.cal-team-row .team-name,
.mcal-team-row .team-name{
  display:block;
  flex:1 1 auto;
  min-width:0;
  width:100%;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:400;
  color:var(--color-text);
}

.cal-team-row .team-name.team-ours,
.mcal-team-row .team-name.team-ours{
  color:var(--color-primary);
  font-weight:700;
}

.cal-score-meta{
  display:flex;
  align-items:center;
  gap:8px;
}

.cal-score-side{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  flex:0 0 auto;
}

.cal-meta-block{
  display:grid;
  gap:3px;
}

.cal-main-cell{
  min-width:0;
}

.cal-jornada-cell{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.mcal-head-main{
  display:grid;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
}

.mcal-jornada-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  max-width:100%;
}

.mcal-meta-stack{
  display:grid;
  gap:2px;
  min-width:0;
  max-width:100%;
}

.mcal-venue-ico,
.cal-venue-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:var(--color-primary-ghost-strong);
  box-shadow:0 0 0 1px var(--color-primary-ghost-strong) inset;
  font-size:1rem;
  font-weight:900;
  line-height:1;
}

.mcal-actions-wrap{
  display:flex;
  align-items:flex-start;
  min-width:0;
  max-width:100%;
}

.mcal-teams-wrap{
  min-width:0;
  flex:1 1 auto;
  width:100%;
  max-width:100%;
  overflow:hidden;
}

.mcal-teams-block{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}

.mcal-score-wrap{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  flex:0 0 auto;
  margin-left:auto;
  min-width:0;
  max-width:100%;
}

.mcal-line3-actions{
  margin-top:2px;
  margin-bottom:8px;
}

.mcal-line3-actions .cal-gestion-stack{
  flex-wrap:nowrap;
}

.cal-jornada-title{
  font-size:1rem;
  font-weight:800;
  line-height:1.2;
  color:var(--color-text);
}

.mcal-pill.cal-jornada-title{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--color-text);
  font-size:1rem;
  font-weight:800;
  letter-spacing:0;
}

.player-mgmt-readonly{
  background:var(--color-bg) !important;
  color:var(--color-text-disabled) !important;
  border-color:var(--color-border) !important;
  cursor:not-allowed;
}

.player-mgmt-readonly:focus{
  background:var(--color-bg) !important;
  color:var(--color-text-disabled) !important;
  border-color:var(--color-border) !important;
  box-shadow:none !important;
}

.cal-detail-toggle-wrap{
  margin-top:0;
  flex:0 0 auto;
}

.cal-detail-block[hidden]{
  display:none !important;
}

.cal-action-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:stretch;
  gap:8px;
  min-width:0;
  width:100%;
  margin-top:12px;
}

.cal-action-row .cal-gestion-btn,
.cal-action-row .cal-detail-toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  border-radius:999px;
  font-size:.78rem;
  line-height:1.1;
  min-width:0;
  padding:4px 8px;
  width:100%;
}

.cal-action-row .cal-detail-toggle{
  gap:.34rem;
}

.cal-action-row .cal-btn-ico{
  flex:0 0 auto;
}

.cal-action-row .cal-btn-text{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:768px){
  .cal-action-row{
    gap:6px;
    align-items:stretch;
  }

  .cal-action-row .cal-gestion-btn,
  .cal-action-row .cal-detail-toggle{
    padding:4px 7px;
    font-size:.72rem;
  }

  .mcal-card .cal-action-row{
    margin-top:0;
  }
}

.mcal-meta-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
}

.mcal-chips{
  display:grid;
  gap:10px;
}

.cal-wrap .cal-table th{
  font-size:.78rem;
  font-weight:800;
  color:var(--color-muted);
  letter-spacing:.02em;
  text-transform:uppercase;
}

.cal-wrap .cal-table td{
  padding-top:10px;
  padding-bottom:10px;
  vertical-align:top;
}

.cal-wrap .cal-table .teams-head-inline{
  gap:14px;
}

.cal-wrap .cal-table .teams-inline{
  font-size:.98rem;
  line-height:1.28;
}

.cal-wrap .cal-table .mobile-results{
  margin-top:9px;
}

.cal-gestion-stack{
  gap:.42rem;
}

.home-clas table,
#clasificacionWrap table{
  table-layout:fixed;
  width:100%;
}

.home-clas th:nth-child(1),
.home-clas td:nth-child(1),
#clasificacionWrap th:nth-child(1),
#clasificacionWrap td:nth-child(1){
  width:var(--clas-col-pos);
  text-align:center;
}

.home-clas th:nth-child(2),
.home-clas td:nth-child(2),
#clasificacionWrap th:nth-child(2),
#clasificacionWrap td:nth-child(2){
  width:auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.home-clas th:nth-child(3),
.home-clas td:nth-child(3),
#clasificacionWrap th:nth-child(3),
#clasificacionWrap td:nth-child(3){
  width:var(--clas-col-pts);
  text-align:center;
}

.home-clas th:nth-child(4),
.home-clas td:nth-child(4),
.home-clas th:nth-child(5),
.home-clas td:nth-child(5),
.home-clas th:nth-child(6),
.home-clas td:nth-child(6),
#clasificacionWrap th:nth-child(4),
#clasificacionWrap td:nth-child(4),
#clasificacionWrap th:nth-child(5),
#clasificacionWrap td:nth-child(5),
#clasificacionWrap th:nth-child(6),
#clasificacionWrap td:nth-child(6){
  width:var(--clas-col-num);
  text-align:center;
}

.is-ours{background:var(--color-primary-ghost);}
.is-ours td{font-weight:400;}
.is-ours td:nth-child(2){
  color:var(--club-green);
  font-weight:800;
}
.is-ours td.col-pts{font-weight:800;}

body[data-page="clasificacion"] .clas-page-shell{
  padding:var(--density-comfortable-card-padding);
  border-radius:26px;
}

body[data-page="clasificacion"] #clasificacionUpdatedInfo{
  margin-bottom:12px !important;
  padding:10px 12px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:14px;
  background:rgba(var(--club-primary-rgb), .05);
  color:var(--color-muted) !important;
  font-weight:700;
}

body[data-page="clasificacion"] #clasificacionWrap{
  overflow:visible;
}

body[data-page="clasificacion"] #clasificacionWrap > .text-muted.p-3{
  padding:18px !important;
  border:1px dashed rgba(var(--club-primary-rgb), .18);
  border-radius:18px;
  background:rgba(var(--club-primary-rgb), .04);
  font-weight:700;
}

body[data-page="clasificacion"] .clas-mobile-list{
  display:grid;
  gap:10px;
}

body[data-page="clasificacion"] .clas-rank-head{
  display:grid;
  grid-template-columns:28px minmax(0, 1fr) 34px 22px 22px 22px;
  align-items:center;
  gap:6px;
  padding:10px 14px;
}

body[data-page="clasificacion"] .clas-rank-head-pos{
  text-align:center;
}

body[data-page="clasificacion"] .clas-rank-head-pts,
body[data-page="clasificacion"] .clas-rank-head-stat{
  justify-self:end;
  white-space:nowrap;
}

body[data-page="clasificacion"] .clas-rank-row{
  display:grid;
  grid-template-columns:28px minmax(0, 1fr) 34px 22px 22px 22px;
  align-items:center;
  gap:5px;
  min-height:38px;
  padding:7px 12px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--shadow-xs);
}

body[data-page="clasificacion"] .clas-rank-row.is-ours{
  background:rgba(255,255,255,.88);
  border-color:rgba(var(--club-primary-rgb), .10);
  box-shadow:var(--shadow-xs);
}

body[data-page="clasificacion"] .clas-rank-row.has-fcp-zone{
  background:linear-gradient(90deg, var(--clas-fcp-bg, rgba(255,255,255,.88)), rgba(255,255,255,.94));
  border-color:rgba(var(--club-primary-rgb), .16);
  box-shadow:inset 4px 0 0 var(--clas-fcp-color), var(--shadow-xs);
}

body[data-page="clasificacion"] .clas-rank-row.has-fcp-zone.is-ours{
  background:linear-gradient(90deg, var(--clas-fcp-bg, rgba(255,255,255,.88)), rgba(255,255,255,.94));
  box-shadow:inset 4px 0 0 var(--clas-fcp-color), var(--shadow-xs);
}

body[data-page="clasificacion"] .clas-rank-pos{
  font-size:.92rem;
  font-weight:900;
  text-align:center;
  color:var(--color-text);
}

body[data-page="clasificacion"] .clas-rank-team{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.96rem;
  font-weight:800;
  color:var(--color-text);
}

body[data-page="clasificacion"] .clas-rank-row.is-ours .clas-rank-team{
  color:var(--color-primary);
}

body[data-page="clasificacion"] .clas-rank-row.is-ours .clas-rank-pos,
body[data-page="clasificacion"] .clas-rank-row.is-ours .clas-rank-pts,
body[data-page="clasificacion"] .clas-rank-row.is-ours .clas-rank-stat{
  color:var(--color-primary);
}

body[data-page="clasificacion"] .clas-rank-pts{
  justify-self:end;
  font-size:.86rem;
  font-weight:900;
  color:var(--color-primary);
  white-space:nowrap;
}

body[data-page="clasificacion"] .clas-rank-stat{
  justify-self:end;
  white-space:nowrap;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.01em;
  color:var(--color-muted);
}

body[data-page="clasificacion"] .clas-desktop-table{
    display:none;
  }

body[data-page="clasificacion"] .clas-empty-state{
  justify-items:start;
}

body[data-page="clasificacion"] .clas-fcp-legend,
.home-clas .clas-fcp-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  margin-top:12px;
  padding:8px 10px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:12px;
  background:rgba(255,255,255,.72);
}

body[data-page="clasificacion"] .clas-fcp-legend-item,
.home-clas .clas-fcp-legend-item{
  display:inline-flex;
  align-items:center;
  min-width:0;
  gap:6px;
  font-size:.78rem;
  font-weight:650;
  color:var(--color-muted);
}

body[data-page="clasificacion"] .clas-fcp-legend-swatch,
.home-clas .clas-fcp-legend-swatch{
  width:14px;
  height:14px;
  flex:0 0 auto;
  border-radius:4px;
  background:var(--clas-fcp-color);
  border:1px solid rgba(0,0,0,.12);
}

body[data-page="clasificacion"] .clas-fcp-legend-label,
.home-clas .clas-fcp-legend-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.home-clas .home-clas-legend{
  gap:6px 10px;
  margin-top:10px;
  padding:8px 10px;
  border-radius:10px;
}

.home-clas .home-clas-legend .clas-fcp-legend-item{
  font-size:.72rem;
}

.home-clas .home-clas-legend .clas-fcp-legend-swatch{
  width:12px;
  height:12px;
}

body[data-page="clasificacion"] #clasificacionActions{
  margin-top:16px !important;
  padding-top:16px;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
}

body[data-page="clasificacion"] #clasificacionEditorCard{
  border-radius:22px;
}

body[data-page="clasificacion"] .clas-actions-row .btn,
body[data-page="clasificacion"] .clas-buttons .btn{
  min-height:42px;
  border-radius:14px;
  font-weight:800;
}

body[data-page="clasificacion"] .clas-actions-row .btn{
  white-space:nowrap;
}

@media (min-width:769px){
  body[data-page="clasificacion"] .clas-mobile-list{
    display:none;
  }

  body[data-page="clasificacion"] .clas-desktop-table{
    display:block;
  }

  body[data-page="clasificacion"] .clas-desktop-grid,
  body[data-page="clasificacion"] .clas-desktop-rows{
    display:grid;
    gap:10px;
  }

  body[data-page="clasificacion"] .clas-desktop-head,
  body[data-page="clasificacion"] .clas-desktop-row{
    display:grid;
    grid-template-columns:56px minmax(180px, 1fr) repeat(4, 64px);
    align-items:center;
    column-gap:0;
  }

  body[data-page="clasificacion"] .clas-desktop-head{
    min-height:38px;
    padding:10px 14px;
  }

  body[data-page="clasificacion"] .clas-desktop-head > span:not(:nth-child(2)){
    text-align:center;
  }

  body[data-page="clasificacion"] .clas-desktop-row{
    min-height:50px;
    padding:0 14px;
    border:1px solid rgba(var(--club-primary-rgb), .10);
    border-radius:18px;
    background:rgba(255,255,255,.9);
    box-shadow:var(--shadow-xs);
    overflow:hidden;
  }

  body[data-page="clasificacion"] .clas-desktop-cell{
    min-width:0;
    font-size:var(--app-data-desktop-font-size);
    font-weight:var(--app-data-desktop-font-weight);
    line-height:var(--app-data-desktop-line-height);
  }

  body[data-page="clasificacion"] .clas-desktop-pos,
  body[data-page="clasificacion"] .clas-desktop-pts{
    font-weight:900;
    color:var(--color-primary);
  }

  body[data-page="clasificacion"] .clas-desktop-team{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:800;
  }

  body[data-page="clasificacion"] .clas-desktop-pos,
  body[data-page="clasificacion"] .clas-desktop-pts,
  body[data-page="clasificacion"] .clas-desktop-stat{
    text-align:center;
  }

  body[data-page="clasificacion"] .clas-desktop-stat{
    color:var(--color-muted);
  }

  body[data-page="clasificacion"] .clas-desktop-row.is-ours{
    color:var(--color-primary);
    border-color:rgba(var(--club-primary-rgb), .34);
    box-shadow:0 0 0 2px rgba(var(--club-primary-rgb), .10), var(--shadow-xs);
  }

  body[data-page="clasificacion"] .clas-desktop-row.is-ours:not(.has-fcp-zone){
    background:var(--color-primary-ghost);
  }

  body[data-page="clasificacion"] .clas-desktop-row.is-ours .clas-desktop-cell{
    color:var(--color-primary);
  }

  body[data-page="clasificacion"] .clas-desktop-row.has-fcp-zone{
    background:linear-gradient(90deg, var(--clas-fcp-bg, rgba(255,255,255,.9)), rgba(255,255,255,.96));
    box-shadow:inset 4px 0 0 var(--clas-fcp-color), var(--shadow-xs);
  }

  body[data-page="clasificacion"] .clas-desktop-row.has-fcp-zone.is-ours{
    box-shadow:inset 4px 0 0 var(--clas-fcp-color), 0 0 0 2px rgba(var(--club-primary-rgb), .10), var(--shadow-xs);
  }
}

@media (max-width:768px){
  body[data-page="clasificacion"] .clas-page-shell{
    padding:var(--density-comfortable-card-padding-mobile);
    border-radius:22px;
  }

  body[data-page="clasificacion"] .clas-page-head{
    align-items:flex-start !important;
    gap:4px !important;
  }

  body[data-page="clasificacion"] .clas-rank-row{
    grid-template-columns:24px minmax(0, 1fr) 30px 20px 20px 20px;
    gap:4px;
    min-height:22px;
    padding:5px 10px;
    border-radius:14px;
  }

  body[data-page="clasificacion"] .clas-rank-head{
    grid-template-columns:24px minmax(0, 1fr) 30px 20px 20px 20px;
    gap:4px;
    padding:5px 10px;
  }

  body[data-page="clasificacion"] .clas-rank-pos{
    font-size:.8rem;
  }

  body[data-page="clasificacion"] .clas-rank-team{
    font-size:.88rem;
  }

  body[data-page="clasificacion"] .clas-rank-pts{
    font-size:.76rem;
  }

  body[data-page="clasificacion"] .clas-rank-stat{
    font-size:.68rem;
  }

  body[data-page="clasificacion"] .clas-desktop-table{
    display:none;
  }

  .only-desktop{display:none !important;}

  #logoutBtn{
    margin:0;
    width:52px;
    height:52px;
    min-width:52px;
    min-height:52px;
    border:1px solid var(--color-primary-border-soft);
    border-radius:16px;
    background:#fff;
    color:var(--color-primary);
    box-shadow:0 8px 18px rgba(15, 23, 42, .08);
  }
  #logoutBtn:hover{background:#fff;}
}

body[data-page="estadisticas"] .stats-page-shell{
  padding:var(--density-comfortable-card-padding);
  border-radius:26px;
}

body[data-page="estadisticas"] .stats-page-head{
  margin-bottom:14px;
}

body[data-page="estadisticas"] .stats-tabs{
  display:flex;
  gap:10px;
  margin-bottom:16px;
  flex-wrap:wrap;
}

body[data-page="estadisticas"] .stats-tab{
  border:none;
  background:rgba(var(--club-primary-rgb), .08);
  color:var(--text);
  border-radius:999px;
  padding:10px 16px;
  font-weight:700;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

body[data-page="estadisticas"] .stats-tab:hover,
body[data-page="estadisticas"] .stats-tab:focus{
  background:rgba(var(--club-primary-rgb), .14);
  color:var(--color-primary);
}

body[data-page="estadisticas"] .stats-tab.is-active{
  background:var(--color-primary);
  color:#fff;
  box-shadow:0 10px 22px rgba(var(--club-primary-rgb), .22);
}

body[data-page="estadisticas"] .stats-table-wrap{
  overflow:visible;
}

body[data-page="estadisticas"] .stats-table{
  width:100%;
  table-layout:fixed;
}

body[data-page="estadisticas"] .stats-table.has-header-card thead{
  background:var(--app-data-header-bg);
  outline:1px solid var(--app-data-header-border);
  border-radius:16px;
  overflow:hidden;
}

body[data-page="estadisticas"] .stats-table.has-header-card thead tr{
  background:var(--app-data-header-bg);
  clip-path:inset(0 round 16px);
}

body[data-page="estadisticas"] .stats-table tbody td{
  padding:13px 8px;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
  border-bottom:1px solid rgba(var(--club-primary-rgb), .10);
  background:rgba(255,255,255,.9);
  vertical-align:middle;
}

body[data-page="estadisticas"] .stats-table tbody td:first-child{
  border-left:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:18px 0 0 18px;
}

body[data-page="estadisticas"] .stats-table tbody td:last-child{
  border-right:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:0 18px 18px 0;
}

body[data-page="estadisticas"] .stats-table tbody tr + tr td{
  border-top-width:1px;
}

body[data-page="estadisticas"] .stats-table tbody tr:nth-child(odd) td{
  background:rgba(255,255,255,.94);
}

body[data-page="estadisticas"] .stats-table tbody tr.is-current-user{
  background:var(--color-primary-ghost);
  clip-path:inset(0 round 18px);
}

body[data-page="estadisticas"] .stats-table tbody tr.is-current-user td{
  background:transparent;
  border-color:rgba(var(--club-primary-rgb), .20);
}

body[data-page="estadisticas"] .stats-table tbody tr:nth-child(-n+3) td:first-child{
  color:var(--color-primary);
}

body[data-page="estadisticas"] .stats-table tbody tr.is-current-user td:first-child{
  color:var(--color-primary);
  font-weight:800;
}

body[data-page="estadisticas"] .stats-table tbody td:nth-child(1){
  width:auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="estadisticas"] .stats-table tbody td:nth-child(n+2),
body[data-page="estadisticas"] .stats-table thead th:nth-child(n+2){
  text-align:center;
}

body[data-page="estadisticas"] .stats-table thead th:first-child,
body[data-page="estadisticas"] .stats-table tbody td:first-child{
  padding-left:12px;
}

body[data-page="estadisticas"] .stats-table thead th:nth-child(n+2),
body[data-page="estadisticas"] .stats-table tbody td:nth-child(n+2){
  padding-left:6px;
  padding-right:6px;
}

body[data-page="estadisticas"] .stats-table.has-header-card thead th{
  padding-top:10px;
  padding-bottom:10px;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}

body[data-page="estadisticas"] .stats-table tbody .text-muted.p-3,
body[data-page="estadisticas"] .stats-table tbody .text-danger.p-3{
  padding:18px !important;
  border:1px dashed rgba(var(--club-primary-rgb), .18);
  border-radius:18px;
  background:rgba(var(--club-primary-rgb), .04);
  font-weight:700;
}

body[data-page="estadisticas"] #statsAvailabilityPanel .stats-availability-legend{
  margin-top:2px;
  margin-bottom:10px;
}

body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table thead th:first-child,
body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table tbody td:first-child{
  padding-right:4px;
}

body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table thead th:nth-child(n+2),
body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table tbody td:nth-child(n+2){
  padding-left:4px;
  padding-right:4px;
}

@media (min-width:769px){
  body[data-page="estadisticas"] .stats-table{
    border-collapse:separate;
    border-spacing:0 10px;
  }

  body[data-page="estadisticas"] .stats-table thead th:nth-child(1){
    width:auto;
  }

  body[data-page="estadisticas"] .stats-table thead th:nth-child(n+2){
    width:60px;
  }

  body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table thead th:nth-child(n+2){
    width:52px;
  }
}

@media (max-width:768px){
  body[data-page="estadisticas"] .stats-page-shell{
    padding:var(--density-comfortable-card-padding-mobile);
    border-radius:22px;
  }

  body[data-page="estadisticas"] .stats-page-head{
    align-items:flex-start !important;
    gap:12px !important;
  }

  body[data-page="estadisticas"] .stats-year-filter{
    width:100%;
    justify-content:space-between;
  }

  body[data-page="estadisticas"] .stats-year-filter select{
    max-width:154px;
  }

  body[data-page="estadisticas"] .stats-tabs{
    gap:8px;
  }

  body[data-page="estadisticas"] .stats-tab{
    flex:1 1 calc(50% - 4px);
    text-align:center;
    padding:11px 12px;
  }

  body[data-page="estadisticas"] .stats-table{
    border-collapse:separate;
    border-spacing:0 10px;
    table-layout:fixed;
    width:100%;
  }

  body[data-page="estadisticas"] .stats-table thead th:nth-child(1){
    width:auto;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body[data-page="estadisticas"] .stats-table thead th:nth-child(n+2){
    width:34px;
  }

  body[data-page="estadisticas"] #statsAvailabilityPanel .stats-availability-legend{
    margin-bottom:8px;
    line-height:1.35;
  }

  body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table thead th:nth-child(n+2){
    width:31px;
  }

  body[data-page="estadisticas"] .stats-table tbody td{
    padding:9px 3px;
    border-top:1px solid rgba(var(--club-primary-rgb), .10);
    border-bottom:1px solid rgba(var(--club-primary-rgb), .10);
  }

  body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table tbody td:nth-child(n+2),
  body[data-page="estadisticas"] #statsAvailabilityPanel .stats-table thead th:nth-child(n+2){
    padding-left:2px;
    padding-right:2px;
  }

  body[data-page="estadisticas"] .stats-table tbody td:first-child{
    padding-left:8px;
  }

  body[data-page="estadisticas"] .stats-table tbody td:last-child{
    padding-right:8px;
  }

  body[data-page="estadisticas"] .stats-table tbody tr.is-current-user{
    clip-path:inset(0 round 16px);
  }
}

.login-body{
  min-height:100vh;
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(15,107,79,.18), transparent 55%),
    radial-gradient(900px 500px at 120% 10%, rgba(15,107,79,.12), transparent 55%),
    var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-shell{
  width:100%;
  max-width:520px;
  padding:18px;
}
.login-card{
  width:100%;
  box-shadow:var(--shadow-soft);
  padding:18px;
}
.login-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  margin-bottom:18px;
}
.login-logo{
  width:132px;
  height:132px;
  object-fit:contain;
}
.login-titles{
  line-height:1.15;
  text-align:center;
}
.login-title{font-weight:900;font-size:1.25rem;}
.login-subtitle{
  color:var(--color-muted);
  font-weight:800;
  font-size:.95rem;
  margin-top:2px;
}
.login-msg{
  min-height:20px;
  margin:6px 0 10px 0;
  font-weight:800;
  color:var(--lose);
}
.login-form{display:grid;gap:8px;}
.login-label{
  font-size:.85rem;
  color:var(--muted);
  font-weight:800;
  margin-top:6px;
}
.login-input{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 12px;
  font-weight:700;
  outline:none;
  background:var(--color-white);
}
.login-input:focus{
  border-color:var(--color-primary-border-mid);
  box-shadow:0 0 0 4px var(--color-primary-ghost);
}
.login-passwrap{position:relative;}
.login-peek{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  padding:6px 8px;
  border-radius:10px;
  cursor:pointer;
  opacity:.8;
}
.login-peek:hover{opacity:1;background:rgba(0,0,0,.04);}
.login-btn{
  margin-top:10px;
  border:0;
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  color:var(--color-text-inverse);
  background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));
  box-shadow:0 10px 22px rgba(var(--club-primary-rgb), .18);
}
.login-btn:active{transform:translateY(1px);}
.login-forgot-link{
  display:inline-flex;
  justify-content:center;
  margin-top:10px;
  color:var(--color-primary);
  font-weight:800;
  text-decoration:none;
}
.login-forgot-link:hover{text-decoration:underline;}
.login-foot{
  margin-top:12px;
  font-size:.85rem;
  display:flex;
  justify-content:center;
}
@media (min-width:992px){
  .login-card{padding:22px;}
  .login-logo{width:156px;height:156px;}
  .login-title{font-size:1.35rem;}
}

.sets-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.set-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  padding:6px 8px;
  border-radius:12px;
  font-weight:800;
  font-size:.9rem;
  border:1px solid var(--color-border-subtle);
  box-shadow:0 1px 0 var(--color-overlay-dark-soft);
}
.set-pill.set-win{background:var(--win-bg);color:var(--win);}
.set-pill.set-lose{background:var(--lose-bg);color:var(--lose);}
.set-pill.set-neutral{background:var(--color-bg-elevated);color:var(--color-text-placeholder);}

.ol-teamrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--color-border-subtle) 85%, var(--color-surface) 15%);
  background:var(--color-surface);
  margin-top:6px;
}
.ol-teamname{font-weight:700;line-height:1.2;}
.ol-teampoints{
  min-width:34px;
  text-align:center;
  font-weight:900;
  font-size:1rem;
  border-radius:999px;
  padding:4px 8px;
  background:var(--color-bg-elevated);
}

#olJornadaCard{
  padding:10px 12px !important;
}
#olJornadaCard .h6{
  font-size:1.05rem;
  margin:0 0 2px 0 !important;
  line-height:1.15;
}
#olJornadaCard .text-muted.small{
  margin:0 !important;
  line-height:1.2;
}
#olJornadaCard .mb-1{ margin-bottom:4px !important; }
#olJornadaCard .ol-teamrow{ margin-top:4px !important; }

.ol-card-head h2{margin:0 !important;line-height:1.15;}
.ol-card-head .text-muted{margin-top:4px;}
.ol-card-head .ol-toggle-btn{margin-top:2px;min-width:92px;}

.match-chip .set-win{
  color:var(--win) !important;
  background:var(--win-bg) !important;
  border-color:var(--color-success-border) !important;
}
.match-chip .set-lose{
  color:var(--lose) !important;
  background:var(--lose-bg) !important;
  border-color:var(--color-danger-border) !important;
}
.match-chip.match-win{
  border-color:var(--color-success-border-strong) !important;
  box-shadow:0 0 0 1px var(--color-success-shadow-inset) inset !important;
}
.match-chip.match-lose{
  border-color:var(--color-danger-border-strong) !important;
  box-shadow:0 0 0 1px var(--color-danger-shadow-inset) inset !important;
}

@media (min-width:992px){
  .carousel-compact .carousel-item img{
    height:auto;
    max-height:420px;
    object-fit:contain;
  }
}

#olChatMessages{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:8px;
  max-height:350px;
  overflow-y:auto;
}
.chat-row{display:flex;justify-content:flex-start;}
.chat-row.mine{justify-content:flex-end;}
.chat-bubble{
  max-width:75%;
  padding:8px 12px;
  border-radius:16px;
  background:var(--color-neutral-soft);
  font-size:.9rem;
  position:relative;
}
.chat-row.mine .chat-bubble{background:color-mix(in srgb, var(--color-success-soft) 70%, var(--color-surface) 30%);}
.chat-name{font-size:.7rem;font-weight:600;margin-bottom:2px;opacity:.6;}
.chat-text{word-wrap:break-word;}
.chat-time{font-size:.65rem;text-align:right;margin-top:4px;opacity:.5;}

#olCaptainPairs .ol-cap-row{
  display:grid !important;
  grid-template-columns:20px 1fr 1fr;
  gap:8px;
  align-items:center;
}
#olCaptainPairs .ol-cap-row .ol-cap-input{
  width:100% !important;
  max-width:100% !important;
}

@media (max-width:768px){

  .mcal-card .match-chip{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:6px;
    width:100% !important;
    padding:5px 8px !important;
    min-width:0;
  }

  .mcal-card .match-chip .match-n{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:.72rem;
  }

  .mcal-card .match-chip .pair-names{
    display:flex;
    align-items:center;
    gap:4px;
    min-width:0;
    font-weight:500 !important;
    font-size:.84rem;
  }

  .mcal-card .match-chip .pair-player{
    min-width:0;
    flex:1 1 0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mcal-card .match-chip .pair-separator{
    flex:0 0 auto;
  }

  .mcal-card .match-chip .sets{
    display:flex !important;
    justify-content:flex-end;
    align-items:center;
    gap:4px;
    white-space:nowrap;
    min-width:0;
  }

  .mcal-card .match-chip .set{
    font-size:.74rem;
    padding:2px 5px;
  }

  .mcal-card .mobile-results{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .mcal-card{
    padding:12px 11px;
  }

  .mcal-line1{
    align-items:flex-start;
    gap:8px;
    margin-bottom:10px;
  }

  .mcal-line2{
    gap:12px;
    margin-bottom:8px;
  }

  .mcal-meta{
    font-size:.8rem;
  }

  .mcal-teams{
    font-size:.97rem;
    line-height:1.32;
  }

  .mcal-line2 .score-badge{
    min-width:62px;
    padding:6px 11px;
    font-size:.92rem;
  }

  .mcal-chips{
    gap:6px;
  }
}

.ol-card-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}

.ol-cap-match{
  padding: .55rem .6rem !important;
  border-radius: 12px;
}

.ol-cap-title{
  font-weight: 800;
  margin-bottom: .15rem;
}

.ol-cap-names{
  font-size: .92rem;
  line-height: 1.15;
  margin-bottom: .35rem;
}

.ol-cap-inputs{
  gap: .35rem !important;
  justify-content: flex-start;
}

.ol-cap-set{
  width: 56px;
  max-width: 56px;
  text-align: center;
  padding: .2rem .35rem;
}

.login-logo {
  width: 132px;
  height: 132px;
  display: block;
  margin: 0 auto;
}

.ol-stepper {
  display:flex;
  align-items:center;
  gap:4px;
}

.ol-stepper input {
  width:40px;
  text-align:center;
  border:1px solid #ddd;
  border-radius:6px;
}

.ol-stepper button {
  width:30px;
  height:30px;
  border:none;
  border-radius:6px;
  background:#0f6b4f;
  color:white;
  font-weight:bold;
}

.ol-stepper button:active {
  transform:scale(.95);
}

.ol-cap-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.ol-cap-left{
  min-width:0;
}
.ol-cap-p{
  font-weight:1000;
  font-size:1.05rem;
  line-height:1.1;
}
.ol-cap-n{
  font-weight:800;
  font-size:.95rem;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:52vw;
}

.ol-set-tabs{
  display:flex;
  gap:8px;
  align-items:flex-start;
  justify-content:flex-end;
  flex-shrink:0;
}
.ol-set-chip{
  width:52px;
  border-radius:999px;
  padding:8px 6px;
}
.ol-set-chip .ol-chip-score{
  display:block;
  font-weight:1000;
  font-size:1.05rem;
  line-height:1.05;
}
.ol-set-chip .ol-chip-num{
  display:block;
  margin-top:2px;
  font-weight:900;
  font-size:.85rem;
  opacity:.75;
  line-height:1;
}

.ol-set-controls{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-top:6px;
}
.ol-stepper-btns{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 6px 4px 6px;
  border-radius:14px;
  background:rgba(0,0,0,.02);
  flex:1;
}
.ol-stepper-btns .ol-stepper-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.ol-stepper-btns .ol-step{
  width:44px;
  height:44px;
  border-radius:14px;
  font-size:1.35rem;
}
.ol-stepper-btns .ol-stepper-lab{
  font-weight:900;
  font-size:.85rem;
  opacity:.8;
  line-height:1;
}
.ol-step-val-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

#olCaptainPairsActions{
  display:flex;
  gap:.5rem;
  flex-wrap:nowrap;
}
#olCaptainPairsActions > button{
  flex:1 1 0;
  min-width:0;
}

.ol-align-locked-msg{
  font-size:.92rem;
  font-weight:700;
  text-align:center;
  padding:.6rem .6rem;
  border-radius:12px;
  background:rgba(220,53,69,.10);
  color:#842029;
}

body[data-page="online"] .online-page-shell{
  padding:0;
  border-radius:0;
  min-width:0;
  max-width:100%;
  overflow-x:hidden;
}

body[data-page="jornada"] .jornada-page-shell{
  display:grid;
  gap:var(--density-compact-gap);
  padding:0;
  border-radius:0;
}

.captain-page-shell{
  display:grid;
  gap:var(--density-compact-gap);
}

body[data-page="jornada"] #olJornadaCard,
body[data-page="jornada"] #olCaptainResultsCard{
  box-shadow:var(--shadow-sm);
}

body[data-page="jornada"] .jornada-results-head{
  margin-bottom:12px;
}

body[data-page="jornada"] .jornada-results-subtitle{
  max-width:56ch;
}

body[data-page="jornada"] .jornada-actions-stack{
  flex-direction:column;
}

body[data-page="jornada"] .jornada-actions-stack > .btn{
  width:100%;
}

body[data-page="alineacion"] .ol-section-kicker{
  font-weight:900;
  font-size:1rem;
  letter-spacing:.02em;
  color:var(--color-primary);
}

body[data-page="alineacion"] .ol-section-sub{
  color:var(--color-muted);
  font-size:.95rem;
}

body[data-page="alineacion"] .ol-cap-input{
  touch-action:manipulation;
}

body[data-page="alineacion"] .ol-pair-card{
  padding:.64rem .7rem;
  animation:olFadeUp .22s ease;
}

body[data-page="alineacion"] .ol-pair-card + .ol-pair-card{
  margin-top:.65rem;
}

body[data-page="alineacion"] .ol-pair-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.55rem;
}

body[data-page="alineacion"] .ol-pair-badge{
  min-width:76px;
  font-weight:900;
  font-size:.8rem;
  flex:0 0 auto;
}

body[data-page="alineacion"] .ol-pair-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.55rem;
}

body[data-page="alineacion"] .ol-pair-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin-bottom:0;
  justify-content:flex-end;
  flex:1 1 auto;
  min-width:0;
}

body[data-page="alineacion"] .ol-pair-note-wrap{
  margin-top:.55rem;
}

body[data-page="alineacion"] .ol-pair-note{margin-top:.45rem;}

body[data-page="alineacion"] .ol-convocatoria-head{
  margin-bottom:.3rem;
}

body[data-page="alineacion"] .ol-page-title{
  font-size:var(--data-page-title-size);
  font-weight:900;
  line-height:1.1;
  color:#111;
}

body[data-page="alineacion"] .ol-page-subtitle,
body[data-page="alineacion"] .ol-lineup-hint,
body[data-page="alineacion"] .ol-availability-summary{
  color:var(--color-muted);
  font-size:.84rem;
  font-weight:700;
  line-height:1.32;
}

body[data-page="alineacion"] .ol-lineup-hint.is-warning{
  color:var(--color-warning);
}

body[data-page="alineacion"] .ol-flow-progress{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.28rem;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:hidden;
  width:100%;
  margin:.25rem 0 .7rem;
}

body[data-page="alineacion"] #olCaptainPairsCard .ol-flow-progress{
  display:none;
}

body[data-page="alineacion"] .ol-flow-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:.22rem .42rem;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:var(--color-surface);
  color:var(--color-muted);
  flex:0 1 auto;
  box-shadow:var(--shadow-xs);
}

body[data-page="alineacion"] .ol-flow-step.is-active{
  color:var(--color-primary);
  background:var(--color-primary-ghost);
  border-color:var(--color-primary-border-soft);
}

body[data-page="alineacion"] .ol-flow-step.is-complete{
  color:var(--color-success);
  background:var(--win-bg);
  border-color:var(--color-success-border);
}

body[data-page="alineacion"] .ol-flow-step__label{
  display:block;
  font-size:.84rem;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
  min-width:0;
}

body[data-page="alineacion"] .ol-flow-arrow{
  color:var(--color-muted);
  font-size:.78rem;
  font-weight:900;
  flex:0 0 auto;
}


body[data-page="alineacion"] #olCaptainPairsCard{
  display:flex !important;
  flex-direction:column;
  gap:.95rem;
}

body[data-page="alineacion"] .ol-availability-card,
body[data-page="alineacion"] .ol-lineup-card,
body[data-page="alineacion"] .ol-convocatoria-card{
  padding:.82rem .82rem .78rem;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:var(--card-secondary-bg, var(--color-surface));
}

body[data-page="alineacion"] .ol-lineup-card{
  background:var(--card-primary-bg, var(--color-surface));
}

body[data-page="alineacion"] .ol-lineup-actions{
  display:flex;
  flex-direction:row;
  gap:.5rem;
}

body[data-page="alineacion"] .ol-lineup-actions > .btn{
  flex:1 1 0;
  min-width:0;
  width:100%;
}

body[data-page="alineacion"] .ol-availability-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  grid-template-areas:
    "title"
    "whatsapp"
    "divider"
    "manage"
    "save";
  align-items:start;
  row-gap:.55rem;
}

body[data-page="alineacion"] .ol-availability-card > .app-section-stack{
  grid-area:title;
  margin-bottom:0 !important;
}

body[data-page="alineacion"] .ol-availability-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}

body[data-page="alineacion"] .ol-availability-toggle-link{
  padding:0;
  border:0;
  background:transparent;
  color:var(--color-primary);
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
}

body[data-page="alineacion"] .ol-availability-toggle-link:hover,
body[data-page="alineacion"] .ol-availability-toggle-link:focus{
  color:var(--color-primary-dark, var(--color-primary));
  text-decoration:underline;
}

body[data-page="alineacion"] .ol-availability-content{
  display:contents;
}

body[data-page="alineacion"] .ol-availability-whatsapp{
  grid-area:whatsapp;
  gap:.55rem;
}

body[data-page="alineacion"] .ol-availability-whatsapp > .btn{
  flex:1 1 0;
  min-width:0;
}

body[data-page="alineacion"] .ol-availability-divider{
  display:none;
}

body[data-page="alineacion"] .ol-availability-manage{
  grid-area:manage;
  display:grid;
  gap:.72rem;
  margin-top:1rem;
  padding:.78rem .82rem;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:var(--color-surface-overlay-soft);
  box-shadow:var(--shadow-xs);
}

body[data-page="alineacion"] .ol-availability-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
}

body[data-page="alineacion"] .ol-availability-tools{
  display:flex;
  align-items:center;
  gap:.3rem;
  white-space:nowrap;
  justify-self:start;
  min-width:0;
  flex-wrap:nowrap;
}

body[data-page="alineacion"] .ol-inline-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:.2rem .58rem;
  border:1px solid var(--color-primary-border-soft);
  border-radius:999px;
  background:var(--color-primary-ghost);
  color:var(--color-primary);
  font-size:.74rem;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    color var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-standard);
}

body[data-page="alineacion"] .ol-inline-action:disabled{
  opacity:.45;
  cursor:default;
}

body[data-page="alineacion"] .ol-inline-action:hover,
body[data-page="alineacion"] .ol-inline-action:focus{
  color:var(--color-primary-dark);
  background:var(--color-primary-ghost-strong);
  border-color:var(--color-primary);
}

body[data-page="alineacion"] .ol-inline-action:active{
  transform:translateY(1px);
}

body[data-page="alineacion"] .ol-inline-sep{
  color:var(--color-muted);
  font-size:.74rem;
  font-weight:800;
}

body[data-page="alineacion"] .ol-availability-count{
  color:var(--color-muted);
  font-size:.76rem;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  min-width:0;
}

body[data-page="alineacion"] .ol-availability-save{
  margin-top:.08rem;
}

body[data-page="alineacion"] .ol-availability-save > .btn{
  width:100%;
}

body[data-page="alineacion"] .ol-availability-row{
  display:flex;
  align-items:center;
  min-width:0;
}

body[data-page="alineacion"] .ol-availability-row--toggle{
  width:100%;
  min-height:36px;
  padding:.4rem .52rem;
  border:1px solid var(--color-border);
  border-radius:10px;
  background:var(--color-surface-overlay-soft);
  color:var(--color-muted);
  text-align:center;
  cursor:pointer;
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard);
}

body[data-page="alineacion"] .ol-availability-row.is-readonly{
  opacity:.82;
}

body[data-page="alineacion"] .ol-availability-row__main{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
}

body[data-page="alineacion"] .ol-availability-row__icon{
  flex:0 0 auto;
  font-size:.86rem;
  font-weight:900;
  line-height:1;
}

body[data-page="alineacion"] .ol-availability-row--toggle[data-state="available"],
body[data-page="alineacion"] .availability-player-chip.is-available{
  border-color:var(--color-primary-border-soft);
  background:var(--color-primary-ghost);
  color:var(--color-primary-dark);
  box-shadow:var(--shadow-xs);
}

body[data-page="alineacion"] .ol-availability-row--toggle[data-state="unavailable"]{
  border-color:var(--color-border);
  background:var(--color-surface-overlay-soft);
  color:var(--color-muted);
}

body[data-page="alineacion"] .ol-availability-row--toggle:hover,
body[data-page="alineacion"] .ol-availability-row--toggle:focus{
  border-color:var(--color-primary);
  box-shadow:var(--shadow-xs);
}

body[data-page="alineacion"] .ol-availability-row--toggle:active{
  transform:translateY(1px);
}

body[data-page="alineacion"] .ol-availability-row--toggle:disabled{
  opacity:.55;
  cursor:default;
  box-shadow:none;
}

body[data-page="alineacion"] .ol-avail-placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  min-width:22px;
  color:var(--color-muted);
  opacity:.55;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  flex:0 0 auto;
}

body[data-page="alineacion"] .ol-availability-name{
  font-size:.86rem;
  font-weight:800;
  line-height:1.2;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  flex:1 1 auto;
}

body[data-page="alineacion"] .ol-availability-row--toggle[data-state="unavailable"] .ol-availability-name{
  font-weight:700;
}

body[data-page="alineacion"] .ol-availability-empty{
  padding:.35rem .2rem;
}

@media (max-width: 768px){
  body[data-page="alineacion"] .ol-availability-card,
  body[data-page="alineacion"] .ol-lineup-card,
  body[data-page="alineacion"] .ol-convocatoria-card{
    padding:.68rem .68rem .64rem;
  }

  body[data-page="alineacion"] .ol-availability-card{
    row-gap:.8rem;
  }

  body[data-page="alineacion"] .ol-availability-manage{
    gap:.58rem;
    margin-top:.8rem;
    padding:.7rem .72rem;
  }

  body[data-page="alineacion"] .ol-flow-progress{
    gap:.16rem;
    margin:.2rem 0 .6rem;
  }

  body[data-page="alineacion"] .ol-flow-step{
    padding:.2rem .28rem;
  }

  body[data-page="alineacion"] .ol-flow-step__label{
    font-size:.68rem;
    letter-spacing:-.02em;
  }

  body[data-page="alineacion"] .ol-flow-arrow{
    font-size:.58rem;
  }

  body[data-page="alineacion"] .ol-availability-tools{
    gap:.22rem;
    flex-wrap:wrap;
  }

  body[data-page="alineacion"] .ol-availability-whatsapp{
    gap:.45rem;
    margin-top:.9rem;
  }

  body[data-page="alineacion"] .ol-availability-row{
    min-width:0;
  }

  body[data-page="alineacion"] .ol-availability-row--toggle{
    min-height:34px;
    padding:.36rem .44rem;
  }

  body[data-page="alineacion"] .ol-availability-name{
    font-size:.78rem;
  }

  body[data-page="alineacion"] .ol-availability-row__icon{
    font-size:.8rem;
  }

  body[data-page="alineacion"] .ol-inline-action,
  body[data-page="alineacion"] .ol-inline-sep,
  body[data-page="alineacion"] .ol-availability-count{
    font-size:.7rem;
  }
}

body[data-page="alineacion"] .ol-validation-card{
  margin-top:.9rem;
  margin-bottom:.25rem;
  padding:.78rem .88rem;
  border-radius:14px;
  border:1px solid var(--color-border);
  background:var(--card-primary-bg);
}

body[data-page="alineacion"] .ol-field-wrap{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  min-width:0;
}

body[data-page="alineacion"] .ol-field-label{
  font-size:.9rem;
  font-weight:900;
  color:var(--color-text);
  padding-left:.05rem;
  line-height:1.1;
  letter-spacing:.02em;
}

body[data-page="alineacion"] .ol-player-slot{
  display:grid;
}

body[data-page="alineacion"] .ol-slot-editable-control[hidden],
body[data-page="alineacion"] .ol-slot-readonly[hidden]{
  display:none !important;
}

body[data-page="alineacion"] .ol-slot-readonly{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:transparent;
}

body[data-page="alineacion"] .ol-slot-readonly.is-filled{
  color:inherit;
}

body[data-page="alineacion"] .ol-cap-input{
  min-height:38px;
  height:38px;
  border-radius:10px;
  font-size:.9rem;
  padding:.35rem .65rem;
  border-width:1px;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

body[data-page="alineacion"] .ol-cap-input:focus{
  border-color:var(--color-primary-border-mid);
  box-shadow:0 0 0 .18rem rgba(var(--club-primary-rgb), .12);
}

body[data-page="alineacion"] .ol-cap-input.tier-top{
  color:var(--color-primary);
  font-weight:800;
  background:var(--color-primary-ghost);
  border-color:var(--color-primary-border-soft);
}

body[data-page="alineacion"] .ol-cap-input.tier-mid{
  color:var(--color-primary-dark);
  font-weight:800;
  background:var(--color-primary-ghost);
  border-color:var(--color-primary-border-soft);
}

body[data-page="alineacion"] .ol-cap-input.tier-low{
  color:var(--color-text);
  font-weight:800;
  background:var(--color-bg-elevated);
  border-color:var(--color-border-strong);
}

body[data-page="alineacion"] .ol-cap-input.is-invalid-pick{
  color:var(--color-danger);
  background:var(--color-danger-soft);
  border-color:rgba(180,35,24,.35);
  box-shadow:0 0 0 .16rem rgba(180,35,24,.08);
}

body[data-page="alineacion"] .ol-lock-box{
  margin-top:.25rem;
  border-radius:18px;
  padding:1rem 1rem;
  background:var(--color-danger-soft);
  color:var(--color-danger);
  text-align:center;
}

body[data-page="alineacion"] .ol-lock-box.is-started{
  background:var(--color-primary-dark);
  color:#fff;
}

body[data-page="alineacion"] .ol-lock-title{
  font-weight:900;
  font-size:1.02rem;
  margin-bottom:.2rem;
}

body[data-page="alineacion"] .ol-lock-sub{
  font-size:.98rem;
  font-weight:700;
}

body[data-page="alineacion"] .ol-pair-card-reordered{
  position:relative;
  animation:olPairReordered .5s cubic-bezier(.22,.8,.22,1);
  box-shadow:
    0 0 0 2px rgba(var(--club-primary-rgb), .24),
    0 14px 28px rgba(var(--club-primary-rgb), .18);
}

body[data-page="alineacion"] .ol-pair-card,
body[data-page="jornada"] .ol-cap-match,
body[data-page="online"] .ol-online-match,
body[data-page="cambiar-fecha"] .cf-card-main{
  transition:
    transform var(--motion-base) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard),
    opacity var(--motion-fast) var(--ease-standard);
}

body[data-page="alineacion"] .ol-pair-card:active,
body[data-page="jornada"] .ol-act-btn:active,
body[data-page="online"] #btnRefresh:active,
body[data-page="online"] #olChatSend:active{
  transform:scale(.98);
}

body[data-page="alineacion"] .ol-pair-card-reordered::after{
  content:"Reordenada";
  position:absolute;
  top:10px;
  right:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--club-primary-strong) 0%, var(--club-primary) 100%);
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 8px 18px rgba(var(--club-primary-rgb), .28);
  animation:olPairReorderedBadge .9s ease-out;
}

@keyframes olPairReordered{
  0%{
    transform:translateY(-8px) scale(1.01);
    box-shadow:0 0 0 0 rgba(var(--club-primary-rgb), 0);
  }
  40%{
    transform:translateY(0) scale(1.015);
    box-shadow:
      0 0 0 3px rgba(var(--club-primary-rgb), .28),
      0 18px 34px rgba(var(--club-primary-rgb), .22);
  }
  100%{
    transform:translateY(0) scale(1);
    box-shadow:
      0 0 0 2px rgba(var(--club-primary-rgb), .24),
      0 14px 28px rgba(var(--club-primary-rgb), .18);
  }
}

@keyframes olPairReorderedBadge{
  0%{
    opacity:0;
    transform:translateY(-6px) scale(.92);
  }
  30%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
  75%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
  100%{
    opacity:0;
    transform:translateY(0);
    transform:translateY(-2px) scale(.98);
  }
}

@keyframes olFadeUp{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:translateY(0);}
}

body[data-page="jornada"] .ol-btn-main,
body[data-page="jornada"] .ol-btn-secondary,
body[data-page="jornada"] #olCaptainSaveSets,
body[data-page="jornada"] .btn.btn-club-inverse{
  width:100%;
  min-height:40px;
  font-weight:700;
  border-radius:12px;
  font-size:.95rem;
  padding:.42rem .72rem;
}

body[data-page="jornada"] .ol-btn-main,
body[data-page="jornada"] .ol-btn-secondary,
body[data-page="jornada"] #olCaptainSaveSets,
body[data-page="jornada"] .btn.btn-club-inverse,
body[data-page="jornada"] .ol-act-btn,
body[data-page="jornada"] .ol-wa-mini,
body[data-page="jornada"] #olCaptainFinalizeBottom,
body[data-page="jornada"] .ol-set-input{
  touch-action:manipulation;
}

body[data-page="jornada"] .ol-results-loading{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}

body[data-page="jornada"] .ol-results-skel-card{
  border:1px solid var(--color-border);
  border-radius:18px;
  padding:.85rem;
  background:rgba(255,255,255,.6);
}

body[data-page="jornada"] .ol-results-skel-top,
body[data-page="jornada"] .ol-results-skel-left,
body[data-page="jornada"] .ol-results-skel-right,
body[data-page="jornada"] .ol-results-skel-pill,
body[data-page="jornada"] .ol-results-skel-wa,
body[data-page="jornada"] .ol-results-skel-set,
body[data-page="jornada"] .ol-results-skel-action{
  background:linear-gradient(90deg, rgba(0,0,0,.06) 25%, rgba(0,0,0,.12) 37%, rgba(0,0,0,.06) 63%);
  background-size:400% 100%;
  animation:olSkel 1.4s ease infinite;
}

body[data-page="jornada"] .ol-results-skel-top{
  width:180px;
  height:18px;
  border-radius:999px;
  margin-bottom:.75rem;
}

body[data-page="jornada"] .ol-results-skel-body{
  display:grid;
  grid-template-columns:1fr 110px;
  gap:.75rem;
}

body[data-page="jornada"] .ol-results-skel-left,
body[data-page="jornada"] .ol-results-skel-right{
  border-radius:14px;
  min-height:74px;
}

body[data-page="jornada"] .ol-results-skel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.45rem;
  margin-bottom:.3rem;
}

body[data-page="jornada"] .ol-results-skel-pill{
  height:26px;
  flex:1 1 auto;
  border-radius:999px;
}

body[data-page="jornada"] .ol-results-skel-wa{
  width:20px;
  height:20px;
  border-radius:999px;
  flex:0 0 20px;
}

body[data-page="jornada"] .ol-results-skel-match{
  border:1px solid var(--color-border);
  border-radius:18px;
  padding:.65rem .7rem;
  background:rgba(255,255,255,.6);
}

body[data-page="jornada"] .ol-results-skel-board{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  gap:.28rem;
  align-items:stretch;
}

body[data-page="jornada"] .ol-results-skel-sets{
  display:grid;
  grid-template-columns:repeat(3, 32px);
  gap:.08rem;
}

body[data-page="jornada"] .ol-results-skel-set{
  height:68px;
  border-radius:8px;
}

body[data-page="jornada"] .ol-results-skel-actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.08rem;
}

body[data-page="jornada"] .ol-results-skel-action{
  height:68px;
  border-radius:8px;
}

@keyframes olSkel{
  0%{background-position:100% 50%;}
  100%{background-position:0 50%;}
}

body[data-page="jornada"] .ol-cap-match{
  display:flex;
  flex-direction:column;
  padding:.58rem .64rem !important;
  border-radius:14px;
  border:1px solid var(--color-border);
  background:var(--card-primary-bg);
  box-shadow:var(--shadow-xs);
  animation:olFadeUp .22s ease;
  overflow:hidden;
}

body[data-page="alineacion"] #olCaptainPairsCard,
body[data-page="jornada"] #olCaptainResultsCard,
body[data-page="online"] #olResultadosOnlineCard,
body[data-page="cambiar-fecha"] .cf-card-main{
  border-radius:18px;
}

body[data-page="alineacion"] #olCaptainPairsCard,
body[data-page="jornada"] #olCaptainResultsCard{
  padding:var(--density-compact-card-padding) !important;
}

body[data-page="online"] #olResultadosOnlineCard{
  padding:var(--density-compact-card-padding) var(--density-compact-card-padding) .76rem !important;
}

body[data-page="jornada"] .ol-cap-match + .ol-cap-match{
  margin-top:.12rem;
}

@keyframes olFadeUp{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:translateY(0);}
}

body[data-page="jornada"] .ol-cap-head{
  display:block;
  position:static;
  z-index:auto;
  margin:0 0 .4rem;
  padding:0;
  background:none;
  border-bottom:0;
}

body[data-page="jornada"] .ol-cap-title{
  display:flex;
  align-items:center;
  gap:.32rem;
  min-width:0;
  width:100%;
}

body[data-page="jornada"] .ol-cap-pill{
  display:flex;
  align-items:center;
  gap:.32rem;
  min-width:0;
  flex:1;
  background:var(--color-primary-ghost);
  color:var(--color-primary);
  border-radius:999px;
  padding:.12rem .42rem;
  min-height:25px;
}

body[data-page="jornada"] .ol-cap-pill-p{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  font-weight:900;
  font-size:.78rem;
  flex-shrink:0;
}

body[data-page="jornada"] .ol-cap-pill-text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900;
  font-size:.84rem;
  line-height:1.1;
  color:var(--color-text);
  flex:1;
}

body[data-page="jornada"] .ol-wa-mini{
  border:0;
  background:transparent;
  padding:0;
  color:var(--color-whatsapp);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  flex:0 0 22px;
}

body[data-page="jornada"] .ol-wa-mini:active{transform:scale(.96);}
body[data-page="jornada"] .ol-wa-mini svg{width:22px;height:22px;display:block;}

body[data-page="jornada"] .ol-cap-body{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  flex:1 1 auto;
  gap:.22rem;
  align-items:end;
  padding:0;
}

body[data-page="jornada"] .ol-cap-sets,
body[data-page="jornada"] .ol-cap-act,
body[data-page="jornada"] .ol-block,
body[data-page="jornada"] .ol-block-sets,
body[data-page="jornada"] .ol-block-act{
  display:block;
  min-width:0;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  min-height:auto;
}

body[data-page="jornada"] .ol-cap-sets,
body[data-page="jornada"] .ol-block-sets{
  width:max-content;
}

body[data-page="jornada"] .ol-cap-act,
body[data-page="jornada"] .ol-block-act{
  height:100%;
}

body[data-page="jornada"] .ol-set-tabs{
  display:grid;
  grid-template-columns:repeat(3, 32px);
  gap:.08rem;
  justify-content:flex-start;
  width:max-content;
  margin:0;
}

body[data-page="jornada"] .ol-set-chip{
  width:32px;
  min-height:74px;
  padding:.16rem .06rem;
  border-radius:8px;
  border:1px solid var(--color-border-strong);
  background:var(--color-surface);
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto 1fr 1fr;
  align-items:center;
  column-gap:0;
  row-gap:.12rem;
  justify-items:center;
  text-align:center;
  transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);
}

body[data-page="jornada"] .ol-chip-num{
  margin:0;
  grid-column:1 / -1;
  font-weight:900;
  font-size:.54rem;
  letter-spacing:.04em;
  line-height:1;
  opacity:.78;
}

body[data-page="jornada"] .ol-chip-score,
body[data-page="jornada"] .ol-set-result{
  display:none;
}

body[data-page="jornada"] .ol-set-chip.active{
  transform:none;
  height:auto;
  border-width:2px;
  border-color:var(--color-primary);
  background:linear-gradient(180deg, var(--color-primary), var(--color-primary-dark));
  box-shadow:0 0 0 2px rgba(var(--club-primary-rgb), .18);
}

body[data-page="jornada"] .ol-set-chip.active .ol-chip-num{
  color:var(--color-text-inverse);
  opacity:1;
}

body[data-page="jornada"] .ol-set-chip.active .ol-set-input{
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.98);
  color:var(--color-text);
}

body[data-page="jornada"] .ol-set-dash{
  display:none;
}

body[data-page="jornada"] .ol-set-input{
  width:100%;
  min-height:22px;
  height:22px;
  max-width:24px;
  border-radius:6px;
  border:1px solid var(--color-border);
  background:var(--color-surface);
  font-size:16px;
  font-weight:900;
  text-align:center;
  padding:.18rem;
  appearance:textfield;
  transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);
}

body[data-page="jornada"] .ol-set-input:focus{
  outline:none;
  border-color:var(--color-primary-border-mid);
  box-shadow:0 0 0 .18rem rgba(var(--club-primary-rgb), .12);
}

body[data-page="jornada"] .ol-set-chip.won{
  background:var(--color-success-soft);
  border-color:var(--color-success-border-emphasis);
}

body[data-page="jornada"] .ol-set-chip.won .ol-set-result{color:var(--color-success);}

body[data-page="jornada"] .ol-set-chip.lost{
  background:var(--color-danger-soft);
  border-color:var(--color-danger-border-emphasis);
}

body[data-page="jornada"] .ol-set-chip.lost .ol-set-result{color:var(--color-danger);}

body[data-page="jornada"] .ol-set-chip.inprog{
  background:var(--color-info-soft);
  border-color:var(--color-info-border);
}

body[data-page="jornada"] .ol-set-chip.inprog .ol-set-result{color:var(--color-info);}

body[data-page="jornada"] .ol-set-chip.disabled{
  opacity:.55;
  background:var(--color-bg-elevated);
  border-color:var(--color-border);
  pointer-events:none;
}

body[data-page="jornada"] .ol-actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.08rem;
  margin-top:0;
  height:100%;
}

body[data-page="jornada"] .ol-act-btn{
  border:0;
  border-radius:8px;
  width:100%;
  height:100%;
  min-height:68px;
  padding:.14rem .06rem;
  background:var(--color-primary);
  color:var(--color-text-inverse);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-weight:900;
  font-size:.78rem;
  transition:transform var(--motion-fast) var(--ease-standard), filter var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);
}

body[data-page="jornada"] .ol-act-btn:active{transform:scale(.98);}
body[data-page="jornada"] .ol-act-btn:hover{filter:brightness(.98);}

body[data-page="jornada"] .ol-act-top{
  font-size:1.1rem;
  margin-bottom:0;
}

body[data-page="jornada"] .ol-act-reset{
  background:var(--color-primary-dark);
}

body[data-page="jornada"] #olCaptainFinalizeBottom:disabled{
  opacity:.55;
  pointer-events:none;
}

body[data-page="jornada"] .ol-status-slot{
  min-height:0;
  display:flex;
  align-items:center;
}

body[data-page="jornada"] .ol-status-slot:empty{
  display:none;
}

body[data-page="jornada"] #olJornadaCard,
body[data-page="jornada"] #olCaptainResultsCard{
  margin-bottom:.42rem !important;
}

body[data-page="jornada"] #olCaptainStatus{
  min-height:0;
  margin:0;
}

body[data-page="jornada"] #olCaptainStatus:empty{
  display:none;
}

body[data-page="jornada"] #olCaptainResultsActions{
  position:sticky;
  bottom:18px;
  z-index:20;
  margin:0 -.3rem -.3rem;
  padding:0 .18rem calc(.02rem + env(safe-area-inset-bottom, 0px));
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.98));
  backdrop-filter:blur(8px);
}

body[data-page="cambiar-fecha"] .cf-page-shell{
  display:grid;
  gap:var(--density-compact-gap);
}

body[data-page="cambiar-fecha"] #cfJornadaCard,
body[data-page="cambiar-fecha"] #cfEditorCard{
  box-shadow:var(--shadow-xs);
}

body[data-page="cambiar-fecha"] .cf-editor-head{
  margin-bottom:8px;
}

body[data-page="cambiar-fecha"] .cf-editor-form{
  display:grid;
  gap:12px;
}

body[data-page="cambiar-fecha"] .cf-current-card,
body[data-page="cambiar-fecha"] .cf-input-card{
  display:grid;
  gap:8px;
}

body[data-page="cambiar-fecha"] .cf-block-label{
  color:var(--color-muted);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body[data-page="cambiar-fecha"] .cf-current-value{
  font-size:1rem;
  font-weight:900;
  color:var(--color-text);
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body[data-page="cambiar-fecha"] .cf-current-meta{
  color:var(--color-muted);
  font-size:.84rem;
  font-weight:700;
}

body[data-page="cambiar-fecha"] .cf-inputs-stack{
  display:grid;
  gap:10px;
}

body[data-page="cambiar-fecha"] .cf-inputs-row{
  display:grid;
  align-items:center;
  gap:10px;
}

body[data-page="cambiar-fecha"] .cf-inputs-row-date{
  grid-template-columns:52px minmax(0, 1fr);
}

body[data-page="cambiar-fecha"] .cf-inputs-row-time{
  grid-template-columns:52px auto;
}

body[data-page="cambiar-fecha"] .cf-inline-label{
  color:var(--color-muted);
  font-size:.84rem;
  font-weight:800;
  margin:0;
}

body[data-page="cambiar-fecha"] .cf-time-inline{
  display:grid;
  grid-template-columns:90px 10px 90px;
  gap:8px;
  align-items:center;
}

body[data-page="cambiar-fecha"] .cf-field{
  min-width:0;
}

body[data-page="cambiar-fecha"] .cf-time-sep{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--color-muted);
  font-weight:900;
}

body[data-page="cambiar-fecha"] .cf-actions{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
}

body[data-page="cambiar-fecha"] .cf-actions > .btn{
  flex:1 1 0;
  min-height:46px;
  border-radius:14px;
  font-weight:800;
}

@media (min-width: 769px){
  body[data-page="jornada"] .jornada-actions-stack{
    flex-direction:row;
    flex-wrap:wrap;
  }

  body[data-page="jornada"] .jornada-actions-stack > .btn{
    width:auto;
    min-width:190px;
  }

  body[data-page="jornada"] .ol-cap-body{
    grid-template-columns:max-content minmax(0, 330px);
    justify-content:space-between;
  }

  body[data-page="jornada"] .ol-set-tabs{
    grid-template-columns:repeat(3, 64px);
    gap:.16rem;
  }

  body[data-page="jornada"] .ol-set-chip{
    width:64px;
    min-height:100px;
    padding:.24rem .12rem;
  }

  body[data-page="jornada"] .ol-chip-num{
    font-size:.72rem;
  }

  body[data-page="jornada"] .ol-set-input{
    min-height:28px;
    height:28px;
    max-width:38px;
    font-size:18px;
  }

  body[data-page="jornada"] .ol-actions{
    grid-template-columns:repeat(3, 1fr);
    width:330px;
  }

  body[data-page="jornada"] .ol-act-btn{
    min-height:62px;
  }

  body[data-page="cambiar-fecha"] .cf-actions{
    flex-direction:row;
    flex-wrap:nowrap;
  }

  body[data-page="cambiar-fecha"] .cf-actions > .btn{
    width:auto;
    min-width:0;
  }
}

body[data-page="online"] .online-page-head{
  margin-bottom:14px;
}

body[data-page="online"] #btnRefresh,
body[data-page="online"] #olChatSend,
body[data-page="online"] #olChatInput,
body[data-page="online"] .score-badge,
body[data-page="online"] .ol-card,
body[data-page="online"] button{
  touch-action:manipulation;
}

body[data-page="online"] .ol-online-jornada{
  padding:0;
}

body[data-page="online"] .ol-online-results,
.app-matchday-results-card .ol-online-results{
  display:grid;
  gap:.5rem;
  min-width:0;
}

body[data-page="online"] #olResultadosOnlineCard,
.app-matchday-results-card{
  background:linear-gradient(
    160deg,
    var(--color-primary-dark),
    color-mix(in srgb, var(--color-primary-dark) 82%, var(--color-primary) 18%)
  );
  border:1px solid rgba(var(--club-primary-rgb), .22);
  box-shadow:0 14px 28px rgba(var(--club-primary-rgb), .22);
}

body[data-page="online"] .ol-online-results-head,
.app-matchday-results-card .ol-online-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.45rem;
}

body[data-page="online"] .ol-online-results-title,
.app-matchday-results-card .ol-online-results-title{
  font-weight:900;
  font-size:1rem;
  color:#fff;
}

body[data-page="online"] .ol-online-match,
.app-matchday-results-card .ol-online-match{
  display:block;
  padding:.62rem .82rem;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(var(--club-primary-rgb), .16);
  min-width:0;
  max-width:100%;
  overflow:hidden;
}

body[data-page="online"] .ol-online-match + .ol-online-match,
.app-matchday-results-card .ol-online-match + .ol-online-match{
  margin-top:.1rem;
}

body[data-page="online"] .ol-online-pairblock,
.app-matchday-results-card .ol-online-pairblock{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  row-gap:.32rem;
  min-width:0;
}

body[data-page="online"] .ol-online-pair-row,
.app-matchday-results-card .ol-online-pair-row{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
  max-width:100%;
}

body[data-page="online"] .online-pair-text,
.app-matchday-results-card .online-pair-text{
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}

body[data-page="online"] .online-pair-score,
.app-matchday-results-card .online-pair-score{
  flex:0 0 auto;
  width:auto;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}

body[data-page="online"] .ol-online-pair-main,
body[data-page="online"] .ol-online-pair-rival,
.app-matchday-results-card .ol-online-pair-main,
.app-matchday-results-card .ol-online-pair-rival{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body[data-page="online"] .ol-online-pair-main,
.app-matchday-results-card .ol-online-pair-main{
  font-weight:800;
  color:#fff;
  font-size:1rem;
  line-height:1.15;
  margin:0;
}

body[data-page="online"] .ol-online-pair-rival,
.app-matchday-results-card .ol-online-pair-rival{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1rem;
  font-weight:700;
  line-height:1.15;
}

.app-matchday-results-card.app-matchday-results-card--calendar .online-pair-text{
  overflow:visible;
}

.app-matchday-results-card.app-matchday-results-card--calendar .ol-online-pair-main,
.app-matchday-results-card.app-matchday-results-card--calendar .ol-online-pair-rival{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  font-size:.9rem;
  line-height:1.2;
}

body[data-page="online"] .ol-online-scoreline,
.app-matchday-results-card .ol-online-scoreline{
  display:inline-grid;
  grid-template-columns:repeat(3, minmax(22px, 1fr));
  gap:.2rem;
  align-items:center;
  width:auto;
  max-width:100%;
}

body[data-page="online"] .ol-online-setcell,
.app-matchday-results-card .ol-online-setcell{
  display:grid;
  justify-items:center;
  align-items:center;
  min-width:22px;
  line-height:1.05;
  color:#fff;
  font-size:1.02rem;
  font-weight:900;
  overflow:hidden;
}

body[data-page="online"] .ol-online-set-empty,
.app-matchday-results-card .ol-online-set-empty{
  opacity:.22;
}

body[data-page="online"] #btnRefresh,
body[data-page="online"] #olChatSend{
  transform:scale(.9);
  transform-origin:center;
}

body[data-page="online"] .online-updated,
.app-matchday-results-card .online-updated{
  font-weight:800;
  color:rgba(255,255,255,.92) !important;
}

body[data-page="online"] .online-refresh-row,
.app-matchday-results-card .online-refresh-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding-top:12px;
  transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);
}

body[data-page="online"] .online-updated-wrap,
.app-matchday-results-card .online-updated-wrap{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  flex:0 1 auto;
  flex-wrap:wrap;
}

body[data-page="online"] .online-refresh-row #btnRefresh,
.app-matchday-results-card .online-refresh-row #btnRefresh{
  flex:0 0 auto;
}

body[data-page="online"] .online-refresh-row .online-updated,
body[data-page="online"] .online-refresh-row .online-updated-label,
.app-matchday-results-card .online-refresh-row .online-updated,
.app-matchday-results-card .online-refresh-row .online-updated-label{
  min-width:0;
  text-align:left;
  color:#fff !important;
  font-weight:800;
}

body[data-page="online"] .online-refresh-row #btnRefresh,
.app-matchday-results-card .online-refresh-row #btnRefresh{
  color:#fff;
  border-color:rgba(255,255,255,.38);
  font-weight:800;
}

body[data-page="online"] .ol-online-results-foot,
.app-matchday-results-card .ol-online-results-foot{
  margin-top:.7rem;
}

body[data-page="online"] #olJornadaCard,
body[data-page="online"] #olResultadosOnlineCard,
body[data-page="online"] #olCommentsCard,
body[data-page="online"] #olChatCard{
  box-shadow:var(--shadow-xs);
  min-width:0;
  max-width:100%;
}

body[data-page="online"] #olPartidos{
  display:grid;
  gap:10px;
  min-width:0;
  max-width:100%;
}

body[data-page="online"] .online-chat-messages{
  max-height:260px;
  overflow:auto;
  border-radius:12px;
  padding:10px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(var(--club-primary-rgb), .10);
}

body[data-page="online"] .online-chat-actions{
  align-items:stretch;
}

body[data-page="online"] .online-chat-actions .form-control{
  min-width:0;
}

@media (max-width:768px){
  body[data-page="jornada"] .jornada-page-shell{
    padding:0;
    border-radius:0;
  }

  body[data-page="jornada"] .ol-cap-match{
    padding:.64rem .66rem !important;
    border-radius:15px;
  }

  body[data-page="jornada"] .ol-cap-body{
    grid-template-columns:max-content minmax(0,1fr);
    gap:.16rem;
    align-items:end;
  }

  body[data-page="jornada"] .ol-set-chip{
    min-height:70px;
    padding:.14rem .04rem;
  }

  body[data-page="jornada"] .ol-chip-num{
    font-size:.48rem;
  }

  body[data-page="jornada"] .ol-act-btn{
    min-height:64px;
    font-size:.72rem;
  }

  body[data-page="jornada"] #olJornadaCard,
  body[data-page="jornada"] #olCaptainResultsCard{
    margin-bottom:.34rem !important;
  }

  body[data-page="cambiar-fecha"] .cf-inputs-row-date{
    grid-template-columns:46px minmax(0, 1fr);
  }

  body[data-page="cambiar-fecha"] .cf-inputs-row-time{
    grid-template-columns:46px auto;
  }

  body[data-page="cambiar-fecha"] .cf-time-inline{
    grid-template-columns:80px 8px 80px;
    gap:6px;
  }

  body[data-page="online"] .online-page-shell{
    padding:0;
    border-radius:0;
  }

  body[data-page="online"] .online-page-head{
    align-items:flex-start !important;
    gap:12px !important;
  }

  body[data-page="online"] .online-page-head #btnRefresh{
    min-height:34px;
  }

  body[data-page="online"] .online-refresh-row,
  .app-matchday-results-card .online-refresh-row{
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
  }
}

@media (max-width:520px){
  body[data-page="online"] .ol-online-match,
  .app-matchday-results-card .ol-online-match{
    padding-right:1rem;
  }

  body[data-page="online"] .ol-online-pair-row,
  .app-matchday-results-card .ol-online-pair-row{
    gap:.65rem;
  }

  body[data-page="online"] .online-pair-score,
  .app-matchday-results-card .online-pair-score{
    flex-basis:auto;
    width:auto;
    min-width:0;
  }

  body[data-page="online"] .ol-online-pair-main,
  body[data-page="online"] .ol-online-pair-rival,
  .app-matchday-results-card .ol-online-pair-main,
  .app-matchday-results-card .ol-online-pair-rival{
    font-size:.96rem;
  }

  body[data-page="online"] .ol-online-scoreline,
  .app-matchday-results-card .ol-online-scoreline{
    gap:.18rem;
  }

  body[data-page="online"] .ol-online-setcell,
  .app-matchday-results-card .ol-online-setcell{
    font-size:.96rem;
    min-width:20px;
  }
}

@media (max-width:600px){
  body[data-page="jornada"] .ol-results-skel-body{
    grid-template-columns:1fr 110px;
  }
}

@media (max-width:390px){
  body[data-page="jornada"] .ol-cap-body{
    grid-template-columns:max-content minmax(0,1fr);
    gap:.1rem;
  }

  body[data-page="jornada"] .ol-set-tabs{
    grid-template-columns:repeat(3, 29px);
    gap:.06rem;
  }

  body[data-page="jornada"] .ol-set-chip{
    width:29px;
    min-height:66px;
    padding:.14rem .04rem;
  }

  body[data-page="jornada"] .ol-set-input{
    min-height:20px;
    height:20px;
    max-width:22px;
  }

  body[data-page="jornada"] .ol-act-btn{
    min-height:60px;
    font-size:.68rem;
  }
}

#btnActualizarClas{
  font-weight:900;
  border-radius:12px;
  white-space:nowrap;
}

@media (max-width:768px){
  #btnActualizarClas{
    width:auto;
  }
}

.clas-actions{
  margin-top: 12px;
}

.clas-status{
  margin-top: 8px;
  font-weight: 700;
  text-align: center;
}
.clas-status.ok{ color: var(--color-success); }
.clas-status.err{ color: var(--color-danger); }
.clas-status.info{ color: var(--color-muted); }

.row-warn { background: rgba(255, 193, 7, 0.18); }

.clas-actions-row{
  align-items:stretch;
}

.clas-actions-row > .btn{
  flex:1 1 0;
  min-width:0;
}

.clas-actions-row > a{
  flex:1 1 100%;
}

.clas-row{
  display:flex;
  gap:8px;
}

#clasificacionWrap.clas-editing td{
  padding:3px 2px;
}

#clasificacionWrap.clas-editing input.form-control-sm{
  min-height:28px;
  width:2.05em;
  max-width:2.05em;
  margin:0 auto;
  padding:0 1px;
  font-size:.78rem;
  line-height:1.1;
  text-align:center;
}

#clasificacionWrap.clas-editing input.form-control-sm[data-field="ds"],
#clasificacionWrap.clas-editing input.form-control-sm[data-field="dj"]{
  width:3em;
  max-width:3em;
}

#clasificacionWrap.clas-editing .clas-team-readonly{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
  line-height:24px;
  font-size:.78rem;
}

@media (max-width:768px){
  .clas-actions-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  body[data-page="clasificacion"] .clas-actions-row > .btn{
    flex:1 0 max-content;
    min-width:max-content;
    padding-left:10px;
    padding-right:10px;
  }

  .clas-actions-row > a{
    flex:1 0 100%;
  }

  .clas-buttons{
    display:block;
  }

  #clasificacionWrap.clas-editing th,
  #clasificacionWrap.clas-editing td{
    padding:2px 2px;
  }

  #clasificacionWrap.clas-editing input.form-control-sm{
    min-height:24px;
    width:1.9em;
    max-width:1.9em;
    padding:0 1px;
    font-size:.72rem;
  }

  #clasificacionWrap.clas-editing input.form-control-sm[data-field="ds"],
  #clasificacionWrap.clas-editing input.form-control-sm[data-field="dj"]{
    width:2.7em;
    max-width:2.7em;
  }

  #clasificacionWrap.clas-editing th{
    font-size:.74rem;
  }

  #clasificacionWrap.clas-editing .clas-team-readonly{
    line-height:24px;
    font-size:.72rem;
  }
}

.clas-editor-wrapper{
  position:relative;
}

.clas-preview-overlay{
  position:absolute;
  inset:0;
  background:white;
  overflow:auto;
  border-radius:6px;
  padding:6px;
}

.clas-preview-table{
  table-layout:fixed;
  width:100%;
}

.clas-preview-table th,
.clas-preview-table td{
  padding:4px 6px;
}

.clas-preview-table th:nth-child(1),
.clas-preview-table td:nth-child(1),
.clas-preview-table th:nth-child(3),
.clas-preview-table td:nth-child(3),
.clas-preview-table th:nth-child(4),
.clas-preview-table td:nth-child(4),
.clas-preview-table th:nth-child(5),
.clas-preview-table td:nth-child(5),
.clas-preview-table th:nth-child(6),
.clas-preview-table td:nth-child(6){
  text-align:center;
}

.clas-preview-table th:nth-child(2),
.clas-preview-table td:nth-child(2){
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:768px){
  .home-captain-tips-card{
    padding:11px 14px !important;
  }

  .clas-preview-overlay{
    padding:4px;
  }

  .clas-preview-table th,
  .clas-preview-table td{
    padding:3px 2px;
  }

  .clas-preview-table th{
    font-size:.72rem;
  }

  .clas-preview-table td{
    font-size:.76rem;
  }

  .tips-video-modal{
    padding:12px;
  }

  .tips-video-modal__dialog{
    padding:14px;
    border-radius:20px;
  }

  .tips-video-modal__head{
    flex-direction:column;
  }

  .tips-video-modal__close{
    width:100%;
  }
}

.team-ours{
  font-weight:700;
  color:#0a7c3a;
}

.user-mgmt-shell{
  display:grid;
  gap:16px;
}

.user-mgmt-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.user-mgmt-head-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.user-mgmt-actor,
.user-mgmt-password,
.user-mgmt-form{
  padding:14px;
}

.user-mgmt-actor{
  display:grid;
  gap:4px;
}

.user-mgmt-password{
  display:grid;
  gap:10px;
}

.user-mgmt-password-title{
  font-weight:800;
}

.user-mgmt-password-value{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.03em;
}

.user-mgmt-grid{
  display:grid;
  gap:14px;
}

.user-mgmt-switch{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.user-mgmt-teams-block{
  display:grid;
  gap:8px;
}

.user-mgmt-teams{
  display:grid;
  gap:8px;
}

.user-mgmt-team-option{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) 112px;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:#fff;
  font-weight:700;
}

.user-mgmt-team-copy{
  display:grid;
  gap:2px;
  min-width:0;
}

.user-mgmt-team-name,
.user-mgmt-team-meta{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.user-mgmt-team-name{
  color:var(--color-text);
  font-weight:850;
}

.user-mgmt-team-meta{
  color:var(--color-muted);
  font-size:.78rem;
  font-weight:700;
}

.user-mgmt-team-role{
  width:112px;
  min-width:0;
}

.user-mgmt-form-actions{
  display:flex;
  justify-content:flex-end;
}

.user-mgmt-list{
  display:grid;
  gap:12px;
}

.user-mgmt-card{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:14px;
  padding:14px;
  box-shadow:var(--shadow-xs);
  display:grid;
  gap:12px;
}

.user-mgmt-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.user-mgmt-card-user{
  font-weight:900;
  font-size:1rem;
}

.user-mgmt-card-name{
  font-weight:700;
  color:var(--color-muted);
}

.user-mgmt-card-grid{
  display:grid;
  gap:10px;
}

.user-mgmt-card-grid > div{
  display:grid;
  gap:2px;
}

.user-mgmt-k{
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  color:var(--color-muted);
}

.user-mgmt-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:82px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
}

.user-mgmt-badge.is-active{
  background:var(--win-bg);
  color:var(--win);
}

.user-mgmt-badge.is-inactive{
  background:var(--lose-bg);
  color:var(--lose);
}

.user-mgmt-card-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.player-mgmt-table-wrap{
  display:none;
  overflow:auto;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--shadow-xs);
}

.player-mgmt-table{
  width:100%;
  min-width:1080px;
  border-collapse:collapse;
}

.player-mgmt-table thead th{
  position:sticky;
  top:0;
  z-index:1;
}

.player-mgmt-sort-btn{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  text-transform:inherit;
  cursor:pointer;
}

.player-mgmt-table tbody td{
  padding:12px 10px;
  border-bottom:1px solid rgba(15,23,42,.08);
  vertical-align:middle;
}

.player-mgmt-table tbody tr:last-child td{
  border-bottom:0;
}

.player-mgmt-mobile-wrap{
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--shadow-xs);
}

.player-mgmt-mobile-table{
  width:100%;
  min-width:0;
  border-collapse:collapse;
  table-layout:fixed;
}

.player-mgmt-mobile-table tbody td{
  padding:6px 4px;
  border-bottom:1px solid rgba(15,23,42,.08);
  vertical-align:top;
}

.player-mgmt-mobile-table tbody tr:last-child td{
  border-bottom:0;
}

.player-mgmt-mobile-table th:nth-child(1),
.player-mgmt-mobile-table td:nth-child(1){
  width:52%;
  max-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  padding-right:2px;
}

.player-mgmt-mobile-table th:nth-child(2),
.player-mgmt-mobile-table td:nth-child(2){
  width:44px;
  white-space:nowrap;
  text-align:left;
  padding-left:8px;
  padding-right:12px;
}

.player-mgmt-mobile-table th:nth-child(3),
.player-mgmt-mobile-table td:nth-child(3){
  width:88px;
  white-space:nowrap;
  padding-left:4px;
}

.player-mgmt-actions{
  display:flex;
  gap:2px;
  flex-wrap:nowrap;
  justify-content:flex-start;
  width:auto;
}

.player-mgmt-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  min-width:24px;
  min-height:24px;
  padding:0;
  font-size:0;
  line-height:0;
  overflow:hidden;
  white-space:nowrap;
  border-radius:6px;
}

.player-mgmt-action-icon{
  display:inline-flex;
  width:10px;
  height:10px;
  flex:0 0 10px;
  font-size:10px;
  line-height:1;
}

.player-mgmt-action-icon svg{
  width:10px;
  height:10px;
  fill:currentColor;
}

body[data-page="jugadores"] .players-page-shell{
  gap:18px;
  padding:18px;
  border-radius:26px;
}

body[data-page="jugadores"] .user-mgmt-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:2px;
}

body[data-page="jugadores"] .user-mgmt-head > .d-flex{
  width:100%;
  justify-content:space-between;
}

body[data-page="jugadores"] #playerMgmtHeading{
  margin:0;
}

body[data-page="jugadores"] .user-mgmt-head-actions{
  gap:10px;
}

body[data-page="jugadores"] .user-mgmt-shell .btn:not(.player-mgmt-action-btn){
  font-weight:800;
}

body[data-page="jugadores"] .user-mgmt-list-wrap{
  display:grid;
  gap:12px;
}

body[data-page="jugadores"] #playerMgmtCount{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(var(--club-primary-rgb), .08);
  border:1px solid rgba(var(--club-primary-rgb), .12);
  color:var(--color-primary) !important;
  font-size:.78rem !important;
  font-weight:900;
}

body[data-page="jugadores"] #playerMgmtList > .text-muted.small{
  padding:18px;
  border:1px dashed rgba(var(--club-primary-rgb), .18);
  border-radius:18px;
  background:rgba(var(--club-primary-rgb), .04);
  font-weight:700;
}

body[data-page="jugadores"] .player-mgmt-table-wrap{
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

body[data-page="jugadores"] .player-mgmt-table{
  width:100%;
  min-width:1080px;
  border-collapse:separate;
  border-spacing:0 10px;
}

body[data-page="jugadores"] .player-mgmt-table thead th{
  position:static;
}

body[data-page="jugadores"] .player-mgmt-table tbody td{
  padding:14px 12px;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
  border-bottom:1px solid rgba(var(--club-primary-rgb), .10);
  background:rgba(255,255,255,.92);
  vertical-align:middle;
}

body[data-page="jugadores"] .player-mgmt-table tbody td:first-child{
  border-left:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:18px 0 0 18px;
}

body[data-page="jugadores"] .player-mgmt-table tbody td:last-child{
  border-right:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:0 18px 18px 0;
}

body[data-page="jugadores"] .player-mgmt-table tbody tr:nth-child(odd) td{
  background:rgba(255,255,255,.96);
}

body[data-page="jugadores"] .player-mgmt-mobile-wrap{
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body[data-page="jugadores"] .player-mgmt-mobile-table{
  border-collapse:separate;
  border-spacing:0 10px;
}

body[data-page="jugadores"] .player-mgmt-mobile-table.has-header-card thead{
  background:var(--app-data-header-bg);
  outline:1px solid var(--app-data-header-border);
  border-radius:16px;
  overflow:hidden;
}

body[data-page="jugadores"] .player-mgmt-mobile-table.has-header-card thead tr{
  background:var(--app-data-header-bg);
  clip-path:inset(0 round 16px);
}

body[data-page="jugadores"] .player-mgmt-mobile-table.has-header-card thead th{
  padding:10px 12px;
  border-top:1px solid var(--app-data-header-border);
  border-bottom:1px solid var(--app-data-header-border);
  background:transparent;
  color:var(--app-data-header-color);
  font-size:var(--app-data-header-size-mobile);
  font-weight:900;
  letter-spacing:var(--app-data-header-letter-spacing-mobile);
  line-height:1.1;
  text-transform:uppercase;
  box-shadow:none;
}

body[data-page="jugadores"] .player-mgmt-mobile-table.has-header-card thead th:first-child{
  border-left:1px solid var(--app-data-header-border);
  border-radius:16px 0 0 16px;
}

body[data-page="jugadores"] .player-mgmt-mobile-table.has-header-card thead th:last-child{
  border-right:1px solid var(--app-data-header-border);
  border-radius:0 16px 16px 0;
}

body[data-page="jugadores"] .player-mgmt-mobile-table tbody td{
  padding:10px 8px;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
  border-bottom:1px solid rgba(var(--club-primary-rgb), .10);
  background:rgba(255,255,255,.94);
  vertical-align:middle;
}

body[data-page="jugadores"] .player-mgmt-mobile-table tbody td:first-child{
  border-left:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:16px 0 0 16px;
}

body[data-page="jugadores"] .player-mgmt-mobile-table tbody td:last-child{
  border-right:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:0 16px 16px 0;
}

body[data-page="jugadores"] .player-mgmt-mobile-table th:nth-child(1),
body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(1){
  width:auto;
  min-width:0;
  max-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body[data-page="jugadores"] .player-mgmt-mobile-table th:nth-child(2),
body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(2){
  width:48px;
  text-align:center;
}

body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(2){
  padding-left:4px;
  padding-right:4px;
  font-size:.74rem;
}

body[data-page="jugadores"] .player-mgmt-mobile-table th:nth-child(3),
body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(3){
  width:136px;
  text-align:center;
}

body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(3){
  padding-left:2px;
  padding-right:2px;
}

body[data-page="jugadores"] .player-mgmt-sort-btn{
  gap:6px;
}

body[data-page="jugadores"] .player-mgmt-actions{
  gap:4px;
  flex-wrap:nowrap;
  justify-content:center;
}

body[data-page="jugadores"] .player-mgmt-action-btn{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  border-radius:10px;
}

body[data-page="jugadores"] .player-mgmt-action-icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
}

body[data-page="jugadores"] .player-mgmt-action-icon svg{
  width:14px;
  height:14px;
}

body[data-page="jugadores"] .user-mgmt-form,
body[data-page="jugadores"] .user-mgmt-password{
  padding:16px;
  border-radius:22px;
}

body[data-page="jugadores"] .user-mgmt-status{
  border-radius:14px;
}

@media (max-width:768px){
  body[data-page="jugadores"] .players-page-shell{
    gap:16px;
    padding:16px 14px;
    border-radius:22px;
  }

  body[data-page="jugadores"] #playerMgmtCount{
    min-height:24px;
    padding:4px 8px;
    font-size:.72rem !important;
  }

  body[data-page="jugadores"] .player-mgmt-mobile-table{
    table-layout:fixed;
    width:100%;
  }

  body[data-page="jugadores"] .player-mgmt-mobile-table tbody td{
    padding:3px 6px;
  }

  body[data-page="jugadores"] .player-mgmt-mobile-table th:nth-child(2),
  body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(2){
    width:42px;
  }

  body[data-page="jugadores"] .player-mgmt-mobile-table.has-header-card thead th:nth-child(2){
    padding-left:6px;
    padding-right:2px;
    text-align:left;
  }

  body[data-page="jugadores"] .player-mgmt-mobile-table th:nth-child(3),
  body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(3){
    width:132px;
    text-align:center;
  }

  body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(3){
    padding-left:2px;
    padding-right:2px;
  }

  body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(1){
    font-size:var(--data-table-name-size);
    font-weight:800;
    line-height:1.2;
  }

  body[data-page="jugadores"] .player-mgmt-actions{
    gap:4px;
    flex-wrap:nowrap;
  }

  body[data-page="jugadores"] .player-mgmt-action-btn{
    width:28px;
    height:28px;
    min-width:28px;
    min-height:28px;
    border-radius:9px;
  }

  body[data-page="jugadores"] .player-mgmt-action-icon{
    width:12px;
    height:12px;
    flex-basis:12px;
  }

  body[data-page="jugadores"] .player-mgmt-action-icon svg{
    width:12px;
    height:12px;
  }

  body[data-page="jugadores"] .user-mgmt-head-actions{
    width:100%;
  }

  body[data-page="jugadores"] .user-mgmt-shell .btn:not(.player-mgmt-action-btn){
    flex:1 1 0;
  }
}

.password-change-shell{
  display:grid;
  gap:16px;
  max-width:640px;
  margin:0 auto;
}

.password-change-status:empty{
  display:none;
}

.password-change-form{
  display:grid;
  gap:14px;
}

.password-change-form .login-passwrap .login-input{
  padding-right:48px;
}

.password-change-actions{
  display:grid;
  gap:10px;
}

.password-change-actions > *{
  width:100%;
}

@media (max-width:575.98px){
  .password-change-body{
    align-items:flex-start;
  }

  .password-change-body .login-shell{
    padding:10px;
  }

  .password-change-shell{
    gap:8px;
    padding:12px;
  }

  .password-change-head{
    gap:0;
    margin-bottom:4px;
  }

  .password-change-head .login-logo{
    width:92px;
    height:92px;
    margin-bottom:2px;
  }

  .password-change-head .login-title{
    font-size:1.08rem;
    line-height:1.15;
  }

  .password-change-head .login-subtitle{
    margin:2px 0 0;
    font-size:.82rem;
    line-height:1.25;
  }

  .password-change-head .text-muted{
    margin-top:2px;
    font-size:.78rem;
    line-height:1.25;
  }

  .password-change-form{
    gap:7px;
  }

  .password-change-form .login-label{
    margin-top:2px;
    margin-bottom:3px;
    font-size:.78rem;
  }

  .password-change-form .login-input{
    min-height:38px;
    border-radius:12px;
    padding:8px 10px;
    font-size:.92rem;
  }

  .password-change-form .login-passwrap .login-input{
    padding-right:42px;
  }

  .password-change-form .login-peek{
    right:5px;
    padding:5px 7px;
  }

  .password-change-actions{
    gap:8px;
  }

  .password-change-actions .login-btn,
  .password-change-actions .btn{
    min-height:38px;
    padding:8px 12px;
    border-radius:12px;
    font-size:.92rem;
  }
}

@media (min-width:768px){
  .user-mgmt-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .user-mgmt-teams-block,
  .user-mgmt-form-actions{
    grid-column:1 / -1;
  }

  .user-mgmt-card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .player-mgmt-table-wrap{
    display:block;
  }

  .player-mgmt-mobile-wrap{
    display:none;
  }
}

.home-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--density-comfortable-gap);
  align-items:start;
  grid-template-areas:
    "calendar"
    "clas"
    "top"
    "photos";
}

.home-calendar{grid-area:calendar}
.home-clas{grid-area:clas}
.home-top3{grid-area:top}
.home-photos{grid-area:photos}

@media (min-width:992px){
  .home-grid{
    grid-template-columns:3fr 2fr;
    grid-template-areas:
      "clas calendar"
      "photos top";
    align-items:start;
  }

  .home-grid > .card-soft{
    display:flex;
    flex-direction:column;
    min-width:0;
  }

  .home-grid.no-photos{
    grid-template-areas:
      "clas calendar"
      "top calendar";
  }
}

.carousel-compact .carousel-inner{
  border-radius:20px;
  overflow:hidden;
  background:#fff;
}

.carousel-compact .carousel-item img{
  display:block;
  width:100%;
  height:260px;
  object-fit:cover;
}

@media (min-width:992px){
  .carousel-compact .carousel-item img{
    height:360px;
    object-fit:contain;
  }
}

.home-photos-carousel{
  display:grid;
  gap:12px;
}

.home-photos-stage{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-xs);
}

.home-photos-image{
  display:block;
  width:100%;
  height:260px;
  object-fit:cover;
  object-position:center center;
  background:rgba(255,255,255,.92);
}

.home-photos-image.is-loading,
.home-photos-image.is-portrait{
  object-fit:contain;
  object-position:center top;
}

.home-photos-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.54);
  color:#fff;
  font-size:1.4rem;
  line-height:1;
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(8px);
  transition:
    background-color var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard);
}

.home-photos-nav--prev{left:12px;}
.home-photos-nav--next{right:12px;}

.home-photos-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.home-photos-dot{
  width:8px;
  height:8px;
  border:0;
  border-radius:999px;
  padding:0;
  background:rgba(var(--club-primary-rgb), .24);
  transition:
    transform var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard),
    opacity var(--motion-fast) var(--ease-standard);
}

.home-photos-dot.is-active{
  width:22px;
  background:var(--color-primary);
}

.home-photos-skeleton{
  display:grid;
}

.home-classif-img{
  width:100%;
  max-width:980px;
  border-radius:16px;
}

.skeleton{
  position:relative;
  overflow:hidden;
  background:#eef2f6;
  border-radius:12px;
}

.skeleton::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent);
  animation:skeleton-shimmer 1.2s infinite;
}

@keyframes skeleton-shimmer{
  100%{transform:translateX(100%)}
}

.sk-line{height:12px;margin-bottom:10px}
.sk-line:last-child{margin-bottom:0}
.sk-line.w-100{width:100%}
.sk-line.w-85{width:85%}
.sk-line.w-70{width:70%}
.sk-line.w-55{width:55%}
.sk-line.w-40{width:40%}

.sk-card{
  padding:14px;
  border:1px solid rgba(0,0,0,.05);
  border-radius:16px;
  background:rgba(255,255,255,.65);
}

.sk-stack > * + *{margin-top:12px}

.sk-table-row{
  display:grid;
  grid-template-columns:50px 1.8fr 50px 40px 40px 40px;
  gap:10px;
  margin-bottom:10px;
}

.sk-top-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  width:100%;
}

.sk-photo{
  width:100%;
  height:260px;
  border-radius:16px;
}

@media (min-width:992px){
  .sk-photo{height:360px}
  .home-photos-image{height:360px}
}

.home-menu-btn{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow-xs);
}

body[data-page="index"] .app-page-intro{
  display:none !important;
}

.home-menu-btn span{
  display:block;
  width:18px;
  height:2px;
  margin:0 auto;
  border-radius:999px;
  background:var(--color-text);
}

.home-context-panel{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid var(--color-border);
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:var(--shadow-xs);
}

.home-more-links{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.home-captain-tips-card{
  color:inherit;
  padding:12px 16px !important;
}

.home-captain-tips-card:hover,
.home-captain-tips-card:focus{
  color:inherit;
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(17, 24, 39, .10);
}

.home-captain-tips-card__inner{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:26px;
  white-space:nowrap;
}

.home-captain-tips-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(var(--club-primary-rgb), .08);
  border:1px solid rgba(var(--club-primary-rgb), .14);
  font-size:.9rem;
  line-height:1;
  flex:0 0 auto;
}

.home-captain-tips-card__label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.9rem;
  font-weight:900;
  line-height:1.1;
}

.home-captain-tips-card__meta{
  color:var(--color-muted);
  font-size:.82rem;
  font-weight:800;
  line-height:1.1;
  flex:0 0 auto;
}

.home-captain-tips-card__arrow{
  margin-left:auto;
  color:var(--color-primary);
  font-size:1rem;
  font-weight:900;
  line-height:1;
  flex:0 0 auto;
}

.home-grid--foundation{
  grid-template-columns:1fr !important;
  grid-template-areas:
    "tips"
    "hero"
    "clas"
    "top"
    "photos" !important;
}

.home-grid--foundation > .card-soft,
.home-grid--foundation > .app-card{
  box-shadow:0 10px 22px rgba(17, 24, 39, .07);
}

.home-hero,
.home-clas,
.home-top3,
.home-photos{
  padding:18px;
}

.home-captain-tips-card{grid-area:tips}
.home-hero{grid-area:hero}
.home-clas{grid-area:clas}
.home-top3{grid-area:top}

.home-hero{
  background:var(--card-secondary-bg);
}

.home-hero-content{
  display:grid;
  gap:14px;
}

.home-jornada-card{
  display:grid;
  gap:14px;
}

.home-jornada-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.home-jornada-top-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.home-jornada-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(var(--club-primary-rgb), .10);
  border:1px solid rgba(var(--club-primary-rgb), .12);
  font-size:1.05rem;
  flex:0 0 42px;
}

.home-jornada-round{
  display:grid;
  gap:3px;
  min-width:0;
}

.home-jornada-label{
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-muted);
}

.home-jornada-round strong{
  font-size:1.5rem;
  line-height:1;
}

.home-jornada-inline-title{
  font-size:1.18rem;
  font-weight:900;
  line-height:1.1;
}

.home-jornada-inline-meta{
  color:var(--color-muted);
  font-size:.88rem;
  font-weight:700;
  line-height:1.2;
}

.home-jornada-score{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  min-height:46px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(var(--club-primary-rgb), .16);
  background:rgba(var(--club-primary-rgb), .08);
  color:var(--color-primary);
  font-size:1.4rem;
  font-weight:900;
  line-height:1;
  flex:0 0 auto;
}

.home-jornada-score.is-filled{
  background:rgba(20,125,69,.12);
  color:var(--win);
}

.home-jornada-list{
  display:grid;
  gap:10px;
}

.home-jornada-list-row{
  display:block;
  min-width:0;
}

.home-jornada-list-label{
  font-size:.9rem;
  font-weight:900;
  color:var(--color-text);
}

.home-jornada-list-team{
  display:block;
  min-width:0;
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1rem;
  font-weight:800;
  line-height:1.2;
  color:var(--color-text);
}

.home-jornada-team--ours{
  color:var(--color-primary);
}

.home-hero-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-top:2px;
}

.home-hero-actions.cal-action-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-top:4px;
}

.home-hero-actions.cal-action-row .cal-gestion-btn{
  min-height:40px;
  padding:7px 9px;
  border-radius:14px;
}

body[data-page="tips-capitan"] .tips-page-shell{
  display:grid;
  gap:18px;
}

.tips-page-head{
  display:grid;
  gap:12px;
}

.tips-page-head__copy{
  display:grid;
  gap:8px;
}

.tips-sections{
  display:grid;
  gap:18px;
}

.tips-section{
  display:grid;
  gap:12px;
}

.tips-section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.tips-section__title{
  margin:0;
  font-size:1rem;
  font-weight:900;
  line-height:1.15;
}

.tips-card-grid{
  display:grid;
  gap:12px;
}

.tips-card{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:var(--color-surface-overlay-subtle);
  color:var(--color-text);
  text-align:left;
  box-shadow:var(--shadow-xs);
  transition:
    transform var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard);
}

.tips-card:hover,
.tips-card:focus{
  transform:translateY(-1px);
  border-color:rgba(var(--club-primary-rgb), .24);
  background:var(--color-surface-overlay);
  box-shadow:0 12px 24px rgba(17, 24, 39, .08);
}

.tips-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(var(--club-primary-rgb), .10);
  border:1px solid rgba(var(--club-primary-rgb), .14);
  font-size:1.2rem;
  line-height:1;
}

.tips-card__body{
  display:grid;
  gap:6px;
  min-width:0;
}

.tips-card__title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.tips-card__title{
  font-size:.98rem;
  line-height:1.2;
}

.tips-card__description{
  margin:0;
  color:var(--color-muted);
  font-size:.9rem;
  font-weight:700;
  line-height:1.35;
}

.tips-card__cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--color-primary);
  font-size:.82rem;
  font-weight:900;
}

.tips-card__cta::before{
  content:"▶";
  font-size:.72rem;
}

.tips-video-modal{
  position:fixed;
  inset:0;
  z-index:2600;
  display:grid;
  place-items:center;
  padding:18px;
}

.tips-video-modal[hidden]{
  display:none;
}

.tips-video-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15, 23, 42, .58);
  backdrop-filter:blur(8px);
}

.tips-video-modal__dialog{
  position:relative;
  z-index:1;
  width:min(100%, 860px);
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid rgba(var(--club-primary-rgb), .18);
  border-radius:24px;
  background:var(--color-surface-overlay-strong);
  box-shadow:0 24px 48px rgba(15, 23, 42, .24);
}

.tips-video-modal__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.tips-video-modal__copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.tips-video-modal__section{
  color:var(--color-muted);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tips-video-modal__title{
  margin:0;
  font-size:1.05rem;
  font-weight:900;
  line-height:1.15;
}

.tips-video-modal__player{
  width:100%;
  max-height:min(68vh, 560px);
  border-radius:18px;
  background:#000;
}

.tips-video-modal__fallback{
  display:grid;
  gap:10px;
  justify-items:start;
}

body.tips-video-modal-open{
  overflow:hidden;
}

.home-clas-gap{
  padding:0;
  min-height:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--color-muted);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
}

.home-summary-list{
  display:grid;
  gap:16px;
}

.home-clas-group{
  display:grid;
  gap:10px;
}

.home-clas-group-title{
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--color-muted);
}

.home-clas-group-list{
  display:grid;
  gap:10px;
}

.home-clas-row{
  display:grid;
  grid-template-columns:28px minmax(0, 1fr) auto;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:rgba(255,255,255,.82);
  transition:
    transform var(--motion-base) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard);
}

.home-clas-row.is-ours{
  border-color:var(--color-border);
  background:rgba(255,255,255,.82);
}

.home-clas-row.has-fcp-zone{
  background:linear-gradient(90deg, var(--clas-fcp-bg, rgba(255,255,255,.82)), rgba(255,255,255,.92));
  border-color:rgba(var(--club-primary-rgb), .16);
  box-shadow:inset 4px 0 0 var(--clas-fcp-color);
}

.home-clas-row.has-fcp-zone.is-ours{
  background:linear-gradient(90deg, var(--clas-fcp-bg, rgba(255,255,255,.82)), rgba(255,255,255,.92));
  box-shadow:inset 4px 0 0 var(--clas-fcp-color);
}

.home-clas-pos{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  font-size:.68rem;
  font-weight:900;
}

.home-clas-team{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:800;
  font-size:.9rem;
}

.home-clas-row.is-ours .home-clas-pos,
.home-clas-row.is-ours .home-clas-team,
.home-clas-row.is-ours .home-clas-points{
  color:var(--color-primary);
}

.home-clas-points{
  font-weight:900;
  color:var(--color-primary);
  font-size:.88rem;
}

.home-player-card{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  transition:
    transform var(--motion-base) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard),
    box-shadow var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard);
}

.home-player-rank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:var(--color-primary);
  color:#fff;
  font-weight:900;
  font-size:.72rem;
  flex:0 0 26px;
}

.home-player-copy{
  min-width:0;
  flex:1 1 auto;
}

.home-player-name{
  color:var(--color-text);
  font-weight:900;
  line-height:1.15;
  font-size:.92rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.home-player-metric{
  margin-top:4px;
  color:var(--color-text);
  opacity:.72;
  font-size:.72rem;
  font-weight:700;
}

.home-clas-row:hover,
.home-player-card:hover{
  box-shadow:0 10px 20px rgba(17, 24, 39, .07);
}

.home-more-trigger{
  border:0;
}

.nav-ico-text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.15rem;
  font-weight:900;
}

.home-jornada-skeleton,
.home-summary-skeleton,
.home-top-skeleton{
  display:grid;
  gap:10px;
}

@media (min-width:992px){
  .home-grid--foundation{
    grid-template-columns:minmax(0, 1.3fr) minmax(320px, .8fr) !important;
    grid-template-areas:
      "tips tips"
      "hero hero"
      "clas top"
      "clas photos" !important;
  }
}

@media (max-width:768px){
  .home-jornada-top{
    align-items:flex-start;
  }

  .home-jornada-top-main{
    width:100%;
  }

  .home-jornada-score{
    min-width:74px;
    min-height:42px;
    font-size:1.2rem;
  }

  .home-hero-actions.cal-action-row{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .home-hero-actions.cal-action-row .cal-gestion-btn{
    min-height:38px;
    font-size:.74rem;
    padding:6px 8px;
  }

  .home-more-links{
    grid-template-columns:1fr;
  }
}

body[data-page="calendario"] .cal-wrap{
  overflow:visible;
}

body[data-page="calendario"] .cal-wrap .cal-table{
  border-collapse:separate;
  border-spacing:0 12px;
}

body[data-page="calendario"] .cal-wrap .cal-table thead th{
  padding:10px 14px;
}

body[data-page="calendario"] .cal-wrap .cal-table tbody td{
  padding:18px 14px;
  vertical-align:top;
  background:var(--card-secondary-bg) !important;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
  border-bottom:1px solid rgba(var(--club-primary-rgb), .10);
}

body[data-page="calendario"] .cal-wrap .cal-table tbody td:first-child{
  border-left:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:20px 0 0 20px;
}

body[data-page="calendario"] .cal-wrap .cal-table tbody td:last-child{
  border-right:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:0 20px 20px 0;
}

body[data-page="calendario"] .cal-wrap .cal-table tbody tr{
  box-shadow:var(--shadow-sm);
}

body[data-page="calendario"] .cal-jornada-cell{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
}

body[data-page="calendario"] .cal-venue-ico{
  width:34px;
  height:34px;
  background:linear-gradient(135deg, rgba(var(--club-primary-rgb), .16), rgba(var(--club-primary-rgb), .08));
  box-shadow:none;
}

body[data-page="calendario"] .cal-jornada-title{
  font-size:1.02rem;
  font-weight:900;
}

body[data-page="calendario"] .cal-meta-block{
  gap:4px;
}

body[data-page="calendario"] .date-main{
  font-weight:800;
  color:var(--color-text);
}

body[data-page="calendario"] .date-sub{
  color:var(--color-muted);
  font-size:.84rem;
  font-weight:700;
}

body[data-page="calendario"] .cal-main-cell{
  min-width:360px;
}

body[data-page="calendario"] .teams-head,
body[data-page="calendario"] .teams-head-inline{
  min-width:0;
  align-items:flex-start;
  gap:16px;
}

body[data-page="calendario"] .cal-score-main{
  gap:10px;
}

body[data-page="calendario"] .mcal-line2{
  min-width:0;
}

body[data-page="calendario"] .teams-inline{
  font-size:1.02rem;
  font-weight:900;
  line-height:1.32;
}

body[data-page="calendario"] .teams{
  gap:5px;
}

body[data-page="calendario"] .teams .team{
  font-size:1rem;
  font-weight:900;
}

body[data-page="calendario"] .teams .vs{
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body[data-page="calendario"] .cal-team-row,
body[data-page="calendario"] .mcal-team-row{
  gap:10px;
}

body[data-page="calendario"] .badge.bg-light.text-dark{
  min-width:52px;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(var(--club-primary-rgb), .08) !important;
  color:var(--color-primary) !important;
  font-size:.72rem;
  font-weight:900;
  border:1px solid rgba(var(--club-primary-rgb), .12);
}

body[data-page="calendario"] .score-badge{
  min-width:82px;
  min-height:44px;
  padding:8px 16px;
  font-size:1.05rem;
  box-shadow:none;
}

body[data-page="calendario"] .mobile-results,
body[data-page="calendario"] .mcal-chips{
  margin-top:10px;
  padding-top:12px;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
}

body[data-page="calendario"] .match-chip{
  min-height:36px;
  padding:7px 11px;
  border-radius:14px;
  background:rgba(255,255,255,.96);
}

body[data-page="calendario"] .cal-action-row{
  margin-top:14px;
  gap:8px;
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
}

body[data-page="calendario"] .cal-action-row .cal-gestion-btn,
body[data-page="calendario"] .cal-action-row .cal-detail-toggle{
  flex:1 1 0;
  min-height:36px;
  padding:6px 6px;
  font-size:.74rem;
  font-weight:800;
  border-radius:12px;
}

body[data-page="calendario"] .cal-action-row .cal-gestion-btn{
  width:100%;
  gap:3px;
}

body[data-page="calendario"] .cal-action-row .cal-detail-toggle-wrap{
  flex:1 1 0;
  min-width:0;
}

body[data-page="calendario"] .cal-action-row .cal-btn-ico{
  font-size:.82em;
}

body[data-page="calendario"] .cal-action-row .cal-btn-text{
  overflow:hidden;
  text-overflow:ellipsis;
}

body[data-page="calendario"] .cal-detail-block{
  background:rgba(var(--club-primary-rgb), .04);
  border:1px solid rgba(var(--club-primary-rgb), .08);
  border-radius:16px;
  padding:12px;
}

body[data-page="calendario"] .mcal-list{
  display:grid;
  gap:14px;
}

body[data-page="calendario"] .mcal-card{
  position:relative;
  padding:16px 16px 14px;
  border-radius:22px;
  border:1px solid rgba(var(--club-primary-rgb), .12);
  background:var(--card-secondary-bg) !important;
  box-shadow:var(--shadow-sm);
  min-width:0;
  overflow:hidden;
}

body[data-page="calendario"] .mcal-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  border-radius:22px 22px 0 0;
  background:linear-gradient(90deg, rgba(var(--club-primary-rgb), .18), rgba(var(--club-primary-rgb), .72), rgba(var(--club-primary-rgb), .18));
}

body[data-page="calendario"] .mcal-line1{
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  min-width:0;
}

body[data-page="calendario"] .mcal-head-main{
  gap:5px;
}

body[data-page="calendario"] .mcal-jornada-row{
  gap:10px;
}

body[data-page="calendario"] .mcal-venue-ico{
  width:34px;
  height:34px;
  background:linear-gradient(135deg, rgba(var(--club-primary-rgb), .16), rgba(var(--club-primary-rgb), .08));
  box-shadow:none;
}

body[data-page="calendario"] .mcal-pill.cal-jornada-title{
  font-size:1.02rem;
  font-weight:900;
}

body[data-page="calendario"] .mcal-meta{
  font-size:.84rem;
  font-weight:700;
  color:var(--color-muted);
}

body[data-page="calendario"] .mcal-line2{
  margin-bottom:12px;
  min-width:0;
}

body[data-page="calendario"] .mcal-teams-block{
  gap:10px;
}

body[data-page="calendario"] .mcal-team-row .team-name{
  font-size:1rem;
  font-weight:800;
  line-height:1.25;
}

body[data-page="calendario"] .mcal-actions-wrap{
  min-width:0;
  max-width:100%;
  flex:1 1 auto;
}

body[data-page="calendario"] .mcal-actions-wrap .cal-action-row{
  min-width:0;
  width:100%;
}

body[data-page="calendario"] .mcal-line3-actions{
  margin-top:2px;
  margin-bottom:0;
}

body[data-page="calendario"] .mcal-card .cal-action-row{
  margin-top:0;
}

body[data-page="calendario"] .mcal-card .cal-detail-block{
  margin-top:12px;
}

@media (max-width:768px){
  body[data-page="calendario"] .mcal-card{
    padding:15px 14px 14px;
    border-radius:20px;
  }

  body[data-page="calendario"] .mcal-line1{
    align-items:flex-start;
  }

  body[data-page="calendario"] .mcal-score-wrap{
    margin-left:0;
  }

  body[data-page="calendario"] .mcal-line2{
    gap:10px;
  }

  body[data-page="calendario"] .mcal-card .cal-action-row{
    display:flex;
    flex-wrap:nowrap;
  }

  body[data-page="calendario"] .mcal-card .cal-action-row .cal-gestion-btn,
  body[data-page="calendario"] .mcal-card .cal-action-row .cal-detail-toggle{
    min-height:34px;
    font-size:.7rem;
    padding:5px 5px;
  }

  body[data-page="calendario"] .mcal-card .cal-action-row .cal-gestion-btn-reopen{
    flex:0.84 1 0;
    padding-inline:4px;
    font-size:.66rem;
  }

  body[data-page="calendario"] .mcal-card .match-chip{
    border-radius:12px;
  }
}

@media (min-width:1024px){
  body[data-page="calendario"] .cal-wrap .cal-table thead th,
  body[data-page="calendario"] .cal-wrap .cal-table tbody td{
    text-align:center;
    vertical-align:middle;
  }

  body[data-page="calendario"] .cal-wrap .cal-table tbody td{
    font-size:15px;
    font-weight:500;
    line-height:1.2;
  }

  body[data-page="calendario"] .cal-jornada-cell,
  body[data-page="calendario"] .date-cell.cal-meta-block,
  body[data-page="calendario"] td:nth-child(3) .cal-meta-block,
  body[data-page="calendario"] .cal-main-cell,
  body[data-page="calendario"] .teams-head-inline,
  body[data-page="calendario"] .cal-score-main,
  body[data-page="calendario"] .cal-score-side,
  body[data-page="calendario"] .cal-action-row{
    align-items:center;
  }

  body[data-page="calendario"] .cal-jornada-cell,
  body[data-page="calendario"] .date-cell.cal-meta-block,
  body[data-page="calendario"] td:nth-child(3) .cal-meta-block,
  body[data-page="calendario"] .cal-main-cell,
  body[data-page="calendario"] .teams-head-inline,
  body[data-page="calendario"] .cal-score-main,
  body[data-page="calendario"] .cal-score-side{
    justify-content:center;
    text-align:center;
  }

  body[data-page="calendario"] .cal-action-row{
    justify-content:center;
  }

  :root{
    --app-data-desktop-font-size:15px;
    --app-data-desktop-font-weight:500;
    --app-data-desktop-line-height:1.2;
  }

  body[data-page="calendario"] .cal-jornada-title,
  body[data-page="calendario"] .date-main,
  body[data-page="calendario"] .teams-inline,
  body[data-page="calendario"] .score-badge,
  body[data-page="calendario"] .cal-action-row .cal-gestion-btn,
  body[data-page="calendario"] .cal-action-row .cal-detail-toggle,
  body[data-page="calendario"] .cal-action-row .cal-btn-text{
    font-size:var(--app-data-desktop-font-size);
    font-weight:var(--app-data-desktop-font-weight);
    line-height:var(--app-data-desktop-line-height);
  }

  body[data-page="calendario"] .date-sub{
    font-size:var(--app-data-desktop-font-size);
    font-weight:var(--app-data-desktop-font-weight);
    line-height:var(--app-data-desktop-line-height);
  }

  body[data-page="calendario"] .score-badge{
    font-weight:600;
  }

  body[data-page="calendario"] .cal-action-row .cal-gestion-btn,
  body[data-page="calendario"] .cal-action-row .cal-detail-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  body[data-page="calendario"] .cal-main-cell{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 92px 320px;
    align-items:center;
    column-gap:12px;
  }

  body[data-page="calendario"] .cal-main-cell > .teams-head-inline{
    display:contents;
  }

  body[data-page="calendario"] .cal-main-cell > .teams-head-inline .cal-score-main{
    grid-column:1;
    min-width:0;
  }

  body[data-page="calendario"] .cal-main-cell > .teams-head-inline .cal-score-side{
    grid-column:2;
    justify-self:center;
    width:100%;
  }

  body[data-page="calendario"] .cal-main-cell > .cal-action-row{
    grid-column:3;
    width:100%;
    justify-content:center;
    flex-wrap:nowrap;
  }

  body[data-page="calendario"] .cal-main-cell > .cal-detail-block{
    grid-column:1 / -1;
  }

  body[data-page="clasificacion"] .clas-desktop-cell,
  body[data-page="estadisticas"] .stats-table tbody td,
  body[data-page="jugadores"] .player-mgmt-table tbody td{
    font-size:var(--app-data-desktop-font-size);
    font-weight:var(--app-data-desktop-font-weight);
    line-height:var(--app-data-desktop-line-height);
  }

  body[data-page="jugadores"] .player-mgmt-table th:nth-child(3),
  body[data-page="jugadores"] .player-mgmt-table td:nth-child(3){
    width:54px;
    text-align:center;
  }

  body[data-page="jugadores"] .player-mgmt-table th:nth-child(4),
  body[data-page="jugadores"] .player-mgmt-table td:nth-child(4){
    width:88px;
    text-align:center;
  }

  body[data-page="jugadores"] .player-mgmt-table th:nth-child(5),
  body[data-page="jugadores"] .player-mgmt-table td:nth-child(5){
    width:108px;
    text-align:center;
  }

  body[data-page="jugadores"] .player-mgmt-table th:last-child,
  body[data-page="jugadores"] .player-mgmt-table td:last-child{
    width:156px;
  }

  body[data-page="jugadores"] .player-mgmt-table td:last-child{
    padding-left:6px;
    padding-right:6px;
  }

  body[data-page="jugadores"] .player-mgmt-actions{
    gap:4px;
    flex-wrap:nowrap;
    justify-content:center;
  }
}

.stats-order-note {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  margin: 6px 0 8px 0;
  line-height: 1.25;
}

body[data-page="scouting"] .scouting-page{
  max-width:1320px;
}

body[data-page="scouting"] .scouting-shell{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:12px;
  align-items:start;
}

body[data-page="scouting"].is-scouting-syncing .scouting-shell{
  position:relative;
}

body[data-page="scouting"].is-scouting-syncing .scouting-shell::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  border-radius:8px;
  background:rgba(255,255,255,.46);
  cursor:progress;
}

body[data-page="scouting"].is-scouting-syncing .scouting-panel{
  opacity:.64;
}

body[data-page="scouting"].is-scouting-syncing .scouting-sync-overview{
  position:relative;
  opacity:1;
  z-index:6;
}

body[data-page="scouting"] .scouting-main{
  display:grid;
  gap:12px;
  min-width:0;
}

body[data-page="scouting"] .scouting-panel{
  min-width:0;
  padding:14px;
  border:1px solid rgba(var(--club-primary-rgb), .12);
  border-radius:8px;
  background:var(--color-surface-overlay-strong);
  box-shadow:var(--shadow-xs);
}

body[data-page="scouting"] .scouting-subsection{
  display:grid;
  gap:10px;
  min-width:0;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
}

body[data-page="scouting"] .scouting-subsection-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin:0;
  color:var(--color-primary);
  font-size:.9rem;
  font-weight:900;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.04em;
}

body[data-page="scouting"] .scouting-subsection-title span{
  color:var(--color-muted);
  font-size:.68rem;
  font-weight:800;
  text-transform:none;
  letter-spacing:0;
}

body[data-page="scouting"] .scouting-subsection-copy{
  margin:0;
  color:var(--color-muted);
  font-size:.82rem;
  font-weight:800;
  line-height:1.35;
}

body[data-page="scouting"] .scouting-detail-block{
  min-width:0;
  margin-top:4px;
}

body[data-page="scouting"] .scouting-more-results{
  grid-column:1 / -1;
}

body[data-page="scouting"] .scouting-detail-block > summary,
body[data-page="scouting"] .scouting-pair-result-group > summary{
  cursor:pointer;
  color:var(--color-primary);
  font-size:.82rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-detail-block > summary{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border:1px solid rgba(var(--club-primary-rgb), .14);
  border-radius:8px;
  background:rgba(var(--club-primary-rgb), .05);
}

body[data-page="scouting"] .scouting-sidebar{
  display:grid;
  gap:10px;
  align-content:start;
  background:rgba(255,255,255,.72);
}

body[data-page="scouting"] .scouting-sync-overview{
  display:grid;
  gap:8px;
  align-items:start;
}

body[data-page="scouting"] .scouting-sync-line,
body[data-page="scouting"] .scouting-sync-counts{
  color:var(--color-muted);
  font-size:.86rem;
  font-weight:800;
  line-height:1.35;
}

body[data-page="scouting"] .scouting-sync-line strong,
body[data-page="scouting"] .scouting-sync-counts strong{
  color:var(--color-text);
  font-weight:900;
}

body[data-page="scouting"] .scouting-sync-card{
  min-width:0;
}

body[data-page="scouting"] .scouting-sync-summary{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px 14px;
  align-items:center;
  cursor:pointer;
  list-style-position:outside;
}

body[data-page="scouting"] .scouting-sync-summary::-webkit-details-marker{
  color:var(--color-muted);
}

body[data-page="scouting"] .scouting-sync-updated{
  color:var(--color-muted);
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-sync-updated strong{
  color:var(--color-text);
  font-weight:900;
}

body[data-page="scouting"] .scouting-sync-primary{
  justify-self:start;
  min-height:34px;
  padding:6px 12px;
  border-radius:8px;
  font-size:.82rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-sync-expanded{
  display:grid;
  gap:12px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(var(--club-primary-rgb), .10);
}

body[data-page="scouting"] .scouting-sync-status-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  margin:0;
}

body[data-page="scouting"] .scouting-sync-status-list > div{
  display:grid;
  gap:4px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:8px;
  background:var(--color-surface-overlay);
}

body[data-page="scouting"] .scouting-sync-status-list dt{
  color:var(--color-muted);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-sync-status-list dd{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  margin:0;
  color:var(--color-text);
  font-size:.82rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-block{
  display:grid;
  gap:14px;
}

body[data-page="scouting"] .scouting-title,
body[data-page="scouting"] .scouting-section-title{
  margin:0;
  color:var(--color-text);
  font-size:1rem;
  font-weight:900;
  line-height:1.15;
  letter-spacing:0;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-section-title span{
  font-size:.78rem;
  font-weight:800;
  text-transform:none;
}

body[data-page="scouting"] .scouting-muted{
  color:var(--color-muted);
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
}

body[data-page="scouting"] .scouting-team-name{
  color:var(--color-text);
  font-weight:900;
}

body[data-page="scouting"] .scouting-checks{
  display:grid;
  gap:9px;
  padding-block:4px 12px;
  border-bottom:1px solid rgba(var(--club-primary-rgb), .12);
}

body[data-page="scouting"] .scouting-checks > div{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--color-text);
  font-size:.86rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--color-neutral-soft);
  border:1px solid var(--color-border);
  flex:0 0 18px;
}

body[data-page="scouting"] .scouting-dot[data-state="ok"]{
  background:var(--color-success);
  border-color:var(--color-success);
  box-shadow:inset 0 0 0 4px var(--color-success-soft);
}

body[data-page="scouting"] .scouting-meta-list{
  display:grid;
  gap:8px;
  margin:0;
}

body[data-page="scouting"] .scouting-meta-list > div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--color-text);
  font-size:.84rem;
}

body[data-page="scouting"] .scouting-meta-list dt{
  color:var(--color-muted);
  font-weight:700;
}

body[data-page="scouting"] .scouting-meta-list dd{
  margin:0;
  font-weight:900;
}

body[data-page="scouting"] .scouting-actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

body[data-page="scouting"] .scouting-actions .btn{
  min-height:34px;
  padding:6px 8px;
  border-radius:8px;
  font-size:.78rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-top-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

body[data-page="scouting"].is-scouting-pending .scouting-top-grid,
body[data-page="scouting"].is-scouting-pending .scouting-matches-panel,
body[data-page="scouting"].is-scouting-pending .scouting-players-panel,
body[data-page="scouting"].is-scouting-pending .scouting-pair-performance-panel,
body[data-page="scouting"].is-scouting-pending .scouting-analysis-panel,
body[data-page="scouting"].is-scouting-empty .scouting-top-grid,
body[data-page="scouting"].is-scouting-empty .scouting-matches-panel,
body[data-page="scouting"].is-scouting-empty .scouting-players-panel,
body[data-page="scouting"].is-scouting-empty .scouting-pair-performance-panel,
body[data-page="scouting"].is-scouting-empty .scouting-analysis-panel{
  display:none;
}

body[data-page="scouting"] .scouting-rival-picker{
  display:grid;
  align-content:start;
  gap:16px;
}

body[data-page="scouting"] .scouting-rival-picker .form-select{
  width:100%;
  border-radius:8px;
  font-weight:800;
}

body[data-page="scouting"] .scouting-selector-preview{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--color-text);
  font-size:.82rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-selector-preview span:last-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

body[data-page="scouting"] .scouting-rival-summary-body{
  display:grid;
  gap:14px;
}

body[data-page="scouting"] .scouting-rival-card,
body[data-page="scouting"] .scouting-summary-headline{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

body[data-page="scouting"] .scouting-crest{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:12px;
  border:2px solid var(--color-warning);
  background:linear-gradient(145deg, var(--color-info-soft), var(--color-warning-soft));
  color:var(--color-info);
  font-weight:900;
  flex:0 0 58px;
}

body[data-page="scouting"] .scouting-crest.is-small{
  width:42px;
  height:42px;
  flex-basis:42px;
  border-radius:10px;
  font-size:.78rem;
}

body[data-page="scouting"] .scouting-crest.is-large{
  width:64px;
  height:64px;
  flex-basis:64px;
}

body[data-page="scouting"] .scouting-crest.is-muted{
  border-color:var(--color-border);
  background:var(--color-neutral-soft);
  color:var(--color-muted);
}

body[data-page="scouting"] .scouting-crest.has-logo{
  overflow:hidden;
  border-color:rgba(var(--club-primary-rgb), .14);
  background:#fff;
}

body[data-page="scouting"] .scouting-crest.has-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
}

body[data-page="scouting"] .scouting-crest:not(.has-logo)::before{
  content:attr(data-initials);
}

body[data-page="scouting"] .scouting-rival-copy{
  display:grid;
  gap:5px;
  min-width:0;
  color:var(--color-text);
  font-weight:700;
}

body[data-page="scouting"] .scouting-rival-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-rival-copy span{
  font-weight:900;
}

body[data-page="scouting"] .scouting-form{
  display:grid;
  gap:10px;
  min-width:0;
  padding-top:12px;
  border-top:1px solid rgba(var(--club-primary-rgb), .14);
}

body[data-page="scouting"] .scouting-mini-title{
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-form-grid{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

body[data-page="scouting"] .scouting-form-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:5px;
  color:var(--color-muted);
  background:var(--color-neutral-soft);
  font-size:.78rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-form-chip.is-win{
  color:var(--color-success);
  background:var(--color-success-soft);
  border:1px solid var(--color-success-border);
}

body[data-page="scouting"] .scouting-form-chip.is-loss{
  color:var(--color-danger);
  background:var(--color-danger-soft);
  border:1px solid var(--color-danger-border);
}

body[data-page="scouting"] .scouting-form-chip.is-rest{
  color:var(--color-muted);
  background:rgba(107,114,128,.10);
  border:1px solid rgba(107,114,128,.22);
}

body[data-page="scouting"] .scouting-trajectory-chip{
  display:grid;
  gap:1px;
  height:auto;
  min-width:34px;
  padding:3px 6px 5px;
  line-height:1;
  place-items:center;
  text-align:center;
}

body[data-page="scouting"] .scouting-trajectory-chip small{
  color:inherit;
  display:block;
  width:100%;
  font-size:.66rem;
  font-weight:900;
  line-height:1;
  opacity:.9;
  text-align:center;
}

body[data-page="scouting"] .scouting-trajectory-chip strong{
  color:inherit;
  font-size:.78rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-kpi-grid,
body[data-page="scouting"] .scouting-pair-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}

body[data-page="scouting"] .scouting-summary-kpis{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:10px;
}

body[data-page="scouting"] .scouting-pair-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

body[data-page="scouting"] .scouting-kpi,
body[data-page="scouting"] .scouting-pair-card{
  display:grid;
  place-items:center;
  gap:4px;
  min-height:96px;
  padding:12px;
  border:1px solid rgba(var(--club-primary-rgb), .12);
  border-radius:8px;
  background:var(--color-surface-overlay);
}

body[data-page="scouting"] .scouting-kpi strong,
body[data-page="scouting"] .scouting-pair-card strong{
  color:var(--color-text);
  font-size:2rem;
  font-weight:900;
  line-height:1;
}

body[data-page="scouting"] .scouting-kpi.is-win strong,
body[data-page="scouting"] .scouting-pair-card:nth-child(1) strong{
  color:var(--color-success);
}

body[data-page="scouting"] .scouting-kpi.is-loss strong{
  color:var(--color-danger);
}

body[data-page="scouting"] .scouting-kpi.is-rate strong,
body[data-page="scouting"] .scouting-pair-card:nth-child(2) strong{
  color:var(--color-info);
}

body[data-page="scouting"] .scouting-kpi.is-sets strong,
body[data-page="scouting"] .scouting-pair-card:nth-child(3) strong{
  color:var(--color-primary);
}

body[data-page="scouting"] .scouting-kpi span,
body[data-page="scouting"] .scouting-pair-card span{
  color:var(--color-text);
  font-size:.9rem;
  font-weight:800;
  text-align:center;
}

body[data-page="scouting"] .scouting-pair-head{
  width:100%;
  padding-bottom:8px;
  color:var(--color-primary);
  font-size:.82rem;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-pair-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px 12px;
  width:100%;
  text-align:center;
}

body[data-page="scouting"] .scouting-pair-stats strong{
  font-size:1.8rem;
  line-height:1;
}

body[data-page="scouting"] .scouting-match-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

body[data-page="scouting"] .scouting-match-strip--expanded{
  margin-top:10px;
}

body[data-page="scouting"] .scouting-match-card{
  position:relative;
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid rgba(var(--club-primary-rgb), .12);
  border-radius:8px;
  background:var(--color-surface-overlay);
  text-align:center;
}

body[data-page="scouting"] .scouting-match-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  color:var(--color-muted);
  font-size:.78rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-match-meta span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-match-teams{
  display:grid;
  gap:2px;
  min-width:0;
  color:var(--color-text);
  font-size:.82rem;
  font-weight:900;
  text-align:left;
}

body[data-page="scouting"] .scouting-match-team-names{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  color:var(--color-text);
  font-size:.8rem;
  font-weight:900;
  text-align:center;
}

body[data-page="scouting"] .scouting-match-team-names span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-match-teams span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-match-teams em{
  color:var(--color-muted);
  font-size:.68rem;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-match-score{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:var(--color-text);
}

body[data-page="scouting"] .scouting-match-score strong{
  min-width:64px;
  font-size:1.5rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-match-chips{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--color-muted);
  font-size:.78rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-acta{
  padding-top:8px;
  border-top:1px solid rgba(var(--club-primary-rgb), .1);
  text-align:left;
}

body[data-page="scouting"] .scouting-acta summary{
  cursor:pointer;
  color:var(--color-primary);
  font-size:.78rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-acta-list{
  display:grid;
  gap:8px;
  margin-top:8px;
}

body[data-page="scouting"] .scouting-acta-row{
  display:grid;
  gap:4px;
  padding:7px 8px;
  border-radius:8px;
  background:rgba(var(--club-primary-rgb), .04);
}

body[data-page="scouting"] .scouting-acta-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  color:var(--color-primary);
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-acta-title--compact{
  justify-content:flex-end;
}

body[data-page="scouting"] .scouting-acta-title span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-acta-players{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  gap:6px;
  align-items:center;
  color:var(--color-text);
  font-size:.78rem;
  line-height:1.25;
}

body[data-page="scouting"] .scouting-acta-players strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900;
}

body[data-page="scouting"] .scouting-acta-players strong.is-analyzed{
  color:var(--color-primary);
}

body[data-page="scouting"] .scouting-acta-players span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--color-muted);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-acta-players .scouting-acta-opponent{
  color:var(--color-text);
  font-size:.78rem;
  font-weight:700;
  text-transform:none;
}

body[data-page="scouting"] .scouting-acta-result{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  justify-content:flex-start;
  color:var(--color-muted);
  font-size:.74rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-acta-result em{
  color:var(--color-text);
  font-style:normal;
}

body[data-page="scouting"] .scouting-acta-result .sets{
  display:inline-flex;
  flex-wrap:wrap;
  gap:4px;
}

body[data-page="scouting"] .scouting-acta-result .set{
  min-width:34px;
  padding:2px 6px;
  border-radius:6px;
  background:rgba(var(--club-primary-rgb), .08);
  color:var(--color-muted);
  font-size:.7rem;
  font-weight:900;
  text-align:center;
}

body[data-page="scouting"] .scouting-pair-side-lines{
  display:grid;
  gap:4px;
  min-width:0;
}

body[data-page="scouting"] .scouting-pair-side-line{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
  color:var(--color-text);
  font-size:.8rem;
  line-height:1.2;
}

body[data-page="scouting"] .scouting-pair-side-line.is-analyzed{
  color:var(--color-primary);
}

body[data-page="scouting"] .scouting-pair-side-names{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  gap:5px;
  align-items:center;
  min-width:0;
}

body[data-page="scouting"] .scouting-pair-side-names span,
body[data-page="scouting"] .scouting-pair-side-names strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-pair-side-names span{
  color:var(--color-text);
  font-weight:760;
}

body[data-page="scouting"] .scouting-pair-side-names strong.is-analyzed-pair{
  color:var(--color-primary);
  font-weight:950;
}

body[data-page="scouting"] .scouting-pair-side-names em{
  color:var(--color-muted);
  font-style:normal;
  font-size:.72rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-side-scores{
  display:grid;
  grid-template-columns:repeat(3, 18px);
  gap:2px;
  justify-content:end;
  color:var(--color-text);
  font-size:.82rem;
  font-variant-numeric:tabular-nums;
  font-weight:950;
}

body[data-page="scouting"] .scouting-pair-side-scores span{
  min-width:0;
  text-align:center;
}

body[data-page="scouting"] .scouting-acta-empty{
  margin-top:8px;
  color:var(--color-muted);
  font-size:.78rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-pair-results{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:12px;
}

body[data-page="scouting"] .scouting-pair-results-desktop{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

body[data-page="scouting"] .scouting-pair-results-mobile{
  display:none;
}

body[data-page="scouting"] .scouting-pair-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}

body[data-page="scouting"] .scouting-pair-tab{
  min-height:32px;
  padding:6px 10px;
  border:1px solid rgba(var(--club-primary-rgb), .14);
  border-radius:8px;
  background:rgba(var(--club-primary-rgb), .05);
  color:var(--color-primary);
  font-size:.78rem;
  font-weight:900;
  line-height:1;
}

body[data-page="scouting"] .scouting-pair-tab.is-active{
  background:var(--club-primary);
  border-color:var(--club-primary);
  color:#fff;
}

body[data-page="scouting"] .scouting-pair-result-panel{
  min-width:0;
}

body[data-page="scouting"] .scouting-pair-result-group{
  display:grid;
  gap:8px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:8px;
  background:rgba(255,255,255,.68);
}

body[data-page="scouting"] .scouting-pair-result-group h3{
  margin:0;
  color:var(--color-primary);
  font-size:.82rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-result-list{
  display:grid;
  gap:8px;
}

body[data-page="scouting"] .scouting-pair-result-card{
  display:grid;
  gap:7px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:8px;
  background:var(--color-surface-overlay);
}

body[data-page="scouting"] .scouting-pair-result-card--compact{
  gap:0;
  padding:7px 8px;
}

body[data-page="scouting"] .scouting-pair-result-card--detail{
  gap:5px;
  padding:8px;
}

body[data-page="scouting"] .scouting-pair-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  color:var(--color-muted);
  font-size:.76rem;
  font-weight:850;
}

body[data-page="scouting"] .scouting-pair-outcome{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  min-width:26px;
  height:24px;
  border-radius:7px;
  font-size:.78rem;
  font-weight:950;
  line-height:1;
}

body[data-page="scouting"] .scouting-pair-outcome.is-win{
  background:var(--color-success-soft);
  color:var(--color-success);
}

body[data-page="scouting"] .scouting-pair-outcome.is-loss{
  background:var(--color-danger-soft);
  color:var(--color-danger);
}

body[data-page="scouting"] .scouting-pair-outcome.is-pending{
  background:rgba(107,114,128,.10);
  color:var(--color-muted);
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-teams{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:5px;
  min-width:0;
  color:var(--color-text);
  font-size:.78rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-teams span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:center;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-teams em{
  flex:0 0 auto;
  color:var(--color-muted);
  font-style:normal;
  font-size:.7rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .is-analyzed-team{
  color:var(--color-primary);
  font-weight:950;
}

body[data-page="scouting"] .scouting-pair-result-body{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  align-items:center;
  gap:6px;
  min-width:0;
}

body[data-page="scouting"] .scouting-pair-position{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:24px;
  border-radius:7px;
  background:rgba(var(--club-primary-rgb), .08);
  color:var(--color-primary);
  font-size:.74rem;
  font-weight:950;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:5px;
  min-width:0;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players span,
body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.82rem;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players small{
  color:var(--color-muted);
  font-size:.7rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players span{
  font-weight:760;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players strong.is-analyzed-pair{
  color:var(--color-primary);
  font-weight:950;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players em{
  flex:0 0 auto;
  color:var(--color-muted);
  font-style:normal;
  font-size:.7rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-score{
  flex:0 0 auto;
  color:var(--color-text);
  font-size:.78rem;
  font-weight:950;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-pair-result-line{
  display:grid;
  grid-template-columns:34px minmax(0, 1fr) auto 24px;
  gap:8px;
  align-items:center;
  min-width:0;
  font-size:.78rem;
  line-height:1.2;
}

body[data-page="scouting"] .scouting-pair-result-line span{
  color:var(--color-muted);
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-result-line strong{
  min-width:0;
  overflow:hidden;
  color:var(--color-text);
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-pair-result-line em{
  color:var(--color-muted);
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-pair-result-line b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  min-height:24px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-result-line b.is-win{
  color:var(--color-success);
  background:var(--win-bg);
}

body[data-page="scouting"] .scouting-pair-result-line b.is-loss{
  color:var(--color-danger);
  background:var(--lose-bg);
}

body[data-page="scouting"] .scouting-pair-result-line b.is-pending{
  color:var(--color-muted);
  background:rgba(var(--club-primary-rgb), .06);
}

body[data-page="scouting"] .scouting-pair-result-meta,
body[data-page="scouting"] .scouting-pair-result-teams,
body[data-page="scouting"] .scouting-pair-result-players{
  display:flex;
  flex-wrap:wrap;
  gap:5px 8px;
  align-items:center;
  min-width:0;
}

body[data-page="scouting"] .scouting-pair-result-meta{
  color:var(--color-muted);
  font-size:.72rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-result-meta em{
  margin-left:auto;
  padding:2px 7px;
  border-radius:999px;
  color:var(--color-text);
  background:var(--color-neutral-soft);
  font-style:normal;
}

body[data-page="scouting"] .scouting-pair-result-teams{
  color:var(--color-text);
  font-size:.8rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-pair-result-teams span,
body[data-page="scouting"] .scouting-pair-result-players span{
  color:var(--color-muted);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-pair-result-players{
  font-size:.78rem;
  line-height:1.25;
}

body[data-page="scouting"] .scouting-pair-result-players strong{
  color:var(--color-primary);
  font-weight:900;
}

body[data-page="scouting"] .scouting-pair-result-players .scouting-acta-opponent{
  color:var(--color-text);
  font-weight:700;
  text-transform:none;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players span{
  color:var(--color-text);
  font-size:.82rem;
  font-weight:760;
  text-transform:none;
}

body[data-page="scouting"] .scouting-pair-result-card--detail .scouting-pair-result-players strong.is-analyzed-pair{
  color:var(--color-primary);
  font-size:.82rem;
  font-weight:950;
  text-transform:none;
}

body[data-page="scouting"] .scouting-two-col{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

body[data-page="scouting"] .scouting-chart-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

body[data-page="scouting"] .scouting-player-kpi-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-top:14px;
}

body[data-page="scouting"] .scouting-player-kpi{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-items:center;
  justify-items:center;
  min-width:0;
  min-height:118px;
  padding:12px;
  border:1px solid rgba(var(--club-primary-rgb), .12);
  border-radius:8px;
  background:var(--color-surface-overlay);
  text-align:center;
}

body[data-page="scouting"] .scouting-player-rank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  color:var(--color-text-inverse);
  background:var(--color-primary);
  font-size:.75rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-player-kpi strong{
  min-width:0;
  overflow:hidden;
  color:var(--color-text);
  font-size:.9rem;
  font-weight:900;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
  width:100%;
}

body[data-page="scouting"] .scouting-player-kpi small{
  min-width:0;
  overflow:hidden;
  color:var(--color-muted);
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
  width:100%;
}

body[data-page="scouting"] .scouting-player-kpi span:not(.scouting-player-rank){
  color:var(--color-success);
  font-size:2rem;
  font-weight:900;
  line-height:1;
}

body[data-page="scouting"] .scouting-player-kpi em{
  color:var(--color-muted);
  font-size:.78rem;
  font-style:normal;
  font-weight:900;
  text-align:center;
}

body[data-page="scouting"] .scouting-tactical-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

body[data-page="scouting"] .scouting-insight-list ul{
  display:grid;
  gap:8px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
}

body[data-page="scouting"] .scouting-insight-list li{
  position:relative;
  padding:8px 10px 8px 24px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:8px;
  color:var(--color-text);
  background:var(--color-surface-overlay);
  font-size:.82rem;
  font-weight:800;
  line-height:1.25;
}

body[data-page="scouting"] .scouting-insight-list li::before{
  content:"";
  position:absolute;
  left:10px;
  top:14px;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--color-primary);
}

body[data-page="scouting"] .scouting-insight-sections{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-top:12px;
}

body[data-page="scouting"] .scouting-insight-card{
  display:grid;
  gap:4px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:8px;
  background:var(--color-surface-overlay);
}

body[data-page="scouting"] .scouting-insight-card h4{
  margin:0;
  color:var(--color-primary);
  font-size:.78rem;
  font-weight:950;
  line-height:1.15;
}

body[data-page="scouting"] .scouting-insight-card p{
  margin:0;
  color:var(--color-text);
  font-size:.8rem;
  font-weight:800;
  line-height:1.25;
}

body[data-page="scouting"] .scouting-comparison{
  display:grid;
  gap:6px;
  margin-top:12px;
}

body[data-page="scouting"] .scouting-comparison-head,
body[data-page="scouting"] .scouting-comparison-row{
  display:grid;
  grid-template-columns:minmax(54px, .8fr) repeat(3, minmax(0, 1fr));
  gap:6px;
  align-items:center;
}

body[data-page="scouting"] .scouting-comparison-head{
  color:var(--color-muted);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="scouting"] .scouting-comparison-row{
  padding:7px 8px;
  border:1px solid rgba(var(--club-primary-rgb), .10);
  border-radius:8px;
  background:var(--color-surface-overlay);
  color:var(--color-text);
  font-size:.78rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-comparison-row strong,
body[data-page="scouting"] .scouting-comparison-row span,
body[data-page="scouting"] .scouting-comparison-row em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-comparison-row em{
  justify-self:start;
  padding:2px 6px;
  border-radius:999px;
  color:var(--color-muted);
  background:var(--color-neutral-soft);
  font-style:normal;
  font-size:.68rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-comparison-row em.is-por-encima{
  color:var(--color-success);
  background:var(--color-success-soft);
}

body[data-page="scouting"] .scouting-comparison-row em.is-por-debajo{
  color:var(--color-danger);
  background:var(--color-danger-soft);
}

body[data-page="scouting"] .scouting-comparison-row em.is-igual{
  color:var(--color-muted);
  background:var(--color-neutral-soft);
}

body[data-page="scouting"] .scouting-comparison-note{
  margin-top:2px;
  color:var(--color-muted);
  font-size:.76rem;
  font-weight:800;
  line-height:1.25;
}

body[data-page="scouting"] .scouting-bar-chart{
  display:grid;
  gap:9px;
  margin-top:12px;
}

body[data-page="scouting"] .scouting-bar-row{
  display:grid;
  gap:5px;
  min-width:0;
}

body[data-page="scouting"] .scouting-bar-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:8px;
  color:var(--color-text);
}

body[data-page="scouting"] .scouting-bar-head strong{
  min-width:0;
  overflow:visible;
  white-space:normal;
  line-height:1.15;
  font-size:.84rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-bar-head span{
  color:var(--color-primary);
  font-size:.82rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-bar-track{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(var(--club-primary-rgb), .08);
}

body[data-page="scouting"] .scouting-bar-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--color-primary), var(--color-info));
}

body[data-page="scouting"] .scouting-bar-meta{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--color-muted);
  font-size:.72rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-ranking-strip{
  display:flex;
  gap:10px;
  min-width:0;
  margin-top:12px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}

body[data-page="scouting"] .scouting-ranking-card{
  display:grid;
  flex:0 0 min(260px, 88vw);
  gap:10px;
  min-height:124px;
  padding:12px;
  border:1px solid rgba(var(--club-primary-rgb), .12);
  border-radius:8px;
  background:var(--color-surface-overlay);
  scroll-snap-align:start;
}

body[data-page="scouting"] .scouting-rank-row{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:10px;
  align-items:center;
}

body[data-page="scouting"] .scouting-rank-row strong{
  color:var(--color-info);
  font-size:1.35rem;
}

body[data-page="scouting"] .scouting-rank-row span{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal;
  line-height:1.15;
  color:var(--color-text);
  font-weight:900;
  font-size:1.05rem;
}

body[data-page="scouting"] .scouting-rank-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

body[data-page="scouting"] .scouting-rank-tags span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  color:var(--color-muted);
  background:rgba(var(--club-primary-rgb), .06);
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-rank-metrics{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  padding-top:10px;
  border-top:1px solid rgba(var(--club-primary-rgb), .12);
  text-align:center;
}

body[data-page="scouting"] .scouting-rank-metrics strong{
  display:block;
  color:var(--color-primary);
  font-size:1.2rem;
  font-weight:900;
}

body[data-page="scouting"] .scouting-rank-metrics span{
  color:var(--color-muted);
  font-size:.76rem;
  font-weight:800;
}

body[data-page="scouting"] .scouting-table-wrap{
  margin-top:10px;
  overflow:auto;
  border:1px solid rgba(var(--club-primary-rgb), .12);
  border-radius:8px;
}

body[data-page="scouting"] .scouting-table{
  min-width:780px;
  margin-bottom:0;
}

body[data-page="scouting"] .scouting-table th{
  color:var(--color-muted);
  padding:7px 8px;
  font-size:.72rem;
  font-weight:900;
  background:rgba(var(--club-primary-rgb), .06);
}

body[data-page="scouting"] .scouting-sort-btn{
  display:inline-flex;
  align-items:center;
  justify-content:inherit;
  gap:3px;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:900;
  text-align:inherit;
  white-space:nowrap;
  cursor:pointer;
}

body[data-page="scouting"] .scouting-sort-btn.is-active{
  color:var(--color-primary);
}

body[data-page="scouting"] .scouting-sort-btn .sort-ind{
  display:inline-block;
  min-width:.75em;
  color:inherit;
  font-size:.72rem;
  line-height:1;
}

body[data-page="scouting"] .scouting-table td{
  padding:7px 8px;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}

body[data-page="scouting"] .scouting-empty{
  display:grid;
  place-items:center;
  min-height:72px;
  padding:12px;
  border:1px dashed rgba(var(--club-primary-rgb), .18);
  border-radius:8px;
  color:var(--color-muted);
  background:rgba(var(--club-primary-rgb), .04);
  font-size:.86rem;
  font-weight:800;
  text-align:center;
}

@media (min-width:1100px){
  body[data-page="scouting"] .scouting-main{
    grid-template-columns:repeat(12, minmax(0, 1fr));
  }

  body[data-page="scouting"] .scouting-top-grid,
  body[data-page="scouting"] .scouting-sync-overview,
  body[data-page="scouting"] .scouting-chart-grid,
  body[data-page="scouting"] .scouting-tactical-grid,
  body[data-page="scouting"] .scouting-two-col{
    grid-column:1 / -1;
  }

  body[data-page="scouting"] .scouting-kpi-panel{
    grid-column:1 / span 6;
  }

  body[data-page="scouting"] .scouting-pair-performance-panel{
    grid-column:1 / -1;
  }

  body[data-page="scouting"] .scouting-pair-results-panel{
    grid-column:1 / -1;
  }

  body[data-page="scouting"] .scouting-players-panel{
    grid-column:1 / -1;
  }

  body[data-page="scouting"] .scouting-matches-panel{
    grid-column:1 / -1;
  }

  body[data-page="scouting"] .scouting-matches-panel .scouting-match-strip{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body[data-page="scouting"] .scouting-analysis-panel{
    grid-column:1 / -1;
  }
}

@media (max-width:991px){
  body[data-page="scouting"] .scouting-shell{
    grid-template-columns:1fr;
  }

  body[data-page="scouting"] .scouting-sidebar{
    position:static;
  }

  body[data-page="scouting"] .scouting-top-grid,
  body[data-page="scouting"] .scouting-rival-summary-body,
  body[data-page="scouting"] .scouting-chart-grid,
  body[data-page="scouting"] .scouting-tactical-grid,
  body[data-page="scouting"] .scouting-insight-sections,
  body[data-page="scouting"] .scouting-two-col,
  body[data-page="scouting"] .scouting-pair-results{
    grid-template-columns:1fr;
  }

  body[data-page="scouting"] .scouting-pair-results-desktop{
    display:none;
  }

  body[data-page="scouting"] .scouting-pair-results-mobile{
    display:grid;
    gap:8px;
  }

  body[data-page="scouting"] .scouting-form{
    padding-left:0;
    border-left:0;
    padding-top:12px;
    border-top:1px solid rgba(var(--club-primary-rgb), .12);
  }
}

@media (max-width:768px){
  body[data-page="scouting"] .scouting-page{
    margin-top:12px !important;
  }

  body[data-page="scouting"] .scouting-shell,
  body[data-page="scouting"] .scouting-main{
    gap:10px;
  }

  body[data-page="scouting"] .scouting-panel{
    padding:13px;
    border-radius:8px;
  }

  body[data-page="scouting"] .scouting-sidebar{
    gap:10px;
  }

  body[data-page="scouting"] .scouting-title,
  body[data-page="scouting"] .scouting-section-title{
    font-size:.9rem;
  }

  body[data-page="scouting"] .scouting-checks{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
  }

  body[data-page="scouting"] .scouting-checks > div{
    gap:5px;
    font-size:.7rem;
  }

  body[data-page="scouting"] .scouting-dot{
    width:14px;
    height:14px;
    flex-basis:14px;
  }

  body[data-page="scouting"] .scouting-meta-list{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
  }

  body[data-page="scouting"] .scouting-meta-list > div{
    display:grid;
    justify-items:start;
    gap:2px;
    font-size:.74rem;
  }

  body[data-page="scouting"] .scouting-actions{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body[data-page="scouting"] .scouting-actions .btn{
    min-height:38px;
    padding-inline:5px;
    font-size:.7rem;
  }

  body[data-page="scouting"] .scouting-sync-summary{
    grid-template-columns:1fr;
  }

  body[data-page="scouting"] .scouting-sync-updated{
    white-space:normal;
  }

  body[data-page="scouting"] .scouting-sync-status-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body[data-page="scouting"] .scouting-section-head{
    align-items:flex-start;
    margin-bottom:10px;
  }

  body[data-page="scouting"] .scouting-rival-card{
    align-items:flex-start;
  }

  body[data-page="scouting"] .scouting-crest{
    width:48px;
    height:48px;
    flex-basis:48px;
  }

  body[data-page="scouting"] .scouting-kpi-grid,
  body[data-page="scouting"] .scouting-summary-kpis{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    margin-top:10px;
  }

  body[data-page="scouting"] .scouting-match-strip{
    display:flex;
    gap:8px;
    margin-top:10px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }

  body[data-page="scouting"] .scouting-matches-panel > .scouting-match-strip{
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
  }

  body[data-page="scouting"] .scouting-pair-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    margin-top:10px;
    overflow:visible;
  }

  body[data-page="scouting"] .scouting-kpi,
  body[data-page="scouting"] .scouting-pair-card{
    min-height:82px;
    padding:10px;
  }

  body[data-page="scouting"] .scouting-kpi strong{
    font-size:1.7rem;
  }

  body[data-page="scouting"] .scouting-pair-card{
    min-width:0;
    padding:8px 5px;
  }

  body[data-page="scouting"] .scouting-pair-card strong{
    font-size:1.32rem;
  }

  body[data-page="scouting"] .scouting-player-kpi strong{
    grid-column:auto;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body[data-page="scouting"] .scouting-player-kpi{
    min-height:96px;
    padding:9px 6px;
  }

  body[data-page="scouting"] .scouting-player-kpi span:not(.scouting-player-rank){
    font-size:1.45rem;
  }

  body[data-page="scouting"] .scouting-player-kpi small{
    font-size:.64rem;
  }

  body[data-page="scouting"] .scouting-player-kpi em{
    font-size:.68rem;
  }

  body[data-page="scouting"] .scouting-pair-head{
    padding-bottom:5px;
    font-size:.7rem;
  }

  body[data-page="scouting"] .scouting-kpi span,
  body[data-page="scouting"] .scouting-pair-card span{
    font-size:.76rem;
  }

  body[data-page="scouting"] .scouting-pair-result-body{
    grid-template-columns:minmax(0, 1fr);
  }

  body[data-page="scouting"] .scouting-pair-score{
    grid-column:1;
    justify-self:start;
  }

  body[data-page="scouting"] .scouting-pair-side-line{
    gap:6px;
    font-size:.78rem;
  }

  body[data-page="scouting"] .scouting-pair-side-names{
    gap:4px;
  }

  body[data-page="scouting"] .scouting-pair-side-scores{
    grid-template-columns:repeat(3, 16px);
    font-size:.78rem;
  }

  body[data-page="scouting"] .scouting-match-card{
    flex:0 0 270px;
    align-items:center;
    text-align:left;
    scroll-snap-align:start;
  }

  body[data-page="scouting"] .scouting-match-score{
    grid-column:1 / -1;
    justify-content:space-between;
  }

  body[data-page="scouting"] .scouting-ranking-card{
    flex-basis:240px;
    min-height:0;
    padding:12px;
  }

  body[data-page="scouting"] .scouting-table{
    min-width:740px;
  }

  body[data-page="scouting"] #scoutingBestPlayersChart .scouting-bar-row:nth-child(n+6){
    display:none;
  }
}

.home-top-order-note {
  margin-top: 8px;
}

@media (min-width:768px){
  .home-captain-tips-card{
    padding:12px 16px !important;
  }

  .tips-page-head{
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:end;
  }

  .tips-card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
