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

@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;
}
.mcal-line1{
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex-wrap:nowrap;
  margin-bottom:10px;
}

.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;
}
.mcal-line2{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.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:block;
  min-width:0;
  width:100%;
  max-width:100%;
}

.cal-team-row .team-name,
.mcal-team-row .team-name{
  display:block;
  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;
}

.mcal-meta-stack{
  display:grid;
  gap:2px;
}

.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;
}

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

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

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

.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:6px;
  min-height:48px;
  padding:9px 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:linear-gradient(145deg, rgba(var(--club-primary-rgb), .14), rgba(255,255,255,.95));
  border-color:rgba(var(--club-primary-rgb), .22);
  box-shadow:inset 4px 0 0 var(--color-primary), var(--shadow-sm);
}

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-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"] #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;
}

@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-table .table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 10px;
    table-layout:fixed;
  }

  body[data-page="clasificacion"] .clas-desktop-table tbody td{
    padding:15px 14px;
    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="clasificacion"] .clas-desktop-table tbody td:first-child{
    border-left:1px solid rgba(var(--club-primary-rgb), .10);
    border-radius:18px 0 0 18px;
  }

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

  body[data-page="clasificacion"] .clas-desktop-table tbody tr.is-ours td{
    background:var(--color-primary-ghost);
    border-color:rgba(var(--club-primary-rgb), .20);
  }
}

@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:12px !important;
  }

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

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

  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-left:auto;
    width:48px;
    height:48px;
    border:none;
    background:var(--color-primary);
    color:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.25);
  }
  #logoutBtn:hover{background:var(--club-green-2);}
}

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-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;
}

@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;
  }
}

@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-table{
    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"] .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"] .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-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{
    min-width:0;
    font-weight:500 !important;
    font-size:.84rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .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;
  padding:.38rem .55rem;
  font-size:.85rem;
  line-height:1.1;
}
@media (max-width: 420px){
  #olCaptainPairsActions > button{
    padding:.34rem .45rem;
    font-size:.82rem;
  }
}

.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;
}

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-btn-main,
body[data-page="alineacion"] .ol-btn-secondary{
  width:100%;
  min-height:42px;
  font-weight:700;
  border-radius:12px;
  font-size:.95rem;
  padding:.45rem .75rem;
}

body[data-page="alineacion"] .ol-btn-main,
body[data-page="alineacion"] .ol-btn-secondary,
body[data-page="alineacion"] .ol-cap-input,
body[data-page="alineacion"] #olCaptainSavePairs,
body[data-page="alineacion"] #olBtnSendConv{
  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-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-secondary) 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{
  display:grid;
  gap:.5rem;
}

body[data-page="online"] #olResultadosOnlineCard{
  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{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.45rem;
}

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

body[data-page="online"] .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);
}

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

body[data-page="online"] .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{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
}

body[data-page="online"] .online-pair-text{
  flex:1 1 auto;
  min-width:0;
}

body[data-page="online"] .online-pair-score{
  flex:0 0 72px;
  width:72px;
  min-width:72px;
}

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

body[data-page="online"] .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{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1rem;
  font-weight:700;
  line-height:1.15;
}

body[data-page="online"] .ol-online-scoreline{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.2rem;
  align-items:center;
  width:100%;
}

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

body[data-page="online"] .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{
  font-weight:800;
  color:rgba(255,255,255,.92) !important;
}

body[data-page="online"] .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{
  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{
  flex:0 0 auto;
}

body[data-page="online"] .online-refresh-row .online-updated,
body[data-page="online"] .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{
  color:#fff;
  border-color:rgba(255,255,255,.38);
  font-weight:800;
}

body[data-page="online"] .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);
}

body[data-page="online"] #olPartidos{
  display:grid;
  gap:10px;
}

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{
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
  }
}

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

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

  body[data-page="online"] .online-pair-score{
    flex-basis:66px;
    width:66px;
    min-width:66px;
  }

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

  body[data-page="online"] .ol-online-scoreline{
    gap:.18rem;
  }

  body[data-page="online"] .ol-online-setcell{
    font-size:.96rem;
  }
}

@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 .clas-team-readonly{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
  line-height:24px;
  font-size:.78rem;
}

#clasificacionWrap.clas-editing td[data-field="pp-display"]{
  font-size:.78rem;
  line-height:24px;
  text-align:center;
  vertical-align:middle;
}

@media (max-width:768px){
  .clas-actions-row{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px !important;
  }

  .clas-actions-row > a{
    grid-column:1 / -1;
  }

  .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 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){
  .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;
  }
}

.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:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:#fff;
  font-weight:700;
}

.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 thead th{
  border-bottom:0;
  text-transform:uppercase;
}

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;
}

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;
  padding-left:4px;
  padding-right:4px;
}

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-sort-btn{
  gap:6px;
}

body[data-page="jugadores"] .player-mgmt-actions{
  gap:6px;
  flex-wrap:wrap;
  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:9px 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 th:nth-child(3),
  body[data-page="jugadores"] .player-mgmt-mobile-table td:nth-child(3){
    width:126px;
    text-align:center;
  }

  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-form{
  display:grid;
  gap:14px;
}

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

@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;
  background:rgba(255,255,255,.92);
}

.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-grid--foundation{
  grid-template-columns:1fr !important;
  grid-template-areas:
    "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-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;
}

.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-primary-border-mid);
  background:var(--color-primary-ghost);
}

.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-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:
      "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-table tbody td,
  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:148px;
  }

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