/* Gestió responsive: horaris agrupats i taules mòbils. */
.schedule-admin-summary-v2130{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:2px 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#f8f8f5}.schedule-admin-summary-v2130>div{display:grid;grid-template-columns:auto auto;gap:3px 10px;align-items:end}.schedule-admin-summary-v2130 .eyebrow{grid-column:1/-1}.schedule-admin-summary-v2130 strong{font-size:24px;line-height:1}.schedule-admin-summary-v2130 span,.schedule-admin-summary-v2130 p{font-size:10px;color:var(--muted)}.schedule-admin-summary-v2130 p{margin:0;max-width:520px;line-height:1.45}.schedule-team-list-v2130{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-team-group-v2130{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.schedule-team-group-v2130>summary{list-style:none;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;user-select:none}.schedule-team-group-v2130>summary::-webkit-details-marker{display:none}.schedule-team-group-v2130>summary:hover{background:#fafaf7}.schedule-team-code-v2130{display:grid;place-items:center;min-height:44px;border-radius:11px;background:#111;color:var(--yellow);font-size:12px;font-weight:950}.schedule-team-title-v2130{display:grid;gap:2px;min-width:0}.schedule-team-title-v2130 strong{font-size:14px;line-height:1.2;overflow-wrap:anywhere}.schedule-team-title-v2130 small{font-size:9px;color:var(--muted)}.schedule-team-chevron-v2130{font-size:20px;font-weight:900;text-align:center;transition:transform .15s ease}.schedule-team-group-v2130[open] .schedule-team-chevron-v2130{transform:rotate(180deg)}.schedule-team-body-v2130{display:grid;gap:7px;padding:0 12px 12px;border-top:1px solid #efefeb}.schedule-session-row-v2130{display:grid;grid-template-columns:115px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid #f0f0ed}.schedule-session-when-v2130,.schedule-session-meta-v2130{display:grid;gap:2px;min-width:0}.schedule-session-when-v2130 strong{font-size:11px}.schedule-session-when-v2130 span{font-size:10px;font-weight:800}.schedule-session-meta-v2130 strong{font-size:11px;overflow-wrap:anywhere}.schedule-session-meta-v2130 span{font-size:9px;color:var(--muted);overflow-wrap:anywhere}.schedule-team-empty-v2130{margin-top:10px;padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:10px}.schedule-add-session-v2130{justify-self:start;margin-top:3px}.schedule-team-group-v2130 .btn{white-space:nowrap}
@media(max-width:980px){.schedule-team-list-v2130{grid-template-columns:1fr}}
.admin-group-nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.admin-group-nav button{min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#222;font-size:12px;font-weight:850;cursor:pointer}
.admin-group-nav button.active{border-color:#111;background:#111;color:var(--yellow)}
@media(max-width:720px){.admin-group-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-group-nav button{min-width:0;font-size:12px}.admin-tabs-wide[data-admin-group]{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-tabs-wide[data-admin-group="communication"],.admin-tabs-wide[data-admin-group="economy"],.admin-tabs-wide[data-admin-group="settings"]{grid-template-columns:1fr!important}}
@media(max-width:720px){.schedule-admin-summary-v2130{display:grid;gap:7px;padding:12px 13px}.schedule-admin-summary-v2130>div{grid-template-columns:auto 1fr}.schedule-admin-summary-v2130 strong{font-size:22px}.schedule-admin-summary-v2130 p{font-size:10px}.schedule-team-list-v2130{grid-template-columns:1fr;gap:8px}.schedule-team-group-v2130>summary{grid-template-columns:46px minmax(0,1fr) 22px;padding:11px 12px}.schedule-team-code-v2130{min-height:40px}.schedule-team-title-v2130 strong{font-size:13px}.schedule-team-body-v2130{padding:0 10px 10px}.schedule-session-row-v2130{grid-template-columns:1fr auto;grid-template-areas:'when action' 'meta action';gap:4px 10px;padding:10px 2px}.schedule-session-when-v2130{grid-area:when}.schedule-session-meta-v2130{grid-area:meta}.schedule-session-row-v2130>.btn{grid-area:action;align-self:stretch;min-height:44px;padding:8px 12px}.schedule-add-session-v2130{width:100%;min-height:44px;justify-content:center}.schedule-team-empty-v2130{font-size:11px}}

@media(max-width:720px){
  /* Gestió: zero scroll lateral i controls tàctils còmodes. */
  body,html,#app,.app-shell,.main,.content,#main{max-width:100%;min-width:0}
  .admin-control-card{padding:12px!important;overflow:hidden}
  .admin-tabs-wide{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;overflow:visible!important;padding-bottom:0!important;width:100%}
  .admin-tabs-wide button{width:100%!important;min-width:0!important;min-height:42px!important;padding:9px 8px!important;font-size:10px!important;line-height:1.15!important;white-space:normal!important;text-align:center}
  .admin-filterbar{width:100%;max-width:100%;overflow:hidden}
  .admin-filterbar label,.admin-filterbar select,.admin-filterbar input{max-width:100%;min-width:0}

  #adminBody{width:100%;max-width:100%;min-width:0}
}
@media(max-width:1050px){
  #adminBody .table-wrap:has(>table.table>thead){overflow:visible!important;width:100%!important;max-width:100%!important;border:0!important;background:transparent!important}
  #adminBody table.table:has(>:where(thead)){display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;border:0!important;background:transparent!important}
  #adminBody table.table:has(>:where(thead)) thead{display:none!important}
  #adminBody table.table:has(>:where(thead)) tbody{display:grid!important;gap:10px!important;width:100%!important;max-width:100%!important}
  #adminBody table.table:has(>:where(thead)) tbody tr{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:12px 13px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;overflow:hidden}
  #adminBody table.table:has(>:where(thead)) tbody td{display:grid!important;grid-template-columns:minmax(86px,34%) minmax(0,1fr)!important;align-items:start!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:7px 0!important;border:0!important;border-bottom:1px solid #eee!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-align:left!important;font-size:12px!important;line-height:1.3!important}
  #adminBody table.table:has(>:where(thead)) tbody td:last-child{border-bottom:0!important;padding-bottom:0!important}
  #adminBody table.table:has(>:where(thead)) tbody td::before{content:attr(data-mobile-label);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#858585;line-height:1.25;padding-top:2px}
  #adminBody table.table:has(>:where(thead)) tbody td[data-mobile-action="1"]{display:flex!important;justify-content:stretch!important;align-items:center!important;padding-top:10px!important}
  #adminBody table.table:has(>:where(thead)) tbody td[data-mobile-action="1"]::before{display:none!important}
  #adminBody table.table:has(>:where(thead)) tbody td[data-mobile-action="1"] .btn{width:100%!important;min-height:44px!important;justify-content:center!important;white-space:normal!important}
  #adminBody table.table:has(>:where(thead)) tbody td[colspan]{display:block!important;text-align:center!important}
  #adminBody table.table:has(>:where(thead)) tbody td[colspan]::before{display:none!important}
  #adminBody table.table:has(>:where(thead)) tbody td>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
  #adminBody table.table:has(>:where(thead)) tbody td .pill{white-space:normal}
  #adminBody table.table:has(>:where(thead)) .v2147-row-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
}
@media(max-width:720px){

  /* Jugadors: una fila compacta per persona, sense retallar noms ni lliscar. */
  #adminBody table.admin-mobile-players-v2130 tbody{gap:7px!important}
  #adminBody table.admin-mobile-players-v2130 tbody tr{grid-template-columns:48px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;column-gap:10px!important;row-gap:4px!important;align-items:center!important;padding:10px!important;border-left:4px solid var(--yellow)!important;overflow:hidden!important}
  #adminBody table.admin-mobile-players-v2130 tbody td{display:block!important;width:auto!important;padding:0!important;border:0!important;font-size:14px!important;line-height:1.25!important}
  #adminBody table.admin-mobile-players-v2130 tbody td::before{display:none!important}
  #adminBody table.admin-mobile-players-v2130 tbody td:nth-child(1){grid-column:1;grid-row:1/3;display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;background:transparent!important;color:inherit!important;overflow:visible!important}
  #adminBody table.admin-mobile-players-v2130 .v2147-player-dorsal{position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;padding:0!important;border-radius:12px!important;background:#111!important;color:var(--yellow)!important;font-size:16px!important;line-height:1!important;font-weight:950!important;text-align:center!important;font-variant-numeric:tabular-nums}
  #adminBody table.admin-mobile-players-v2130 tbody td:nth-child(2){grid-column:2;grid-row:1;min-width:0!important;overflow:hidden!important}
  #adminBody table.admin-mobile-players-v2130 tbody td:nth-child(2) strong{display:block;max-width:100%;font-size:14px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
  #adminBody table.admin-mobile-players-v2130 tbody td:nth-child(3){grid-column:2;grid-row:2;justify-self:start}
  #adminBody table.admin-mobile-players-v2130 tbody td:nth-child(4){grid-column:1/-1;grid-row:3}
  #adminBody table.admin-mobile-players-v2130 .v2147-row-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important}
  #adminBody table.admin-mobile-players-v2130 .v2147-row-actions .btn{min-height:36px!important;padding:7px 9px!important;font-size:12px!important}
  #adminBody table.admin-mobile-players-v2130 tbody td[colspan]{grid-column:1/-1;grid-row:auto}

  /* Horaris: les dades principals respiren una mica més. */
  #adminBody table.admin-mobile-schedules-v2130 tbody tr{border-left:4px solid var(--yellow)!important}
  #adminBody table.admin-mobile-schedules-v2130 tbody td:first-child strong{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:9px;background:#111;color:var(--yellow);font-size:11px}

  /* Equips: el nom és el protagonista, la resta queda en metadades. */
  #adminBody table.admin-mobile-teams-v2130 tbody tr{gap:0}
  #adminBody table.admin-mobile-teams-v2130 tbody td:first-child{grid-template-columns:1fr!important;padding-bottom:10px!important}
  #adminBody table.admin-mobile-teams-v2130 tbody td:first-child::before{display:none!important}
  #adminBody table.admin-mobile-teams-v2130 tbody td:first-child strong{font-size:16px;line-height:1.2}
  #adminBody table.admin-mobile-teams-v2130 tbody td:first-child .muted{font-size:9px}

  /* Substitucions: targeta clara, amb substitut destacat i motiu llegible. */
  #adminBody table.admin-mobile-subs-v2130 tbody tr{border-left:4px solid #f0b86b!important}
  #adminBody table.admin-mobile-subs-v2130 tbody td:first-child strong{font-size:14px;color:#111}
  #adminBody table.admin-mobile-subs-v2130 tbody td:nth-child(4) .pill{justify-self:start}
  #adminBody table.admin-mobile-subs-v2130 tbody td:nth-child(5) strong{font-size:14px;color:#111}
  #adminBody table.admin-mobile-subs-v2130 tbody td:nth-child(8){align-items:start!important}

  /* Pressupost: cada moviment és una targeta completa, sense taula lateral. */
  #adminBody table.admin-mobile-budget-v2130 tbody tr{border-left:4px solid var(--yellow)!important}
  #adminBody table.admin-mobile-budget-v2130 tbody td:nth-child(2) .pill{justify-self:start}
  #adminBody table.admin-mobile-budget-v2130 tbody td:nth-child(4){font-weight:800;color:#111}
  #adminBody table.admin-mobile-budget-v2130 tbody td:nth-child(5) strong{font-size:16px;color:#111}

  /* Altres components de Gestió que podrien desbordar. */
  #adminBody .coach-admin-grid,#adminBody .access-grid,#adminBody .break-grid,#adminBody .team-check-grid,#adminBody .budget-metrics,#adminBody .sub-summary-grid{width:100%;max-width:100%;min-width:0}
  #adminBody .coach-admin-card,#adminBody .access-card,#adminBody .break-card,#adminBody .team-check-grid label,#adminBody .budget-metrics>div,#adminBody .sub-summary-grid>div{min-width:0;max-width:100%;overflow:hidden}
  #adminBody .coach-admin-actions,#adminBody .access-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  #adminBody .coach-admin-actions .btn,#adminBody .access-actions .btn{width:100%!important}
  #adminBody .admin-section-note{max-width:100%;overflow:hidden}
  #adminBody .admin-section-note span,#adminBody .admin-section-note p{overflow-wrap:anywhere}
  .modal .form-grid{grid-template-columns:1fr!important}
  .modal .field,.modal input,.modal select,.modal textarea{min-width:0;max-width:100%}
}

@media(max-width:390px){
  .admin-tabs-wide{grid-template-columns:1fr 1fr!important;gap:6px!important}
  #adminBody table.admin-mobile-stack-v2130 tbody td{grid-template-columns:minmax(78px,32%) minmax(0,1fr)!important;gap:8px!important}
}
