/* =========================
   ADMIN (CRUD)
   ========================= */
.fcda-ligas-container {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 1.5rem;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0,0,0,.1);
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
}
.fcda-ligas-title {
    text-align: center; color: #1e1e1e; margin-bottom: 1.5rem; padding-bottom: .75rem; border-bottom: 2px solid #0073aa;
}
.fcda-toolbar { display:flex; gap:.5rem; margin-bottom:1.25rem; flex-wrap:wrap; justify-content:center; }

#fcda-editar-liga{
  width:50%; margin:0 auto 1.5rem; background:#f8f9fa; padding:1.25rem; border-radius:6px; border:1px solid #dcdcde; box-sizing:border-box;
}
#fcda-form-title{
  text-align:center; font-size:1.1rem; font-weight:700; margin:0 0 .5rem; padding-bottom:.5rem; border-bottom:1px solid #dcdcde;
}
.fcda-form-group{ margin-bottom:1rem; }
.fcda-form-group label{ display:block; margin-bottom:.35rem; font-weight:600; color:#2c3338; }
.fcda-form-group input[type="text"],
.fcda-form-group input[type="tel"],
.fcda-form-group input[type="email"],
.fcda-form-group input[type="url"]{
  width:100%; padding:.45rem .55rem; border:1px solid #8c8f94; border-radius:4px; box-sizing:border-box; font-size:.98rem; transition:border-color .2s;
}
.fcda-form-group input:focus{ border-color:#0073aa; outline:none; box-shadow:0 0 0 2px rgba(0,115,170,.2); }

#fcda-liga-logo-preview{ display:block; max-height:110px; margin:.4rem 0; border:1px solid #dcdcde; padding:3px; border-radius:4px; background:#fff; }
#fcda-subir-logo,#fcda-eliminar-logo{ margin-right:.5rem; }

.button{ padding:.5rem 1rem; background:#f0f0f1; border:1px solid #dcdcde; border-radius:4px; color:#2c3338; cursor:pointer; font-size:.875rem; font-weight:600; transition:all .2s; }
.button:hover{ background:#dcdcde; border-color:#c3c4c7; }
.button-primary{ background:#2271b1; border-color:#2271b1; color:#fff; }
.button-primary:hover{ background:#135e96; border-color:#135e96; }
.button-link-delete{ background:none; border:none; color:#d63638; padding:.5rem 0; }
.button-link-delete:hover{ color:#b32d2e; text-decoration:underline; background:transparent; }

.fcda-form-actions{ display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; margin-top:1rem; padding-top:.75rem; border-top:1px solid #dcdcde; }

#fcda-lista-ligas{ overflow-x:auto; width:50%; margin:0 auto 2rem; }
.wp-list-table{ width:100%; border-collapse:collapse; margin:1rem 0; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.wp-list-table th{ background:#f0f0f1; text-align:left; padding:.6rem .9rem; font-weight:600; border-bottom:2px solid #dcdcde; }
.wp-list-table td{ padding:.6rem .9rem; border-bottom:1px solid #dcdcde; vertical-align:top; }
.wp-list-table tr:nth-child(even){ background:#f8f9fa; }
.wp-list-table tr:hover{ background:#f0f6fc; }

.fcda-loading{ display:flex; align-items:center; gap:.5rem; padding:.6rem; background:#f0f6fc; border-radius:4px; }
.fcda-error{ padding:.6rem; background:#f7ebec; border-left:4px solid #d63638; border-radius:2px; margin:.5rem 0; animation:fadeIn .3s ease-in; }
.fcda-success{ padding:.6rem; background:#edfaef; border-left:4px solid #00a32a; border-radius:2px; margin:.5rem 0; animation:fadeIn .3s ease-in; }

@media (max-width:768px){
  #fcda-editar-liga{ width:100%; }
  .fcda-ligas-container{ padding:1rem; }
  .wp-list-table{ display:block; }
  .wp-list-table thead{ display:none; }
  .wp-list-table tr{ display:block; margin-bottom:1rem; border:1px solid #dcdcde; border-radius:4px; }
  .wp-list-table td{ display:flex; justify-content:space-between; padding:.75rem; border-bottom:1px solid #dcdcde; }
  .wp-list-table td:last-child{ border-bottom:none; }
  .fcda-form-actions{ flex-direction:column; align-items:center; }
  .fcda-form-actions .button{ width:100%; }
}

@keyframes fadeIn{ from{opacity:0;} to{opacity:1;} }

/* =========================
   PÚBLICO (selector + carné)
   ========================= */
.ligasfca-container{ max-width:1000px; margin:1.5rem auto; padding:1rem; }
.ligasfca-selector{ display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }
.ligasfca-select{ min-width:260px; padding:.45rem .6rem; border:1px solid #cfe7da; border-radius:8px; }
.ligasfca-error{ margin-top:.5rem; color:#b32d2e; }
.ligasfca-info{ margin-top:.8rem; }
.ligasfca-header{ display:flex; gap:.6rem; align-items:center; }
.ligasfca-logo{ width:52px; height:52px; object-fit:contain; display:none; }

/* ---- Carné compacto ---- */
.ligasfca-player-card{ margin-top:.8rem; }
.pf-card{
  border:1px solid #cfe7da;
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff,#f7fbf9 80%);
  overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
}

/* Cabecera: logos extremos, info centro */
.pf-head{
  display:grid;
  grid-template-columns: 58px 1fr 58px;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  background:#eaf6f0;
  border-bottom:1px solid #cfe7da;
}
.pf-head-left, .pf-head-right{ display:flex; align-items:center; justify-content:center; }
.pf-fedlogo, .pf-ligalogo{
  height:40px; width:auto; object-fit:contain;
  background:#fff; border:1px solid #cfe7da; border-radius:8px; padding:4px;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.pf-avatar{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:16px; background:#0ea769; color:#fff; user-select:none;
}
.pf-head-center{ display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.pf-name{ font-weight:800; color:#17392b; line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:1.05rem; }
.pf-sub{ color:#3c5b4f; font-size:.86rem; line-height:1.2; margin-top:2px; }
.pf-badges{ display:flex; gap:6px; align-items:center; margin-top:6px; }
.pf-chip{ padding:2px 8px; border-radius:999px; font-size:.72rem; font-weight:700; border:1px solid #cfe7da; background:#fff; color:#0a7c4e; }
.pf-chip.status--ok{ background:#edfaef; border-color:#bfe8c6; color:#0a7c4e; }
.pf-chip.status--warn{ background:#fff5e5; border-color:#ffd8a8; color:#ad6800; }
.pf-chip.status--bad{ background:#f7ebec; border-color:#f3c0c4; color:#b32d2e; }

/* Cuerpo */
.pf-body.pf-grid{
  display:grid;
  grid-template-columns: 1fr 140px;
  gap:10px;
  padding:10px 12px;
}
.pf-col{ display:flex; flex-direction:column; gap:8px; }
.pf-col-qr{ align-items:center; justify-content:flex-start; gap:10px; }
.pf-qr-wrap canvas{ width:108px; height:108px; display:block; }

.pf-row{ display:grid; grid-template-columns: 120px 1fr; gap:8px; }
.pf-lab{ color:#5d7a6d; font-weight:600; }
.pf-val{ color:#17392b; font-weight:700; word-break:break-word; }

/* Botón imprimir visible también en Chrome */
.pf-print-btn{
  display:inline-flex !important;
  align-items:center; justify-content:center;
  padding:.45rem .8rem;
  border:1px solid #cfe7da; border-radius:9px;
  background:#fff; font-weight:700; cursor:pointer;
  -webkit-appearance:none; appearance:none;
  z-index:1;
}
.pf-print-btn:hover{ background:#edf8f2; }

/* Responsive carné */
@media (max-width:640px){
  .pf-head{ grid-template-columns: 44px 1fr 44px; padding:8px; }
  .pf-fedlogo,.pf-ligalogo{ height:34px; border-radius:7px; padding:3px; }
  .pf-name{ font-size:1rem; }
  .pf-sub{ font-size:.82rem; }
  .pf-body.pf-grid{ grid-template-columns: 1fr; }
  .pf-row{ grid-template-columns: 1fr; }
  .pf-col-qr{ align-items:flex-start; }
}

/* Impresión: solo la tarjeta */
@media print{
  body *{ visibility:hidden !important; }
  .pf-card, .pf-card *{ visibility:visible !important; }
  .pf-card{ position:absolute; inset:0 auto auto 0; width: 86mm; max-width:100%; box-shadow:none; }
}
