/* Dark, mobile-first */
.psg-panel{--bg:#0b0f14;--card:#121820;--muted:#8aa0b3;--text:#e8f0f6;--accent:#33b679;--danger:#e64a19;--border:#1e2630;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; color:var(--text); background:var(--bg); padding:16px; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.2)}
.psg-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.psg-toolbar input, .psg-toolbar select{background:var(--card); border:1px solid var(--border); color:var(--text); padding:10px 12px; border-radius:10px; min-width:160px}
.psg-btn{background:#243140;border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer}
.psg-btn.primary{background:var(--accent); border-color:transparent; color:#07140c; font-weight:700}
.psg-btn.danger{background:var(--danger); border-color:transparent; color:#fff}
#psg-list{display:grid; grid-template-columns:1fr; gap:8px}
.psg-card{background:var(--card); border:1px solid var(--border); padding:12px; border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:8px}
.psg-card .meta{font-size:12px; color:var(--muted)}
.psg-actions{display:flex; gap:8px}
.psg-badge{padding:4px 8px; border:1px solid var(--border); border-radius:999px; font-size:12px; color:var(--muted)}
.psg-modal.hidden{display:none}
.psg-modal{position:fixed; inset:0; z-index:2147483647}
.psg-modal-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter: blur(2px);}
.psg-modal-dialog{position:relative; margin:5vh auto; max-width:1100px; width:min(1100px, 96vw); background:var(--card); border:1px solid var(--border); border-radius:16px; overflow:hidden; max-height:90vh; display:flex; flex-direction:column}
.psg-modal-head{display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--border)}
.psg-modal-body{padding:16px; overflow:auto; -webkit-overflow-scrolling:touch; flex:1 1 auto; min-height:0}
.psg-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px}
.psg-grid label{display:flex; flex-direction:column; gap:6px; font-size:14px; color:var(--muted)}
.psg-grid input,.psg-grid select,.psg-grid textarea{background:#0e141b; border:1px solid var(--border); color:var(--text); padding:10px 12px; border-radius:10px}
.psg-grid select[multiple]{min-height:120px; padding:8px 10px}
#m-officials{min-height:140px;}
.psg-grid select[multiple]{min-height:120px; padding:8px 10px;}

/* Larger (more usable) referee multiselect */
#m-officials{min-height:140px;}
.psg-scores{display:grid; grid-template-columns:repeat(2,1fr); gap:8px; align-items:center}
.psg-modal-foot{display:flex; justify-content:flex-end; gap:8px; padding:12px 16px; border-top:1px solid var(--border)}
.psg-close{background:transparent;border:0;color:var(--muted);font-size:22px;cursor:pointer}
#psg-pager{display:flex; gap:8px; justify-content:center; margin-top:10px}
#psg-pager button{padding:8px 12px}
@media(min-width:900px){
  #psg-list{grid-template-columns:1fr 1fr}
}

.psg-quick{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:8px}
.psg-quick input[type="date"]{background:#0e141b; border:1px solid var(--border); color:var(--text); padding:8px 10px; border-radius:8px}


/* Panel sędziego – ukryj akcje administracyjne */
.psg-panel-referee #psg-new,
.psg-panel-referee #psg-delete {
  display: none !important;
}

/* Panel kapitana – ukryj akcje administracyjne + włącz sekcje kapitana */
.psg-panel-captain #psg-new,
.psg-panel-captain #psg-delete {
  display: none !important;
}

.psg-captain-tools{margin-top:14px;}
.psg-captain-team{margin-bottom:14px;}
.psg-captain-team-label{display:flex;flex-direction:column;gap:8px;}
.psg-captain-team select{max-width:420px;}
.psg-captain-head h4{margin:0 0 6px 0;font-size:14px;}
.psg-captain-sub{opacity:.8;font-size:12px;line-height:1.35;margin-bottom:10px;}
.psg-captain-lineup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.psg-captain-player-add{display:flex;gap:10px;align-items:center;margin:10px 0;}
.psg-captain-player-add input{flex:1;min-width:160px;}
.psg-captain-players{display:flex;flex-direction:column;gap:10px;}
.psg-player-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#0d131a;}
.psg-player-row .left{display:flex;gap:10px;align-items:center;min-width:0;}
.psg-player-row .name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.psg-player-row .actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.psg-player-row input[type="file"]{max-width:160px;}

@media(max-width:600px){
  .psg-captain-lineup{grid-template-columns:1fr;}
  .psg-player-row{flex-direction:column;align-items:stretch;}
  .psg-player-row .actions{width:100%;justify-content:flex-end;}
}
/* === MOBILE MODAL FIX – pełny ekran, scroll w środku === */
@media (max-width: 600px) {

  /* Overlay dalej jest fixed, ale robi za „kontener” scrollujący */
  .psg-modal {
    position: fixed;      /* może zostać fixed, ale teraz ma scroll */
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: 0;
    overflow-y: auto;      /* TU klucz – przewijamy overlay */
    -webkit-overflow-scrolling: touch;
  }

  /* Dialog na całą szerokość i wysokość */
  .psg-modal-dialog {
    position: relative;
    margin: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    border-radius: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
  }

  /* Głowa zostaje na górze, body przewijane, stopka przyklejona na dole */
  .psg-modal-head {
    flex-shrink: 0;
  }

  .psg-modal-body {
    flex: 1 1 auto;
    overflow-y: auto;      /* przewijasz zawartość formularza */
    -webkit-overflow-scrolling: touch;
  }

  .psg-modal-foot {
    flex-shrink: 0;
  }
}


/* === CAPTAIN PLAYERS: accordion stats === */
.psg-player-row{display:block;}
.psg-player-main{display:flex;gap:10px;align-items:center;justify-content:space-between;}
.psg-player-main .left{flex:1 1 auto;min-width:0;}
.psg-player-main .actions{flex:0 0 auto;}
.psg-player-toggle{
  margin-left:10px;
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
}
.psg-player-toggle:hover{background:rgba(255,255,255,.07);}
.psg-caret{
  width:10px;
  height:10px;
  border-right:2px solid rgba(255,255,255,.75);
  border-bottom:2px solid rgba(255,255,255,.75);
  transform:rotate(45deg);
  transition:transform .22s ease, opacity .22s ease;
  opacity:.9;
}
.psg-player-row.is-open .psg-caret{transform:rotate(-135deg);}

.psg-player-details{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}
.psg-player-stats-inline{
  font-size:12px;
  opacity:.75;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:560px;
}
.psg-player-stats-grid{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.06);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
@media(max-width:680px){
  .psg-player-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .psg-player-stats-inline{max-width:100%;}
}
.psg-stat{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  padding:10px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.psg-stat .k{opacity:.75;font-size:13px;}
.psg-stat .v{font-weight:700;}

@media(max-width:600px){
  .psg-player-main{flex-direction:column;align-items:stretch;}
  .psg-player-main .actions{width:100%;justify-content:flex-end;}
  .psg-player-toggle{align-self:flex-end;}
}


/* Collapsible blocks (e.g. officials list) */
.psg-collapse{grid-column:1 / -1; border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:8px 10px; background:rgba(255,255,255,.02);}
.psg-collapse > summary{cursor:pointer; list-style:none; font-weight:600; opacity:.95; display:flex; align-items:center; gap:8px;}
.psg-collapse > summary::-webkit-details-marker{display:none;}
.psg-collapse > summary:after{content:'▾'; margin-left:auto; opacity:.75;}
.psg-collapse[open] > summary:after{content:'▴';}
.psg-collapse__body{margin-top:8px;}
.psg-collapse select{width:100%;}

/* Collapsible blocks */
.psg-collapse{border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:10px 12px; background:rgba(255,255,255,.02);}
.psg-collapse > summary{cursor:pointer; list-style:none; display:flex; align-items:center; gap:10px; font-weight:600; color:#e8eefc;}
.psg-collapse > summary::-webkit-details-marker{display:none;}
.psg-collapse__hint{font-weight:400; opacity:.65; font-size:12px;}
.psg-collapse__body{margin-top:10px;}
#psg-officials-collapse{grid-column:1 / -1;}
#psg-officials-collapse select#m-officials{width:100%; min-height:120px; max-height:220px;}
