
/* Ranking v40 - capa específica para evitar pérdidas de estilo/caché */
.private-profile-avatar{width:72px!important;height:72px!important;border:3px solid rgba(255,255,255,.8)}
.private-ranking-nav{display:flex;gap:8px;overflow-x:auto;padding:5px;background:#fff;border:1px solid #e2ebe6;border-radius:18px;box-shadow:0 7px 22px rgba(15,72,53,.06)}
.private-ranking-nav a{white-space:nowrap;text-decoration:none;color:#315e55;font-weight:750;padding:10px 14px;border-radius:13px}.private-ranking-nav a.active{background:#176e50;color:#fff}
.rank-private-section{background:#fff;border:1px solid #e2ebe6;border-radius:22px;padding:20px;box-shadow:0 12px 34px rgba(20,70,45,.07)}.section-heading{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:18px}.section-heading h2{margin:0;font-size:1.45rem}.section-heading p{margin:4px 0 0;color:#6c7b75}
.private-match-card{border:1px solid #dfe8e3;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(22,77,64,.05)}.private-match-top{padding:10px 14px;background:#f7faf8;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#5c6d65;font-size:.82rem;font-weight:700}.private-match-status{padding:5px 9px;border-radius:999px;background:#fff;border:1px solid #dce7e1;color:#166642}.private-match-body{display:grid;grid-template-columns:84px minmax(320px,1fr) minmax(180px,.55fr);gap:16px;align-items:center;padding:16px}.private-match-date{border-radius:14px;background:#edf8f2;display:flex;flex-direction:column;align-items:center;padding:10px}.private-match-date b{font-size:1.5rem;color:#0b6041}.private-match-date span,.private-match-date small{font-size:.74rem;color:#607168}.private-match-players{display:grid;grid-template-columns:1fr 42px 1fr;gap:10px;align-items:center}.private-player{display:grid;grid-template-columns:46px 1fr;column-gap:10px;align-items:center}.private-player img{width:46px;height:46px;border-radius:50%;object-fit:cover;grid-row:1/3}.private-player small{color:#728078}.private-player:last-child{text-align:right;grid-template-columns:1fr 46px}.private-player:last-child img{grid-column:2;grid-row:1/3}.private-player:last-child b,.private-player:last-child small{grid-column:1}.private-match-place{display:flex;flex-direction:column;gap:4px}.private-match-place span{color:#65766e;font-size:.84rem}.private-match-actions{padding:0 16px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.private-match-actions details{min-width:0}.private-match-actions summary{list-style:none;cursor:pointer;width:100%}.private-match-actions summary::-webkit-details-marker{display:none}.private-action-form{margin-top:8px;padding:12px;border:1px solid #dfe9e3;border-radius:14px;background:#f8fbf9;display:grid;gap:8px}.private-action-form label{font-size:.78rem;font-weight:800;color:#53655d}.private-match-actions details[open]{grid-column:1/-1}.private-match-actions details[open] summary{max-width:250px}.rank-set-row{display:grid;grid-template-columns:54px 1fr 20px 1fr;gap:7px;align-items:center}.rank-set-row input{width:100%;border:1px solid #d7e2dc;border-radius:9px;padding:8px;text-align:center}.private-empty{text-align:center;padding:50px 20px;background:#f7faf8;border-radius:18px;font-size:2rem}.private-empty h3{font-size:1.15rem;margin-top:8px}.private-empty p{font-size:.92rem;color:#6a7a73}
.private-standing-list,.private-group-card{border:1px solid #e1e9e5;border-radius:17px;overflow:hidden}.private-group-card{margin-bottom:16px}.private-group-card h3{padding:13px 16px;margin:0;background:#edf6f1;font-size:1rem}.private-standing-row{display:grid;grid-template-columns:38px 46px 1fr auto;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid #edf1ef}.private-standing-row:first-child{border-top:0}.private-standing-row .rank-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover}.private-standing-row div{display:flex;flex-direction:column}.private-standing-row small{color:#748079}.private-calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.private-calendar-grid article{border:1px solid #dfe8e3;border-radius:15px;padding:14px;display:flex;flex-direction:column;gap:5px}.private-calendar-grid span{font-weight:700;color:#166642}.private-calendar-grid small{color:#6c7b75}
.player-admin-card-v40{border:1px solid #e0e9e4;border-radius:20px;padding:16px;background:#fff;box-shadow:0 7px 22px rgba(20,70,45,.05)}.player-select-check{font-size:.82rem;color:#728078;margin-bottom:10px}.player-admin-v40-grid{display:grid;grid-template-columns:minmax(250px,1.05fr) minmax(380px,1.6fr) minmax(240px,.8fr);gap:22px;align-items:center}.player-admin-v40-person{display:flex;align-items:center;gap:14px}.player-admin-country{font-size:.82rem;color:#748079}.player-admin-v40-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px}.player-admin-v40-contact>div{display:grid;grid-template-columns:22px 1fr;column-gap:6px;padding:9px 10px;background:#f8fbf9;border-radius:12px}.player-admin-v40-contact span{grid-row:1/3}.player-admin-v40-contact b{font-size:.76rem;color:#4f625a}.player-admin-v40-contact small{font-size:.87rem;overflow-wrap:anywhere}.player-admin-v40-ranking{min-width:0}
.rank-public-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rank-stat-card{border-radius:23px;padding:22px;display:flex;gap:18px;align-items:center;border:1px solid #e4ebe7}.rank-stat-green{background:linear-gradient(135deg,#f5fbf7,#eaf7ef)}.rank-stat-purple{background:linear-gradient(135deg,#fbf8ff,#f1eafd)}.rank-stat-icon{width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:2rem;box-shadow:0 7px 20px rgba(20,70,45,.08)}.rank-stat-title{font-size:1.05rem;font-weight:800;color:#145d40}.rank-stat-purple .rank-stat-title,.rank-stat-purple .rank-stat-number{color:#6530a5}.rank-stat-number{font-size:2.7rem;font-weight:900;line-height:1;color:#0f754b;margin:4px 0}.rank-stat-sub{color:#617169}.rank-how-card{background:#fff;border:1px solid #e3ebe7;border-radius:22px;padding:22px}.rank-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.rank-how-grid>div{display:grid;grid-template-columns:45px 1fr;gap:3px 10px}.rank-how-grid>div>span{grid-row:1/3;width:42px;height:42px;border-radius:50%;background:#eaf6ef;display:grid;place-items:center}.rank-how-grid b{color:#135f41}.rank-how-grid p{font-size:.86rem;color:#63736c;margin:0}.rank-public-footer-note{margin:25px 0 10px;border-radius:17px;padding:14px 18px;background:#0b6543;color:#fff;display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.admin-switch-card{border:1px solid #e0e8e4;border-radius:14px;padding:13px;background:#f8fbf9}.admin-switch-card small{color:#697871}.consent-section .consent-card{border:1px solid #dee8e2;border-radius:14px;padding:14px;margin-top:10px;background:#fafcfb}.consent-section .required-consent{border-color:#bddcca;background:#f3faf6}
.rules-hero{border-radius:24px;padding:25px 28px;background:linear-gradient(120deg,#115d49,#7fa84d);color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:end}.rules-page-card{background:#fff;border:1px solid #e2ebe6;border-radius:22px;padding:26px;box-shadow:0 12px 34px rgba(20,70,45,.07)}.rules-section h2{font-size:1.7rem;margin-bottom:24px}.rules-section h3{font-size:1.12rem;color:#12613f;margin:26px 0 10px}.rules-section li{margin-bottom:8px;line-height:1.55}.rules-table th{background:#edf6f1}.rules-final-note{padding:16px;border-radius:14px;background:#eaf7ef;color:#0e5d3e;font-weight:800;margin-top:24px}
@media(max-width:991.98px){.player-admin-v40-grid{grid-template-columns:1fr 1.4fr}.player-admin-v40-ranking{grid-column:1/-1}.rank-how-grid{grid-template-columns:1fr 1fr}.private-match-body{grid-template-columns:70px 1fr}.private-match-place{grid-column:1/-1;padding-left:86px}.private-match-actions{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.private-ranking-nav{position:sticky;top:0;z-index:20;border-radius:14px}.rank-private-section{padding:14px;border-radius:17px}.private-match-body{grid-template-columns:58px 1fr;padding:12px;gap:10px}.private-match-date{padding:7px}.private-match-date b{font-size:1.2rem}.private-match-players{grid-template-columns:1fr 32px 1fr}.private-player{display:flex;flex-direction:column;text-align:left}.private-player:last-child{display:flex;flex-direction:column;text-align:right}.private-player img{width:40px;height:40px}.private-match-place{grid-column:1/-1;padding-left:0}.private-match-actions{grid-template-columns:1fr;padding:0 12px 12px}.private-match-actions details[open] summary{max-width:none}.private-calendar-grid{grid-template-columns:1fr}.private-standing-row{grid-template-columns:32px 40px 1fr auto;padding:10px}.player-admin-v40-grid{grid-template-columns:1fr}.player-admin-v40-contact{grid-template-columns:1fr}.rank-public-stats{grid-template-columns:1fr}.rank-stat-card{padding:17px}.rank-stat-icon{width:60px;height:60px}.rank-stat-number{font-size:2.2rem}.rank-how-grid{grid-template-columns:1fr}.rank-public-footer-note{flex-direction:column}.rules-hero{padding:20px;flex-direction:column;align-items:flex-start}.rules-page-card{padding:17px}.rank-public-hero .display-6{font-size:1.9rem}.rank-info-card{padding:18px}}

/* v40.5 - jugadores ranking: edición siempre visible + contadores */
.ranking-players-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}.ranking-players-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.ranking-player-counts{display:flex;gap:9px;flex-wrap:wrap}.ranking-count-chip{display:grid;grid-template-columns:10px auto auto;align-items:center;gap:8px;min-height:40px;padding:7px 13px;border-radius:999px;border:1px solid #dce6e0;background:#fff;font-size:.86rem;box-shadow:0 4px 12px rgba(20,70,45,.04)}.ranking-count-chip strong{font-size:1rem}.ranking-count-chip.is-active{border-color:#b9dfcb;background:#f1fbf5;color:#166b3d}.ranking-count-chip.is-pending{border-color:#f0d3a0;background:#fff8eb;color:#93600a}.ranking-count-dot{width:9px;height:9px;border-radius:50%;background:#97a49d}.ranking-count-chip.is-active .ranking-count-dot{background:#20a45b}.ranking-count-chip.is-pending .ranking-count-dot{background:#f0a21a}.player-status-badge{display:inline-flex;align-items:center;margin-top:7px;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.player-status-badge.is-active{background:#e8f8ef;color:#13713e}.player-status-badge.is-pending{background:#fff2d8;color:#99610a}.player-status-badge.is-inactive{background:#f0f2f1;color:#68736d}.player-inline-settings{border-top:1px solid #e4ebe7;margin-top:15px;padding-top:15px}.player-inline-settings-grid{display:grid;grid-template-columns:1fr 1fr .75fr 1fr .8fr;gap:10px;align-items:end}.player-inline-settings .form-label{font-weight:700;color:#4f625a;margin-bottom:5px}.player-inline-save{display:flex;align-items:end}
@media(max-width:991.98px){.ranking-players-toolbar{width:100%;justify-content:space-between}.player-inline-settings-grid{grid-template-columns:1fr 1fr}.player-inline-save{grid-column:1/-1}}
@media(max-width:575.98px){.ranking-player-counts{width:100%}.ranking-count-chip{flex:1 1 calc(50% - 5px);display:flex;justify-content:center}.ranking-players-toolbar{align-items:stretch}.ranking-players-toolbar>.d-flex{width:100%}.ranking-players-toolbar>.d-flex .btn{flex:1 1 auto}.player-inline-settings-grid{grid-template-columns:1fr 1fr}.player-inline-settings-grid>div:nth-child(3),.player-inline-settings-grid>div:nth-child(4){grid-column:auto}.player-inline-save{grid-column:1/-1}}
@media(max-width:390px){.player-inline-settings-grid{grid-template-columns:1fr}.player-inline-save{grid-column:1}.ranking-count-chip{flex-basis:100%}}

/* v40.9 - Calendario mensual Mi Ranking */
.rank-calendar-section{padding:20px}.calendar-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.calendar-title-row h2{margin-bottom:4px}.calendar-filters{display:flex;gap:10px;min-width:390px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.calendar-main-card,.calendar-side-panel{background:#fff;border:1px solid #e2e9e4;border-radius:18px;box-shadow:0 8px 26px rgba(20,65,44,.06)}.calendar-main-card{padding:14px}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:12px}.calendar-toolbar h3{font-size:1.25rem;margin:0;text-align:center}.calendar-nav-buttons{display:flex;gap:8px}.calendar-nav-buttons .btn{min-width:44px}.calendar-mode-pill{justify-self:end;background:#14794f;color:#fff;border-radius:10px;padding:9px 24px;font-weight:700}.calendar-scroll{overflow-x:auto}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));min-width:826px;border-left:1px solid #e4e9e6;border-top:1px solid #e4e9e6;border-radius:12px;overflow:hidden}.calendar-weekday{padding:10px 8px;text-align:center;background:#f8faf9;font-weight:700;color:#44534b;border-right:1px solid #e4e9e6;border-bottom:1px solid #e4e9e6}.calendar-day{position:relative;min-height:112px;padding:28px 6px 6px;border-right:1px solid #e4e9e6;border-bottom:1px solid #e4e9e6;background:#fff}.calendar-day.other-month{background:#fbfcfb;color:#b5bdb8}.calendar-day.today{box-shadow:inset 0 0 0 2px #198754}.calendar-day-number{position:absolute;right:8px;top:6px;font-size:.82rem;font-weight:700}.calendar-event{display:flex;flex-direction:column;gap:2px;border-radius:8px;padding:6px 7px;margin-bottom:5px;font-size:.72rem;line-height:1.2;background:#e9f8ef;color:#0b653d;border-left:3px solid #45b56a}.calendar-event span{font-weight:700;white-space:normal}.calendar-event small{opacity:.8}.calendar-event.played{background:#e8f1ff;color:#175eb4;border-left-color:#4f8ee8}.calendar-event.closed{background:#fde9ed;color:#a71936;border-left-color:#e54c68}.calendar-side-panel{padding:16px}.calendar-side-panel h3{font-size:1.1rem;margin:0 0 12px}.calendar-upcoming-list{display:grid;gap:9px}.calendar-upcoming-item{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;padding:9px;border:1px solid #e5ebe7;border-radius:13px}.calendar-upcoming-item>div:last-child{display:flex;flex-direction:column;gap:3px}.calendar-upcoming-item>div:last-child b{font-size:.82rem;line-height:1.25}.calendar-upcoming-item>div:last-child span{font-size:.76rem;color:#6d7b73}.upcoming-date{background:#eef8f2;border-radius:11px;padding:7px 4px;text-align:center;display:flex;flex-direction:column;line-height:1.05;color:#087346}.upcoming-date b{font-size:1.25rem}.upcoming-date span{font-size:.65rem;font-weight:800}.upcoming-date small{font-size:.7rem;margin-top:3px}.calendar-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:16px;padding-top:14px;border-top:1px solid #e5ebe7;font-size:.75rem}.calendar-legend>b{grid-column:1/-1}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.legend-dot.scheduled{background:#45b56a}.legend-dot.played{background:#4f8ee8}.legend-dot.closed{background:#e54c68}.legend-dot.pending{background:#f2b84b}
@media(max-width:991.98px){.calendar-title-row{align-items:stretch;flex-direction:column}.calendar-filters{min-width:0;width:100%}.calendar-layout{grid-template-columns:1fr}.calendar-side-panel{order:2}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar h3{grid-row:1;grid-column:1/-1;order:-1}.calendar-mode-pill{display:none}.calendar-nav-buttons{grid-column:1/-1;justify-content:center}}
@media(max-width:575.98px){.rank-calendar-section{padding:14px}.calendar-filters{display:grid;grid-template-columns:1fr}.calendar-main-card{padding:8px}.calendar-toolbar h3{font-size:1.1rem}.month-calendar{min-width:760px}.calendar-day{min-height:100px}.calendar-side-panel{padding:13px}}

/* v40.11 · Vitrina Digital */
.trophy-showcase{overflow:hidden}.trophy-showcase-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.trophy-title-wrap{display:flex;gap:15px;align-items:center}.trophy-title-icon{width:64px;height:64px;border-radius:14px;background:#eef7f1;display:grid;place-items:center;font-size:34px}.trophy-title-wrap h2{margin:0 0 4px;font-size:30px;color:#123c35}.trophy-stats{min-width:360px;background:#eff7f3;border-radius:14px;padding:15px 20px;display:flex;align-items:center;justify-content:space-around;text-align:center}.trophy-stats div{display:flex;flex-direction:column;gap:2px}.trophy-stats strong{font-size:23px;color:#123c35}.trophy-stats span{font-size:13px;color:#365c55}.trophy-stats i{height:48px;width:1px;background:#c8d9d2}.digital-trophy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}.digital-trophy-item{text-align:center}.digital-trophy-item p{font-style:italic;margin:12px 4px 0;color:#344b47;line-height:1.4}.digital-trophy-card{position:relative;min-height:355px;border-radius:18px;padding:17px 14px 14px;overflow:hidden;display:flex;flex-direction:column;align-items:center;color:#fff;box-shadow:0 12px 25px rgba(12,48,40,.15);border:5px solid #d9a93d;background:radial-gradient(circle at 50% 35%,#315f3d 0,#12392e 48%,#09271f 100%)}.digital-trophy-card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.28);border-radius:11px;pointer-events:none}.digital-trophy-card.silver{border-color:#bfc5c6;background:radial-gradient(circle at 50% 35%,#52615e 0,#263a36 48%,#132522 100%)}.digital-trophy-card.bronze{border-color:#c77a42;background:radial-gradient(circle at 50% 35%,#74452d 0,#38271f 50%,#1f1915 100%)}.trophy-club{font-size:11px;letter-spacing:.08em;font-weight:800;color:#f4d977}.silver .trophy-club{color:#e9eeee}.bronze .trophy-club{color:#f0b27d}.trophy-journey{margin-top:10px;background:rgba(255,255,255,.9);color:#1f302d;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;align-self:flex-end}.trophy-cup{font-size:92px;line-height:1.1;margin:28px 0 10px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.25))}.trophy-champion{font-size:27px;font-weight:900;letter-spacing:.02em}.trophy-group{font-size:18px;font-weight:900;color:#f4d977}.silver .trophy-group{color:#f2f4f4}.bronze .trophy-group{color:#f3b57d}.trophy-ball{font-size:31px;margin:11px 0 auto}.trophy-dates{width:calc(100% + 28px);margin:12px -14px -14px;padding:10px 5px;background:rgba(255,207,91,.9);color:#1d261f;font-weight:800;font-size:11px}.silver .trophy-dates{background:#d9dddd}.bronze .trophy-dates{background:#df9460}.digital-trophy-card.locked{border-color:#e1e6e4;background:linear-gradient(145deg,#f8faf9,#e9eeec);color:#aab4b0;box-shadow:none}.locked .trophy-club,.locked .trophy-group{color:#aab4b0}.locked .trophy-cup{filter:grayscale(1);opacity:.3}.locked .trophy-dates{background:transparent;color:#9aa6a1}.trophy-empty-note{margin-top:20px;padding:14px 18px;background:#f5faf7;border:1px solid #dbe9e1;border-radius:14px;color:#35564e}.trophy-story-banner{margin-top:30px;border-radius:16px;background:linear-gradient(90deg,#edf8f3,#f6faf8);padding:25px 30px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;color:#174c41}.trophy-story-banner>span{font-family:Georgia,serif;font-size:60px;line-height:.5;color:#8dc6b3}.trophy-story-banner strong{font:italic 21px/1.4 Georgia,serif}.trophy-story-banner small{letter-spacing:.12em;color:#72a295;text-align:right}
@media(max-width:1050px){.digital-trophy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trophy-showcase-head{align-items:stretch;flex-direction:column}.trophy-stats{min-width:0}}
@media(max-width:600px){.digital-trophy-grid{grid-template-columns:1fr}.digital-trophy-card{max-width:320px;margin:auto}.trophy-title-wrap h2{font-size:25px}.trophy-stats{padding:12px}.trophy-story-banner{grid-template-columns:auto 1fr}.trophy-story-banner small{grid-column:1/-1;text-align:left}.private-ranking-nav{overflow-x:auto;flex-wrap:nowrap}.private-ranking-nav a{white-space:nowrap}}

/* v40.13 · Mi perfil / Cambio de contraseña */
.profile-security-heading{align-items:center}.profile-security-icon{width:58px;height:58px;border-radius:16px;background:#edf8f2;display:grid;place-items:center;font-size:28px}.profile-security-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:20px}.profile-data-card,.profile-password-card{border:1px solid #dfe9e3;border-radius:18px;padding:20px;background:#fff}.profile-data-card{background:linear-gradient(145deg,#f8fcfa,#f1f8f4)}.profile-data-card h3,.profile-password-card h3{font-size:1.08rem;margin:0 0 16px;color:#153f35}.profile-data-row{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #e2ebe6}.profile-data-row>span{width:36px;height:36px;border-radius:11px;background:#fff;display:grid;place-items:center}.profile-data-row>div{display:flex;flex-direction:column;min-width:0}.profile-data-row small{font-size:.74rem;color:#718078}.profile-data-row strong{overflow-wrap:anywhere;color:#263c36}.profile-security-note{margin:16px 0 0;padding:12px 13px;border-radius:12px;background:#e7f4ec;color:#31584d;font-size:.84rem}.profile-password-title{display:flex;gap:12px;align-items:center;margin-bottom:18px}.profile-password-title h3{margin:0 0 3px}.profile-password-title p{margin:0;color:#697970;font-size:.86rem}.profile-lock-badge{width:46px;height:46px;border-radius:13px;background:#e8f5ed;display:grid;place-items:center;font-size:22px}.profile-password-form{display:grid;gap:9px}.profile-password-form label{font-size:.8rem;font-weight:800;color:#4c6258;margin-top:4px}.password-field{position:relative}.password-field .form-control{padding-right:48px;min-height:48px;border-radius:12px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;border-radius:9px;display:grid;place-items:center;cursor:pointer}.password-toggle:hover{background:#eef5f1}.password-help{margin-top:-4px;color:#75837d}.profile-password-submit{margin-top:10px;border-radius:12px}.profile-password-card{box-shadow:0 8px 25px rgba(20,70,45,.05)}
@media(max-width:850px){.profile-security-grid{grid-template-columns:1fr}.profile-security-heading{align-items:flex-start}.profile-security-icon{display:none}}
@media(max-width:575.98px){.profile-data-card,.profile-password-card{padding:15px}.profile-password-submit{width:100%}}
/* v40.16 · selector visual de reservas Ranking */
.rank-booking-details{width:100%}.rank-booking-details>summary{list-style:none;cursor:pointer}.rank-booking-details>summary::-webkit-details-marker{display:none}.rank-booking-picker{margin-top:8px!important;padding:18px!important;border:1px solid #dce9e2!important;border-radius:18px!important;background:#fbfdfc!important}.rank-booking-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid #e6eee9}.rank-booking-head b{font-size:1.15rem}.rank-booking-head span{display:block;color:#66756e;font-size:.9rem;margin-top:3px}.rank-booking-step{display:flex;align-items:center;gap:10px;margin:18px 0 10px}.rank-booking-step .step-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#16814d;color:#fff;font-weight:800;flex:0 0 auto}.rank-booking-step b,.rank-booking-step small{display:block}.rank-booking-step small{color:#718078}.rank-date-strip{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.rank-date-chip{min-width:86px;border:1px solid #d7e1dc;background:#fff;border-radius:12px;padding:10px 12px;text-align:center;color:#17251e}.rank-date-chip span,.rank-date-chip small{display:block;font-size:.72rem;color:#66756e;font-weight:700}.rank-date-chip strong{display:block;font-size:1.35rem;line-height:1.2}.rank-date-chip.active{background:#16814d;border-color:#16814d;color:#fff;box-shadow:0 7px 16px rgba(22,129,77,.18)}.rank-date-chip.active span,.rank-date-chip.active small{color:#e8fff2}.rank-court-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rank-court-option{position:relative;text-align:left;border:1px solid #d7e1dc;background:#fff;border-radius:13px;padding:9px;color:#17251e;overflow:hidden}.rank-court-option .court-image{display:block;height:72px;border-radius:9px;background-size:cover;background-position:center;margin-bottom:7px}.rank-court-option b,.rank-court-option small{display:block}.rank-court-option small{font-size:.75rem;color:#6d7b74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-court-option i{display:none;position:absolute;right:6px;top:6px;width:25px;height:25px;border-radius:50%;background:#16814d;color:#fff;font-style:normal;text-align:center;line-height:25px}.rank-court-option.active{border:2px solid #16814d;padding:8px}.rank-court-option.active i{display:block}.rank-slot-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.rank-slot{border:1px solid #d7e1dc;background:#fff;border-radius:9px;padding:10px 5px;font-weight:700;color:#17251e}.rank-slot:hover,.rank-slot.active{background:#16814d;border-color:#16814d;color:#fff}.rank-slot-status{padding:13px;border-radius:10px;background:#f0f5f2;color:#607068;font-size:.88rem}.rank-booking-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;padding:14px 18px;border-radius:13px;background:#edf8f2}.rank-booking-summary small,.rank-booking-summary b{display:block}.rank-booking-summary small{color:#66756e;font-size:.75rem}.rank-confirm-booking{width:min(540px,100%);display:block;margin:16px auto 0!important;border-radius:999px!important}.rank-confirm-booking:disabled{opacity:.45}.rank-realtime-note{text-align:center;color:#718078;font-size:.78rem;margin:9px 0 0}.rank-booking-picker input[type=hidden]{display:none}
@media(max-width:800px){.rank-court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.rank-booking-summary{grid-template-columns:1fr}.rank-date-chip{min-width:74px}.rank-booking-picker{padding:13px!important}}
@media(max-width:480px){.rank-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rank-court-option .court-image{height:62px}}
\n\n/* v40.17 · separación visual de partidos + loader de reserva */\n.rank-private-section .d-grid.gap-3{gap:22px!important}.private-match-card{position:relative;border:1px solid #d8e3dd;box-shadow:0 8px 24px rgba(25,64,52,.09);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.private-match-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#d5e4dd;z-index:2}.private-match-card:hover{box-shadow:0 12px 30px rgba(25,64,52,.13);transform:translateY(-1px)}.private-match-card.match-pending:before{background:#efad2f}.private-match-card.match-scheduled:before{background:#169257}.private-match-card.match-finished:before{background:#8d9b95}.private-match-card.match-pending .private-match-top{background:linear-gradient(90deg,#fffaf0,#f8fbf9)}.private-match-card.match-scheduled .private-match-top{background:linear-gradient(90deg,#edf9f2,#f8fbf9)}.private-match-card.match-finished{opacity:.92}.private-match-card.match-booking-open{border-color:#179258;box-shadow:0 0 0 2px rgba(23,146,88,.12),0 14px 34px rgba(20,105,67,.16)}.private-match-card.match-booking-open:before{width:6px;background:#179258}.private-match-card.match-booking-open .private-match-actions{background:linear-gradient(180deg,#fff,#f7fbf9)}\n.rank-booking-picker{position:relative}.rank-booking-picker.is-saving{pointer-events:none;user-select:none}.rank-confirm-booking.is-loading{display:flex!important;align-items:center;justify-content:center;gap:10px;opacity:1!important}.rank-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:rankSpin .7s linear infinite}.rank-save-overlay{position:absolute;inset:0;z-index:30;border-radius:18px;background:rgba(251,253,252,.88);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}.rank-save-loader{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:22px 28px;border:1px solid #d9e8e0;border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(20,74,54,.16);max-width:330px}.rank-save-loader b{font-size:1rem;color:#153f35}.rank-save-loader small{color:#6b7d74}.rank-loader-ring{width:42px;height:42px;border:4px solid #dcefe5;border-top-color:#178b54;border-radius:50%;animation:rankSpin .75s linear infinite}@keyframes rankSpin{to{transform:rotate(360deg)}}\n@media(max-width:700px){.rank-private-section .d-grid.gap-3{gap:16px!important}.private-match-card{box-shadow:0 6px 18px rgba(25,64,52,.1)}.rank-save-loader{padding:18px 20px}}\n
/* v40.17.1 · rediseño real de tarjetas de partido */
.rank-private-section .d-grid.gap-3{gap:26px!important}
.private-match-card{border-radius:18px!important;border:1px solid #d9e4de!important;background:#fff;overflow:hidden;box-shadow:0 9px 24px rgba(28,65,53,.10)!important}
.private-match-card:before{display:none!important}
.private-match-card.match-pending{border-left:5px solid #e9a52c!important}
.private-match-card.match-scheduled{border-left:5px solid #168c54!important}
.private-match-card.match-finished{border-left:5px solid #89968f!important}
.private-match-card.match-booking-open{border:2px solid #168c54!important;box-shadow:0 0 0 3px rgba(22,140,84,.10),0 16px 38px rgba(27,91,65,.16)!important}
.private-match-top{min-height:48px;padding:10px 18px!important;border-bottom:1px solid #e8efeb;background:#f8fbf9!important}
.private-match-card.match-pending .private-match-top{background:#fffaf1!important}.private-match-card.match-scheduled .private-match-top{background:#f1faf5!important}
.private-match-status{font-weight:800;padding:6px 11px!important}.match-journey-label{font-size:.8rem;color:#49635a;font-weight:800}
.private-match-body{grid-template-columns:105px minmax(420px,1fr) minmax(270px,.6fr)!important;gap:24px!important;padding:22px 24px!important;min-height:150px}
.private-match-date{min-height:112px;justify-content:center;background:linear-gradient(180deg,#eef9f3,#e8f6ef)!important;border:1px solid #dcece3;border-radius:15px!important}
.private-match-date b{font-size:2rem!important;line-height:1;color:#075e3e!important}.private-match-date span{font-weight:900;color:#0b6444!important;margin-top:4px}.private-match-date em{font-style:normal;font-size:.78rem;color:#66776f;margin-top:3px}.private-match-date small{margin-top:9px;font-weight:700;color:#5b756a!important}
.private-match-players{grid-template-columns:minmax(170px,1fr) 54px minmax(170px,1fr)!important;gap:18px!important}.private-player{grid-template-columns:58px 1fr!important;gap:12px!important}.private-player img{width:58px!important;height:58px!important}.private-player .player-copy{display:flex;flex-direction:column;min-width:0}.private-player b{font-size:1.02rem;line-height:1.2}.private-player small{font-size:.84rem;margin-top:3px}.private-player em{font-size:.78rem;color:#779086;font-style:normal;margin-top:2px}.private-player:last-child{grid-template-columns:1fr 58px!important}.private-player:last-child img{grid-column:2!important}.private-player:last-child .player-copy{grid-column:1!important;grid-row:1/3;text-align:right;align-items:flex-end}.rank-vs-badge{width:44px;height:44px;border:2px solid #168c54;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#087047;background:#fff}
.private-match-place{border-left:1px solid #dfe9e4;padding-left:28px!important;justify-content:center;min-height:92px}.private-match-place .match-place-title{font-size:1.02rem}.private-match-place .match-place-title.pending{color:#c77b00}.private-match-place .match-place-title.confirmed{color:#168c54}.private-match-place strong{font-size:.88rem;color:#4c6259;margin-top:2px}.private-match-place span{font-size:.82rem!important;line-height:1.35}
.private-match-actions{padding:0 24px 22px!important;gap:11px!important}.private-match-actions>.rank-booking-details{grid-column:1/-1}.rank-booking-details>summary{width:min(300px,100%)!important;margin-left:auto!important;border-radius:999px!important;padding:10px 22px!important;font-weight:700}.private-match-actions details[open]>summary{margin-left:0!important}.private-match-actions>.rank-booking-details[open]>summary{margin-left:auto!important}.private-match-actions>details:not(.rank-booking-details){margin-top:2px}
.private-match-card.match-scheduled .rank-booking-details>summary{background:#fff!important;color:#147848!important;border:1px solid #168c54!important}.private-match-card.match-scheduled .rank-booking-details>summary:hover{background:#eef9f3!important}

@media(max-width:1050px){.private-match-body{grid-template-columns:90px 1fr!important}.private-match-place{grid-column:1/-1;border-left:0;border-top:1px solid #e5ece8;padding:14px 0 0!important;min-height:0}.private-match-players{grid-template-columns:minmax(140px,1fr) 48px minmax(140px,1fr)!important}.private-match-actions>.rank-booking-details>summary{margin-left:0!important}}
@media(max-width:767.98px){.rank-private-section .d-grid.gap-3{gap:18px!important}.private-match-card{border-radius:15px!important}.private-match-top{padding:9px 12px!important}.private-match-body{grid-template-columns:68px 1fr!important;gap:12px!important;padding:14px 12px!important}.private-match-date{min-height:92px!important;padding:7px!important}.private-match-date b{font-size:1.5rem!important}.private-match-date em{font-size:.68rem}.private-match-players{grid-template-columns:1fr 34px 1fr!important;gap:7px!important}.private-player,.private-player:last-child{display:flex!important;flex-direction:column!important;gap:4px!important;text-align:left!important}.private-player:last-child{text-align:right!important;align-items:flex-end!important}.private-player img{width:44px!important;height:44px!important}.private-player .player-copy,.private-player:last-child .player-copy{display:flex!important;align-items:flex-start!important;text-align:left!important}.private-player:last-child .player-copy{align-items:flex-end!important;text-align:right!important}.private-player b{font-size:.88rem}.private-player em{display:none}.rank-vs-badge{width:32px;height:32px;font-size:.72rem}.private-match-place{grid-column:1/-1!important;padding-top:12px!important}.private-match-actions{padding:0 12px 14px!important}.rank-booking-details>summary{width:100%!important;margin:0!important}.match-journey-label{font-size:.72rem}}
