body.player-page,body.team-detail-page,.lbps-dinamic-stage.player-page,.lbps-dinamic-stage.team-detail-page{--bg:#eef1f5;--surface:#fff;--ink:#111827;--muted:#667085;--line:#dfe4ea;--navy:#0b1f3a;--blue:#174a7e;--gold:#f0b429;--green:#13795b;--red:#b42318;--radius:18px;--shadow:0 10px 30px rgba(16,24,40,.08)}
.player-page *,.team-detail-page *{box-sizing:border-box}body.player-page,body.team-detail-page{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:15px}
.lbps-dinamic-stage.player-page,.lbps-dinamic-stage.team-detail-page{background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:15px}.site-header{background:#08182d;color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 3px 14px rgba(0,0,0,.18)}.site-header__inner{max-width:1440px;margin:auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-weight:800}.brand__mark{background:var(--gold);color:#172033;padding:5px 8px;border-radius:7px}.header-note{font-size:12px;color:#b8c3d5}.page-shell{max-width:1440px;margin:22px auto 60px;padding:0 22px}.loading-card,.error-card{background:#fff;border-radius:16px;padding:40px;text-align:center;box-shadow:var(--shadow)}
.hero{min-height:330px;border-radius:24px;overflow:hidden;position:relative;display:grid;grid-template-columns:190px 1fr 320px;align-items:center;background:linear-gradient(120deg,#0a2749 0%,#174a7e 58%,#f0b429 140%);color:#fff;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,rgba(255,255,255,.14),transparent 28%);pointer-events:none}.hero__logo{width:145px;height:145px;object-fit:contain;justify-self:center;z-index:2;filter:drop-shadow(0 8px 14px rgba(0,0,0,.28))}.hero__copy{z-index:2;padding:36px 20px}.hero__team{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:800;color:#c7d9ee}.hero h1{font-size:clamp(38px,5vw,68px);line-height:.98;margin:0 0 18px}.hero__identity{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 22px;font-size:17px}.hero__identity>*{padding-right:10px;border-right:1px solid rgba(255,255,255,.3)}.hero__identity>*:last-child{border:0}.hero__identity strong{font-size:24px}.hero__chips{display:flex;gap:10px;flex-wrap:wrap}.status-chip,.grade-chip{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;background:rgba(255,255,255,.14);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2)}.status-chip{background:#d9f5e8;color:#0d5d45;border-color:#b7ead5}.grade-chip b{font-size:17px}.grade-chip--future{background:rgba(240,180,41,.18)}.hero__photo-wrap{height:100%;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;z-index:2}.hero__photo{max-height:310px;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.28))}
.tabs{display:flex;gap:6px;overflow-x:auto;background:#fff;padding:8px;margin:18px 0;border-radius:14px;box-shadow:0 5px 16px rgba(16,24,40,.06);position:sticky;top:56px;z-index:40}.tabs button,.segmented button{border:0;background:transparent;padding:10px 15px;border-radius:10px;font-weight:700;color:#596579;cursor:pointer;white-space:nowrap}.tabs button.is-active,.segmented button.is-active{background:var(--navy);color:#fff}.tab-panel{display:none}.tab-panel.is-active{display:block}.bio-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:18px}.bio-item,.metric{background:#fff;border:1px solid #e5e9ef;border-radius:14px;padding:16px}.bio-item small,.metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.bio-item strong,.metric strong{font-size:18px}.bio-item--flag strong{display:flex;align-items:center;gap:9px}.mini-flag{width: 22px;height: 22px;object-fit: cover;border:1px solid #d0d5dd
  border-radius: 50%;
  flex-shrink: 0;}
.overview-grid,.history-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.card__head.wrap{flex-wrap:wrap}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--blue)}.player-page h2,.team-detail-page h2{margin:4px 0 0;font-size:23px}.subtle{color:var(--muted);font-size:13px}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.controls select{padding:10px 34px 10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.segmented{display:flex;background:#eef2f6;padding:4px;border-radius:11px}.segmented button{padding:8px 11px;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric strong{font-size:25px}.metric--accent{background:#0e3159;color:#fff}.metric--accent span{color:#c9d7e7}
.table-wrap{overflow-x:auto;border:1px solid #e5e9ef;border-radius:12px}.player-page table,.team-detail-page table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.player-page th,.team-detail-page th{background:#f4f6f8;color:#485568;text-align:right;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.player-page th:first-child,.player-page th:nth-child(2),.player-page th:nth-child(3),.player-page td:first-child,.player-page td:nth-child(2),.player-page td:nth-child(3),.team-detail-page th:first-child,.team-detail-page th:nth-child(2),.team-detail-page th:nth-child(3),.team-detail-page td:first-child,.team-detail-page td:nth-child(2),.team-detail-page td:nth-child(3){text-align:left}th,td{padding:10px 11px;border-bottom:1px solid #e8ecf1;text-align:right}tbody tr:hover{background:#f8fafc}.player-page tbody tr:last-child td,.team-detail-page tbody tr:last-child td{border-bottom:0}.career-row{font-weight:800;background:#eef4fa}.positive{color:var(--green);font-weight:700}.negative{color:var(--red);font-weight:700}.option{display:inline-block;padding:4px 8px;border-radius:999px;background:#fff4d6;color:#7a4d00;font-weight:700;font-size:11px}
.ratings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rating-item{border:1px solid #e1e6ec;border-radius:14px;padding:14px}.rating-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rating-top span{font-weight:700}.rating-top b{font-size:20px}.rating-bar{height:7px;background:#edf0f4;border-radius:999px;overflow:hidden}.rating-bar i{display:block;height:100%;background:linear-gradient(90deg,#1c5f9e,#f0b429)}.secondary-details{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.secondary-details summary{cursor:pointer;font-weight:700;color:#566176}.personality{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.personality .metric strong{font-size:20px}
.game-group{border:1px solid #e2e7ed;border-radius:14px;margin-bottom:12px;overflow:hidden}.game-group summary{cursor:pointer;padding:15px 17px;background:#f5f7f9;font-weight:800;display:flex;justify-content:space-between}.game-table th:first-child,.game-table td:first-child{text-align:left}.result{font-weight:800}.result.win{color:var(--green)}.result.loss{color:var(--red)}
.highs-groups{display:grid;gap:16px}.highs-group h3{margin:0 0 10px;font-size:16px}.highs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.high-card{border:1px solid #e3e7ed;border-radius:13px;padding:14px}.high-card small{display:block;color:var(--muted)}.high-card strong{display:block;font-size:25px;margin:4px 0}.high-card span{font-size:12px;color:#596579}.timeline{display:grid;gap:11px}.timeline-item{border-left:3px solid #174a7e;padding:5px 0 5px 14px}.timeline-item strong{display:block}.timeline-item span{color:var(--muted);font-size:12px}
@media(max-width:1050px){.bio-grid{grid-template-columns:repeat(4,1fr)}.hero{grid-template-columns:150px 1fr 250px}.ratings-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.page-shell{padding:0 10px;margin-top:10px}.site-header__inner{padding:11px 14px}.header-note{display:none}.hero{grid-template-columns:105px 1fr;min-height:350px}.hero__logo{width:85px;height:85px;align-self:start;margin-top:25px}.hero__copy{padding:28px 15px 145px 5px}.hero h1{font-size:40px}.hero__photo-wrap{position:absolute;right:0;bottom:0;height:190px;width:220px}.hero__photo{max-height:190px}.tabs{top:49px}.bio-grid{grid-template-columns:repeat(2,1fr)}.overview-grid,.history-grid{grid-template-columns:1fr}.metric-grid,.ratings-grid,.highs-grid{grid-template-columns:repeat(2,1fr)}.personality{grid-template-columns:repeat(2,1fr)}.card{padding:15px}.card__head{flex-direction:column}.controls{width:100%}}
/* v0.3 */
.hero{grid-template-columns:190px 1fr 390px;min-height:370px}
.hero__photo{max-height:365px}
.hero__title-line{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;margin-bottom:15px}
.hero__title-line h1{margin-bottom:0}
.overall-grades{display:flex;gap:9px;padding-bottom:4px}
.overall-grade{width:66px;height:66px;border-radius:10px;display:grid;place-items:center;align-content:center;border:2px solid rgba(255,255,255,.65);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.overall-grade span{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.overall-grade b{font-size:27px;line-height:1}
.grade-green{background:#2e9f5b}.grade-blue{background:#2868b2}.grade-red{background:#c83f3f}.grade-orange{background:#df7b25}.grade-yellow{background:#d8b62b;color:#172033}.grade-purple{background:#7549a8}.grade-black{background:#151515}.grade-gray,.grade-grey{background:#677281}
.hero__identity span:empty{display:none}.hero__identity span:empty+span{border-right:0}
.result a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ratings-comparison{overflow-x:auto;border:1px solid #e1e6ec;border-radius:14px}.ratings-row{display:grid;grid-template-columns:95px repeat(16,minmax(105px,1fr));min-width:1850px}.ratings-row+.ratings-row{border-top:2px solid #cfd6df}.ratings-row__label{position:sticky;left:0;z-index:2;background:#0b1f3a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.rating-cell{padding:12px;border-left:1px solid #e1e6ec;min-height:78px}.rating-cell small{display:block;color:#667085;font-size:10px;line-height:1.2;min-height:24px}.rating-cell strong{display:block;font-size:23px;margin-top:5px}.rating-cell.elite{background:#e8f7ee}.rating-cell.excellent{background:#edf5ff}.rating-cell.very-good{background:#f1f8ff}.rating-cell.good{background:#f6faed}.rating-cell.average{background:#fff9e7}.rating-cell.below-average{background:#fff4e8}.rating-cell.weak{background:#fff0ee}.rating-cell.poor{background:#f8e8e8}
@media(max-width:1050px){.hero{grid-template-columns:150px 1fr 300px}}
@media(max-width:760px){.hero{grid-template-columns:105px 1fr;min-height:390px}.hero__copy{padding-bottom:170px}.hero__photo-wrap{height:235px;width:260px}.hero__photo{max-height:235px}.overall-grade{width:54px;height:54px}.overall-grade b{font-size:23px}}

/* v1.0 */
.hero{grid-template-columns:170px minmax(0,1fr) 470px;min-height:430px}
.hero__photo-wrap{overflow:visible}
.hero__photo{max-height:425px;max-width:460px}
.hero__title-line{align-items:center;gap:14px}
.overall-grades{order:-1;display:flex;gap:8px;padding:0;flex:0 0 auto}
.overall-grade{display:block;width:27px;height:27px;border-radius:5px;border:2px solid rgba(255,255,255,.8);box-shadow:0 3px 8px rgba(0,0,0,.24)}
.overall-grade::after{display:none}
.data-warning{background:#fff4d6;border:1px solid #f1d17a;color:#6d4a00;border-radius:14px;padding:14px 16px;margin-bottom:16px;line-height:1.5}
.data-warning code{background:rgba(255,255,255,.6);padding:2px 5px;border-radius:4px}
.ratings-comparison{overflow:visible;border:0;border-radius:0}
.ratings-table{border:1px solid #dfe5ec;border-radius:14px;overflow:hidden}
.ratings-head,.ratings-line{display:grid;grid-template-columns:minmax(210px,1fr) 120px 120px;align-items:center}
.ratings-head{background:#0b1f3a;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.ratings-head span,.ratings-line>*{padding:11px 14px}
.ratings-head span:not(:first-child),.ratings-line>*:not(:first-child){text-align:center}
.ratings-line{border-top:1px solid #e5e9ef;min-height:48px}
.ratings-line:nth-child(even){background:#f8fafc}
.ratings-line strong{font-size:13px}
.rating-number{font-size:18px;font-weight:900;border-left:1px solid #e1e6ec;height:100%;display:grid;place-items:center}
.rating-number.elite{background:#e8f7ee}.rating-number.excellent{background:#edf5ff}.rating-number.very-good{background:#f1f8ff}.rating-number.good{background:#f6faed}.rating-number.average{background:#fff9e7}.rating-number.below-average{background:#fff4e8}.rating-number.weak{background:#fff0ee}.rating-number.poor{background:#f8e8e8}
.physical-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.section-subhead h3{margin:4px 0 14px;font-size:18px}
.physical-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.physical-card{border:1px solid #e1e6ec;border-radius:12px;padding:13px;background:#f8fafc}
.physical-card small{display:block;color:var(--muted);margin-bottom:5px}.physical-card strong{font-size:20px}
.achievement-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e1e6ec;border-radius:14px;overflow:hidden}
.achievement-row{display:flex;justify-content:space-between;gap:16px;padding:12px 15px;border-bottom:1px solid #e8ecf1}
.achievement-row:nth-child(odd){border-right:1px solid #e8ecf1}.achievement-row:nth-last-child(-n+2){border-bottom:0}.achievement-row span{color:#4d596b}.achievement-row strong{font-size:18px}
@media(max-width:1050px){.hero{grid-template-columns:135px minmax(0,1fr) 350px}.hero__photo{max-height:390px}.physical-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hero{grid-template-columns:90px 1fr;min-height:430px}.hero__copy{padding-bottom:205px}.hero__photo-wrap{height:280px;width:310px}.hero__photo{max-height:280px;max-width:310px}.overall-grade{width:23px;height:23px}.ratings-head,.ratings-line{grid-template-columns:minmax(150px,1fr) 76px 76px}.ratings-head span,.ratings-line>*{padding:10px 8px}.physical-grid{grid-template-columns:repeat(2,1fr)}.achievement-summary{grid-template-columns:1fr}.achievement-row:nth-child(odd){border-right:0}.achievement-row:nth-last-child(2){border-bottom:1px solid #e8ecf1}}


/* v1.0.2 · cabecera más compacta y retrato a escala real */
@media (min-width: 1061px){
  .hero{
    grid-template-columns:150px minmax(0,1fr) 520px;
    min-height:350px;
    height:350px;
  }
  .hero__logo{
    width:125px;
    height:125px;
  }
  .hero__copy{
    padding:28px 18px;
  }
  .hero h1{
    font-size:clamp(44px,4.6vw,66px);
  }
  .hero__photo-wrap{
    height:350px;
    align-self:end;
    justify-content:flex-end;
    padding-right:30px;
  }
  .hero__photo{
    display:block;
    width:auto;
    height:345px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:bottom center;
  }
}
@media (min-width:761px) and (max-width:1060px){
  .hero{
    grid-template-columns:125px minmax(0,1fr) 390px;
    min-height:330px;
    height:330px;
  }
  .hero__logo{width:105px;height:105px}
  .hero__copy{padding:24px 12px}
  .hero__photo-wrap{height:330px;justify-content:flex-end;padding-right:18px}
  .hero__photo{width:auto;height:325px;max-width:none;max-height:none;object-fit:contain;object-position:bottom center}
}
@media(max-width:760px){
  .hero{min-height:390px;height:auto}
  .hero__photo-wrap{height:255px;width:285px}
  .hero__photo{width:auto;height:250px;max-width:none;max-height:none;object-fit:contain;object-position:bottom center}
}

/* v1.0.3 · cabecera compacta y retrato dominante */
@media (min-width: 761px){
  .hero{
    grid-template-columns:150px minmax(0,1fr) 430px;
    min-height:310px;
    height:310px;
  }
  .hero__logo{width:115px;height:115px}
  .hero__copy{padding:22px 12px}
  .hero h1{font-size:clamp(42px,4.6vw,64px);margin-bottom:12px}
  .hero__identity{margin-bottom:14px}
  .hero__photo-wrap{
    height:310px;
    align-self:end;
    justify-content:flex-end;
    padding-right:24px;
    overflow:visible;
  }
  .hero__photo{
    display:block;
    width:auto;
    height:330px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:bottom center;
    transform-origin:bottom center;
  }
}

/* v1.0.4 · ajuste final de cabecera y scouting compacto */
@media (min-width: 761px){
  .hero__photo{
    height:290px;
  }
}
.ratings-table{
  width:min(100%,680px);
  margin-inline:auto;
}
.ratings-head,.ratings-line{
  grid-template-columns:minmax(220px,1fr) 92px 92px;
}
.ratings-head span,.ratings-line>*{
  padding:10px 12px;
}
.physical-grid{
  width:min(100%,900px);
  margin-inline:auto;
}
.hero__photo-wrap.is-placeholder{
  align-items:center;
  justify-content:center;
  padding-right:0;
}
.hero__photo-wrap.is-placeholder::after{
  content:attr(data-initials);
  display:grid;
  place-items:center;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  border:2px solid rgba(255,255,255,.35);
  color:#fff;
  font-size:54px;
  font-weight:900;
  letter-spacing:.04em;
}
.hero__logo.is-placeholder{
  display:none;
}
@media(max-width:760px){
  .ratings-table{width:100%}
  .ratings-head,.ratings-line{grid-template-columns:minmax(145px,1fr) 72px 72px}
  .hero__photo{height:250px}
  .hero__photo-wrap.is-placeholder::after{width:130px;height:130px;font-size:40px}
}


/* v1.0.7 · fondos dinámicos de franquicia en la cabecera */
.hero--team-background{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
@media(max-width:760px){
  .hero--team-background{
    background-position:62% center;
  }
}


/* v1.0.8 · logo de franquicia más grande en la cabecera */
@media (min-width:1061px){
  .hero{
    grid-template-columns:175px minmax(0,1fr) 430px;
  }
  .hero__logo{
    width:145px;
    height:145px;
  }
}

@media (min-width:761px) and (max-width:1060px){
  .hero{
    grid-template-columns:145px minmax(0,1fr) 390px;
  }
  .hero__logo{
    width:125px;
    height:125px;
  }
}

@media (max-width:760px){
  .hero{
    grid-template-columns:110px 1fr;
  }
  .hero__logo{
    width:96px;
    height:96px;
    margin-top:22px;
  }
}

/* v1.1.0 · servidor y directorio */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.directory-shell{width:min(1180px,calc(100% - 32px));margin:32px auto 64px}
.directory-hero{background:linear-gradient(135deg,#0b1f3a,#174a7e);color:#fff;border-radius:22px;padding:34px;box-shadow:0 14px 36px rgba(15,23,42,.14)}
.directory-hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:.15em 0}
.directory-hero p{margin:.4rem 0 1.2rem;color:#dbeafe}
.player-search{display:block;max-width:720px}
.player-search input{width:100%;font:inherit;font-size:1.05rem;padding:15px 18px;border:1px solid rgba(255,255,255,.3);border-radius:13px;background:rgba(255,255,255,.96);color:#111827;outline:none}
.player-search input:focus{box-shadow:0 0 0 4px rgba(96,165,250,.35)}
.directory-meta{font-size:.92rem;margin-top:12px!important}
.directory-results{margin-top:22px}
.player-directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.directory-card{display:flex;gap:14px;align-items:center;padding:14px;background:#fff;border:1px solid #dbe2ea;border-radius:16px;color:#111827;text-decoration:none;box-shadow:0 5px 16px rgba(15,23,42,.05);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.directory-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.1);border-color:#93c5fd}
.directory-card__avatar{width:66px;height:66px;flex:0 0 66px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#e5e7eb);display:grid;place-items:center;position:relative}
.directory-card__avatar:after{content:attr(data-initials);font-weight:800;color:#334155;position:absolute;z-index:0}
.directory-card__avatar img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
.directory-card__body{min-width:0;display:flex;flex-direction:column;gap:3px}
.directory-card__body strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.directory-card__body span,.directory-card__body small{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-state{padding:28px;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b}
.player-toolbar{width:min(1400px,calc(100% - 24px));margin:14px auto 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.back-link,.copy-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:10px;font:inherit;font-weight:700;text-decoration:none}
.back-link{color:#174a7e;background:#eaf2fb}
.copy-link{border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer}
.copy-link:hover,.back-link:hover{filter:brightness(.97)}
code{background:#eef2f7;padding:.15em .4em;border-radius:5px}
@media(max-width:620px){
  .directory-shell{width:min(100% - 20px,1180px);margin-top:18px}
  .directory-hero{padding:24px 18px}
  .player-directory-grid{grid-template-columns:1fr}
  .player-toolbar{width:calc(100% - 20px)}
}


/* v1.2.0 · cabecera, experiencia y draft */
@media (min-width:1061px){
  .hero{grid-template-columns:195px minmax(0,1fr) 430px}
  .hero__logo{width:168px;height:168px}
}
@media (min-width:761px) and (max-width:1060px){
  .hero{grid-template-columns:160px minmax(0,1fr) 390px}
  .hero__logo{width:142px;height:142px}
}
.bio-grid{grid-template-columns:repeat(9,minmax(0,1fr))}
.bio-item--draft strong{font-size:16px;line-height:1.25}
@media(max-width:1250px){.bio-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:1050px){.bio-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){
  .bio-grid{grid-template-columns:repeat(2,1fr)}
  .hero__logo{width:108px;height:108px}
  .bio-item--draft{grid-column:span 2}
}


/* v1.2.1 · cabecera estable, draft/experiencia y recursos de respaldo */
.hero__logo{width:155px;height:155px}
.hero__logo--league{padding:10px;box-sizing:border-box}
.hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.hero__meta article{min-width:145px;max-width:330px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(5,20,38,.28);backdrop-filter:blur(4px)}
.hero__meta small{display:block;margin-bottom:3px;color:#c7d9ee;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero__meta strong{display:block;font-size:13px;line-height:1.35}
.hero--team-background{background-position:center}
.bio-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
@media (min-width:1061px){.hero{grid-template-columns:185px minmax(0,1fr) 430px}.hero__logo{width:155px;height:155px}}
@media (min-width:761px) and (max-width:1060px){.hero{grid-template-columns:155px minmax(0,1fr) 390px}.hero__logo{width:135px;height:135px}}
@media(max-width:1050px){.bio-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.hero__logo{width:105px;height:105px}.hero__meta{gap:7px}.hero__meta article{min-width:0;max-width:none;padding:7px 9px}.hero__meta strong{font-size:11px}.bio-grid{grid-template-columns:repeat(2,1fr)}}


/* v1.3.0 · refinamiento visual del Hero */
.hero{
  isolation:isolate;
}
.hero:after{
  background:radial-gradient(circle at 76% 18%,rgba(255,255,255,.10),transparent 30%);
}
.hero__logo{
  flex:none;
  align-self:center;
  justify-self:center;
}
.hero__logo--league{
  width:190px;
  height:190px;
  padding:4px;
}
.hero__copy{
  min-width:0;
}
.hero__title-line{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  column-gap:14px;
  row-gap:8px;
  margin-bottom:15px;
}
.hero__title-line .overall-grades{
  flex:none;
  align-self:center;
}
.hero__title-line h1{
  min-width:0;
  margin:0;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
  font-size:clamp(38px,4.6vw,64px);
  line-height:.98;
  letter-spacing:-.025em;
}
.hero__title-line h1.hero__name--long{
  font-size:clamp(34px,4vw,56px);
  line-height:1;
}
.hero__title-line h1.hero__name--very-long{
  font-size:clamp(30px,3.45vw,49px);
  line-height:1.02;
}
.hero__meta article{
  background:rgba(5,20,38,.23);
}
.hero__photo-wrap{
  position:relative;
  z-index:1;
}
.hero__photo{
  position:relative;
  z-index:1;
}

@media (min-width:1061px){
  .hero{grid-template-columns:185px minmax(0,1fr) 430px}
  .hero__logo--league{width:190px;height:190px}
}
@media (min-width:761px) and (max-width:1060px){
  .hero__logo--league{width:158px;height:158px}
  .hero__title-line h1{font-size:clamp(36px,4.2vw,54px)}
  .hero__title-line h1.hero__name--long{font-size:clamp(32px,3.7vw,48px)}
  .hero__title-line h1.hero__name--very-long{font-size:clamp(29px,3.25vw,43px)}
}
@media(max-width:760px){
  .hero__logo--league{width:126px;height:126px;padding:2px}
  .hero__title-line{column-gap:10px;align-items:start}
  .hero__title-line h1{font-size:38px;line-height:1}
  .hero__title-line h1.hero__name--long{font-size:34px}
  .hero__title-line h1.hero__name--very-long{font-size:30px}
}


/* v1.3.3 · fondo atenuado en la zona del retrato */
.hero--team-background{
  /* La izquierda conserva el contraste actual para logo y texto.
     La segunda capa aclara progresivamente la derecha para separar
     visualmente el retrato del background. */
  --hero-overlay:
    linear-gradient(90deg,
      rgba(5,20,38,.50) 0%,
      rgba(5,20,38,.30) 28%,
      rgba(5,20,38,.10) 48%,
      rgba(5,20,38,.02) 60%,
      rgba(5,20,38,0) 70%),
    linear-gradient(90deg,
      rgba(255,255,255,0) 48%,
      rgba(255,255,255,.06) 60%,
      rgba(255,255,255,.20) 76%,
      rgba(255,255,255,.38) 100%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero--team-background[data-overlay="medium"]{
  --hero-overlay:
    linear-gradient(90deg,
      rgba(5,20,38,.50) 0%,
      rgba(5,20,38,.30) 28%,
      rgba(5,20,38,.10) 48%,
      rgba(5,20,38,.02) 60%,
      rgba(5,20,38,0) 70%),
    linear-gradient(90deg,
      rgba(255,255,255,0) 44%,
      rgba(255,255,255,.10) 58%,
      rgba(255,255,255,.30) 76%,
      rgba(255,255,255,.52) 100%);
}
.hero--team-background[data-overlay="dark"]{
  --hero-overlay:
    linear-gradient(90deg,
      rgba(5,20,38,.50) 0%,
      rgba(5,20,38,.30) 28%,
      rgba(5,20,38,.10) 48%,
      rgba(5,20,38,.02) 60%,
      rgba(5,20,38,0) 70%),
    linear-gradient(90deg,
      rgba(255,255,255,0) 40%,
      rgba(255,255,255,.14) 55%,
      rgba(255,255,255,.40) 74%,
      rgba(255,255,255,.66) 100%);
}
.hero--team-background::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:var(--hero-overlay);
  pointer-events:none;
}
.hero--team-background::after{
  z-index:1;
}
.hero--team-background > *{
  position:relative;
  z-index:2;
}
@media(max-width:760px){
  .hero--team-background{
    background-position:62% center;
    --hero-overlay:
      linear-gradient(90deg,
        rgba(5,20,38,.66) 0%,
        rgba(5,20,38,.45) 42%,
        rgba(5,20,38,.17) 62%,
        rgba(5,20,38,.03) 74%,
        rgba(5,20,38,0) 84%),
      linear-gradient(90deg,
        rgba(255,255,255,0) 56%,
        rgba(255,255,255,.08) 68%,
        rgba(255,255,255,.24) 84%,
        rgba(255,255,255,.40) 100%);
  }
  .hero--team-background[data-overlay="medium"]{
    --hero-overlay:
      linear-gradient(90deg,
        rgba(5,20,38,.66) 0%,
        rgba(5,20,38,.45) 42%,
        rgba(5,20,38,.17) 62%,
        rgba(5,20,38,.03) 74%,
        rgba(5,20,38,0) 84%),
      linear-gradient(90deg,
        rgba(255,255,255,0) 52%,
        rgba(255,255,255,.12) 66%,
        rgba(255,255,255,.34) 84%,
        rgba(255,255,255,.54) 100%);
  }
  .hero--team-background[data-overlay="dark"]{
    --hero-overlay:
      linear-gradient(90deg,
        rgba(5,20,38,.66) 0%,
        rgba(5,20,38,.45) 42%,
        rgba(5,20,38,.17) 62%,
        rgba(5,20,38,.03) 74%,
        rgba(5,20,38,0) 84%),
      linear-gradient(90deg,
        rgba(255,255,255,0) 48%,
        rgba(255,255,255,.17) 63%,
        rgba(255,255,255,.45) 82%,
        rgba(255,255,255,.68) 100%);
  }
}


/* v1.4.0 · integración visual y resumen renovado */
.player-page{
  min-height:100vh;
}
.player-page .player-toolbar{
  margin-top:18px;
}
.player-page .page-shell{
  margin-top:14px;
}
.player-page .tabs{
  top:10px;
}

/* Hero: izquierda más oscura y aclarado retrasado hacia la zona del retrato */
.hero--team-background{
  --hero-overlay:
    linear-gradient(90deg,
      rgba(3,14,29,.74) 0%,
      rgba(4,17,34,.66) 24%,
      rgba(5,20,38,.48) 43%,
      rgba(5,20,38,.18) 58%,
      rgba(5,20,38,.02) 70%,
      rgba(5,20,38,0) 76%),
    linear-gradient(90deg,
      rgba(255,255,255,0) 62%,
      rgba(255,255,255,.07) 72%,
      rgba(255,255,255,.22) 86%,
      rgba(255,255,255,.38) 100%);
}
.hero--team-background[data-overlay="medium"]{
  --hero-overlay:
    linear-gradient(90deg,
      rgba(3,14,29,.78) 0%,
      rgba(4,17,34,.69) 24%,
      rgba(5,20,38,.50) 43%,
      rgba(5,20,38,.19) 58%,
      rgba(5,20,38,.02) 70%,
      rgba(5,20,38,0) 76%),
    linear-gradient(90deg,
      rgba(255,255,255,0) 59%,
      rgba(255,255,255,.10) 71%,
      rgba(255,255,255,.31) 86%,
      rgba(255,255,255,.52) 100%);
}
.hero--team-background[data-overlay="dark"]{
  --hero-overlay:
    linear-gradient(90deg,
      rgba(3,14,29,.82) 0%,
      rgba(4,17,34,.73) 24%,
      rgba(5,20,38,.54) 43%,
      rgba(5,20,38,.21) 58%,
      rgba(5,20,38,.03) 70%,
      rgba(5,20,38,0) 76%),
    linear-gradient(90deg,
      rgba(255,255,255,0) 56%,
      rgba(255,255,255,.14) 69%,
      rgba(255,255,255,.41) 85%,
      rgba(255,255,255,.66) 100%);
}
.hero__meta article{
  background:rgba(3,14,29,.52);
  border-color:rgba(255,255,255,.25);
  box-shadow:0 8px 22px rgba(0,0,0,.13);
}

/* Barra de utilidades preparada para convivir con la cabecera real de la web */
.player-toolbar{
  padding:0 2px;
}
.back-link,.copy-link{
  min-height:40px;
  box-shadow:0 3px 10px rgba(15,23,42,.05);
}

/* Resumen: mayor jerarquía sin cambiar la estructura de datos */
.bio-grid{
  gap:13px;
}
.bio-item{
  position:relative;
  overflow:hidden;
  min-height:92px;
  padding:17px 16px 15px;
  box-shadow:0 6px 18px rgba(16,24,40,.055);
}
.bio-item::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--blue),var(--gold));
  opacity:.78;
}
.bio-item small{
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:700;
  font-size:10px;
}
.bio-item strong{
  line-height:1.3;
}
.overview-grid--dashboard{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  align-items:start;
}
.card--contract,.card--season{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(23,74,126,.08);
}
.card--contract::before,.card--season::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--blue),var(--gold));
}
.card--contract .card__head,.card--season .card__head{
  margin-bottom:15px;
  padding-left:4px;
}
.card__intro{
  margin:7px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.card--contract .table-wrap{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
}
.card--contract th{
  background:#edf3f9;
  color:#334155;
}
.card--contract tbody tr:last-child td{
  border-bottom:0;
}
.card--contract [data-bird-years]{
  display:inline-flex;
  align-items:center;
  margin:14px 0 0;
  padding:7px 11px;
  border-radius:999px;
  background:#eef4fa;
  color:#174a7e;
  font-weight:800;
}
.metric-grid--summary{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.metric-grid--summary .metric{
  min-height:87px;
  padding:14px 15px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-color:#e1e7ee;
  box-shadow:0 4px 12px rgba(16,24,40,.04);
}
.metric-grid--summary .metric span{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:800;
}
.metric-grid--summary .metric strong{
  font-size:28px;
  line-height:1.05;
}
.metric-grid--summary .metric--accent{
  grid-column:span 2;
  min-height:112px;
  background:linear-gradient(145deg,#0b1f3a,#174a7e);
}
.metric-grid--summary .metric--accent strong{
  font-size:38px;
}
.tabs{
  border:1px solid rgba(15,23,42,.05);
}
.tabs button{
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.tabs button:hover{
  background:#eef3f8;
  color:var(--navy);
}
.tabs button.is-active:hover{
  background:var(--navy);
  color:#fff;
}

@media(max-width:1050px){
  .overview-grid--dashboard{grid-template-columns:1fr}
  .metric-grid--summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .metric-grid--summary .metric--accent{grid-column:span 2;min-height:100px}
  .metric-grid--summary .metric--accent strong{font-size:34px}
}
@media(max-width:760px){
  .player-page .player-toolbar{margin-top:10px}
  .player-page .page-shell{margin-top:10px}
  .player-page .tabs{top:6px}
  .hero--team-background{
    --hero-overlay:
      linear-gradient(90deg,
        rgba(3,14,29,.78) 0%,
        rgba(4,17,34,.66) 42%,
        rgba(5,20,38,.34) 62%,
        rgba(5,20,38,.06) 78%,
        rgba(5,20,38,0) 88%),
      linear-gradient(90deg,
        rgba(255,255,255,0) 68%,
        rgba(255,255,255,.08) 78%,
        rgba(255,255,255,.25) 90%,
        rgba(255,255,255,.40) 100%);
  }
  .metric-grid--summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-grid--summary .metric--accent{grid-column:span 2;min-height:100px}
  .metric-grid--summary .metric--accent strong{font-size:34px}
  .bio-item{min-height:86px;padding:15px 13px 13px}
}


/* v1.5.0 · lenguaje visual unificado */
.tab-panel>.card,.tab-panel>.history-grid>.card{border:1px solid rgba(223,228,234,.9)}
.card{position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(180deg,var(--blue),#74a5d4)}
.card__head{padding-bottom:15px;border-bottom:1px solid #e8ecf1}
.card__intro{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.kicker{display:inline-flex;align-items:center;gap:7px}
.kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(240,180,41,.16)}
.tab-panel{animation:panelIn .2s ease}
@keyframes panelIn{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}

/* Scouting */
.ratings-table{box-shadow:0 8px 22px rgba(16,24,40,.05)}
.ratings-head{background:linear-gradient(135deg,#0b1f3a,#174a7e)}
.ratings-line{transition:background .15s ease}
.ratings-line:hover{background:#eef4fa}
.rating-number{font-variant-numeric:tabular-nums}
.physical-section{background:#f8fafc;border:1px solid #e4e9ef;border-radius:15px;padding:18px;margin-top:24px}
.physical-card{background:#fff;box-shadow:0 4px 12px rgba(16,24,40,.04)}
.secondary-details{border:1px solid #e1e6ec;border-radius:14px;padding:0;margin-top:18px;overflow:hidden}
.secondary-details summary{padding:15px 17px;background:#f5f7f9;list-style:none}
.secondary-details summary::-webkit-details-marker{display:none}
.secondary-details summary::after{content:"+";float:right;font-size:20px;line-height:1}
.secondary-details[open] summary::after{content:"−"}
.secondary-details .personality{padding:15px;margin:0}

/* Career highs */
.highs-groups{gap:20px}
.highs-group{border:1px solid #dfe5ec;border-radius:16px;overflow:hidden;background:#fff}
.highs-group h3{display:none}
.highs-group__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;background:linear-gradient(135deg,#f7f9fc,#eef3f8);border-bottom:1px solid #dfe5ec}
.highs-group__head span{display:block;font-size:16px;font-weight:900;color:#0b1f3a}
.highs-group__head small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.highs-grid{padding:12px;grid-template-columns:repeat(5,minmax(0,1fr))}
.high-card{position:relative;background:#f9fafb;border-color:#e3e8ee;min-height:104px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.high-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,24,40,.08);border-color:#b8c9db}
.high-card small{font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#526174}
.high-card strong{color:#0b1f3a;font-size:28px}
.high-card span{display:block;line-height:1.35}
.highs-group--season .highs-group__head{border-left:4px solid #174a7e}
.highs-group--playoffs .highs-group__head{border-left:4px solid #f0b429}
.highs-group--career .highs-group__head{border-left:4px solid #13795b}

/* Historial */
.history-grid{align-items:start}
.timeline{position:relative;gap:0}
.timeline-item{position:relative;border-left:0;padding:14px 14px 14px 42px;border-bottom:1px solid #e8ecf1}
.timeline-item:last-child{border-bottom:0}
.timeline-item::before{content:"";position:absolute;left:13px;top:20px;width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid var(--blue);z-index:2}
.timeline-item::after{content:"";position:absolute;left:18px;top:31px;bottom:-20px;width:1px;background:#cfd9e4}
.timeline-item:last-child::after{display:none}
.timeline-item strong{font-size:14px;line-height:1.4}
.timeline-item span{display:block;margin-top:4px;font-size:12px}

/* Premios y logros */
.achievement-summary{box-shadow:0 5px 16px rgba(16,24,40,.04)}
.achievement-row{background:#fff;align-items:center}
.achievement-row:hover{background:#f8fafc}
.achievement-row strong{display:grid;place-items:center;min-width:36px;height:30px;border-radius:9px;background:#eaf2fb;color:#174a7e}
[data-achievements].metric-grid .metric{position:relative;overflow:hidden}
[data-achievements].metric-grid .metric::after{content:"";position:absolute;right:-14px;bottom:-18px;width:58px;height:58px;border-radius:50%;background:rgba(23,74,126,.07)}

/* Game Logs */
.game-group{box-shadow:0 4px 12px rgba(16,24,40,.04)}
.game-group summary{background:linear-gradient(135deg,#f7f9fb,#eef2f6)}
.game-group[open] summary{color:#0b1f3a;border-bottom:1px solid #dfe5ec}

@media(max-width:1100px){.highs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .card::before{width:3px}
  .highs-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}
  .highs-group__head{align-items:flex-start}
  .high-card{min-height:98px;padding:12px}
  .history-grid{gap:0}
  .physical-section{padding:14px}
}


/* v0.9.3 · Panel de rendimiento: PER + GmSc + EFF + PIE */
.performance-per{
  min-height:112px;
  margin-bottom:12px;
  padding:16px 18px 13px;
  border-radius:15px;
  background:linear-gradient(145deg,#0b1f3a,#174a7e);
  color:#fff;
  box-shadow:0 8px 20px rgba(11,31,58,.16);
}
.performance-score-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
.performance-score{
  min-width:0;
  padding:3px 16px 7px;
  text-align:center;
  border-left:1px solid rgba(255,255,255,.16);
}
.performance-score:first-child{border-left:0}
.performance-score span{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#cbd9e8;
}
.performance-score strong{
  display:block;
  font-size:30px;
  line-height:1.05;
  white-space:nowrap;
}
.performance-per small{
  display:block;
  margin-top:8px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-align:center;
}
.performance-per--lbps{
  background:linear-gradient(145deg,#0b1f3a,#174a7e);
  box-shadow:0 8px 20px rgba(11,31,58,.18);
}
.performance-per--gleague{
  background:linear-gradient(145deg,#8b4300,#e88917);
  box-shadow:0 8px 20px rgba(154,87,0,.2);
}
.performance-per--gleague .performance-score span{color:#ffe3bd}
.performance-per--gleague small{color:#fff1dc}
.metric-grid--summary .metric--accent{
  grid-column:auto;
  min-height:87px;
  background:var(--surface);
  color:inherit;
}
.metric-grid--summary .metric--accent strong{font-size:28px}
@media(max-width:760px){
  .performance-per{min-height:100px;padding:14px 12px 11px}
  .performance-score{padding:3px 8px 6px}
  .performance-score strong{font-size:24px}
  .performance-score span{font-size:10px;letter-spacing:.08em}
}
@media(max-width:480px){
  .performance-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .performance-score:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.16);padding-top:10px}
  .performance-score:nth-child(4){border-top:1px solid rgba(255,255,255,.16);padding-top:10px}
}

/* =========================================================
   LBPS_WEB v1.0-alpha2 · Índice de jugadores
   ========================================================= */
.directory-page{background:#f3f6fa;color:#172033}
.directory-page .directory-shell{width:min(1440px,calc(100% - 36px));margin:18px auto 64px}
.directory-controls{margin-top:0;background:#fff;border:1px solid #dde4ed;border-radius:18px;padding:18px;box-shadow:0 7px 24px rgba(15,23,42,.06)}
.directory-search input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:14px 16px;font:inherit;font-size:1rem;background:#f8fafc;outline:none;transition:border-color .15s,box-shadow .15s}
.directory-search input:focus{border-color:#2c6fa5;box-shadow:0 0 0 3px rgba(44,111,165,.13);background:#fff}
.directory-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.directory-filters label{display:grid;gap:6px;color:#526071;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.directory-filters select{width:100%;min-height:42px;border:1px solid #d5dde7;border-radius:10px;padding:0 11px;background:#fff;color:#172033;font:inherit;text-transform:none;letter-spacing:0}
.directory-control-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:13px;border-top:1px solid #edf0f4}
.directory-page .directory-meta{margin:0!important;color:#526071;font-weight:700}
.directory-reset{border:0;background:transparent;color:#1f5f91;font:inherit;font-weight:800;cursor:pointer;padding:5px}
.directory-reset:hover{text-decoration:underline}
.directory-page .directory-results{margin-top:18px}
.players-table-wrap{overflow:auto;background:#fff;border:1px solid #dde4ed;border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.07)}
.players-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0}
.players-table th{position:sticky;top:0;z-index:2;background:#0b1f3a;color:#fff;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.045em;padding:0;border:0}
.players-table th button{width:100%;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-align:left;padding:14px 14px;cursor:pointer;white-space:nowrap}
.players-table th button:hover,.players-table th button.is-active{background:rgba(255,255,255,.1)}
.players-table td{padding:10px 14px;border-bottom:1px solid #edf0f4;vertical-align:middle;color:#334155}
.players-table .player-page tbody tr:last-child td,.team-detail-page tbody tr:last-child td{border-bottom:0}
.players-table tbody tr:hover td{background:#f8fbff}
.player-cell{display:flex;align-items:center;gap:12px;color:#172033;text-decoration:none;min-width:230px}
.player-cell__photo{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:end center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#e6edf5,#f8fafc);border:1px solid #e0e7ef}
.player-cell__photo img{width:100%;height:100%;object-fit:contain;object-position:bottom center}
.player-cell__identity{display:flex;flex-direction:column;gap:3px;min-width:0}
.player-cell__identity strong{font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-cell__identity small{color:#7a8797;font-size:.76rem}
.team-cell{display:flex;align-items:center;gap:9px;min-width:150px}
.team-cell>img{width:32px;height:32px;object-fit:contain;flex:0 0 32px}
.team-cell>span{display:flex;flex-direction:column;gap:1px;min-width:0}
.team-cell strong{font-size:.82rem}.team-cell small{max-width:145px;color:#7a8797;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.position-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e9f2fa;color:#15527f;font-size:.76rem;font-weight:800;white-space:nowrap}
.directory-pagination{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:18px}
.directory-pagination button{min-width:38px;height:38px;border:1px solid #d5dde7;border-radius:9px;background:#fff;color:#26384b;font:inherit;font-weight:700;cursor:pointer}
.directory-pagination button:hover:not(:disabled),.directory-pagination button.is-active{background:#0b1f3a;color:#fff;border-color:#0b1f3a}
.directory-pagination button:disabled{opacity:.4;cursor:default}.directory-pagination span{padding:0 4px;color:#7a8797}
.directory-page .empty-state{background:#fff;border:1px dashed #bdc8d5;border-radius:18px;padding:52px 20px;text-align:center;color:#64748b}
@media(max-width:980px){.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
 .directory-page .directory-shell{width:min(100% - 20px,1440px);margin-top:8px}
 .directory-controls{padding:13px;border-radius:14px}
 .directory-filters{grid-template-columns:1fr 1fr;gap:9px}
 .directory-control-footer{align-items:flex-start}
 .players-table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none}
 .players-table{display:block;min-width:0}.players-table thead{display:none}.players-table tbody{display:grid;gap:10px}.players-table tr{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #dde4ed;border-radius:14px;padding:12px;box-shadow:0 5px 16px rgba(15,23,42,.05)}
 .players-table td{display:flex;justify-content:space-between;gap:12px;padding:8px 3px;border-bottom:1px solid #edf0f4;text-align:right;font-size:.83rem}
 .players-table td:before{content:attr(data-label);color:#7a8797;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-align:left}
 .players-table td:first-child{grid-column:1/-1;padding-top:0;display:block;text-align:left}.players-table td:first-child:before{display:none}
 .players-table td:nth-child(2),.players-table td:nth-child(7),.players-table td:nth-child(8){grid-column:1/-1}
 .players-table td:last-child{border-bottom:0}
 .player-cell{min-width:0}.team-cell{min-width:0;margin-left:auto}.team-cell small{max-width:190px}
}
@media(max-width:430px){.directory-filters{grid-template-columns:1fr}.players-table tr{grid-template-columns:1fr}.players-table td{grid-column:1/-1!important}}


/* v1.0-alpha2.1 · ajustes del índice de jugadores */
@media(min-width:761px){
  .players-table th:nth-child(n+4) button{text-align:right}
  .players-table td:nth-child(n+4){text-align:right}
}
.nationality-cell{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.nationality-cell img{width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(15,23,42,.12)}

/* v1.0-alpha2.3 · nacionalidad alineada a la izquierda */
@media(min-width:761px){
  .players-table th:nth-child(8) button{text-align:left}
  .players-table td:nth-child(8){text-align:left}
}
.nationality-cell{justify-content:flex-start}

/* v1.0-alpha3.2 · retratos redondos y fallback visible */
.player-cell__photo{border-radius:50%;background:#eef2f7}
.player-cell__photo img{border-radius:50%;object-fit:cover;object-position:center top}

/* Player injury status v0.4.1 */
.status-chip--healthy{background:#d9f5e8;color:#0d5d45;border-color:#b7ead5}
.status-chip--day-to-day{background:#ffedd5;color:#9a3412;border-color:#fdba74}
.status-chip--injured{background:#fee2e2;color:#991b1b;border-color:#fca5a5}

/* v0.12.7 - Banderas circulares: listado jugadores, plantilla y resumen jugador */
.players-table .mini-flag,
.roster-table .mini-flag,
.player-summary .mini-flag,
.player-nationality .mini-flag,
.nationality .mini-flag {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px;
  aspect-ratio: 1 / 1;
  border-radius: 50% !important;
  object-fit: cover !important;
  flex-shrink: 0;
}

/* v0.12.8 - bandera circular en listado general de jugadores */
.players-table .nationality-cell img {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px;
  aspect-ratio: 1 / 1;
  border-radius: 50% !important;
  object-fit: contain !important;
  box-shadow: none;
  flex-shrink: 0;
}


/* v0.18.13: cabecera visible antes de que llegue el JSON del jugador. */
.player-loading-rest{
  margin-top:14px;
}
.hero [data-team-name]:empty::after,
.hero [data-player-name]:empty::after,
.hero [data-jersey]:empty::after,
.hero [data-position-main]:empty::after{
  content:"";
  display:inline-block;
}
