#ms-results-app{width:100%;font-family:Arial,Helvetica,sans-serif;color:#293b48}#ms-results-app *{box-sizing:border-box}.ms-upload-screen{max-width:750px;margin:40px auto;padding:45px 25px;text-align:center;background:#f7f7f7;border:1px solid #dedede;border-radius:15px}.ms-upload-screen h1{margin:0 0 15px;font-size:32px}.ms-upload-screen p{color:#65717a;margin-bottom:30px}.ms-upload-button{display:inline-block;padding:15px 28px;background:#ADCF78;color:#fff;border-radius:8px;cursor:pointer;font-weight:bold}.ms-upload-button input{display:none}.ms-file-name{margin-top:20px;color:#65717a;font-size:14px}.ms-container{max-width:1450px;margin:auto;padding:30px 15px}.ms-header{text-align:center;margin-bottom:30px}.ms-header h1{margin:0;font-size:34px}.ms-header p{margin:10px 0 0;color:#687582;font-size:17px}.ms-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;margin-bottom:30px}.ms-card{padding:20px 10px;text-align:center;border:1px solid #ddd;border-radius:12px;background:#f7f7f7}.ms-card-value{font-size:28px;font-weight:bold;color:#ADCF78;margin-bottom:8px}.ms-card-label{color:#596670;font-size:14px}.ms-main-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:2px solid #ddd;margin-bottom:25px;padding-bottom:2px}.ms-main-tab{border:none;background:#f1f3f4;color:#44515c;padding:13px 20px;border-radius:10px 10px 0 0;cursor:pointer;white-space:nowrap;font-weight:bold}.ms-main-tab.active{background:#ADCF78;color:#fff}.ms-panel{display:none}.ms-panel.active{display:block}.ms-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;margin-bottom:20px}.ms-filters input,.ms-filters select{width:100%;padding:12px;border:1px solid #d4d8db;border-radius:8px;background:#fff}.ms-table-wrap{overflow-x:auto;border:1px solid #e0e0e0;border-radius:10px}.ms-table{width:100%;min-width:900px;border-collapse:collapse}.ms-table th{background:#ADCF78;color:#fff;padding:13px 10px;text-align:left;white-space:nowrap}.ms-table td{padding:12px 10px;border-bottom:1px solid #ececec}.ms-table tr:hover{background:#f6f8f7}.ms-position{font-weight:bold;color:#ADCF78}.ms-time{font-weight:bold;white-space:nowrap}.ms-status{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:bold}.ms-finished{background:#dff3e8;color:#5F7D35}.ms-not-finished{background:#ffe4e4;color:#b23a3a}.ms-btn{border:none;padding:8px 12px;border-radius:7px;cursor:pointer;background:#ADCF78;color:#fff;font-size:13px}.ms-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ms-podium-card{border:1px solid #ddd;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.ms-podium-title{padding:14px 16px;background:#ADCF78;color:#fff;font-weight:bold;font-size:16px}
.ms-podium-row{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid #eee}
.ms-podium-row:last-child{border-bottom:none}
.ms-medal{font-size:25px;text-align:center}
.ms-podium-name{font-weight:bold}
.ms-podium-meta{font-size:12px;color:#687582;margin-top:3px}
.ms-podium-time{font-weight:bold;color:#ADCF78;white-space:nowrap}.ms-category-card{border:1px solid #ddd;border-radius:12px;overflow:hidden}.ms-category-title{padding:13px;background:#ADCF78;color:#fff;font-weight:bold}.ms-category-row{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid #eee}.ms-category-pos{width:35px;color:#ADCF78;font-weight:bold}.ms-club-controls{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.ms-toggle{padding:10px 15px;border:1px solid #ccc;border-radius:7px;background:#f5f5f5;cursor:pointer}.ms-toggle.active{background:#ADCF78;color:#fff;border-color:#ADCF78}.ms-ranking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.ms-ranking-box{border:1px solid #ddd;border-radius:12px;overflow:hidden}.ms-ranking-title{padding:14px;background:#f3f5f4;font-weight:bold;font-size:17px}.ms-ranking-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid #eee}.ms-ranking-num{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ADCF78;color:#fff;font-weight:bold}.ms-intermediate-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:20px;padding-bottom:5px}.ms-intermediate-tab{padding:11px 18px;border:1px solid #d5d5d5;background:#f7f7f7;border-radius:8px;cursor:pointer;white-space:nowrap;font-weight:bold}.ms-intermediate-tab.active{background:#ADCF78;border-color:#ADCF78;color:#fff}.ms-intermediate-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-bottom:20px}.ms-small-card{border:1px solid #ddd;background:#f8f9f9;border-radius:10px;padding:16px;text-align:center}.ms-small-value{font-size:22px;font-weight:bold;color:#ADCF78}.ms-small-label{margin-top:7px;font-size:13px;color:#65717a}.ms-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.7);z-index:99999;padding:20px}.ms-modal.show{display:flex}.ms-modal-content{position:relative;width:100%;max-width:900px;max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:25px}.ms-close{position:absolute;top:10px;right:15px;border:none;background:none;font-size:32px;cursor:pointer}.ms-diploma{min-height:500px;padding:45px 30px;border:8px solid #ADCF78;text-align:center;background:linear-gradient(135deg,#ffffff,#f5f8f6)}
.ms-diploma-logo{max-width:260px;width:80%;height:auto;margin:0 auto 25px;display:block}.ms-diploma h2{margin:0 0 25px;color:#ADCF78;font-size:36px}.ms-diploma-name{margin:30px 0;font-size:32px;font-weight:bold}.ms-diploma-info{font-size:18px;line-height:1.8}.ms-diploma-actions{display:flex;justify-content:center;margin-top:20px}@media(max-width:1000px){.ms-summary{grid-template-columns:repeat(3,1fr)}.ms-intermediate-summary{grid-template-columns:repeat(3,1fr)}.ms-filters{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ms-container{padding:20px 8px}.ms-header h1{font-size:26px}.ms-summary{grid-template-columns:repeat(2,1fr);gap:10px}.ms-intermediate-summary{grid-template-columns:repeat(2,1fr)}.ms-filters{grid-template-columns:1fr}}@media print{body *{visibility:hidden!important}#msDiplomaModal,#msDiplomaModal *{visibility:visible!important}#msDiplomaModal{position:absolute!important;inset:0!important;background:#fff!important}.ms-close,.ms-diploma-actions{display:none!important}}
/* Multiesport corporate green: RGB(173,207,120) / #ADCF78 */
.ms-main-tab.active,
.ms-table th,
.ms-btn,
.ms-podium-title,
.ms-category-title,
.ms-toggle.active,
.ms-ranking-num,
.ms-intermediate-tab.active {
    color: #1f3218;
}

.ms-card-value,
.ms-position,
.ms-podium-time,
.ms-category-pos,
.ms-small-value,
.ms-diploma h2 {
    color: #5F7D35;
}

.ms-finished {
    background: #EAF4DE;
    color: #5F7D35;
}

.ms-diploma {
    border-color: #ADCF78;
}


/* =========================================================
   PAGINACIÓN DE CLASIFICACIÓN
   ========================================================= */
.ms-pagination-wrap{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 4px 8px;
}

.ms-pagination-info{
    font-size:14px;
    color:#55615a;
}

.ms-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
}

.ms-page-btn{
    appearance:none;
    border:1px solid #d8e1d1;
    background:#fff;
    color:#3e4c42;
    border-radius:8px;
    min-width:40px;
    height:40px;
    padding:0 12px;
    font-weight:700;
    cursor:pointer;
    transition:all .2s ease;
}

.ms-page-btn:hover:not(:disabled){
    border-color:#ADCF78;
    background:#f3f9ec;
}

.ms-page-btn.active{
    background:#ADCF78;
    border-color:#ADCF78;
    color:#1f3218;
}

.ms-page-btn:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.ms-page-prev,
.ms-page-next{
    min-width:auto;
}

.ms-page-dots{
    padding:0 5px;
    color:#6d786f;
    font-weight:700;
}

.ms-empty-results{
    text-align:center;
    padding:32px !important;
    color:#6d786f;
}

@media(max-width:640px){
    .ms-pagination-wrap{
        flex-direction:column;
        align-items:stretch;
    }

    .ms-pagination-info{
        text-align:center;
    }

    .ms-pagination{
        justify-content:center;
    }

    .ms-page-prev,
    .ms-page-next{
        font-size:0;
        min-width:40px;
        padding:0;
    }

    .ms-page-prev::first-letter,
    .ms-page-next::first-letter{
        font-size:18px;
    }
}

/* CLASIFICACIONES POR ATRIBUTOS */
.ms-attribute-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding-bottom:4px}
.ms-attribute-tab{appearance:none;border:1px solid #d8e1d1;background:#fff;color:#3e4c42;border-radius:999px;padding:10px 16px;font-weight:700;cursor:pointer;transition:all .2s ease}
.ms-attribute-tab:hover{border-color:#ADCF78;background:#f3f9ec}
.ms-attribute-tab.active{background:#ADCF78;border-color:#ADCF78;color:#1f3218}
.ms-attribute-title{margin-bottom:16px}
.ms-attribute-title h3{margin:0;color:#1f3218;font-size:22px}
@media(max-width:640px){.ms-attribute-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px}.ms-attribute-tab{white-space:nowrap;flex:0 0 auto}}


/* ATRIBUTOS V1.9 */
.ms-attribute-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 22px;
}

.ms-attribute-tab{
    appearance:none;
    border:1px solid #d8e1d1;
    background:#fff;
    color:#3e4c42;
    border-radius:999px;
    padding:10px 16px;
    font-weight:700;
    cursor:pointer;
}

.ms-attribute-tab:hover{
    border-color:#ADCF78;
    background:#f3f9ec;
}

.ms-attribute-tab.active{
    background:#ADCF78;
    border-color:#ADCF78;
    color:#1f3218;
}

.ms-attribute-title{
    margin:0 0 16px;
}

.ms-attribute-title h3{
    margin:0 0 5px;
    color:#1f3218;
    font-size:22px;
}

.ms-attribute-title p{
    margin:0;
    color:#6a746c;
}

.ms-attribute-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 20px;
}

.ms-attribute-filters select,
.ms-attribute-clear{
    min-height:42px;
    border:1px solid #d8e1d1;
    border-radius:8px;
    background:#fff;
    padding:0 12px;
    color:#344139;
}

.ms-attribute-filters select{
    min-width:190px;
    flex:1 1 190px;
}

.ms-attribute-clear{
    cursor:pointer;
    font-weight:700;
}

.ms-attribute-clear:hover{
    border-color:#ADCF78;
    background:#f3f9ec;
}

@media(max-width:640px){
    .ms-attribute-tabs{
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:8px;
    }

    .ms-attribute-tab{
        white-space:nowrap;
        flex:0 0 auto;
    }

    .ms-attribute-filters{
        flex-direction:column;
    }

    .ms-attribute-filters select,
    .ms-attribute-clear{
        width:100%;
    }
}


/* Atributos PDF configurables desde shortcode */
.ms-attribute-pdf-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.ms-attribute-pdf-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.ms-attribute-pdf-button:hover{text-decoration:none;transform:translateY(-1px)}

.ms-diploma-actions{gap:10px;flex-wrap:wrap}.ms-btn-secondary{background:#f3f5f4!important;color:#3e4c42!important;border:1px solid #d8e1d1!important}.ms-diploma-actions .ms-btn:disabled{opacity:.6;cursor:wait}
@media print{
  @page{size:A4 landscape;margin:0}
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body *{visibility:hidden!important}
  #msDiplomaModal,#msDiplomaModal *{visibility:visible!important}
  #msDiplomaModal{position:fixed!important;inset:0!important;display:block!important;padding:0!important;margin:0!important;background:#fff!important;overflow:hidden!important}
  #msDiplomaModal .ms-modal-content{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:hidden!important;padding:0!important;margin:0!important;border-radius:0!important;background:#fff!important}
  #msDiplomaModal .ms-diploma{width:297mm!important;height:210mm!important;min-height:210mm!important;margin:0!important;padding:24mm 18mm!important;border:3mm solid #ADCF78!important;box-sizing:border-box!important;page-break-after:avoid!important;break-after:avoid-page!important}
  #msDiplomaModal .ms-diploma-logo{max-width:70mm!important;margin:0 auto 10mm!important}
  #msDiplomaModal .ms-diploma h2{font-size:11mm!important;margin:0 0 7mm!important}
  #msDiplomaModal .ms-diploma-name{font-size:10mm!important;margin:8mm 0!important}
  #msDiplomaModal .ms-diploma-info{font-size:5.5mm!important;line-height:1.7!important}
  #msDiplomaModal .ms-close,#msDiplomaModal .ms-diploma-actions{display:none!important}
}

/* v2.6 - selector de eventos */
.ms-events-panel{padding:28px 0}
.ms-events-title{text-align:center;margin-bottom:24px}
.ms-events-title h2{margin:0 0 8px}
.ms-events-title p{margin:0;color:#666}
.ms-events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.ms-event-card{appearance:none;border:1px solid #d8d8d8;background:#fff;border-radius:12px;padding:22px 18px;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.ms-event-card:hover,.ms-event-card.active{border-color:#5f7d35;box-shadow:0 4px 14px rgba(0,0,0,.09);transform:translateY(-1px)}
.ms-event-name{display:block;font-size:20px;font-weight:700;color:#333;margin-bottom:8px}
.ms-event-count{display:block;font-size:14px;color:#777}
.ms-selected-event{margin-top:8px;font-size:15px;color:#666}


/* =========================================================
   V2.7 · VISTA MÓVIL DE PARTICIPANTES
   ========================================================= */
.ms-mobile-classification{display:none}
.ms-mobile-participant{display:flex;width:100%;align-items:center;gap:8px;margin:0 0 9px;padding:11px 9px;border:1px solid #dce3df;border-radius:13px;background:#fff;color:#293b48;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(41,59,72,.05);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.ms-mobile-participant:hover,.ms-mobile-participant:focus{border-color:#ADCF78;box-shadow:0 4px 14px rgba(95,125,53,.12);outline:none}
.ms-mobile-participant:active{transform:scale(.99)}
.ms-mobile-rank{flex:0 0 38px;text-align:center;border-right:1px solid #edf0ee;padding-right:6px}
.ms-mobile-rank strong{display:block;font-size:17px;line-height:20px;color:#5F7D35}
.ms-mobile-rank small{display:block;font-size:9px;color:#7b8780;font-weight:700;text-transform:uppercase}
.ms-mobile-main{min-width:0;flex:1 1 auto}
.ms-mobile-name{display:block;font-size:13px;font-weight:800;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-mobile-meta,.ms-mobile-club{display:block;font-size:10px;line-height:15px;color:#6a756e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-mobile-club{color:#87918b}
.ms-mobile-result{flex:0 0 72px;text-align:right}
.ms-mobile-result strong{display:block;font-size:13px;color:#5F7D35;white-space:nowrap}
.ms-mobile-result small{display:block;font-size:10px;color:#687582;white-space:nowrap;margin-top:2px}
.ms-mobile-chevron{flex:0 0 14px;font-size:27px;line-height:1;color:#9aa49e;text-align:center}
.ms-mobile-participant.ms-detail-dnf,.ms-mobile-participant.ms-detail-dsq,.ms-mobile-participant.ms-detail-dns{background:#fbfcfb}
.ms-mobile-participant.ms-detail-dnf .ms-mobile-result strong,.ms-mobile-participant.ms-detail-dsq .ms-mobile-result strong,.ms-mobile-participant.ms-detail-dns .ms-mobile-result strong{color:#b23a3a}

.ms-participant-modal{padding:10px;background:rgba(10,18,15,.72);backdrop-filter:blur(3px)}
.ms-participant-modal-content{max-width:760px;max-height:94vh;padding:0;overflow:hidden;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.ms-participant-modal-content #msParticipantDetailContent{max-height:94vh;overflow:auto;padding:22px 18px 24px}
.ms-participant-modal .ms-close{z-index:2;top:7px;right:10px;width:40px;height:40px;border-radius:50%;background:#fff;font-size:28px;color:#4d5a52;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.ms-detail-topline{display:flex;gap:8px;flex-wrap:wrap;padding-right:48px;margin-bottom:13px}
.ms-detail-position,.ms-detail-category-position{display:inline-flex;align-items:center;padding:8px 11px;border-radius:10px;background:#eef7e5;color:#4d6d2c;font-size:12px;font-weight:800}
.ms-detail-category-position{background:#edf3fa;color:#315d87}
.ms-detail-name{font-size:25px;line-height:29px;font-weight:900;color:#1f2d36;padding-right:45px}
.ms-detail-dorsal{font-size:13px;color:#687582;margin-top:4px;margin-bottom:17px}
.ms-detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid #e1e7e3;border-radius:13px;overflow:hidden;background:#e1e7e3}
.ms-detail-info-grid>div{background:#fff;padding:11px 12px;min-width:0}
.ms-detail-info-grid span{display:block;font-size:10px;color:#748078;margin-bottom:3px;text-transform:uppercase;font-weight:700}
.ms-detail-info-grid strong{display:block;font-size:13px;color:#2e3c35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-detail-status-pill{display:inline-block!important;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;font-size:10px!important}
.ms-detail-finished{background:#eaf4de;color:#5f7d35!important}.ms-detail-dnf,.ms-detail-dsq{background:#fff0f0;color:#b23a3a!important}.ms-detail-dns{background:#f2f3f3;color:#687582!important}.ms-detail-other{background:#f5f5f5;color:#687582!important}
.ms-detail-highlight{display:grid;grid-template-columns:1fr 1fr;margin:15px 0;border-radius:15px;background:linear-gradient(135deg,#f5faef,#edf5e7);border:1px solid #dce9d0;overflow:hidden}
.ms-detail-highlight>div{text-align:center;padding:16px 8px}.ms-detail-highlight>div+div{border-left:1px solid #dce9d0}.ms-detail-highlight span{display:block;font-size:11px;color:#65717a;margin-bottom:5px}.ms-detail-highlight strong{display:block;font-size:25px;color:#2d6c38;line-height:1.1}
.ms-detail-status-large{margin:15px 0;padding:18px;text-align:center;border-radius:14px;font-size:20px;font-weight:900}.ms-detail-status-large small{display:block;font-size:11px;font-weight:400;color:#6d7772;margin-top:5px}
.ms-detail-section{margin-top:17px}.ms-detail-section h3{margin:0 0 9px;padding:10px 12px;border-radius:10px;background:#eef5fa;color:#315d87;font-size:12px;letter-spacing:.2px}
.ms-detail-table-wrap{overflow-x:auto;border:1px solid #e0e6e2;border-radius:11px}.ms-detail-table{width:100%;min-width:560px;border-collapse:collapse;font-size:11px}.ms-detail-table th{background:#f5f7f6;color:#526059;padding:9px 8px;text-align:left;white-space:nowrap}.ms-detail-table td{padding:9px 8px;border-top:1px solid #edf0ee;white-space:nowrap}.ms-detail-table td:nth-child(2){font-weight:800;color:#5f7d35}
.ms-detail-actions{display:flex;justify-content:center;gap:9px;margin-top:18px}.ms-detail-action{border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer}.ms-detail-action-primary{background:#ADCF78;color:#1f3218}
body.ms-modal-open{overflow:hidden}
@media(max-width:640px){
    .ms-desktop-classification{display:block}
    .ms-mobile-classification{display:block}
    .ms-desktop-classification{overflow-x:auto}
    .ms-table-wrap.ms-desktop-classification{display:none}
    .ms-mobile-participant{min-height:72px}
    .ms-pagination-wrap{margin-top:7px}
    .ms-participant-modal{align-items:flex-end;padding:0}
    .ms-participant-modal-content{width:100%;max-width:none;max-height:94vh;border-radius:20px 20px 0 0}
    .ms-participant-modal-content #msParticipantDetailContent{max-height:94vh;padding:22px 13px 25px}
    .ms-detail-name{font-size:22px;line-height:27px}
    .ms-detail-highlight strong{font-size:22px}
    .ms-detail-table{min-width:520px}
}


/* =========================================================
   BANDERAS / ORIGEN v2.8
   ========================================================= */
.ms-participant-name-with-flag{display:inline-flex;align-items:center;gap:7px}
.ms-origin-flag{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0;vertical-align:middle}
.ms-origin-flag img{display:block;width:26px;height:18px;object-fit:cover;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.ms-origin-flag-mobile img{width:24px;height:16px}
.ms-origin-flag-detail img{width:38px;height:25px;border-radius:5px;box-shadow:0 2px 6px rgba(0,0,0,.16)}
.ms-detail-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
@media(max-width:640px){
    .ms-mobile-name{display:flex;align-items:center;gap:7px}
    .ms-origin-flag-mobile img{width:25px;height:17px}
}


/* =========================================================
   V2.9 · FICHA DE PARTICIPANTE TAMBIÉN EN PC
   ========================================================= */
.ms-desktop-participant-cell{cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}
.ms-desktop-participant-cell:hover{background:#f4f8ef;box-shadow:inset 3px 0 0 #ADCF78}
.ms-desktop-participant-cell:focus{outline:2px solid #ADCF78;outline-offset:-2px;background:#f4f8ef}
.ms-desktop-participant-cell strong{cursor:pointer}


/* =========================================================
   V2.10 · DIFERENCIAS ENTRE TRAMOS + JPG DE FICHA
   ========================================================= */
.ms-detail-checkpoints-table{min-width:0!important}
.ms-detail-checkpoints-table th:last-child,.ms-detail-checkpoints-table td:last-child{text-align:right}
.ms-detail-segments-table{min-width:680px}
.ms-position-delta{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:3px 6px;border-radius:7px;font-weight:900;font-size:11px;line-height:1.1}
.ms-position-delta-up{background:#e7f6ea;color:#159447}
.ms-position-delta-down{background:#fff0f0;color:#d92d20}
.ms-position-delta-neutral{color:#7a8780;background:#f3f5f4}
.ms-detail-action-secondary{background:#edf3fa;color:#315d87}
@media(max-width:640px){
    .ms-detail-actions{flex-wrap:wrap}
    .ms-detail-action{flex:1 1 100%;min-width:0}
    .ms-detail-action-primary,.ms-detail-action-secondary{min-height:44px}
}

/* Perfil de desnivel Wikiloc */
.ms-wikiloc-section{overflow:hidden}.ms-wikiloc-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ms-wikiloc-heading h3{margin:0!important}.ms-wikiloc-link{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid #d4e4c2;border-radius:7px;background:#f4f8ef;color:#5f7d35;text-decoration:none;font-size:12px;font-weight:bold;white-space:nowrap}.ms-wikiloc-link:hover{background:#eaf4df}.ms-wikiloc-frame{width:100%;border:1px solid #dfe5e1;border-radius:10px;overflow:hidden;background:#fff;min-height:500px}.ms-wikiloc-frame iframe{display:block;width:100%;height:500px;border:0}.ms-wikiloc-loading{min-height:500px;display:flex;align-items:center;justify-content:center;color:#777;font-size:13px}
.ms-wikiloc-powered{padding:4px 8px 7px;color:#777;font-size:11px;line-height:16px;background:#fff}.ms-wikiloc-powered a{color:#4C8C2B;text-decoration:none}@media(max-width:640px){.ms-wikiloc-heading{align-items:flex-start;flex-direction:column}.ms-wikiloc-link{font-size:11px}.ms-wikiloc-frame{min-height:360px}.ms-wikiloc-frame iframe{height:360px}.ms-wikiloc-loading{min-height:360px}

/* =========================================================
   V2.20 · WIKILOC OVERLAY INDEPENDIENTE
   ========================================================= */
.ms-wikiloc-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.ms-wikiloc-overlay-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.ms-wikiloc-overlay-panel{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:12px;padding:20px;box-sizing:border-box;box-shadow:0 12px 45px rgba(0,0,0,.35)}
.ms-wikiloc-overlay-close{position:absolute;top:8px;right:10px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#4d5a52;font-size:28px;line-height:38px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ms-wikiloc-overlay-panel .ms-wikiloc-heading{padding-right:45px}
.ms-wikiloc-overlay-panel .ms-wikiloc-frame{width:100%;min-height:500px}
.ms-wikiloc-overlay-panel .ms-wikiloc-frame iframe{display:block;width:600px;max-width:100%;height:500px;margin:0 auto;border:0}
@media(max-width:640px){
 .ms-wikiloc-overlay{padding:10px;align-items:center}
 .ms-wikiloc-overlay-panel{width:100%;max-height:calc(100vh - 20px);padding:14px}
 .ms-wikiloc-overlay-panel .ms-wikiloc-frame{min-height:360px}
 .ms-wikiloc-overlay-panel .ms-wikiloc-frame iframe{width:100%;height:360px}
}


/* v2.21 - perfil de desnivel como imagen local */
.ms-profile-section{overflow:hidden}
.ms-profile-image-wrap{width:100%;border:1px solid #dfe5e1;border-radius:10px;overflow:hidden;background:#fff;padding:8px;box-sizing:border-box}
.ms-profile-image{display:block;width:100%;height:auto;max-width:100%;border:0;border-radius:6px}
@media(max-width:640px){.ms-profile-image-wrap{padding:5px}.ms-profile-image{width:100%;height:auto}}


/* =========================================================
   V2.24 · FICHA AVANZADA DEL PARTICIPANTE
   ========================================================= */
.ms-detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ms-detail-section-heading h3{margin:0!important}.ms-detail-section-note{font-size:11px;color:#7a8780;background:#f3f6f4;border-radius:999px;padding:5px 9px;white-space:nowrap}
.ms-attribute-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.ms-attribute-result-card{border:1px solid #dce5d7;background:linear-gradient(135deg,#fff,#f6faf3);border-radius:12px;padding:15px}.ms-attribute-result-name{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#718077;font-weight:800}.ms-attribute-result-value{font-size:18px;font-weight:900;color:#293b48;margin-top:6px}.ms-attribute-result-position{margin-top:8px;color:#5f7d35;font-size:12px}.ms-attribute-result-position strong{font-size:20px}.ms-attribute-no-position{color:#7a8780}
.ms-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ms-performance-card{background:#f6f8f7;border-radius:12px;padding:15px;border:1px solid #e2e8e4}.ms-performance-card span{display:block;color:#7a8780;font-size:11px;text-transform:uppercase;font-weight:800}.ms-performance-card strong{display:block;margin-top:7px;color:#293b48;font-size:14px;line-height:1.35}
.ms-evolution-list{display:flex;flex-direction:column;gap:7px}.ms-evolution-row{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(100px,3fr) 42px;align-items:center;gap:10px;font-size:12px}.ms-evolution-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#536159}.ms-evolution-track{height:8px;background:#edf1ee;border-radius:999px;overflow:hidden}.ms-evolution-track span{display:block;height:100%;background:#ADCF78;border-radius:999px}.ms-evolution-row strong{text-align:right;color:#293b48}
.ms-journey-list{display:flex;flex-direction:column;gap:0}.ms-journey-item{display:grid;grid-template-columns:32px minmax(150px,1fr) 90px 45px;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid #edf0ee}.ms-journey-item:last-child{border-bottom:0}.ms-journey-marker{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef5e8;color:#5f7d35;font-size:11px;font-weight:900}.ms-journey-item.segment .ms-journey-marker{background:#edf3fa;color:#315d87}.ms-journey-main strong{display:block;color:#293b48;font-size:13px}.ms-journey-main span{display:block;color:#87928c;font-size:10px;text-transform:uppercase;margin-top:2px}.ms-journey-time{text-align:right;font-weight:800;color:#293b48}.ms-journey-rank{text-align:right;color:#5f7d35;font-weight:900}
.ms-attribute-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:18px}.ms-attribute-overview-card{padding:15px;border:1px solid #dce5d7;background:#f7faf5;border-radius:12px}.ms-attribute-overview-card strong{display:block;color:#5f7d35;font-size:13px}.ms-attribute-overview-card span{display:block;color:#293b48;margin-top:5px;font-weight:700;font-size:14px}
@media(max-width:640px){.ms-performance-grid{grid-template-columns:1fr}.ms-evolution-row{grid-template-columns:minmax(90px,1.1fr) minmax(80px,2fr) 35px}.ms-journey-item{grid-template-columns:28px minmax(120px,1fr) 76px 36px;gap:7px}.ms-journey-main strong{font-size:12px}.ms-journey-time{font-size:12px}.ms-journey-rank{font-size:11px}.ms-attribute-result-grid{grid-template-columns:1fr}.ms-detail-section-heading{align-items:flex-start;flex-direction:column}}
