
/* PN429: rediseño visual de ligas con agenda + posiciones */
.pn428-dashboard{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(320px,.95fr);
  gap:18px;
  margin-top:24px;
  align-items:start;
}
.pn428-schedule,.pn428-standings{
  position:relative;
  min-width:0;
  border:1px solid rgba(255,137,46,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at top right, rgba(255,133,41,.13), transparent 36%),
    linear-gradient(180deg, #172639 0%, #101a27 100%);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  overflow:hidden;
}
.pn428-schedule::before,.pn428-standings::before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  height:3px;
  width:100%;
  background:linear-gradient(90deg,#ff8a2f,#ffb061 62%, transparent 100%);
}
.pn428-card-inner{padding:18px}
.pn428-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.pn428-head h3{
  margin:6px 0 0!important;
  font-size:25px!important;
  line-height:1.03!important;
  letter-spacing:-.02em;
}
.pn428-head .pn427-kicker{display:inline-block;opacity:.95}
.pn428-nav{display:flex;gap:6px;align-items:center}
.pn428-nav button{
  min-width:38px;
  height:38px;
  padding:0 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:#1d2d42;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:all .18s ease;
}
.pn428-nav button:hover,.pn428-nav button:focus-visible{
  background:#ff892e;
  border-color:#ff892e;
  color:#121212;
}
.pn428-date-label{
  display:flex;
  align-items:center;
  gap:10px;
  color:#d6deeb;
  font-size:13px;
  margin:0 0 16px;
}
.pn428-date-label input{
  background:#0d1723;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius:10px;
  padding:8px 10px;
}
.pn428-games{
  display:grid;
  gap:12px;
}
.pn428-game{
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  padding:14px 15px;
}
.pn428-game-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:12px;
  color:#b5c3d6;
  margin-bottom:10px;
}
.pn428-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  background:#202e41;
  color:#e7edf6;
}
.pn428-status.live{background:rgba(255,136,45,.15); color:#ffb06c; border:1px solid rgba(255,136,45,.28)}
.pn428-status.final{background:rgba(255,255,255,.08)}
.pn428-status.scheduled{background:rgba(80,133,255,.14); color:#cbd8ff}
.pn428-match{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.pn428-team{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.pn428-team.away{justify-content:flex-end;text-align:right}
.pn428-team-badge{
  width:42px;
  height:42px;
  border-radius:50%;
  flex:0 0 42px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.pn428-team-badge img{
  width:30px;
  height:30px;
  object-fit:contain;
}
.pn428-team-badge .fallback{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ff892e;
  color:#111;
  font-size:11px;
  font-weight:900;
}
.pn428-team-meta{min-width:0}
.pn428-team-name{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  white-space:normal;
  overflow-wrap:anywhere;
}
.pn428-team-note{
  display:block;
  color:#9fb1c8;
  font-size:11px;
  margin-top:2px;
}
.pn428-center{
  min-width:94px;
  text-align:center;
  padding:0 4px;
}
.pn428-score{
  display:block;
  color:#fff;
  font-weight:900;
  font-size:24px;
  line-height:1;
  letter-spacing:-.02em;
}
.pn428-score.pn428-vs{font-size:17px;color:#ffb577;letter-spacing:.08em}
.pn428-center-sub{
  display:block;
  margin-top:5px;
  font-size:11px;
  color:#96abc4;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.pn428-empty{font-size:14px;color:#bccbdc;padding:22px 4px}
.pn428-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:16px;
  color:#ffb06c;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.pn428-more:hover{color:#ffd0aa}
.pn428-standings-body{padding:0 18px 18px}
.pn428-table-wrap{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(10,18,28,.45);
}
.pn428-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
  color:#eef2f7;
}
.pn428-table thead th{
  background:rgba(255,255,255,.04);
  color:#9fb3ca;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  text-align:right;
  padding:11px 6px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pn428-table thead th:nth-child(2){text-align:left}
.pn428-table tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
.pn428-table tbody tr:hover{background:rgba(255,137,46,.07)}
.pn428-table td{
  text-align:right;
  padding:9px 6px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pn428-table tbody tr:last-child td{border-bottom:0}
.pn428-table td:nth-child(2){text-align:left}
.pn428-pos{font-weight:900;color:#ffb06c;display:inline-block;min-width:18px}
.pn428-table .team-cell{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.pn428-table .team-cell img{
  width:22px;
  height:22px;
  object-fit:contain;
  flex:0 0 22px;
}
.pn428-table .team-cell span{
  display:inline-block;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pn428-col-dif{display:table-cell}
.pn428-standings-note{font-size:12px;color:#a8b7ca;margin-top:10px;line-height:1.45}
.pn428-clubs{margin-top:14px}
.pn428-clubs a{color:#ffab73;text-decoration:none;font-weight:700}
@media(max-width:1180px){
  .pn428-dashboard{grid-template-columns:1fr}
  .pn428-col-dif{display:none}
}
@media(max-width:820px){
  .pn428-schedule,.pn428-standings{border-radius:16px}
  .pn428-card-inner,.pn428-standings-body{padding:14px}
  .pn428-head h3{font-size:22px!important}
  .pn428-match{grid-template-columns:1fr}
  .pn428-team,.pn428-team.away{justify-content:flex-start;text-align:left}
  .pn428-center{order:-1;min-width:0;margin-bottom:4px}
  .pn428-score{font-size:22px}
  .pn428-table{font-size:11px}
  .pn428-table thead th,.pn428-table td{padding:8px 4px}
  .pn428-team-name{font-size:14px}
  .pn428-team-badge{width:38px;height:38px;flex-basis:38px}
}
