/* Liga UBL · Clasificaciones PRO · Fase 1 */
.classifications-page{background:linear-gradient(180deg,#edf4fc 0,#f7f9fc 420px,#f4f7fb 100%);color:#0b1b36}
.classifications-page .container{max-width:1640px;margin:0 auto;padding:18px 22px 34px}
.comp-pro-hero{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(120deg,#030919 0%,#0a1a3b 58%,#173f77 100%);color:#fff;padding:34px 38px 28px;margin:18px 0;box-shadow:0 24px 58px rgba(5,18,42,.22)}
.comp-pro-hero:after{content:'UBL';position:absolute;right:28px;top:2px;font-size:132px;line-height:1;font-weight:1000;color:rgba(255,255,255,.055);letter-spacing:-10px;pointer-events:none}
.comp-pro-eyebrow{font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase;color:#facc15;margin-bottom:9px}
.comp-pro-title{margin:0;font-size:clamp(34px,5vw,66px);line-height:.95;letter-spacing:-.045em;font-weight:1000;text-transform:uppercase;max-width:950px}
.comp-pro-subtitle{margin:14px 0 0;color:#dbe7f8;font-size:15px;font-weight:650}
.comp-pro-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.comp-pro-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);font-size:12px;font-weight:850;backdrop-filter:blur(8px)}
.comp-pro-chip--live{background:#facc15;color:#101827;border-color:#facc15}
.comp-pro-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:12px;margin-top:28px;max-width:1050px}
.comp-pro-stat{padding:15px 16px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.075);border-radius:17px;backdrop-filter:blur(8px)}
.comp-pro-stat strong{display:block;font-size:24px;line-height:1;font-weight:1000;color:#fff;margin-bottom:5px}
.comp-pro-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#bcd0ea;font-weight:850}
.comp-pro-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 16px;padding:10px;border:1px solid #d9e4f2;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 12px 32px rgba(15,35,70,.08);backdrop-filter:blur(10px)}
.comp-pro-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:12px;text-decoration:none;color:#19304f;font-size:13px;font-weight:900;border:1px solid transparent}
.comp-pro-actions a:hover{background:#eef5ff;color:#0b55c8}
.comp-pro-actions a.is-primary{background:#07162f;color:#fff}
.classifications-page .panel{border:1px solid #dbe5f1;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(15,35,70,.10);overflow:hidden}
.classifications-page .panel-head{padding:20px 22px;border-bottom:1px solid #e5edf6;background:linear-gradient(180deg,#fff,#f8fbff);align-items:center}
.classifications-page .panel-head .kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#2781dd;font-weight:950}
.classifications-page .panel-head .h{font-size:27px;color:#071a38;font-weight:1000;letter-spacing:-.03em}
.classifications-page .toolbar{gap:8px}
.classifications-page .toolbar .input{height:44px;min-width:320px;border:1px solid #ccdaea;border-radius:13px;background:#fff;padding:0 14px}
.classifications-page .btn{border-radius:12px;font-weight:850;border-color:#d1deed;min-height:42px}
.classifications-page .tabs{display:flex;gap:8px;overflow-x:auto;padding:15px 20px;background:#f6f9fd;border-bottom:1px solid #e1eaf4;scrollbar-width:thin}
.classifications-page .tab{flex:0 0 auto;border:1px solid #d4e0ee;background:#fff;color:#29415e;border-radius:12px;padding:10px 15px;font-weight:900;box-shadow:none}
.classifications-page .tab.active{background:#0b2b5b;color:#fff;border-color:#0b2b5b;box-shadow:0 8px 18px rgba(11,43,91,.18)}
.classifications-page .content{padding:0;background:#fff}
.classifications-page .table-wrap{border-radius:0!important;border:0!important;box-shadow:none!important}
.classifications-page table thead th{background:#081a38!important;color:#fff!important;text-transform:uppercase;letter-spacing:.035em;font-size:11px!important;border-color:#17365f!important}
.classifications-page table tbody tr{transition:background .15s ease,transform .15s ease}
.classifications-page table tbody tr:hover td{background:#eef6ff!important}
.classifications-page table tbody tr:nth-child(1) td{background:linear-gradient(90deg,rgba(250,204,21,.19),rgba(250,204,21,.07))}
.classifications-page table tbody tr:nth-child(2) td{background:linear-gradient(90deg,rgba(148,163,184,.15),rgba(148,163,184,.05))}
.classifications-page table tbody tr:nth-child(3) td{background:linear-gradient(90deg,rgba(180,83,9,.11),rgba(180,83,9,.035))}
.classifications-page .general-summary{display:none!important}
.comp-registration-box{border-radius:20px!important;border:1px solid #dae6f2!important}
@media(max-width:900px){
 .classifications-page .container{padding:0 0 24px;max-width:none}
 .classifications-page .pcs-header{border-radius:0!important}
 .comp-pro-hero{border-radius:0;padding:27px 18px 22px;margin:0}
 .comp-pro-hero:after{font-size:90px;right:8px;top:20px}
 .comp-pro-title{font-size:38px;max-width:90%}
 .comp-pro-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px}
 .comp-pro-stat{padding:12px}.comp-pro-stat strong{font-size:20px}
 .comp-pro-actions{margin:12px;border-radius:16px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}
 .comp-pro-actions a{flex:0 0 auto}
 .classifications-page .panel{border-radius:18px;margin:0 10px}
 .classifications-page .panel-head{padding:16px;display:block}
 .classifications-page .toolbar{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}
 .classifications-page .toolbar .input{grid-column:1/-1;min-width:0;width:100%}
 .classifications-page .tabs{padding:11px 12px}
}

/* Fase 1.1 · ajustes de legibilidad y CTA UBL */
.comp-pro-hero[style]{background-position:center 38%!important}
.comp-pro-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,23,.22),transparent 46%,rgba(2,8,23,.05));pointer-events:none}
.comp-pro-hero>*{position:relative;z-index:2}
.visitor-register-banner--inline{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;background:linear-gradient(112deg,#06142e 0%,#0b2f69 58%,#0ea5e9 100%)!important;border-top:3px solid #facc15!important;color:#fff;box-shadow:0 18px 38px rgba(4,19,48,.24)}
.visitor-register-banner--inline:after{content:'UBL';position:absolute;right:20%;top:-18px;font-size:104px;font-weight:1000;letter-spacing:-8px;color:rgba(255,255,255,.045);pointer-events:none}
.visitor-register-banner__left{position:relative;z-index:2;display:flex;align-items:center;gap:15px;min-width:0}
.visitor-register-banner__icon{width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:grid;place-items:center;background:#facc15;box-shadow:0 10px 25px rgba(250,204,21,.25)}
.visitor-register-banner__icon img{width:28px;height:28px;display:block}
.visitor-register-banner__eyebrow{display:block;margin-bottom:3px;color:#facc15;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:950}
.visitor-register-banner__text h3{margin:0 0 3px!important;color:#fff!important;font-size:22px!important;letter-spacing:-.02em}
.visitor-register-banner__text p{margin:0;color:#dbeafe;font-size:13px;font-weight:650}
.visitor-register-banner__actions{position:relative;z-index:2;display:flex;gap:10px;flex-wrap:wrap}
.visitor-register-banner__btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:13px;text-decoration:none;font-weight:900;white-space:nowrap}
.visitor-register-banner__btn img{width:19px;height:19px}
.visitor-register-banner__btn--primary{background:#facc15!important;color:#07162f!important;border:1px solid #facc15!important}
.visitor-register-banner__btn--secondary{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.30)!important}
@media(max-width:720px){.visitor-register-banner--inline{align-items:flex-start;flex-direction:column;padding:16px}.visitor-register-banner__actions{width:100%}.visitor-register-banner__btn{flex:1}.visitor-register-banner__icon{width:46px;height:46px;flex-basis:46px}.visitor-register-banner__text h3{font-size:18px!important}}

/* Liga UBL · Clasificaciones PRO · Fase 2 */
.comp-pro-stats{grid-template-columns:repeat(4,minmax(145px,1fr));max-width:1240px}
.comp-pro-stat--insight{background:linear-gradient(145deg,rgba(250,204,21,.15),rgba(255,255,255,.075));border-color:rgba(250,204,21,.26)}
.comp-pro-stat--insight strong{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comp-pro-actions{position:sticky;top:8px;z-index:35}
.rider-profile-name{color:inherit;text-decoration:none;font-weight:inherit}
.rider-profile-name:hover{color:#0b63ce;text-decoration:underline;text-underline-offset:3px}
.rider-name{display:inline-flex;align-items:center;gap:7px;min-width:0}
.rider-trend{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:21px;padding:0 6px;border-radius:999px;font-size:10px;line-height:1;font-weight:950;letter-spacing:.01em;flex:0 0 auto}
.rider-trend--up{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}
.rider-trend--down{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}
.rider-trend--same{background:#eef2f7;color:#64748b;border:1px solid #dbe3ed}
.classifications-page table tbody tr:hover .rider-profile-name{color:#0759bd}
@media(max-width:900px){
 .comp-pro-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .comp-pro-stat--insight strong{font-size:16px}
 .comp-pro-actions{top:4px}
 .rider-trend{display:none}
}

/* ===== 17-9-42 V4 · Modal detalles Liga UBL ===== */
#riderModal .modal-backdrop{
  background:rgba(2,8,23,.74);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
#riderModal .modal-card{
  width:min(880px,calc(100vw - 28px));
  max-height:min(86vh,780px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:#f8fafc;
  box-shadow:0 30px 90px rgba(2,8,23,.42);
}
#riderModal .modal-head{
  position:relative;
  overflow:hidden;
  align-items:center;
  padding:22px 24px;
  border-bottom:3px solid #f5c400;
  background:linear-gradient(120deg,#020817 0%,#0a1f47 62%,#173f78 100%);
}
#riderModal .modal-head::after{
  content:'UBL';
  position:absolute;
  right:72px;
  top:50%;
  transform:translateY(-50%);
  font-size:72px;
  line-height:1;
  font-weight:950;
  color:rgba(255,255,255,.055);
  pointer-events:none;
}
#riderModal .modal-head-copy{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
#riderModal .modal-head-icon{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  background:#f5c400;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 24px rgba(0,0,0,.2)
}
#riderModal .modal-head-icon img{width:27px;height:27px;object-fit:contain}
#riderModal .modal-kicker{color:#f5c400;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px}
#riderModal .modal-title{color:#fff;font-size:25px;font-weight:950;letter-spacing:-.02em}
#riderModal .modal-close{
  position:relative;z-index:2;width:42px;height:42px;padding:0;display:grid;place-items:center;
  color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);border-radius:13px;font-size:18px;font-weight:900
}
#riderModal .modal-close:hover{background:#f5c400;color:#07142d;border-color:#f5c400}
#riderModal .modal-body{padding:18px 24px 10px;overflow:auto;max-height:calc(86vh - 165px);background:linear-gradient(180deg,#f8fafc,#eef4fb)}
#riderModal .modal-section{margin:0 0 19px}
#riderModal .modal-section-title{display:flex;align-items:center;gap:9px;color:#071a3a;font-size:16px;font-weight:950;margin-bottom:10px}
#riderModal .modal-section-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#e8f1ff;border:1px solid #cddcf0}
#riderModal .modal-section-icon img{width:17px;height:17px;object-fit:contain}
#riderModal .modal-kv{gap:10px}
#riderModal .kv{
  border:1px solid #d6e0ed;background:#fff;border-radius:14px;padding:11px 13px;
  box-shadow:0 4px 14px rgba(15,35,70,.045)
}
#riderModal .kv:hover{border-color:#9fb8da;box-shadow:0 7px 20px rgba(15,35,70,.08)}
#riderModal .kv .k{color:#61728a;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
#riderModal .kv .v{color:#071a3a;font-size:14px;font-weight:800}
#riderModal .kv-note{border-left:4px solid #1677ff;background:#edf5ff}
#riderModal .pow-high{border-color:#fecaca;background:#fff1f2}
#riderModal .modal-foot{padding:13px 24px 17px;background:#fff;border-top:1px solid #dbe4ef}
#riderModal .modal-ubl-close{display:inline-flex;align-items:center;gap:8px;background:#071a3a;color:#fff;border:0;border-radius:12px;padding:11px 18px;font-weight:900}
#riderModal .modal-ubl-close:hover{background:#f5c400;color:#071a3a}
#riderModal .modal-ubl-close img{width:17px;height:17px;object-fit:contain}

@media(max-width:640px){
  #riderModal .modal-card{width:calc(100vw - 18px);border-radius:20px;max-height:90vh}
  #riderModal .modal-head{padding:17px 16px}
  #riderModal .modal-head-icon{width:44px;height:44px;border-radius:13px}
  #riderModal .modal-title{font-size:20px}
  #riderModal .modal-head::after{font-size:52px;right:55px}
  #riderModal .modal-body{padding:15px 15px 6px;max-height:calc(90vh - 150px)}
  #riderModal .modal-foot{padding:11px 15px 14px}
  #riderModal .modal-ubl-close{width:100%;justify-content:center}
}
