.real-sport-dashboard{min-height:calc(100vh - 78px);padding:38px clamp(18px,5vw,72px) 56px;background:radial-gradient(circle at 85% 5%,#123347 0,transparent 28rem),#07111b}.real-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.real-dashboard-head p{margin:0 0 8px;color:var(--sport-accent);font-size:10px;font-weight:950;letter-spacing:.14em}.real-dashboard-head h1{margin:0 0 7px;font-size:clamp(36px,5vw,64px);line-height:.95;letter-spacing:-.055em}.real-dashboard-head span{color:#8fa4b3}.real-dashboard-head>a{padding:9px 0;border-bottom:1px solid #ffffff3b;color:#dce7ec;text-decoration:none;font-size:12px;font-weight:800}.sport-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.sport-kpis article,.sport-dash-card{border:1px solid #ffffff14;border-radius:14px;background:linear-gradient(145deg,#0e2030,#091724);box-shadow:0 16px 40px #0003}.sport-kpis article{display:grid;gap:6px;padding:17px 18px}.sport-kpis small,.sport-dash-card header small,.next-details small{color:#7890a2;font-size:9px;font-weight:900;letter-spacing:.11em}.sport-kpis strong{font-size:clamp(25px,3vw,38px);line-height:1}.sport-kpis span{color:#7990a1;font-size:10px}.dashboard-main-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.sport-dash-card{padding:20px}.sport-dash-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.sport-dash-card h2{margin:4px 0 0;font-size:20px}.sport-dash-card header>span{padding:6px 9px;border-radius:20px;background:#ffffff0b;color:#a9bdca;font-size:10px}.next-training{background:linear-gradient(135deg,#17314a,#0a1927)}.next-details{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px}.next-details p{display:grid;gap:6px;margin:0;padding:13px;border-left:2px solid var(--sport-accent);background:#07131f99}.next-details strong{font-size:12px}.next-training button{width:100%;display:flex;justify-content:space-between;margin-top:15px;padding:12px 14px;border:0;border-radius:8px;background:var(--sport-accent);color:#07111b;font-size:11px;font-weight:900;cursor:pointer}.progress-list{display:grid;gap:15px}.progress-list article>div{display:flex;justify-content:space-between;gap:12px}.progress-list strong{font-size:12px}.progress-list b{color:var(--sport-accent);font-size:11px}.progress-list p{margin:3px 0 7px;color:#718798;font-size:9px}.progress-list i{height:5px;display:block;overflow:hidden;border-radius:8px;background:#ffffff12}.progress-list i span{height:100%;display:block;border-radius:8px;background:linear-gradient(90deg,#e2a900,var(--sport-accent))}.sessions-card{grid-column:1/-1}.sessions-card header a{color:#9db1bf;font-size:10px;text-decoration:none}.sessions-table{overflow-x:auto}.session-row{min-width:680px;display:grid;grid-template-columns:85px 1fr 70px 90px 1.3fr;gap:12px;align-items:center;padding:11px 4px;border-bottom:1px solid #ffffff0e;font-size:10px}.session-row>*{min-width:0}.session-row>strong{font-size:11px}.session-row>b{width:max-content;padding:4px 7px;border-radius:20px;background:#173e36;color:#63dfb3;font-size:9px}.session-head{padding-top:0;color:#6f8798;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.equipment-card{grid-column:1/-1}.equipment-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.equipment-card article{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:12px;border:1px solid #ffffff0f;border-radius:10px;background:#07131f}.equipment-card article>i{width:8px;height:8px;border-radius:50%;background:#55e0a5;box-shadow:0 0 10px #55e0a5}.equipment-card p{display:grid;margin:0}.equipment-card p strong{font-size:11px}.equipment-card p span{color:#718797;font-size:9px}.equipment-card article>b{color:#a9bdca;font-size:9px}@media(max-width:900px){.sport-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid{grid-template-columns:1fr}.equipment-card>div{grid-template-columns:1fr}}@media(max-width:620px){.real-sport-dashboard{padding:24px 12px 40px}.real-dashboard-head{align-items:flex-start;flex-direction:column}.sport-kpis{grid-template-columns:1fr}.next-details{grid-template-columns:1fr}.sport-dash-card{padding:15px}}

/* Tableau de bord connecté 1.4 */
.dashboard-head-actions{display:grid;justify-items:end;gap:8px}.dashboard-head-actions>span{font-size:9px}.dashboard-head-actions>a{padding:9px 0;border-bottom:1px solid #ffffff3b;color:#dce7ec;text-decoration:none;font-size:12px;font-weight:800}.license-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-10px 0 12px;padding:12px 16px;border:1px solid #ffcc3530;border-radius:12px;background:#ffcc350b}.license-strip div{display:flex;align-items:baseline;gap:14px}.license-strip small{color:var(--sport-accent);font-size:8px;font-weight:950;letter-spacing:.12em}.license-strip strong{font-size:13px}.license-strip span{color:#8ea2b1;font-size:10px}.license-strip>b{padding:5px 8px;border-radius:20px;background:#1f4b3b;color:#71e4b4;font-size:8px;letter-spacing:.08em}.sport-kpis em{color:#d9b531;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.ranking-list{display:grid;gap:9px}.ranking-list article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 12px;border:1px solid #ffffff0e;border-radius:10px;background:#07131f}.ranking-list article>div{display:grid}.ranking-list strong{font-size:12px}.ranking-list article>div span{color:#7890a2;font-size:9px}.ranking-list b{grid-row:1/3;grid-column:2;font-size:24px;color:var(--sport-accent)}.ranking-list sup{font-size:9px}.ranking-list p{grid-column:1/-1;display:flex;gap:18px;margin:5px 0 0;color:#a4b5c0;font-size:9px}.season-list{display:grid;gap:12px}.season-list article{display:grid;grid-template-columns:45px 75px 1fr;align-items:center;gap:8px;position:relative;padding-bottom:10px}.season-list article>span{color:var(--sport-accent);font-weight:900}.season-list article>strong{font-size:12px}.season-list article>small{color:#7890a2}.season-list article>i{position:absolute;bottom:0;left:0;width:100%;height:4px;border-radius:8px;background:#ffffff0e;overflow:hidden}.season-list article>i:after{content:"";display:block;width:var(--bar);height:100%;background:linear-gradient(90deg,#e3aa00,var(--sport-accent))}.season-list .pending{opacity:.55}.result-row{min-width:680px;display:grid;grid-template-columns:105px 1fr 1.4fr 80px 1fr;gap:12px;align-items:center;padding:11px 4px;border-bottom:1px solid #ffffff0e;font-size:10px}.result-row>*{min-width:0}.result-row>strong{font-size:11px}.result-row>b{width:max-content;padding:4px 9px;border-radius:20px;background:#173e36;color:#63dfb3;font-size:10px}.result-row>em{color:#c9a72a;font-size:9px;font-style:normal;font-weight:800}.result-head{padding-top:0;color:#6f8798;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sources-card{grid-column:1/-1}.sources-card>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sources-card article{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:12px;border:1px solid #ffffff0f;border-radius:10px;background:#07131f}.sources-card article>i{width:8px;height:8px;border-radius:50%;background:#55e0a5;box-shadow:0 0 10px #55e0a5}.sources-card article>i.partial{background:#f4bd3d;box-shadow:0 0 10px #f4bd3d}.sources-card p{display:grid;margin:0}.sources-card p strong{font-size:11px}.sources-card p span{color:#718797;font-size:9px}.sources-card article>b{color:#a9bdca;font-size:8px}@media(max-width:1050px){.sources-card>div{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.dashboard-head-actions{justify-items:start}.license-strip,.license-strip div{align-items:flex-start;flex-direction:column}.sources-card>div{grid-template-columns:1fr}}
.ranking-scopes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.ranking-scopes article{position:relative;overflow:hidden;padding:12px;border:1px solid #ffcc3524;border-radius:11px;background:linear-gradient(145deg,#102331,#07131f)}.ranking-scopes article>div{display:grid;gap:2px}.ranking-scopes small{color:var(--sport-accent);font-size:8px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.ranking-scopes strong{font-size:11px}.ranking-scopes p{display:flex;align-items:baseline;gap:5px;margin:9px 0 10px}.ranking-scopes p b{font-size:25px;color:#fff}.ranking-scopes p span{color:#8da0ad;font-size:9px}.ranking-scopes article>i{display:block;height:3px;border-radius:6px;background:#ffffff10;overflow:hidden}.ranking-scopes article>i span{display:block;height:100%;background:var(--sport-accent)}@media(max-width:760px){.ranking-scopes{grid-template-columns:repeat(2,1fr)}}
.ranking-groups{display:grid;gap:14px}.ranking-group{padding:13px;border:1px solid #ffffff12;border-radius:13px;background:#06121d}.ranking-group.pending{opacity:.62}.ranking-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.ranking-group-head>div{display:grid;gap:3px}.ranking-group-head strong{font-size:13px}.ranking-group-head span{color:#8197a7;font-size:9px}.ranking-group-head>small{max-width:45%;color:#d7b63b;text-align:right;font-size:8px;font-weight:850}.ranking-group .ranking-scopes{margin-bottom:0}.ranking-scopes article.unavailable{border-color:#ffffff0c;background:#091722}.ranking-scopes article.unavailable p b,.ranking-scopes article.unavailable p span{color:#667a88}@media(max-width:620px){.ranking-group-head{flex-direction:column}.ranking-group-head>small{max-width:none;text-align:left}}
.ranking-years,.ranking-disciplines{display:flex;gap:8px}.ranking-years{margin:2px 0 8px;padding:5px;border:1px solid #ffffff12;border-radius:12px;background:#07131f}.ranking-disciplines{margin-bottom:14px}.ranking-years button,.ranking-disciplines button{appearance:none;border:1px solid #ffffff18;border-radius:9px;background:#0b1a27;color:#92a6b5;font:800 11px/1 inherit;cursor:pointer;transition:.18s ease}.ranking-years button{flex:1;padding:11px 16px}.ranking-disciplines button{min-width:108px;padding:9px 14px}.ranking-years button[aria-pressed="true"],.ranking-disciplines button[aria-pressed="true"]{border-color:#ffcc3575;background:#ffcc3518;color:var(--sport-accent);box-shadow:inset 0 0 0 1px #ffcc3514}.ranking-group[hidden]{display:none}.ranking-group:not([hidden]){animation:ranking-in .18s ease-out}@keyframes ranking-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:620px){.ranking-years button{padding:10px 8px}.ranking-disciplines button{flex:1;min-width:0}}

/* Comparatif des records personnels 1.9 */
.performance-kpis{margin-bottom:14px;padding:18px 20px;border:1px solid #ffffff14;border-radius:14px;background:linear-gradient(145deg,#0e2030,#091724);box-shadow:0 16px 40px #0003}.performance-kpis>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.performance-kpis>header div{display:grid;gap:4px}.performance-kpis>header small{color:var(--sport-accent);font-size:8px;font-weight:950;letter-spacing:.12em}.performance-kpis>header h2{margin:0;font-size:18px}.performance-kpis>header>span{color:#7f94a4;font-size:9px}.performance-table{overflow:hidden;border:1px solid #ffffff10;border-radius:12px}.performance-row{display:grid;grid-template-columns:minmax(135px,.8fr) repeat(3,1fr);align-items:stretch}.performance-row+*{border-top:1px solid #ffffff10}.performance-head{background:#07131f;color:#718899;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.performance-head>span{padding:9px 13px}.performance-row h3{display:flex;align-items:center;margin:0;padding:14px;color:var(--sport-accent);font-size:15px}.performance-row>div{display:grid;align-content:center;gap:3px;padding:12px 14px;border-left:1px solid #ffffff0c}.performance-row>div>small{display:none;color:#718899;font-size:7px;font-weight:900;letter-spacing:.07em}.performance-row>div>strong{font-size:19px;line-height:1}.performance-row>div>span{color:#8297a6;font-size:8px}.performance-row>div:nth-child(4)>strong{font-size:16px}@media(max-width:720px){.performance-kpis{padding:15px}.performance-kpis>header{align-items:flex-start;flex-direction:column}.performance-head{display:none}.performance-row{grid-template-columns:1fr 1fr}.performance-row h3{grid-column:1/-1;padding:13px 12px 8px}.performance-row>div{border-left:0;padding:10px 12px}.performance-row>div+div{border-left:1px solid #ffffff0c}.performance-row>div:nth-child(4){grid-column:1/-1;border-top:1px solid #ffffff0c;border-left:0}.performance-row>div>small{display:block}}

/* Historique des scores par saison 2.2 */
.results-browser{display:grid;gap:15px}.result-season{min-width:0}.result-season>h3{display:flex;align-items:center;gap:10px;margin:0 0 7px;color:var(--sport-accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.result-season>h3 i{height:1px;flex:1;background:linear-gradient(90deg,#ffcc3560,#ffffff08)}.result-season>h3 small{color:#748b9c;font-size:8px;font-weight:800;letter-spacing:0;text-transform:none}.results-browser:not(.is-expanded) .result-extra,.results-browser:not(.is-expanded) .season-extra{display:none}.results-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 14px;border:1px solid #ffcc3538;border-radius:9px;background:#ffcc350b;color:var(--sport-accent);font:850 10px/1 inherit;cursor:pointer}.results-toggle b{font-size:15px;transition:transform .2s ease}.results-browser.is-expanded .results-toggle b{transform:rotate(180deg)}

/* Palmarès et championnats 2.0 */
.podiums-card,.championships-card{min-width:0}.podium-total{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:2px 12px;padding:14px;border:1px solid #ffcc3530;border-radius:12px;background:linear-gradient(135deg,#ffcc3515,#07131f)}.podium-total>strong{grid-row:1/3;color:var(--sport-accent);font-size:42px;line-height:.9}.podium-total>span{color:#9db0bd;font-size:10px}.podium-total>div{display:flex;gap:12px}.podium-total b{font-size:11px}.podium-seasons{display:grid;gap:7px;margin-top:10px}.podium-seasons article{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid #ffffff0d}.podium-seasons article>strong{color:var(--sport-accent);font-size:12px}.podium-seasons article>span{font-size:10px}.podium-seasons article>small,.podium-seasons>p{color:#8196a5;font-size:9px}.championship-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.championship-grid>article{display:grid;align-content:start;gap:11px;padding:13px;border:1px solid #ffffff10;border-radius:11px;background:#07131f}.championship-grid>article>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #ffffff10}.championship-grid>article>header strong{color:var(--sport-accent);font-size:13px}.championship-grid>article>header span{color:#8ba0ae;font-size:8px}.championship-disciplines{display:grid;gap:8px}.championship-disciplines section{display:grid;grid-template-columns:minmax(105px,.65fr) 1fr;align-items:center;gap:10px;padding:8px 9px;border-radius:8px;background:#ffffff05}.championship-disciplines section>div{display:grid;gap:2px}.championship-disciplines section>div strong{font-size:10px}.championship-disciplines small{color:#718797;font-size:8px}.championship-disciplines p{display:flex;flex-wrap:wrap;gap:4px 0;margin:0;color:#a7b8c3;font-size:9px}.championship-disciplines p span{white-space:nowrap}.championship-disciplines p b{color:#fff;font-size:10px}.championship-disciplines sup{font-size:7px}.championship-empty{margin:0;color:#718797;font-size:9px}@media(max-width:620px){.championship-grid{grid-template-columns:1fr}.championship-disciplines section{grid-template-columns:1fr}.podium-seasons article{grid-template-columns:48px 1fr}.podium-seasons article>small{grid-column:2}}

/* Prochaines compétitions CapTarget 2.6 */
.upcoming-card{grid-column:1/-1}.upcoming-browser{display:grid;gap:15px}.upcoming-week{min-width:0}.upcoming-week>h3{display:flex;align-items:center;gap:10px;margin:0 0 7px;color:var(--sport-accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.upcoming-week>h3 i{height:1px;flex:1;background:linear-gradient(90deg,#ffcc3560,#ffffff08)}.upcoming-week>h3 small{color:#748b9c;font-size:8px;font-weight:800;letter-spacing:0;text-transform:none}.upcoming-browser .upcoming-week-extra:not(.is-week-revealed){display:none}.upcoming-list{display:grid;border:1px solid #ffffff10;border-radius:12px;background:#07131f}.upcoming-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px}.upcoming-list article+article{border-top:1px solid #ffffff0d}.upcoming-list article>p{min-width:0;display:flex;align-items:baseline;gap:8px;margin:0;overflow:hidden;white-space:nowrap}.upcoming-list time{flex:0 0 auto;color:var(--sport-accent);font-size:10px;font-weight:900}.upcoming-list article>p i{color:#536b7c;font-style:normal}.upcoming-list article>p strong{flex:0 0 auto;font-size:11px}.upcoming-list article>p span{min-width:0;overflow:hidden;color:#8ba0ae;font-size:9px;text-overflow:ellipsis}.upcoming-list aside b{display:block;min-width:44px;padding:6px 8px;border:1px solid #ffcc3538;border-radius:20px;background:#ffcc350d;color:var(--sport-accent);text-align:center;font-size:10px}.upcoming-empty{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #ffcc3540;border-radius:12px;background:#ffcc3507}.upcoming-empty>i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#ffcc3516;color:var(--sport-accent);font-size:20px;font-style:normal}.upcoming-empty strong{font-size:12px}.upcoming-empty p{margin:4px 0 0;color:#8297a6;font-size:9px}.upcoming-empty p b{color:#bdcbd3}@media(max-width:620px){.upcoming-week>h3{align-items:flex-start;flex-wrap:wrap}.upcoming-week>h3 i{min-width:30px}.upcoming-list article{align-items:flex-start}.upcoming-list article>p{align-items:flex-start;flex-wrap:wrap;gap:5px 7px;white-space:normal}.upcoming-list article>p span{flex-basis:100%;padding-left:0}.upcoming-list article>p i:last-of-type{display:none}}

/* Parcours en club et transfert 4.0 */
.clubs-card{grid-column:1/-1}.club-history{display:flex;align-items:stretch;gap:10px}.club-history>article{min-width:0;flex:1;display:grid;align-content:center;gap:4px;padding:14px 16px;border:1px solid #ffffff12;border-radius:11px;background:#07131f}.club-history>article.current{border-color:#ffcc3540;background:linear-gradient(135deg,#ffcc3512,#07131f)}.club-history article small{color:#7f94a4;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.club-history article strong{font-size:13px}.club-history article span{color:#8196a5;font-size:9px}.club-history article.current span{color:var(--sport-accent)}.club-transfer{min-width:74px;display:grid;place-content:center;justify-items:center;gap:3px;color:var(--sport-accent)}.club-transfer i{font-size:22px;font-style:normal}.club-transfer span{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.club-history>p{margin:0;color:#8196a5;font-size:9px}@media(max-width:620px){.club-history{align-items:stretch;flex-direction:column}.club-transfer{min-width:0}.club-transfer i{transform:rotate(90deg)}}

/* Carte des départements visités 4.1 */
.departments-map-card{grid-column:1/-1}.departments-map-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(280px,1.1fr);gap:22px;align-items:center}.france-map-shell{position:relative;min-height:430px;display:grid;place-items:center;padding:10px;border:1px solid #ffffff0e;border-radius:13px;background:radial-gradient(circle at 50% 50%,#173147 0,#07131f 68%)}.france-map-shell svg{width:100%;height:430px;filter:drop-shadow(0 14px 18px #0005)}.france-map-shell path{fill:#102638;stroke:#637888;stroke-width:.7;vector-effect:non-scaling-stroke;transition:fill .18s ease,filter .18s ease,transform .18s ease;transform-box:fill-box;transform-origin:center}.france-map-shell path.visited{fill:var(--map-color,#d9a600);stroke:#ffe185;cursor:help}.france-map-shell path.occitanie-visited{stroke:#8fffc1}.france-map-shell path.occitanie-missing{fill:#8f2634;stroke:#ff7182;cursor:help}.france-map-shell path:hover{filter:brightness(1.35);transform:scale(1.012)}.france-map-shell>p{position:absolute;margin:0;color:#8196a5;font-size:10px}.departments-map-layout>aside{display:grid;gap:12px}.map-legends{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap}.map-scale,.map-missing,.map-other{display:flex;align-items:center;gap:9px;color:#8196a5;font-size:8px}.map-scale i{width:120px;height:7px;border-radius:9px;background:linear-gradient(90deg,#765a09,var(--sport-accent))}.map-scale.occitanie-scale i{background:linear-gradient(90deg,#146b3b,#48df8e)}.map-missing i,.map-other i{width:14px;height:10px;border-radius:3px}.map-missing i{border:1px solid #ff7182;background:#8f2634}.map-other i{border:1px solid #ffe185;background:#d9a600}.department-ranking{display:grid;grid-template-columns:1fr 1fr;gap:6px}.department-ranking article{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #ffffff0d;border-radius:8px;background:#07131f}.department-ranking b{color:var(--sport-accent);font-size:9px}.department-ranking span{min-width:0;overflow:hidden;color:#c3d0d7;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.department-ranking strong{min-width:24px;padding:3px 6px;border-radius:20px;background:#ffcc3512;color:#fff;text-align:center;font-size:9px}.departments-map-layout>aside>small{color:#6f8798;font-size:8px;line-height:1.45}@media(max-width:850px){.departments-map-layout{grid-template-columns:1fr}.france-map-shell{min-height:360px}.france-map-shell svg{height:360px}}@media(max-width:520px){.department-ranking{grid-template-columns:1fr}.france-map-shell{min-height:300px}.france-map-shell svg{height:300px}}

/* Composition cockpit du tableau de bord 5.0 */
.real-sport-dashboard{background:radial-gradient(circle at 92% 0,#17405a 0,transparent 32rem),radial-gradient(circle at 5% 42%,#112c3b 0,transparent 28rem),#06101a}.real-dashboard-head{padding:8px 0 2px}.dashboard-jumpnav{position:sticky;z-index:20;top:8px;display:flex;gap:5px;margin:0 0 12px;padding:6px;border:1px solid #ffffff12;border-radius:12px;background:#07131fdd;box-shadow:0 10px 30px #0005;backdrop-filter:blur(14px)}.dashboard-jumpnav a{flex:1;padding:9px 10px;border-radius:8px;color:#8fa4b3;text-align:center;text-decoration:none;font-size:9px;font-weight:850;transition:.18s ease}.dashboard-jumpnav a:hover,.dashboard-jumpnav a:focus-visible{background:#ffcc3513;color:var(--sport-accent);outline:none}.dashboard-glance{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}.dashboard-glance a{min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:14px;border:1px solid #ffffff12;border-radius:12px;background:linear-gradient(145deg,#102536,#091723);color:#fff;text-decoration:none;box-shadow:0 12px 30px #0002;transition:.2s ease}.dashboard-glance a:hover{border-color:#ffcc3540;transform:translateY(-2px)}.dashboard-glance i{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ffcc3514;color:var(--sport-accent);font-size:16px;font-style:normal}.dashboard-glance span{overflow:hidden;color:#7890a2;font-size:8px;font-weight:850;letter-spacing:.07em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.dashboard-glance strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sport-dash-card,.performance-kpis{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.sport-dash-card:hover,.performance-kpis:hover{border-color:#ffffff25;box-shadow:0 20px 46px #0004}.rankings-card{order:10}.progress-card{order:11}.upcoming-card{order:20}.season-card{order:30}.podiums-card{order:31}.championships-card{order:32}.clubs-card{grid-column:auto;order:33}.departments-map-card{order:40}.sessions-card{order:50}.sources-card{grid-column:auto;order:60}.equipment-card{grid-column:auto;order:61}.clubs-card .club-history{height:100%;flex-direction:column}.clubs-card .club-transfer{min-width:0}.clubs-card .club-transfer i{transform:rotate(90deg)}.championship-grid{grid-template-columns:1fr}.sources-card>div{grid-template-columns:1fr 1fr}.equipment-card>div{grid-template-columns:1fr}.upcoming-card{border-color:#ffcc3524;background:linear-gradient(145deg,#132b3b,#091724)}section[id]{scroll-margin-top:82px}@media(max-width:1050px){.dashboard-glance{grid-template-columns:1fr 1fr}.sources-card>div{grid-template-columns:1fr}}@media(max-width:900px){.clubs-card,.sources-card,.equipment-card{grid-column:1/-1}.clubs-card .club-history{flex-direction:row}.clubs-card .club-transfer{min-width:74px}.clubs-card .club-transfer i{transform:none}}@media(max-width:620px){.dashboard-jumpnav{top:4px;overflow-x:auto;justify-content:flex-start}.dashboard-jumpnav a{min-width:max-content}.dashboard-glance{grid-template-columns:1fr}.clubs-card .club-history{flex-direction:column}.clubs-card .club-transfer{min-width:0}.clubs-card .club-transfer i{transform:rotate(90deg)}}

/* Rangée des performances officielles 5.1 */
.dashboard-main-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start}.rankings-card,.podiums-card,.championships-card{grid-column:span 2;order:10;height:100%}.rankings-card .ranking-scopes{grid-template-columns:repeat(2,minmax(0,1fr))}.rankings-card .ranking-years button{padding-inline:8px}.rankings-card .ranking-disciplines button{min-width:0;flex:1}.progress-card,.season-card{grid-column:span 3;order:20}.upcoming-card{grid-column:1/-1;order:30}.clubs-card,.equipment-card{grid-column:span 3}.clubs-card{order:40}.equipment-card{order:41}.departments-map-card{grid-column:1/-1;order:50}.sessions-card{grid-column:1/-1;order:60}.sources-card{grid-column:1/-1;order:70}.sources-card>div{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1050px){.dashboard-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rankings-card,.podiums-card,.championships-card,.progress-card,.season-card,.clubs-card,.equipment-card{grid-column:span 1}.rankings-card{grid-column:1/-1}.sources-card>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.dashboard-main-grid{grid-template-columns:1fr}.rankings-card,.podiums-card,.championships-card,.progress-card,.season-card,.clubs-card,.equipment-card{grid-column:1/-1}.sources-card>div{grid-template-columns:1fr}}
@media(min-width:901px) and (max-width:1050px){.dashboard-main-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.rankings-card,.podiums-card,.championships-card{grid-column:span 2}.progress-card,.season-card,.clubs-card,.equipment-card{grid-column:span 3}.rankings-card{grid-column:span 2}.sources-card>div{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Rangée calendrier et scores 5.2 */
.upcoming-card,.sessions-card{grid-column:span 3;order:30;height:100%}.sessions-card .result-row{min-width:610px;grid-template-columns:92px 1fr 1.2fr 68px 1fr}.sessions-card .results-toggle{margin-top:4px}@media(max-width:900px){.upcoming-card,.sessions-card{grid-column:1/-1}.sessions-card .result-row{min-width:680px;grid-template-columns:105px 1fr 1.4fr 80px 1fr}}

/* Rangée parcours, saisons et géographie 5.3 */
.season-card,.clubs-card,.departments-map-card{grid-column:span 2;order:40;height:100%}.progress-card,.equipment-card{grid-column:span 3;order:20}.departments-map-card .departments-map-layout{grid-template-columns:1fr;gap:12px}.departments-map-card .france-map-shell{min-height:270px;padding:6px}.departments-map-card .france-map-shell svg{height:270px}.departments-map-card .map-legends{gap:8px}.departments-map-card .department-ranking{max-height:138px;overflow:auto;padding-right:3px;grid-template-columns:1fr}.departments-map-card .department-ranking article{padding-block:6px}.departments-map-card .departments-map-layout>aside>small{display:none}@media(min-width:901px) and (max-width:1050px){.season-card,.clubs-card,.departments-map-card{grid-column:span 2}.progress-card,.equipment-card{grid-column:span 3}}@media(max-width:900px){.season-card,.clubs-card,.departments-map-card,.progress-card,.equipment-card{grid-column:1/-1}.departments-map-card .departments-map-layout{grid-template-columns:minmax(300px,.9fr) minmax(260px,1.1fr)}.departments-map-card .department-ranking{max-height:270px;grid-template-columns:1fr 1fr}}@media(max-width:620px){.departments-map-card .departments-map-layout{grid-template-columns:1fr}.departments-map-card .department-ranking{grid-template-columns:1fr}}

/* Rangée prioritaire avant les records 5.4 */
.dashboard-feature-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch;margin:0 0 14px}.dashboard-feature-row>.sport-dash-card{grid-column:auto;order:initial;height:100%;min-width:0}.dashboard-feature-row>.sessions-card .sessions-table{max-width:100%}@media(max-width:900px){.dashboard-feature-row{grid-template-columns:1fr}.dashboard-feature-row>.sport-dash-card{grid-column:1}}

/* Profil, parcours et calendrier géographique 5.5 */
.dashboard-overview-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;margin:0 0 14px}.dashboard-overview-row>.sport-dash-card,.dashboard-feature-row>.departments-map-card{grid-column:auto;order:initial;height:100%;min-width:0}.profile-summary{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.profile-summary>i{width:54px;height:54px;display:grid;place-items:center;border:1px solid #ffcc3540;border-radius:50%;background:linear-gradient(145deg,#ffcc3526,#ffcc3508);color:var(--sport-accent);font-size:17px;font-style:normal;font-weight:950}.profile-summary>div{min-width:0;display:grid;gap:5px}.profile-summary strong{font-size:13px}.profile-summary span{overflow:hidden;color:#a8bbc7;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.profile-summary small{color:#718899;font-size:9px}.dashboard-feature-row>.departments-map-card .departments-map-layout{grid-template-columns:minmax(230px,.9fr) minmax(180px,1.1fr)}.dashboard-feature-row>.departments-map-card .france-map-shell,.dashboard-feature-row>.departments-map-card .france-map-shell svg{min-height:250px;height:250px}.dashboard-feature-row>.departments-map-card .department-ranking{max-height:250px}.dashboard-standalone-scores{margin-bottom:14px}.dashboard-standalone-scores .sessions-table{max-width:100%}@media(max-width:1050px){.dashboard-overview-row{grid-template-columns:1fr 1fr}.dashboard-overview-row>.profile-card{grid-column:1/-1}.dashboard-feature-row>.departments-map-card .departments-map-layout{grid-template-columns:1fr}}@media(max-width:900px){.dashboard-overview-row{grid-template-columns:1fr}.dashboard-overview-row>.sport-dash-card,.dashboard-overview-row>.profile-card{grid-column:1}.dashboard-feature-row>.departments-map-card .departments-map-layout{grid-template-columns:minmax(300px,.9fr) minmax(260px,1.1fr)}}@media(max-width:620px){.dashboard-feature-row>.departments-map-card .departments-map-layout{grid-template-columns:1fr}}

/* Ordonnancement éditorial du tableau de bord 5.6 */
.dashboard-profile-row,.dashboard-official-row,.dashboard-calendar-row,.dashboard-journey-row{display:grid;gap:14px;align-items:stretch;margin:0 0 14px}.dashboard-profile-row{grid-template-columns:minmax(250px,.7fr) minmax(0,2.3fr)}.dashboard-official-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-calendar-row{grid-template-columns:1fr 1fr}.dashboard-journey-row{grid-template-columns:2fr 1fr}.dashboard-profile-row>.sport-dash-card,.dashboard-official-row>.sport-dash-card,.dashboard-calendar-row>.sport-dash-card,.dashboard-journey-row>.sport-dash-card{grid-column:auto;order:initial;height:100%;min-width:0}.dashboard-profile-row .sessions-table{max-width:100%}.dashboard-calendar-row .departments-map-layout{grid-template-columns:minmax(230px,.9fr) minmax(180px,1.1fr)}.dashboard-calendar-row .france-map-shell,.dashboard-calendar-row .france-map-shell svg{min-height:250px;height:250px}.dashboard-calendar-row .department-ranking{max-height:250px}.journey-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.journey-layout>section+section{padding-left:16px;border-left:1px solid #ffffff12}.journey-layout h3{margin:0 0 12px;color:var(--sport-accent);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.journey-card .club-history{height:auto;flex-direction:column}.journey-card .club-transfer{min-width:0}.journey-card .club-transfer i{transform:rotate(90deg)}.dashboard-journey-row>.equipment-card>div{grid-template-columns:1fr}@media(max-width:1100px){.dashboard-profile-row{grid-template-columns:1fr}.dashboard-official-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-calendar-row .departments-map-layout{grid-template-columns:1fr}.dashboard-journey-row{grid-template-columns:1fr}.dashboard-journey-row>.equipment-card>div{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.dashboard-official-row,.dashboard-calendar-row{grid-template-columns:1fr}.dashboard-calendar-row .departments-map-layout{grid-template-columns:minmax(300px,.9fr) minmax(260px,1.1fr)}}@media(max-width:700px){.dashboard-official-row{grid-template-columns:1fr}.journey-layout{grid-template-columns:1fr}.journey-layout>section+section{padding:16px 0 0;border-top:1px solid #ffffff12;border-left:0}.dashboard-journey-row>.equipment-card>div{grid-template-columns:1fr}}@media(max-width:620px){.dashboard-calendar-row .departments-map-layout{grid-template-columns:1fr}}

/* Détail disciplinaire par saison 5.7 */
.season-evolution-grid{display:grid;gap:10px}.season-evolution-card{overflow:hidden;border:1px solid #ffffff12;border-radius:12px;background:#07131f}.season-evolution-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #ffffff10;background:#ffffff04}.season-evolution-card>header strong{color:var(--sport-accent);font-size:12px}.season-evolution-card>header span{overflow:hidden;color:#91a6b4;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.season-disciplines{display:grid;grid-template-columns:1fr 1fr}.season-disciplines>section{min-width:0;padding:11px 12px}.season-disciplines>section+section{border-left:1px solid #ffffff10}.season-disciplines h3{margin:0 0 8px;color:#fff;font-size:11px}.season-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.season-stat-grid p{min-width:0;display:grid;gap:2px;margin:0;padding:7px 8px;border-radius:8px;background:#ffffff04}.season-stat-grid p.wide{grid-column:1/-1}.season-stat-grid small{color:#6f8798;font-size:7px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.season-stat-grid strong{overflow:hidden;color:#dce7ec;font-size:9px;line-height:1.35;text-overflow:ellipsis}.season-transfer{display:flex;align-items:center;justify-content:center;gap:10px;margin:1px 0;padding:8px 12px;border:1px solid #ffcc3535;border-radius:10px;background:#ffcc3509}.season-transfer>i{color:var(--sport-accent);font-size:18px;font-style:normal}.season-transfer p{display:grid;gap:2px;margin:0}.season-transfer small{color:#8b9fac;font-size:7px;font-weight:900;letter-spacing:.08em}.season-transfer strong{color:#fff;font-size:10px}@media(max-width:700px){.season-disciplines{grid-template-columns:1fr}.season-disciplines>section+section{border-top:1px solid #ffffff10;border-left:0}}

/* Statistiques principales sur une ligne 5.9 */
.season-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Médailles détaillées 6.1 */
.season-stat-grid .medal-counts{display:flex;align-items:center;gap:5px;overflow:visible}.medal-counts span{white-space:nowrap;font-size:9px}

/* Disciplines empilées 6.2 */
.season-disciplines{grid-template-columns:1fr}.season-disciplines>section+section{border-top:1px solid #ffffff10;border-left:0}

/* Moyenne et classements sur deux lignes 6.3 */
.season-stat-grid .ranking-stat>strong{display:grid;gap:4px;overflow:visible}.ranking-stat strong>b{color:#fff;font-size:10px}.ranking-stat strong>span{color:#a9bdca;font-size:9px;line-height:1.45}

/* Championnats sur des lignes distinctes 6.4 */
.season-stat-grid .championship-values{display:grid;gap:4px;overflow:visible}.championship-values span{color:#dce7ec;font-size:9px;line-height:1.35}

/* Navigation compacte saisons et disciplines 6.5 */
.season-evolution-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#ffffff04}.season-evolution-card>summary::-webkit-details-marker{display:none}.season-evolution-card>summary>span{min-width:0;display:flex;align-items:center;gap:10px}.season-evolution-card>summary strong{color:var(--sport-accent);font-size:12px}.season-evolution-card>summary small{overflow:hidden;color:#91a6b4;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.season-evolution-card>summary>i{color:#8ca1af;font-size:17px;font-style:normal;transition:transform .2s ease}.season-evolution-card[open]>summary{border-bottom:1px solid #ffffff10}.season-evolution-card[open]>summary>i{color:var(--sport-accent);transform:rotate(180deg)}.season-card-content{padding:11px 12px 12px}.season-discipline-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:9px;padding:4px;border-radius:9px;background:#06101a}.season-discipline-tabs button{padding:8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#7f94a4;font-size:9px;font-weight:900;cursor:pointer}.season-discipline-tabs button[aria-pressed="true"]{border-color:#ffcc353c;background:#ffcc3512;color:var(--sport-accent)}.season-card-content .season-disciplines>section{padding:0}.season-card-content .season-disciplines>section+section{border:0}.season-card-content [hidden]{display:none!important}

/* Profil, évolution et équipement sur une rangée 6.6 */
.dashboard-profile-row{grid-template-columns:minmax(210px,.65fr) minmax(220px,.85fr) minmax(430px,2fr);align-items:start}.dashboard-profile-row>.sport-dash-card{height:auto}.dashboard-profile-row>.equipment-card>div{grid-template-columns:1fr}.dashboard-profile-row+.dashboard-standalone-scores{margin-bottom:14px}@media(max-width:1180px){.dashboard-profile-row{grid-template-columns:minmax(210px,.7fr) minmax(420px,1.7fr)}.dashboard-profile-row>.journey-card{grid-column:1/-1}.dashboard-profile-row>.equipment-card>div{grid-template-columns:1fr}}@media(max-width:820px){.dashboard-profile-row{grid-template-columns:1fr}.dashboard-profile-row>.journey-card{grid-column:1}.dashboard-profile-row>.equipment-card>div{grid-template-columns:1fr}}

/* Lisibilité renforcée du bandeau principal 6.9 */
.dashboard-profile-row .sport-dash-card{padding:22px}.dashboard-profile-row .sport-dash-card>header{margin-bottom:20px}.dashboard-profile-row .sport-dash-card>header small{font-size:10px;letter-spacing:.13em}.dashboard-profile-row .sport-dash-card h2{font-size:22px}.dashboard-profile-row .sport-dash-card header>span{font-size:11px}.dashboard-profile-row .profile-summary strong{font-size:15px}.dashboard-profile-row .profile-summary span{font-size:12px}.dashboard-profile-row .profile-summary small{font-size:10px}.dashboard-profile-row .equipment-card article{padding:14px}.dashboard-profile-row .equipment-card p strong{font-size:13px}.dashboard-profile-row .equipment-card p span{font-size:11px;line-height:1.4}.dashboard-profile-row .equipment-card article>b{font-size:11px}.dashboard-profile-row .season-evolution-card>summary{padding:14px 16px}.dashboard-profile-row .season-evolution-card>summary strong{font-size:15px}.dashboard-profile-row .season-evolution-card>summary small{font-size:11px}.dashboard-profile-row .season-discipline-tabs button{padding:10px;font-size:12px}.dashboard-profile-row .season-disciplines h3{margin-bottom:10px;font-size:14px}.dashboard-profile-row .season-stat-grid{gap:9px}.dashboard-profile-row .season-stat-grid p{padding:10px 11px}.dashboard-profile-row .season-stat-grid small{font-size:9px;line-height:1.35}.dashboard-profile-row .season-stat-grid strong{font-size:13px;line-height:1.45}.dashboard-profile-row .medal-counts span{font-size:12px}.dashboard-profile-row .championship-values span{font-size:12px}.dashboard-profile-row .ranking-stat strong>b{font-size:13px}.dashboard-profile-row .ranking-stat strong>span{font-size:12px;line-height:1.55}.dashboard-profile-row .season-transfer small{font-size:9px}.dashboard-profile-row .season-transfer strong{font-size:12px}@media(max-width:620px){.dashboard-profile-row .sport-dash-card{padding:17px}.dashboard-profile-row .season-stat-grid{grid-template-columns:1fr 1fr}.dashboard-profile-row .season-stat-grid p:nth-child(3){grid-column:1/-1}}

/* Records mobiles : performances puis classement centré 7.0 */
@media(max-width:620px){.performance-kpis{padding:15px}.performance-kpis>header{margin-bottom:10px}.performance-row{display:grid;grid-template-columns:1fr 1fr}.performance-row h3{grid-column:1/-1;padding:12px 11px 8px;font-size:15px}.performance-row>div{display:grid;align-content:center;justify-items:center;gap:4px;padding:11px 9px;text-align:center}.performance-row>div:nth-child(3){border-left:1px solid #ffffff0c}.performance-row>div:nth-child(4){grid-column:1/-1;display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:5px 12px;padding:12px;border-top:1px solid #ffffff0c;border-left:0;text-align:center}.performance-row>div>small{display:block;color:#8ba0ae;font-size:9px}.performance-row>div>strong{font-size:17px;white-space:nowrap}.performance-row>div>span{color:#718899;font-size:9px;line-height:1.35}.performance-row>div:nth-child(4)>small{grid-column:1/-1}.performance-row>div:nth-child(4)>strong{font-size:16px}.performance-row>div:nth-child(4)>span{max-width:180px}.performance-head{display:none}}

/* Championnats mobiles sur une seule ligne 7.1 */
.championship-values span{white-space:nowrap}@media(max-width:620px){.championship-disciplines p span{display:inline-block;white-space:nowrap}.dashboard-profile-row .championship-values span{font-size:11px}}

/* Ligne départementale compacte sur téléphone 7.2 */
@media(max-width:620px){.championship-disciplines section{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:9px}.championship-disciplines section>div{display:block;white-space:nowrap}.championship-disciplines section>div strong{font-size:10px}.championship-disciplines section>div small{display:none}.championship-disciplines p{min-width:0;display:block;overflow-x:auto;white-space:nowrap;font-size:9px;scrollbar-width:none}.championship-disciplines p::-webkit-scrollbar{display:none}.championship-disciplines p span{display:inline;white-space:nowrap}}

/* Séparateurs des lignes départementales 7.3 */
.championship-grid>article:first-child .championship-disciplines{gap:0;overflow:hidden;border:1px solid #ffffff10;border-radius:9px}.championship-grid>article:first-child .championship-disciplines section{border-radius:0;background:#ffffff04}.championship-grid>article:first-child .championship-disciplines section+section{border-top:1px solid #ffcc3530}

/* Une ligne par saison dans chaque discipline 7.4 */
.championship-disciplines p{display:grid;gap:5px}.championship-disciplines p span{display:block;white-space:nowrap}.championship-disciplines p span+span{padding-top:5px;border-top:1px solid #ffffff12}@media(max-width:620px){.championship-disciplines p{display:grid;overflow:visible;white-space:normal}.championship-disciplines p span{display:block;white-space:nowrap}}

/* Championnats sobres et lisibles 7.6 */
.championship-disciplines section{display:block;overflow:hidden;padding:0;border:1px solid #ffffff10;border-radius:9px;background:#ffffff02}.championship-disciplines section>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:0;padding:9px 10px;border:0;border-bottom:1px solid #ffffff10;border-radius:0;background:#ffffff04;text-align:left}.championship-disciplines section>div strong{color:var(--sport-accent);font-size:13px;letter-spacing:.04em}.championship-disciplines section>div small{display:block;margin:0;color:#8398a7;font-size:10px}.championship-disciplines p{display:grid;gap:0;margin:0;padding:0}.championship-disciplines p span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:0;border-radius:0;background:transparent;font-size:12px;line-height:1.35;white-space:nowrap}.championship-disciplines p b{font-size:12px}.championship-disciplines p span+span{padding-top:10px;border-top:1px solid #ffffff0f}@media(max-width:620px){.championship-disciplines section{display:block;padding:0}.championship-disciplines section>div{display:flex;min-height:0;padding:9px}.championship-disciplines section>div strong{font-size:13px}.championship-disciplines section>div small{display:block;font-size:10px}.championship-disciplines p{display:grid;overflow:visible;white-space:normal}.championship-disciplines p span{display:flex;padding:10px 9px;font-size:11px;white-space:nowrap}.championship-disciplines p b{font-size:11px}}

/* Podiums par saison plus lisibles 8.0 */
.podium-seasons article{grid-template-columns:68px 1fr auto;padding:12px 10px}.podium-seasons article>strong{font-size:15px}.podium-seasons article>span{font-size:13px;font-weight:800}.podium-seasons article>small{color:#b3c2cb;font-size:12px;font-weight:700;white-space:nowrap}@media(max-width:620px){.podium-seasons article{grid-template-columns:62px 1fr;padding:12px 8px}.podium-seasons article>strong{font-size:15px}.podium-seasons article>span{font-size:13px}.podium-seasons article>small{grid-column:2;font-size:12px}}

/* Résultats croisés plus compacts 8.2 */
.sessions-card .result-row{padding:7px 4px;line-height:1.2}.sessions-card .result-head{padding-top:2px;padding-bottom:6px}.sessions-card .result-season>h3{margin-bottom:4px}.sessions-card .result-season+.result-season{margin-top:2px}@media(max-width:620px){.sessions-card .result-row{padding:6px 3px}}

/* Compétitions et départs regroupés 8.3 */
.sessions-card .sessions-table{overflow:visible}.results-competition-head{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:3px 8px 6px;color:#6f8798;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.result-competition{display:grid;grid-template-columns:150px 1fr;border-top:1px solid #ffffff10}.result-competition-meta{display:grid;align-content:center;gap:3px;padding:8px}.result-competition-meta time{color:#fff;font-size:11px;font-weight:850}.result-competition-meta span{color:#8ea2b1;font-size:10px}.result-departures{display:grid;border-left:1px solid #ffffff0c}.result-departure{display:grid;grid-template-columns:64px minmax(120px,1fr) 56px 94px;align-items:center;gap:8px;padding:6px 8px}.result-departure+.result-departure{border-top:1px solid #ffffff0b}.result-departure>span{color:#8ea2b1;font-size:9px}.result-departure>strong{font-size:10px}.result-departure>b{justify-self:start;padding:4px 8px;border-radius:20px;background:#173e36;color:#63dfb3;font-size:10px}.result-departure>em{justify-self:end;color:#6fe0b3;font-size:8px;font-style:normal;font-weight:850;white-space:nowrap}.result-departure>em.pending{color:#d7b63b}@media(max-width:620px){.results-competition-head{display:none}.result-competition{display:block;padding:0}.result-competition-meta{padding:8px 7px;border-bottom:1px solid #ffffff0b;background:#ffffff03}.result-competition-meta time{font-size:11px}.result-competition-meta span{font-size:10px}.result-departures{border-left:0}.result-departure{grid-template-columns:58px minmax(0,1fr) 48px;gap:6px;padding:6px 7px}.result-departure>em{grid-column:2/4;justify-self:start;font-size:8px}}

/* Durée, catégorie et classement officiel 8.4 */
.result-competition-meta time{display:flex;align-items:center;justify-content:space-between;gap:6px}.result-competition-meta time small{padding:3px 6px;border-radius:20px;background:#ffffff0b;color:#9db0bd;font-size:8px;font-weight:800;white-space:nowrap}.result-departure{grid-template-columns:74px minmax(150px,1fr) 56px 120px}.result-departure>strong{display:grid;gap:2px}.result-departure>strong small{color:#8499a8;font-size:8px;font-weight:600}.result-departure>em.validated{color:#6fe0b3}@media(max-width:620px){.result-competition-meta time{justify-content:flex-start}.result-departure{grid-template-columns:72px minmax(0,1fr) 48px}.result-departure>strong small{font-size:8px}}

/* Type, classement et médaille 8.5 */
.result-departure>.result-kind{width:max-content;padding:4px 7px;border:1px solid #ffcc3530;border-radius:20px;background:#ffcc3509;color:var(--sport-accent);font-size:8px;font-weight:850}.result-departure>em{min-width:112px}@media(max-width:620px){.result-departure>.result-kind{font-size:8px}.result-departure>em{min-width:0}}

/* Types de résultats 8.9 */
.result-departure{grid-template-columns:128px minmax(150px,1fr) 56px 120px}.result-departure>.result-kind{white-space:nowrap}.result-departure>.result-kind.ranking{border-color:#4aa8ff55;background:#4aa8ff16;color:#79c3ff}.result-departure>.result-kind.championship{border-color:#c58cff55;background:#c58cff14;color:#d8acff}@media(max-width:620px){.result-departure{grid-template-columns:118px minmax(0,1fr) 48px}.result-departure>.result-kind{font-size:8px}}

/* Championnat sur deux lignes 9.0 */
.result-departure>.result-kind.championship{width:92px;white-space:normal;text-align:center;line-height:1.25}

/* La période suffit : masquer le badge de durée 9.1 */
.result-competition-meta time small{display:none}

/* Mobile sans défilement horizontal 9.2 */
html,body{max-width:100%;overflow-x:hidden}@media(max-width:620px){.real-sport-dashboard,.dashboard-main-grid,.dashboard-profile-row,.dashboard-official-row,.dashboard-calendar-row,.dashboard-journey-row,.sport-dash-card{min-width:0;max-width:100%}.dashboard-jumpnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.dashboard-jumpnav a{min-width:0;padding:8px 4px;overflow-wrap:anywhere}.result-departure{grid-template-columns:92px minmax(0,1fr) 42px;width:100%;max-width:100%;gap:5px}.result-departure>strong,.result-competition-meta span{min-width:0;overflow-wrap:anywhere}.result-departure>em{white-space:normal}.upcoming-list article{min-width:0;padding-inline:10px}.upcoming-list article>p{min-width:0;max-width:100%}}

/* Rangée profil 15.35 : licence sous le profil, progression au-dessus du parcours. */
.dashboard-profile-stack{min-width:0;display:grid;gap:14px;align-content:start}.dashboard-profile-stack>.sport-dash-card{height:auto}.dashboard-profile-stack--identity .license-strip{margin:0;align-items:flex-start;flex-direction:column;gap:10px}.dashboard-profile-stack--identity .license-strip>div{align-items:flex-start;flex-direction:column;gap:5px}.dashboard-profile-stack--identity .license-strip>b{align-self:flex-start}@media(max-width:1180px){.dashboard-profile-row>.dashboard-profile-stack--journey{grid-column:1/-1}}@media(max-width:820px){.dashboard-profile-row>.dashboard-profile-stack{grid-column:1}}

.license-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.license-actions button,.license-actions a{display:flex;align-items:center;justify-content:center;min-height:34px;box-sizing:border-box;padding:8px 9px;border:1px solid #4baaf058;border-radius:9px;background:#12304a;color:#7bc7ff;font:850 9px/1.2 inherit;text-align:center;text-decoration:none;cursor:pointer}.license-actions a{border-color:#58e2aa55;background:#173e36;color:#72e4b7}.license-actions [hidden]{display:none}.license-upload-dialog label{display:grid;gap:7px;color:#9eb1bd;font-size:10px;font-weight:850}.license-upload-dialog input[type="file"]{padding:10px;font-size:11px;font-weight:700}.license-upload-error{color:#ff7d88!important;font-weight:800}.license-upload-dialog button:disabled{opacity:.55;cursor:wait}

/* Ajout de licence sous forme d’intercalaire, comme le compteur J-. */
.dashboard-profile-stack--identity .license-strip{position:relative;margin-top:16px!important;overflow:visible}.license-actions{display:block}.license-actions>a{width:100%}.license-actions>button[data-license-upload]{position:absolute;top:-17px;right:11px;width:44px;min-width:44px;height:32px;min-height:32px;padding:0;border-color:#4baaf06b;border-bottom:0;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#163d59,#0d2639);box-shadow:0 -5px 14px #00000028;color:#7bcfff;font-size:21px;line-height:1;z-index:3}@media(max-width:620px){.dashboard-profile-stack--identity .license-strip{margin-top:17px!important}.license-actions>button[data-license-upload]{top:-18px;height:34px;font-size:22px}}

.license-upload-dialog form>div{grid-template-columns:.8fr 1fr 1.35fr}.license-upload-dialog [data-license-delete]{border-color:#ff667455;background:#451821;color:#ff9aa3}@media(max-width:620px){.license-upload-dialog form>div{grid-template-columns:1fr}.license-upload-dialog form>div button{width:100%}}

/* Profil et licence réunis dans une seule carte. */
.dashboard-profile-stack--identity .profile-card{position:relative;margin-top:16px;overflow:visible}.profile-license{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #ffffff12}.profile-license>div{display:grid;gap:4px}.profile-license small{color:var(--sport-accent);font-size:8px;font-weight:950;letter-spacing:.12em}.profile-license strong{font-size:13px}.profile-license span{color:#8ea2b1;font-size:10px;line-height:1.35}.profile-license>b{width:max-content;padding:5px 8px;border-radius:20px;background:#1f4b3b;color:#71e4b4;font-size:8px;letter-spacing:.08em}.profile-card .license-actions>button[data-license-upload]{position:absolute;top:-17px;right:11px;width:44px;min-width:44px;height:32px;min-height:32px;padding:0;border-color:#4baaf06b;border-bottom:0;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#163d59,#0d2639);box-shadow:0 -5px 14px #00000028;color:#7bcfff;font-size:21px;line-height:1;z-index:3}@media(max-width:620px){.dashboard-profile-stack--identity .profile-card{margin-top:17px}.profile-card .license-actions>button[data-license-upload]{top:-18px;height:34px;font-size:22px}}

/* Le bouton + est rattaché à la zone licence, pas au sommet du profil. */
.dashboard-profile-stack--identity .profile-card{margin-top:0}.profile-license{position:relative}.profile-card .license-actions>button[data-license-upload]{top:-17px;right:0}@media(max-width:620px){.dashboard-profile-stack--identity .profile-card{margin-top:0}.profile-card .license-actions>button[data-license-upload]{top:-18px}}

.profile-license>.license-state.active{background:#1f4b3b;color:#71e4b4}.profile-license>.license-state.pending{background:#4a321b;color:#ffad57}

.profile-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.profile-card>summary::-webkit-details-marker{display:none}.profile-card>summary h2{margin:0}.profile-card>summary>i{color:#8ca1af;font-size:19px;font-style:normal;transition:transform .2s ease}.profile-card[open]>summary>i{color:var(--sport-accent);transform:rotate(180deg)}.profile-card-content{display:grid;gap:0;margin-top:20px}.profile-card:not([open]){padding-block:18px}.profile-card:not([open])>summary{min-height:28px}

.equipment-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.equipment-card>summary::-webkit-details-marker{display:none}.equipment-card>summary h2{margin:0}.equipment-card>summary>i{color:#8ca1af;font-size:19px;font-style:normal;transition:transform .2s ease}.equipment-card[open]>summary>i{color:var(--sport-accent);transform:rotate(180deg)}.equipment-card-content{display:grid;gap:10px;margin-top:20px}.equipment-card:not([open]){padding-block:18px}.equipment-card:not([open])>summary{min-height:28px}

.dashboard-collapsible>header{cursor:pointer}.dashboard-collapsible:not(.is-card-open){padding-block:18px}.dashboard-collapsible:not(.is-card-open)>header{min-height:28px;margin-bottom:0}.card-collapse-toggle{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:#ffffff08;color:#8ca1af;cursor:pointer}.card-collapse-toggle span{font-size:19px;line-height:1;transition:transform .2s ease}.dashboard-collapsible.is-card-open .card-collapse-toggle{color:var(--sport-accent)}.dashboard-collapsible.is-card-open .card-collapse-toggle span{transform:rotate(180deg)}.dashboard-collapsible>[hidden]{display:none!important}

/* Grille compacte : tous les accès restent visibles dans la zone de travail. */
.dashboard-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}.dashboard-card-grid>.sport-dash-card,.dashboard-card-grid>.performance-kpis{grid-column:auto!important;order:initial!important;height:auto!important;min-width:0;margin:0!important;padding:14px!important}.dashboard-card-grid>.sport-dash-card[open],.dashboard-card-grid>.dashboard-collapsible.is-card-open{grid-column:1/-1!important}.dashboard-card-grid .sport-dash-card:not([open])>summary,.dashboard-card-grid .dashboard-collapsible:not(.is-card-open)>header{min-height:30px}.dashboard-card-grid .sport-dash-card h2,.dashboard-card-grid .performance-kpis h2{font-size:16px;line-height:1.2}.dashboard-card-grid .sport-dash-card>header{gap:8px}.dashboard-card-grid .sport-dash-card>header>span{display:none}.dashboard-card-grid .profile-card-content,.dashboard-card-grid .equipment-card-content{margin-top:16px}@media(max-width:1050px){.dashboard-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.real-sport-dashboard{padding-top:12px}.dashboard-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-card-grid>.sport-dash-card,.dashboard-card-grid>.performance-kpis{padding:12px!important}.dashboard-card-grid .sport-dash-card h2,.dashboard-card-grid .performance-kpis h2{font-size:14px}.dashboard-card-grid .card-collapse-toggle{width:26px;height:26px}.dashboard-card-grid>.sport-dash-card[open],.dashboard-card-grid>.dashboard-collapsible.is-card-open{grid-column:1/-1!important}}@media(max-width:360px){.dashboard-card-grid{grid-template-columns:1fr}}

/* Sous-cartes des équipements */
.equipment-card>.equipment-groups{display:grid;grid-template-columns:1fr;gap:12px}
.equipment-group{min-width:0;padding:13px;border:1px solid #ffffff12;border-radius:12px;background:linear-gradient(145deg,#0b1b29,#07131f)}
.equipment-group>h3{min-height:2.6em;margin:0 0 11px;color:var(--sport-accent);font-size:11px;line-height:1.3;letter-spacing:.035em;text-transform:uppercase}
.equipment-group-items{display:grid;gap:8px}
.equipment-card .equipment-group-items>.equipment-item{grid-template-columns:auto minmax(0,1fr) auto;padding:11px;background:#06101acc}
.equipment-card .equipment-item p strong,.equipment-card .equipment-item p span{overflow-wrap:anywhere}
@media(max-width:620px){.equipment-group{padding:11px}.equipment-group>h3{min-height:0;font-size:10px}.equipment-card .equipment-group-items>.equipment-item{padding:10px}}

/* Pleine largeur mobile sans curseur horizontal 9.4 */
@media(max-width:620px){html,body.archery-page{width:100%;max-width:100%;overflow-x:clip}body.archery-page{overscroll-behavior-x:none}.sport-header,.real-sport-dashboard{width:100%;max-width:100%;overflow-x:clip}.real-sport-dashboard *{min-width:0}.dashboard-jumpnav{width:100%;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.dashboard-jumpnav a{width:100%;white-space:normal}.sessions-table,.championship-disciplines p{width:100%;max-width:100%;overflow-x:hidden}.championship-disciplines p span,.championship-values span{white-space:normal}.result-departure>.result-kind{width:auto;max-width:92px;white-space:normal}.ranking-disciplines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-disciplines button{width:100%;max-width:100%;white-space:normal}}

/* Badges de résultat compacts 9.5 */
.result-departure>.result-kind.championship{width:max-content;max-width:none;display:inline-grid;justify-items:center;gap:1px;padding:4px 7px;line-height:1.05}.result-departure>.result-kind.championship small{color:inherit;font-size:7px;font-weight:750;line-height:1}@media(max-width:620px){.result-departure>.result-kind.championship{width:max-content;max-width:84px;padding:4px 6px}.result-departure>.result-kind.championship small{font-size:7px}}

/* Compétition et classement restaurés 9.6 */
.result-departure>.result-kind.competition,.result-departure>.result-kind.ranking{width:max-content;max-width:none;display:inline-block;justify-self:start;padding:4px 7px;white-space:nowrap;line-height:normal}

/* Position des trois scores retenus 10.4 */
.result-departure>em .average-position{display:inline-block;padding:0;background:transparent;font-size:0;font-weight:950;white-space:nowrap}.result-departure>em .average-position::after{content:"Score";font-size:11px}.average-position.position-1{color:#f4c542}.average-position.position-2{color:#c7d0d8}.average-position.position-3{color:#c98958}
.result-departure>em .result-place{font:inherit;font-size:11px;font-weight:950;white-space:nowrap}.result-departure>em .podium-place-gold{color:#f4c542}.result-departure>em .podium-place-silver{color:#c7d0d8}.result-departure>em .podium-place-bronze{color:#c98958}
.ranking-stat .ranking-list-title{display:block;margin-top:7px;color:#6f8798;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.ranking-stat .ranking-list{display:grid!important;gap:3px}.ranking-stat .ranking-list i{display:block;color:inherit;font:inherit;font-style:normal}
.season-transfer,.season-transfer p{text-align:center}.season-transfer p{justify-items:center}
.podiums-card .podium-total{grid-template-columns:1fr;justify-items:center;align-items:center;gap:14px;text-align:center}.podiums-card .podium-total>strong{grid-row:auto;font-size:48px}.podiums-card .podium-total>div{width:100%;justify-content:center;gap:24px}.podiums-card .podium-total b{font-size:20px}.podiums-card .podium-seasons article>small{text-align:center}
.ranking-year-select{position:relative;display:flex;align-items:center;gap:8px;margin:4px 0 12px;padding:5px 6px 5px 12px;border:1px solid #ffcc3538;border-radius:12px;background:linear-gradient(135deg,#102637,#091722);box-shadow:inset 0 1px 0 #ffffff0d,0 8px 20px #0002}.ranking-year-select>span{color:#91a8b8;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ranking-year-select select{min-width:0;flex:1;appearance:none;padding:9px 34px 9px 12px;border:1px solid #ffcc3530;border-radius:9px;background:linear-gradient(135deg,#172b38,#0d1d29);color:var(--sport-accent);font:900 13px/1 inherit;cursor:pointer;outline:none}.ranking-year-select:after{content:'⌄';position:absolute;right:18px;top:50%;color:var(--sport-accent);font-size:16px;font-weight:900;pointer-events:none;transform:translateY(-56%)}.ranking-year-select:focus-within{border-color:#ffcc3575;box-shadow:0 0 0 3px #ffcc3510,0 10px 24px #0003}.ranking-year-select select:hover{border-color:#ffcc3560}
.rankings-card .ranking-scopes{grid-template-columns:1fr}
.rankings-card .ranking-scopes article{text-align:center}.rankings-card .ranking-scopes article>div{justify-items:center}.rankings-card .ranking-scopes p{justify-content:center}.rankings-card .ranking-scopes article>i{display:none}.result-departure>em.validated{color:#63dfb3!important}
.upcoming-card>header small{display:none}
.upcoming-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.upcoming-header-actions>button{min-height:30px;padding:7px 11px;border:1px solid #ffcc3550;border-radius:9px;background:#ffcc3512;color:var(--sport-accent);font:850 9px/1 inherit;cursor:pointer}.upcoming-header-actions>button:hover,.upcoming-header-actions>button:focus-visible{background:#ffcc3522;outline:none}.competition-import-dialog{width:min(94vw,480px)}.competition-import-dialog label{display:grid;gap:6px;color:#aebdc7;font-size:11px;font-weight:800}.competition-import-dialog label input{font-size:16px}.competition-import-preview{display:grid;gap:5px;padding:14px;border:1px solid #58e2aa35;border-radius:11px;background:#58e2aa0b}.competition-import-preview strong{font-size:14px}.competition-import-preview span{color:#b8c8d2;font-size:11px}.competition-import-preview small{margin-top:3px;color:#63dfb3}.competition-import-status.is-error{color:#ff8a94}.competition-import-status.is-success{color:#63dfb3}@media(max-width:620px){.upcoming-card>header{align-items:flex-start}.upcoming-header-actions{flex-direction:column;align-items:flex-end}.upcoming-header-actions>button{min-height:34px}}

/* Carte compétition : hiérarchie claire et actions regroupées. */
.upcoming-list article{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:18px;padding:16px 17px}.upcoming-event-main{min-width:0;display:grid;align-content:center;gap:10px}.upcoming-event-heading{min-width:0;display:flex;align-items:center;gap:11px}.upcoming-event-heading time{flex:0 0 auto;padding:6px 9px;border:1px solid #ffcc3530;border-radius:8px;background:#ffcc350d;color:var(--sport-accent);font-size:12px;font-weight:900;line-height:1}.upcoming-event-heading strong{min-width:0;color:#fff;font-size:17px;line-height:1.15}.upcoming-event-details{min-width:0;display:flex;align-items:center;gap:8px}.upcoming-event-discipline{flex:0 0 auto;padding:4px 7px;border-radius:6px;background:#54bfff14;color:#74caff;font-size:12px;font-weight:850}.upcoming-event-organizer{min-width:0;overflow:hidden;color:#a9bac5;font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.upcoming-list article>aside{min-width:205px;padding-left:16px;border-left:1px solid #ffffff10}.upcoming-list article>aside>b{min-width:58px;border-radius:10px;font-size:13px}.registration-status,.mandate-bubble{font-size:12px}.registration-status{min-width:165px}
@media(max-width:620px){.upcoming-card>header{gap:12px}.upcoming-header-actions{flex-direction:row;align-items:center}.upcoming-header-actions>span{display:none}.upcoming-list article{grid-template-columns:1fr;gap:13px;padding:15px 14px}.upcoming-event-main{gap:9px}.upcoming-event-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px}.upcoming-event-heading time{padding:6px 8px;font-size:13px}.upcoming-event-heading strong{font-size:18px}.upcoming-event-details{align-items:flex-start;flex-wrap:wrap;gap:7px}.upcoming-event-discipline{font-size:13px}.upcoming-event-organizer{flex-basis:100%;overflow:visible;font-size:14px;line-height:1.35;text-overflow:clip;white-space:normal}.upcoming-list article>aside{grid-template-columns:60px minmax(0,1fr);min-width:0;padding:11px 0 0;border-top:1px solid #ffffff10;border-left:0}.upcoming-list article>aside>b{grid-row:1/span 2;min-width:0;font-size:13px}.registration-status,.mandate-bubble{min-height:36px;font-size:13px}.registration-status{min-width:0}}

/* Correctif de grille des prochaines compétitions 10.11 */
.upcoming-list article{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.upcoming-list article>aside{display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;align-items:center!important;justify-items:stretch!important;width:100%;min-width:0!important;box-sizing:border-box;padding:10px 0 0!important;border-top:1px solid #ffffff10!important;border-left:0!important}.upcoming-list article>aside>b{grid-column:2!important;grid-row:1/span 2!important;align-self:stretch!important;width:100%;min-width:0!important;box-sizing:border-box}.upcoming-action-links{grid-column:1;grid-row:1;min-width:0;justify-content:flex-start}.upcoming-list article>aside .registration-status{grid-column:1!important;grid-row:2;width:100%;max-width:none}.upcoming-header-actions>button[data-add-competition]{flex:0 0 auto}@media(min-width:621px) and (max-width:1250px){.upcoming-header-actions>span{display:none}.upcoming-header-actions>button[data-add-competition]{padding:7px 10px}.upcoming-header-actions>button[data-add-competition]::after{content:'Ajouter';font-size:10px}}
.upcoming-card>header h2{white-space:nowrap}.upcoming-header-actions>button[data-add-competition]::after{content:'Ajouter';font-size:10px}.upcoming-header-actions>button[data-add-competition]{padding:7px 10px}

/* Boutons Mandat et Waze sans chevauchement sur mobile 10.13 */
@media(max-width:620px){.upcoming-action-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;width:100%!important;min-width:0!important;gap:7px!important}.upcoming-action-links .mandate-bubble,.upcoming-action-links .waze-bubble{display:flex!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:none!important;overflow:hidden!important;box-sizing:border-box!important;padding:8px 6px!important;border-radius:10px!important;font-size:12px!important;line-height:1!important;text-overflow:ellipsis!important}.upcoming-action-links .mandate-bubble::before{flex:0 0 14px}.upcoming-action-links .waze-bubble::before{flex:0 0 auto}}

/* Grille universelle : certains navigateurs Samsung utilisent un viewport large 10.14 */
.upcoming-action-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;width:100%!important;min-width:0!important;gap:7px!important}.upcoming-action-links .mandate-bubble,.upcoming-action-links .waze-bubble{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:none!important;overflow:hidden!important;box-sizing:border-box!important;padding:8px 6px!important;border-radius:10px!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important}.upcoming-action-links .mandate-bubble::before{flex:0 0 14px}.upcoming-action-links .waze-bubble::before{flex:0 0 auto}

/* Compteur J- indépendant des boutons 10.15 */
.upcoming-list article{position:relative!important}.upcoming-event-main{padding-right:66px}.upcoming-list article>aside{display:grid!important;grid-template-columns:minmax(0,1fr)!important;padding-right:66px!important}.upcoming-list article>aside>b{position:absolute!important;top:16px!important;right:14px!important;display:grid!important;place-items:center!important;width:54px!important;min-width:54px!important;height:54px!important;padding:0!important;box-sizing:border-box!important}.upcoming-action-links{grid-column:1!important;grid-row:1!important}.upcoming-list article>aside .registration-status{grid-column:1!important;grid-row:2!important}@media(max-width:620px){.upcoming-event-main{padding-right:62px}.upcoming-list article>aside{padding-right:62px!important}.upcoming-list article>aside>b{top:13px!important;right:12px!important;width:52px!important;min-width:52px!important;height:52px!important}}

/* Fiche interactive des clubs 10.8 */
.department-club-list button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:11px 9px;border:0;border-radius:9px;background:transparent;color:#edf6fb;font:inherit;text-align:left;cursor:pointer}.department-club-list button+button{border-top:1px solid #ffffff0d;border-radius:0}.department-club-list button:hover,.department-club-list button:focus-visible{outline:0;background:#5eb8ff12}.department-club-list button>div{min-width:0;display:grid;gap:3px}.department-club-list button strong{overflow:hidden;font-size:12px;text-overflow:ellipsis}.department-club-list button small{color:#8299a8;font-size:10px;line-height:1.35}.department-club-list button>b{display:flex;align-items:center;gap:4px;padding:5px 8px;border-radius:7px;background:#5eb8ff12;color:#7dccff;font-size:12px}.department-club-list button>b span{color:#8fa5b4;font-size:9px}.department-club-list button>i{color:#6ec8ff;font-size:22px;font-style:normal;text-align:center}.club-profile-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid #ffffff12;background:#ffffff04}.club-profile-head>button{width:36px;height:36px;border:1px solid #5eb8ff45;border-radius:9px;background:#5eb8ff10;color:#7dccff;font-size:18px;cursor:pointer}.club-profile-head>button:hover,.club-profile-head>button:focus-visible{outline:0;background:#5eb8ff22}.club-profile-head>div{min-width:0;display:grid;gap:2px}.club-profile-head small{color:#7893a4;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.club-profile-head strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.club-profile-head>b{display:grid;justify-items:center;padding:7px 9px;border-radius:8px;background:#5eb8ff12;color:#7dccff;font-size:15px}.club-profile-head>b span{color:#8fa5b4;font-size:8px}.club-profile-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px 12px;border-bottom:1px solid #ffffff0d}.club-profile-summary p{display:grid;gap:2px;margin:0;padding:8px;border-radius:8px;background:#ffffff04}.club-profile-summary p span{color:#7991a1;font-size:9px}.club-profile-summary p strong{font-size:11px;line-height:1.35}.club-profile-summary>div{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}.club-profile-summary>div span{padding:4px 7px;border-radius:999px;background:#ffcc3512;color:#ffcf45;font-size:9px;font-weight:850}.club-profile-events{display:grid;max-height:220px;overflow:auto;padding:5px 10px 10px}.club-profile-events article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:9px 2px}.club-profile-events article+article{border-top:1px solid #ffffff0d}.club-profile-events time{color:#ffcf45;font-size:10px;font-weight:900}.club-profile-events article>div{min-width:0;display:grid;gap:3px}.club-profile-events strong{font-size:11px;line-height:1.3}.club-profile-events small{color:#7f96a5;font-size:9px;line-height:1.4}
@media(max-width:620px){.department-club-list button{padding:13px 10px}.department-club-list button strong{font-size:14px}.department-club-list button small{font-size:12px}.department-club-list button>b{font-size:14px}.department-club-list button>b span{font-size:10px}.club-profile-head strong{font-size:16px}.club-profile-summary{grid-template-columns:1fr}.club-profile-summary>div{grid-column:auto}.club-profile-summary p span{font-size:11px}.club-profile-summary p strong{font-size:13px}.club-profile-events{max-height:320px}.club-profile-events article{grid-template-columns:84px minmax(0,1fr);padding:11px 2px}.club-profile-events time{font-size:12px}.club-profile-events strong{font-size:14px}.club-profile-events small{font-size:11px}}

/* Coordonnées des clubs 10.9 */
.club-profile-contact{display:grid;gap:7px;padding:10px 12px;border-bottom:1px solid #ffffff0d}.club-profile-contact h3{margin:0;color:#91a9b8;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.club-profile-contact>div{display:flex;flex-wrap:wrap;gap:6px}.club-profile-contact a{display:inline-flex;align-items:center;min-height:30px;padding:6px 9px;border:1px solid #5eb8ff2d;border-radius:8px;background:#5eb8ff0c;color:#9ed8ff;font-size:10px;font-weight:800;text-decoration:none}.club-profile-contact a:hover,.club-profile-contact a:focus-visible{outline:0;border-color:#65c3ff70;background:#5eb8ff1c;color:#fff}@media(max-width:620px){.club-profile-contact{padding:12px}.club-profile-contact h3{font-size:11px}.club-profile-contact>div{display:grid;grid-template-columns:1fr 1fr}.club-profile-contact a{min-width:0;min-height:38px;justify-content:center;overflow:hidden;font-size:12px;text-align:center;text-overflow:ellipsis}.club-profile-events{max-height:270px}}@media(max-width:390px){.club-profile-contact>div{grid-template-columns:1fr}}
.registration-departures-field{display:grid;gap:6px;color:#a9bbc6;font-size:12px;font-weight:850}.registration-departures-field[hidden]{display:none}.registration-email-button:disabled{opacity:.55;cursor:not-allowed}
.registration-expired{border-color:#ff667477!important;background:#ff667418!important;color:#ff8791!important}.upcoming-list article[data-registration-expired="true"]{--event-state-color:#ff6674!important;border-color:#ff667436!important}
.upcoming-week-next{padding:13px;border:1px solid #ffcc3538;border-radius:14px;background:linear-gradient(135deg,#ffcc350c,#07131f00)}.upcoming-week-next>h3{margin-bottom:10px}.upcoming-week-next>h3>b{padding:5px 7px;border-radius:6px;background:var(--sport-accent);color:#07131f;font-size:8px;letter-spacing:.1em}.upcoming-week-extra{padding-top:4px}.upcoming-toggle{margin-top:2px}@media(max-width:620px){.upcoming-week-next{padding:11px}.upcoming-week-next>h3>b{font-size:9px}}
.upcoming-header-actions>button[data-add-competition]{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:8px 16px;border:1px solid #71c8ff;border-radius:10px;background:linear-gradient(135deg,#238ed1,#14649b);box-shadow:0 8px 20px #07131f66,0 0 0 1px #ffffff12 inset;color:#fff;font-size:0;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.upcoming-header-actions>button[data-add-competition]::before{content:'+';display:inline-block;padding-right:9px;border-right:1px solid #ffffff55;color:#fff;font:950 22px/1 inherit}.upcoming-header-actions>button[data-add-competition]::after{content:'Ajouter une compétition';font:900 11px/1 inherit}.upcoming-header-actions>button[data-add-competition]:hover,.upcoming-header-actions>button[data-add-competition]:focus-visible{filter:brightness(1.12);box-shadow:0 10px 24px #07131f80,0 0 0 2px #8dd5ff35;transform:translateY(-1px)}
.upcoming-header-actions>button.upcoming-top-toggle{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;font-size:18px;line-height:1}
@media(max-width:620px){.upcoming-header-actions>button[data-add-competition]{min-height:38px;padding-right:9px}.upcoming-header-actions>button[data-add-competition]::after{content:'Ajouter';font-size:12px}.upcoming-list article>aside{grid-template-columns:minmax(0,1fr) 58px!important}.upcoming-list article>aside>b{grid-column:2!important;grid-row:1/span 2!important}.upcoming-list article>aside .mandate-bubble,.upcoming-list article>aside .registration-status{grid-column:1!important}}
@media(max-width:620px){.upcoming-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}.upcoming-card>header h2{font-size:clamp(17px,4.8vw,21px);white-space:nowrap}.upcoming-header-actions{min-width:0;justify-self:end;margin:0}.upcoming-header-actions>button[data-add-competition]{min-height:34px;gap:6px;padding:5px 9px;border-radius:9px}.upcoming-header-actions>button[data-add-competition]::before{padding-right:6px;font-size:19px}.upcoming-header-actions>button[data-add-competition]::after{content:'Ajouter';font-size:10px}}
.registration-method-badge,.registration-deadline-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #5eb8ff55;border-radius:7px;background:#5eb8ff12;color:#83caff;font-size:11px;font-weight:850;white-space:nowrap}.registration-method-badge::before{content:'↗';margin-right:5px;font-size:12px}.registration-method-badge.method-email{border-color:#a98cff55;background:#a98cff12;color:#c4b1ff}.registration-method-badge.method-email::before{content:'✉'}.registration-deadline-badge{border-color:#f6c34466;background:#f6c34412;color:#ffe08a}.registration-deadline-badge::before{content:'⌛';margin-right:5px;font-size:12px}.registration-method-badge[hidden],.registration-deadline-badge[hidden]{display:none}@media(max-width:620px){.registration-method-badge,.registration-deadline-badge{font-size:12px}}
.france-map-shell path[role="button"]{cursor:pointer;outline:none!important}.france-map-shell path[role="button"]:hover{stroke:#bde8ff;stroke-width:1.2;filter:brightness(1.5) drop-shadow(0 0 5px #6ec8ff66)}.france-map-shell path.is-selected{stroke:#6ec8ff;stroke-width:1.05;filter:brightness(1.22) drop-shadow(0 0 3px #6ec8ff44)}.france-map-shell path:focus,.france-map-shell path:focus-visible{outline:none!important}.department-club-panel{min-height:130px;overflow:hidden;border:1px solid #ffffff16;border-radius:12px;background:linear-gradient(145deg,#0c2130,#07131f)}.department-club-panel>header{display:flex;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid #ffffff12;background:#ffffff04}.department-club-panel>header>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #5eb8ff55;border-radius:9px;background:#5eb8ff12;color:#7dccff;font-size:12px;font-weight:950}.department-club-panel>header>div{display:grid;gap:2px}.department-club-panel>header strong{font-size:14px}.department-club-panel>header small{color:#8399a8;font-size:10px}.department-club-list{display:grid;max-height:190px;overflow:auto;padding:5px}.department-club-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-radius:8px}.department-club-list article+article{border-top:1px solid #ffffff0d}.department-club-list article>div{min-width:0;display:grid;gap:2px}.department-club-list strong{overflow:hidden;font-size:11px;text-overflow:ellipsis}.department-club-list small{color:#7790a1;font-size:9px}.department-club-list b{flex:0 0 auto;padding:5px 8px;border-radius:7px;background:#5eb8ff12;color:#7dccff;font-size:11px}.department-club-list b span{color:#8fa5b4;font-size:8px;font-weight:750}.department-club-panel>p{margin:0;padding:22px 14px;color:#8298a7;font-size:11px;text-align:center}.department-club-empty{min-height:130px;display:grid;place-content:center;justify-items:center;gap:5px;padding:15px;text-align:center}.department-club-empty>b{color:#6ec8ff;font-size:22px}.department-club-empty strong{font-size:12px}.department-club-empty span{max-width:260px;color:#7f95a5;font-size:9px;line-height:1.4}@media(max-width:620px){.department-club-panel{min-height:120px}.department-club-list{max-height:240px}.department-club-list strong{font-size:13px}.department-club-panel>header strong{font-size:16px}}
.upcoming-list article>aside{display:grid;justify-items:end;gap:7px}.registration-status{max-width:170px;padding:6px 10px;border:1px solid transparent;border-radius:20px;font:850 9px/1.2 inherit;cursor:pointer;transition:.18s ease}.registration-pending{border-color:#ffcc3555;background:#ffcc3512;color:#ffcf3d}.registration-confirmed{border-color:#58e2aa55;background:#58e2aa14;color:#63dfb3}.registration-cancelled{border-color:#ff667455;background:#ff667414;color:#ff7d88}.registration-dialog{width:min(92vw,380px);padding:0;border:1px solid #ffffff1f;border-radius:16px;background:#0b1b28;color:#fff;box-shadow:0 28px 80px #000a}.registration-dialog::backdrop{background:#02070dbb;backdrop-filter:blur(4px)}.registration-dialog form{position:relative;display:grid;gap:12px;padding:24px}.registration-dialog small{color:var(--sport-accent);font-size:9px;font-weight:900;letter-spacing:.1em}.registration-dialog h3{margin:0;font-size:22px}.registration-dialog p{margin:0;color:#91a5b3;font-size:12px;line-height:1.45}.registration-dialog input{width:100%;box-sizing:border-box;padding:13px;border:1px solid #ffffff22;border-radius:10px;background:#07131f;color:#fff;font:900 18px/1 inherit;outline:none}.registration-dialog input:focus{border-color:#ffcc3575;box-shadow:0 0 0 3px #ffcc3512}.registration-dialog form>div{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.registration-dialog form>div button{padding:11px;border:1px solid #ffffff18;border-radius:9px;background:#102536;color:#c4d2da;font-weight:850;cursor:pointer}.registration-dialog form>div button[value="confirm"]{border-color:#58e2aa44;background:#173e36;color:#75e8bb}.registration-dialog-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#8fa4b3;font-size:24px;cursor:pointer}@media(max-width:620px){.upcoming-list article{grid-template-columns:1fr}.upcoming-list article>aside{grid-template-columns:auto 1fr;align-items:center;justify-items:start}.registration-status{max-width:none;width:100%}}

/* Statuts calendrier et mandat FFTA 8.6 */
.mandate-bubble{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid transparent;border-radius:20px;font:850 9px/1.2 inherit;text-decoration:none;white-space:nowrap}.mandate-bubble::before{display:grid;place-items:center;width:14px;height:14px;border-radius:50%;font-size:10px;font-weight:950}.mandate-available{border-color:#58e2aa55;background:#58e2aa14;color:#63dfb3}.mandate-available::before{content:'✓';background:#58e2aa22}.mandate-pending{border-color:#ff9f435f;background:#ff9f4315;color:#ffac5c}.mandate-pending::before{content:'!';background:#ff9f4322}.cancellation-dialog form>div{grid-template-columns:.8fr 1.15fr 1.25fr}.cancellation-dialog form>div button[value="keep"]{border-color:#ff667455;background:#ff667414;color:#ff8a94}.cancellation-dialog form>div button[value="delete"]{border-color:#ff667477;background:#451821;color:#ffadb4}@media(max-width:620px){.upcoming-list article>aside{grid-template-columns:auto minmax(0,1fr);width:100%}.mandate-bubble{justify-self:start}.cancellation-dialog form>div{grid-template-columns:1fr}.cancellation-dialog form>div button{width:100%}}
.upcoming-action-links{display:flex;align-items:center;justify-content:flex-end;gap:6px}.waze-bubble{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;box-sizing:border-box;padding:6px 10px;border:1px solid #54bfff55;border-radius:20px;background:#54bfff14;color:#79ceff;font:850 10px/1.2 inherit;text-decoration:none;white-space:nowrap}.waze-bubble::before{content:'⌖';font-size:14px;line-height:1}.waze-bubble:hover,.waze-bubble:focus-visible{border-color:#79ceff;background:#54bfff26;color:#b6e7ff}@media(max-width:620px){.upcoming-action-links{grid-column:2;justify-content:stretch}.upcoming-action-links .mandate-bubble,.upcoming-action-links .waze-bubble{width:auto;flex:1}.upcoming-list article>aside .registration-status{grid-column:2}}

/* Carte calendrier structurée et inscription à quatre états 8.7 */
.upcoming-list article>aside{grid-template-columns:auto auto;align-items:center;justify-content:end}.upcoming-list article>aside>b{grid-row:1/span 2;align-self:stretch;display:grid;place-items:center}.registration-registering{border-color:#ff9f435f;background:#ff9f4315;color:#ffac5c}.registration-status,.mandate-bubble{min-height:30px;box-sizing:border-box}.registration-status{min-width:150px}.mandate-bubble{justify-content:center}.upcoming-list article[hidden]{display:none!important}@media(max-width:620px){.upcoming-list article{gap:10px}.upcoming-list article>aside{grid-template-columns:56px minmax(0,1fr);gap:7px}.upcoming-list article>aside>b{grid-row:1/span 2;width:100%;min-width:0;box-sizing:border-box}.mandate-bubble,.registration-status{width:100%;max-width:none}.mandate-bubble{grid-column:2}.registration-status{grid-column:2}}

/* Finition visuelle des compétitions 8.9 */
.upcoming-list{gap:8px;border:0;background:transparent}.upcoming-list article,.upcoming-list article+article{position:relative;border:1px solid #ffffff12;border-radius:13px;background:linear-gradient(135deg,#0a1a28 0%,#07131f 72%);box-shadow:inset 3px 0 0 var(--event-state-color,#ffcc35),0 8px 24px #00000016;transition:border-color .18s ease,background .18s ease}.upcoming-list article[data-registration-status="pending"]{--event-state-color:#ffcc35}.upcoming-list article[data-registration-status="registering"]{--event-state-color:#ff9f43}.upcoming-list article[data-registration-status="confirmed"]{--event-state-color:#58e2aa;border-color:#58e2aa25}.upcoming-list article[data-registration-status="cancelled"]{--event-state-color:#ff6674;border-color:#ff667426;opacity:.78}.upcoming-list article>p{display:grid;grid-template-columns:auto auto 1fr;align-items:center;column-gap:8px;row-gap:5px}.upcoming-list article>p time{padding:4px 7px;border-radius:7px;background:#ffcc3510}.upcoming-list article>p strong{font-size:12px}.upcoming-list article>p span{grid-column:1/-1;color:#91a5b3;font-size:10px;white-space:normal}.upcoming-list article>aside>b{border-color:#ffcc3548;background:#ffcc3512;font-size:11px}.registration-status,.mandate-bubble{font-size:10px;letter-spacing:.01em}@media(max-width:620px){.upcoming-list{gap:10px}.upcoming-list article,.upcoming-list article+article{padding:13px 12px}.upcoming-list article>p{grid-template-columns:auto auto 1fr}.upcoming-list article>p i{display:none}.upcoming-list article>p span{padding-top:2px;line-height:1.35}.upcoming-list article>aside{padding-top:2px}}

/* Gestion complète de l'inscription 9.0 */
.registration-editor-dialog{width:min(94vw,470px)}.registration-editor-dialog form>div{grid-template-columns:repeat(3,minmax(0,1fr))}.registration-editor-dialog form>div button[value="pending"]{border-color:#ffcc3548;color:#ffcf3d}.registration-editor-dialog form>div button[value="registering"]{border-color:#ff9f435f;color:#ffac5c}.cancellation-dialog{width:min(94vw,510px)}.cancellation-dialog form>div{grid-template-columns:repeat(2,minmax(0,1fr))}.cancellation-dialog form>div button[value="edit"]{border-color:#5eb8ff55;background:#17314a;color:#7bc5ff}@media(max-width:620px){.registration-editor-dialog form>div,.cancellation-dialog form>div{grid-template-columns:1fr}.registration-dialog form{padding:22px 18px}}

/* Pop-in protégée par PIN 9.1 */
.registration-editor-dialog form>div{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-editor-dialog form>div button[value="cancelled"]{border-color:#ff667455;background:#ff667414;color:#ff8a94}.registration-pin-dialog{width:min(92vw,360px)}.registration-pin-dialog input{letter-spacing:.35em;text-align:center}.registration-pin-error{padding:9px 11px;border:1px solid #ff66743d;border-radius:8px;background:#ff667411;color:#ff8b95!important;font-weight:800}.registration-pin-dialog button:disabled{opacity:.55;cursor:wait}@media(max-width:620px){.registration-editor-dialog form>div{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Formulaire d'inscription par e-mail 9.2 */
.registration-email-button{width:100%;padding:11px 13px;border:1px solid #5eb8ff55;border-radius:10px;background:#5eb8ff12;color:#83caff;font-weight:900;cursor:pointer}.registration-email-dialog{width:min(94vw,560px)}.registration-email-dialog form{gap:11px}.registration-email-dialog label{display:grid;gap:6px;color:#a9bbc6;font-size:11px;font-weight:800}.registration-email-dialog label input,.registration-email-dialog label textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #ffffff20;border-radius:9px;background:#07131f;color:#fff;font:700 13px/1.35 inherit;outline:none}.registration-email-dialog label textarea{resize:vertical}.registration-email-dialog label input:focus,.registration-email-dialog label textarea:focus{border-color:#5eb8ff70;box-shadow:0 0 0 3px #5eb8ff12}.registration-email-grid{display:grid;grid-template-columns:130px minmax(0,1fr);gap:9px}.registration-email-help{font-size:10px!important}.registration-email-dialog form>div:last-child button[type="submit"]{border-color:#58e2aa44;background:#173e36;color:#75e8bb}@media(max-width:620px){.registration-email-dialog{max-height:92vh}.registration-email-dialog form{max-height:92vh;overflow:auto}.registration-email-grid{grid-template-columns:1fr}}

/* Envoi direct et échéance d'inscription 9.3 */
.registration-email-sender{margin:-3px 0 2px!important;padding:9px 11px;border:1px solid #5eb8ff2e;border-radius:9px;background:#5eb8ff0c;color:#8ca6b7!important}.registration-email-sender strong{color:#dceaf2}.registration-email-status{padding:9px 11px;border-radius:9px;font-weight:850}.registration-email-status.is-success{border:1px solid #58e2aa45;background:#58e2aa12;color:#70e6b8}.registration-email-status.is-error{border:1px solid #ff667445;background:#ff667412;color:#ff8b95}.registration-email-dialog button:disabled{opacity:.55;cursor:wait}

/* Choix du blason 9.4 */
.registration-email-dialog label select{width:100%;box-sizing:border-box;padding:11px 36px 11px 12px;border:1px solid #ffffff20;border-radius:9px;background:#07131f;color:#fff;font:750 13px/1.35 inherit;outline:none}.registration-email-dialog label select:focus{border-color:#5eb8ff70;box-shadow:0 0 0 3px #5eb8ff12}

/* Dates et départs issus du mandat 9.5 */
.registration-choice-group{min-width:0;margin:0;padding:12px;border:1px solid #ffffff18;border-radius:11px;background:#07131f}.registration-choice-group legend{padding:0 6px;color:#a9bbc6;font-size:11px;font-weight:850}.registration-choice-group>div{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.registration-choice-group label{display:flex;grid-template-columns:none;align-items:center;gap:9px;padding:9px 10px;border:1px solid #ffffff12;border-radius:9px;background:#0c1d2a;cursor:pointer}.registration-choice-group label:has(input:checked){border-color:#58e2aa55;background:#58e2aa0f}.registration-choice-group input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px;margin:0;padding:0;accent-color:#58e2aa;box-shadow:none}.registration-choice-group label>span{display:grid;gap:2px}.registration-choice-group label strong{color:#edf6fb;font-size:12px}.registration-choice-group label small{color:#88a0af;font-size:10px;letter-spacing:0}.registration-choice-group>small{display:block;margin-top:9px;color:#ffcc35;font-size:10px;letter-spacing:0}.registration-choice-group>small.is-complete{color:#63dfb3}.registration-choice-group p{padding:4px;color:#ffac5c!important}.registration-email-dialog form>div:last-child{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}@media(max-width:620px){.registration-choice-group{padding:10px}.registration-choice-group label{padding:10px 9px}.registration-choice-group label strong{font-size:13px}.registration-choice-group label small{font-size:11px}}

/* Présentation finale de la carte compétition 9.7 */
.upcoming-list article{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:18px;padding:16px 17px}.upcoming-event-main{min-width:0;display:grid;align-content:center;gap:10px}.upcoming-event-heading{min-width:0;display:flex;align-items:center;gap:11px}.upcoming-event-heading time{flex:0 0 auto;padding:6px 9px;border:1px solid #ffcc3530;border-radius:8px;background:#ffcc350d;color:var(--sport-accent);font-size:12px;font-weight:900;line-height:1}.upcoming-event-heading strong{min-width:0;color:#fff;font-size:17px;line-height:1.15}.upcoming-event-details{min-width:0;display:flex;align-items:center;gap:8px}.upcoming-event-discipline{flex:0 0 auto;padding:4px 7px;border-radius:6px;background:#54bfff14;color:#74caff;font-size:12px;font-weight:850}.upcoming-event-organizer{min-width:0;overflow:hidden;color:#a9bac5;font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.upcoming-list article>aside{min-width:205px;padding-left:16px;border-left:1px solid #ffffff10}.upcoming-list article>aside>b{min-width:58px;border-radius:10px;font-size:13px}.registration-status,.mandate-bubble{font-size:12px}.registration-status{min-width:165px}
@media(max-width:620px){.upcoming-card>header{gap:12px}.upcoming-header-actions{flex-direction:row;align-items:center}.upcoming-header-actions>span{display:none}.upcoming-list article{grid-template-columns:1fr;gap:13px;padding:15px 14px}.upcoming-event-main{gap:9px}.upcoming-event-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px}.upcoming-event-heading time{padding:6px 8px;font-size:13px}.upcoming-event-heading strong{font-size:18px}.upcoming-event-details{align-items:flex-start;flex-wrap:wrap;gap:7px}.upcoming-event-discipline{font-size:13px}.upcoming-event-organizer{flex-basis:100%;overflow:visible;font-size:14px;line-height:1.35;text-overflow:clip;white-space:normal}.upcoming-list article>aside{grid-template-columns:60px minmax(0,1fr);min-width:0;padding:11px 0 0;border-top:1px solid #ffffff10;border-left:0}.upcoming-list article>aside>b{grid-row:1/span 2;min-width:0;font-size:13px}.registration-status,.mandate-bubble{min-height:36px;font-size:13px}.registration-status{min-width:0}}

/* Finition compacte des compétitions 10.16 */
.upcoming-list article{grid-template-columns:minmax(0,1fr)!important;gap:9px!important;padding:14px!important}.upcoming-event-main{gap:8px!important;padding-right:60px!important}.upcoming-list article>aside{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;min-width:0!important;padding:9px 60px 0 0!important;border-top:1px solid #ffffff10!important;border-left:0!important}.upcoming-list article>aside>b{position:absolute!important;top:14px!important;right:13px!important;width:48px!important;min-width:48px!important;height:48px!important;border-radius:10px!important;font-size:12px!important}.upcoming-action-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important}.upcoming-action-links .mandate-bubble,.upcoming-action-links .waze-bubble{width:100%!important;min-width:0!important;min-height:34px!important;padding:7px 6px!important;border-radius:9px!important;font-size:12px!important}.upcoming-list article>aside .registration-status{grid-column:1!important;width:100%!important;min-width:0!important;min-height:36px!important;max-width:none!important;padding:8px 10px!important;border-radius:10px!important;font-size:12px!important;line-height:1.25!important}@media(max-width:620px){.upcoming-list article{padding:13px 12px!important}.upcoming-event-heading time{font-size:12px!important}.upcoming-event-heading strong{font-size:17px!important}.upcoming-event-discipline{font-size:12px!important}.upcoming-event-organizer{font-size:13px!important}.upcoming-list article>aside .registration-status{font-size:11.5px!important}.upcoming-list article>aside>b{top:13px!important;right:12px!important}}

/* Compteur J- présenté comme un intercalaire 10.17 */
.upcoming-list article{margin-top:16px!important;overflow:visible!important}.upcoming-event-main{padding-right:0!important}.upcoming-list article>aside{padding-right:0!important}.upcoming-list article>aside>b{top:-17px!important;right:12px!important;width:auto!important;min-width:58px!important;height:32px!important;padding:0 10px!important;border-bottom:0!important;border-radius:10px 10px 4px 4px!important;background:linear-gradient(180deg,#263122,#111c19)!important;box-shadow:0 -5px 14px #00000028!important;color:#ffd23f!important;font-size:12px!important;z-index:3!important}@media(max-width:620px){.upcoming-list article{margin-top:17px!important}.upcoming-list article>aside>b{top:-18px!important;right:11px!important;min-width:60px!important;height:34px!important;font-size:13px!important}}

/* Résumé des inscriptions sous la semaine 10.18 */
.upcoming-week>h3{flex-wrap:wrap!important;row-gap:5px!important}.upcoming-week>h3 small{order:2;flex:0 0 100%;box-sizing:border-box;padding-left:0;color:#9fb1bc!important;font-size:9px!important;line-height:1.3;text-align:left}.upcoming-week>h3 small:empty{display:none}@media(max-width:620px){.upcoming-week>h3 small{font-size:10px!important}}

/* Nom de la compétition sous sa date 10.19 */
.upcoming-event-heading{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:8px!important}.upcoming-event-heading time{justify-self:start}.upcoming-event-heading strong{display:block;width:100%}

/* En-tête de la carte géographique 10.20 */
.departments-map-card>header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:start!important;gap:8px!important}.departments-map-card>header h2{white-space:nowrap;font-size:clamp(17px,4.5vw,22px)}.departments-map-card>header>span{justify-self:start!important;margin:0!important}.department-club-empty{min-height:105px!important}

/* Légende orange des compétitions hors Occitanie 10.21 */
.map-other i{border-color:#ffc27d!important;background:#f39a3c!important}

/* Sélection personnelle sous le compteur J- 10.32 */
.upcoming-event-heading{padding-right:74px!important}
.competition-interest-toggle{position:absolute;top:21px;right:12px;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:25px;padding:0 7px;border:1px solid #59bfff55;border-radius:5px 5px 9px 9px;background:#12314a;color:#8bd3ff;font:850 9px/1 inherit;letter-spacing:.01em;cursor:pointer;box-shadow:0 5px 12px #0003;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.competition-interest-toggle:hover,.competition-interest-toggle:focus-visible{outline:0;border-color:#8bd3ff;background:#17466b;color:#fff;transform:translateY(1px)}.competition-interest-toggle.is-selected{border-color:#62dda9;background:#163f34;color:#73e6b7}.competition-interest-toggle.is-rejected{border-color:#ff7c8655;background:#3c2027;color:#ff98a0}@media(max-width:620px){.upcoming-event-heading{padding-right:72px!important}.competition-interest-toggle{top:21px;right:11px;min-width:60px;height:27px;font-size:9.5px}}
.competition-interest-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.competition-interest-toggle.is-selected svg,.competition-interest-toggle.is-rejected svg{width:18px;height:18px}@media(max-width:620px){.competition-interest-toggle svg{width:19px;height:19px}.competition-interest-toggle.is-selected svg,.competition-interest-toggle.is-rejected svg{width:20px;height:20px}}

/* Distance routière depuis Cransac, sous la sélection 10.33 */
.competition-distance{position:absolute;top:50px;right:12px;z-index:3;display:flex;align-items:center;justify-content:center;min-width:58px;height:20px;padding:0 6px;box-sizing:border-box;border:1px solid #59bfff35;border-radius:7px;background:#0e2639;color:#bfe8ff;font:900 9.5px/1 inherit;white-space:nowrap;box-shadow:0 4px 10px #0002}@media(max-width:620px){.upcoming-event-heading{padding-right:74px!important}.competition-distance{top:52px;right:11px;min-width:60px;height:21px;font-size:10px}}

/* Notifications des nouveaux mandats 10.36 */
.mandate-notifications-card{order:-1000;border-color:#59bfff32!important;background:linear-gradient(135deg,#0c2132 0%,#091722 68%,#102a3a 100%)!important}.mandate-notifications-card>header{align-items:center}.mandate-notifications-card>header>span{padding:6px 10px;border:1px solid #59bfff40;border-radius:20px;background:#59bfff12;color:#8bd3ff;font-size:10px;font-weight:900}.mandate-notifications-card.has-unread{border-color:#ffcc3566!important;box-shadow:0 14px 34px #0000002e,inset 4px 0 0 #ffcc35}.mandate-notifications-card.has-unread>header>span{border-color:#ffcc3560;background:#ffcc3514;color:#ffdc65}.mandate-notification-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px}.mandate-notification-summary>i{display:grid;place-items:center;width:42px;height:42px;border:1px solid #59bfff48;border-radius:12px;background:#59bfff14;color:#73caff;font-size:12px;font-style:normal;box-shadow:0 8px 20px #0002}.has-unread .mandate-notification-summary>i{border-color:#ffcc3560;background:#ffcc3516;color:#ffcc35;box-shadow:0 0 0 5px #ffcc3508}.mandate-notification-summary>div{display:grid;gap:4px}.mandate-notification-summary strong{color:#f2f8fb;font-size:15px}.mandate-notification-summary p{margin:0;color:#96aab7;font-size:12px;line-height:1.45}.mandate-notification-summary>button{padding:9px 12px;border:1px solid #ffffff20;border-radius:9px;background:#102536;color:#c9d7df;font:800 11px/1 inherit;cursor:pointer}.mandate-notification-summary>button:hover,.mandate-notification-summary>button:focus-visible{border-color:#71c8ff;color:#fff;outline:0}.mandate-notification-list{display:grid;gap:7px;margin:13px 0 0;padding:13px 0 0;border-top:1px solid #ffffff12;list-style:none}.mandate-notification-list a{display:grid;gap:4px;padding:10px 12px;border:1px solid #ffcc3530;border-radius:10px;background:#ffcc3509;text-decoration:none}.mandate-notification-list a:hover,.mandate-notification-list a:focus-visible{border-color:#ffcc3568;background:#ffcc3512;outline:0}.mandate-notification-list strong{color:#fff;font-size:13px}.mandate-notification-list span{color:#9eb1bd;font-size:11px;line-height:1.35}@media(max-width:620px){.mandate-notifications-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.mandate-notifications-card>header h2{font-size:19px}.mandate-notifications-card>header>span{padding:5px 8px;font-size:9px}.mandate-notification-summary{grid-template-columns:38px minmax(0,1fr);gap:10px}.mandate-notification-summary>i{width:36px;height:36px}.mandate-notification-summary strong{font-size:14px}.mandate-notification-summary p{font-size:12px}.mandate-notification-summary>button{grid-column:1/-1;width:100%}.mandate-notification-list a{padding:10px}.mandate-notification-list strong{font-size:14px}.mandate-notification-list span{font-size:12px}}

/* Validation individuelle de lecture des mandats 10.37 */
.mandate-notification-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.mandate-notification-list>li>a{min-width:0}.mandate-notification-list>li>button{min-width:124px;padding:9px 11px;border:1px solid #ffcc3550;border-radius:9px;background:#ffcc3512;color:#ffe27c;font:900 10px/1.1 inherit;cursor:pointer}.mandate-notification-list>li>button:hover,.mandate-notification-list>li>button:focus-visible{border-color:#ffdc65;background:#ffcc3520;color:#fff;outline:0}.mandate-notification-list>li.is-read>a{border-color:#64c68b2d;background:#64c68b08}.mandate-notification-list>li.is-read>button{border-color:#64c68b3d;background:#64c68b12;color:#8fe4ae;cursor:default}.mandate-notification-list>li.is-read strong{color:#c9d8cf}@media(max-width:620px){.mandate-notification-list>li{grid-template-columns:1fr}.mandate-notification-list>li>button{width:100%}}

/* Actions lecture et suppression d'une notification 10.38 */
.mandate-notification-actions{display:grid;grid-template-columns:1fr auto;gap:6px}.mandate-notification-actions>button{padding:9px 10px;border:1px solid #ffcc3550;border-radius:9px;background:#ffcc3512;color:#ffe27c;font:900 10px/1.1 inherit;cursor:pointer}.mandate-notification-actions>button:hover,.mandate-notification-actions>button:focus-visible{border-color:#ffdc65;background:#ffcc3520;color:#fff;outline:0}.mandate-notification-actions>button:disabled{border-color:#64c68b3d;background:#64c68b12;color:#8fe4ae;cursor:default}.mandate-notification-actions>button.is-delete{border-color:#ff7c8642;background:#ff7c860c;color:#ff9aa2}.mandate-notification-actions>button.is-delete:hover,.mandate-notification-actions>button.is-delete:focus-visible{border-color:#ff8e97;background:#ff7c861b;color:#fff}@media(max-width:620px){.mandate-notification-actions{grid-template-columns:1fr 1fr}.mandate-notification-actions>button{width:100%}}

/* Carte de notifications repliable 10.39 */
.mandate-notifications-card{cursor:pointer}.mandate-notifications-card>header{grid-template-columns:minmax(0,1fr) auto}.mandate-notification-toggle{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #59bfff40;border-radius:10px;background:#59bfff10;color:#8bd3ff;cursor:pointer}.mandate-notification-toggle span{font-size:21px;line-height:1;transition:transform .2s ease}.mandate-notifications-card.is-expanded .mandate-notification-toggle span{transform:rotate(180deg)}.mandate-notification-toggle:hover,.mandate-notification-toggle:focus-visible{border-color:#8bd3ff;background:#59bfff20;color:#fff;outline:0}.mandate-notification-content[hidden]{display:none!important}.mandate-notifications-card.is-expanded{cursor:default}.mandate-notifications-card.is-expanded .mandate-notification-summary{cursor:pointer}@media(max-width:620px){.mandate-notification-toggle{width:32px;height:32px}.mandate-notification-toggle span{font-size:19px}}
.mandate-notification-header-actions{display:flex;align-items:center;gap:8px}.mandate-ffta-sync{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid #ffffff24;border-radius:10px;background:#102536;color:#d8e4ea;font:900 10px/1 inherit;letter-spacing:.06em}.mandate-ffta-sync i{width:9px;height:9px;border-radius:50%;background:#e7505a;box-shadow:0 0 0 4px #e7505a18}.mandate-ffta-sync.is-online{border-color:#58d38a55;background:#58d38a12;color:#9aefb9}.mandate-ffta-sync.is-online i{background:#58d38a;box-shadow:0 0 0 4px #58d38a18}.mandate-ffta-sync.is-offline{border-color:#e7505a66;background:#e7505a12;color:#ff9aa1;cursor:pointer}.mandate-ffta-sync.is-offline:hover,.mandate-ffta-sync.is-offline:focus-visible{border-color:#ff7a83;background:#e7505a20;color:#fff;outline:0}.mandate-ffta-sync.is-syncing i{background:#ffcc35;box-shadow:0 0 0 4px #ffcc3518;animation:ffta-sync-pulse .8s ease-in-out infinite alternate}.mandate-ffta-sync:disabled{opacity:1}@keyframes ffta-sync-pulse{to{transform:scale(1.35);box-shadow:0 0 0 6px #ffcc3510}}@media(max-width:620px){.mandate-notification-header-actions{gap:6px}.mandate-ffta-sync{min-height:32px;padding:0 8px;font-size:9px}}

/* Variantes de poignée Mykan 25 pouces 10.41 */
.equipment-subgroup{display:grid;gap:9px;padding:11px;border:1px solid #ffffff14;border-radius:10px;background:#0b1d2a}
.equipment-subgroup>h4{margin:0;color:#dceaf2;font-size:12px;letter-spacing:.04em}
.equipment-brand-subgroup{margin:0;padding:9px;background:#081722;border-color:#e4bd4338}.equipment-brand-subgroup>h4{color:#e4bd43}
.equipment-subgroup-toggle{position:relative;padding:3px 34px 3px 2px;border-radius:7px;cursor:pointer;user-select:none;outline:0}
.equipment-subgroup-toggle:after{content:"+";position:absolute;right:2px;top:50%;display:grid;place-items:center;width:25px;height:25px;border:1px solid #ffffff24;border-radius:50%;background:#ffffff08;color:#e4bd43;font-size:18px;font-weight:800;line-height:1;transform:translateY(-50%)}
.equipment-subgroup.is-open>.equipment-subgroup-toggle:after{content:"−"}
.equipment-subgroup-toggle:hover,.equipment-subgroup-toggle:focus-visible{color:#fff;background:#ffffff08}
.equipment-subgroup>.equipment-variants[hidden]{display:none!important}
.equipment-variants{display:grid;grid-template-columns:1fr;gap:8px}
.equipment-card .equipment-variants>.equipment-variant{min-width:0;min-height:56px;grid-template-columns:38px minmax(0,1fr);padding:10px 12px}
.equipment-color-dot{width:32px!important;height:32px!important;box-sizing:border-box;border:2px solid #e4edf2!important;border-radius:50%!important;box-shadow:0 0 0 3px #07131f,0 4px 10px #0009!important}
.equipment-color-dot.is-black{background:#050607!important}
.equipment-color-dot.is-grey{background:#8b9299!important}
.equipment-color-dot.is-blue{background:#189be8!important}
.equipment-color-dot.is-yellow{background:#f2d21f!important}
.equipment-color-dot.is-green{background:#08b84f!important}
.equipment-color-dot.is-brass{background:linear-gradient(135deg,#f3d47a,#a87519)!important}
.equipment-color-dot.is-brown{background:#654033!important}
.equipment-color-dot.is-red-black{background:linear-gradient(90deg,#0a0b0d 0 50%,#dc313b 50% 100%)!important}
.equipment-color-dot.is-grey-orange{background:linear-gradient(90deg,#4b5258 0 50%,#e85b2d 50% 100%)!important}
.equipment-color-dot.is-black-silver{background:linear-gradient(90deg,#090a0c 0 50%,#aeb6bd 50% 100%)!important}
.equipment-color-dot.is-clear-red{background:linear-gradient(90deg,#dbe4e7 0 50%,#df252f 50% 100%)!important}
.equipment-color-dot.is-green-black{background:linear-gradient(90deg,#24b34a 0 50%,#111315 50% 100%)!important}
.equipment-color-dot.is-clear-blue-red{background:linear-gradient(90deg,#dce6ea 0 34%,#1b73b9 34% 67%,#c92d35 67% 100%)!important}
.equipment-color-dot.is-orange{background:#ff6a00!important}
.equipment-color-dot.is-yellow-black{background:linear-gradient(90deg,#f1c62f 0 50%,#151719 50% 100%)!important}
.equipment-color-dot.is-carbon{background-color:#171a1e!important;background-image:linear-gradient(45deg,#3b4148 25%,transparent 25%,transparent 75%,#3b4148 75%),linear-gradient(45deg,#3b4148 25%,#111419 25%,#111419 75%,#3b4148 75%)!important;background-position:0 0,3px 3px!important;background-size:6px 6px!important}
.equipment-card .equipment-variants>.equipment-variant-detailed{display:block;padding:12px}
.equipment-variant-detailed>summary{list-style:none;cursor:pointer;user-select:none}
.equipment-variant-detailed>summary::-webkit-details-marker{display:none}
.equipment-variant-detailed:not([open])>.equipment-specs,.equipment-variant-detailed:not([open])>.equipment-manual{display:none}
.equipment-variant-heading{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px}
.equipment-variant-heading p{margin:0;min-width:0}
.equipment-variant-heading p strong,.equipment-variant-heading p span{display:block}
.equipment-toggle-hint{position:relative;width:22px;height:22px;border:1px solid #ffffff24;border-radius:50%;background:#ffffff08}
.equipment-toggle-hint:before,.equipment-toggle-hint:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:2px;border-radius:2px;background:#e4bd43;transform:translate(-50%,-50%);transition:transform .2s ease}
.equipment-toggle-hint:after{transform:translate(-50%,-50%) rotate(90deg)}
.equipment-variant-detailed[open] .equipment-toggle-hint:after{transform:translate(-50%,-50%) rotate(0deg)}
.equipment-specs{display:grid;gap:0;margin:12px 0 0;border:1px solid #ffffff14;border-radius:8px;overflow:hidden;background:#071722}
.equipment-specs:before{content:"Caractéristiques";padding:9px;color:#e4bd43;border-bottom:1px solid #ffffff14;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.equipment-specs>div{display:grid;grid-template-columns:1fr;gap:2px;padding:7px 9px;border-bottom:1px solid #ffffff10}
.equipment-specs>div:last-child{border-bottom:0}
.equipment-specs dt{color:#8296a4;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.equipment-specs dd{margin:0;color:#dceaf2;font-size:11px;font-weight:650;overflow-wrap:anywhere}
.equipment-manual{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff14}
.equipment-manual h5{margin:0;color:#e4bd43;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.equipment-manual h5:nth-of-type(2),.equipment-manual h5:nth-of-type(2)~.equipment-manual-block{display:none}
.equipment-manual-block{padding:9px 10px;border:1px solid #ffffff12;border-radius:8px;background:#06131d}
.equipment-manual-block>strong{display:block;margin-bottom:5px;color:#dceaf2;font-size:11px}
.equipment-manual-block ul{display:grid;gap:4px;margin:0;padding-left:17px;color:#9fb0ba;font-size:10px;line-height:1.45}
.equipment-manual-block p{margin:0!important;color:#9fb0ba!important;font-size:10px!important;line-height:1.45}
.equipment-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:9px 0 0}.equipment-band-grid>div{display:grid;gap:3px;padding:7px 5px;border:1px solid #ffffff12;border-radius:6px;background:#0a1b27;text-align:center}.equipment-band-grid dt{color:#8296a4;font-size:9px;font-weight:800}.equipment-band-grid dd{margin:0;color:#dceaf2;font-size:10px;font-weight:800}@media(max-width:620px){.equipment-band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.equipment-strand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:9px 0 0}.equipment-strand-grid>div{display:grid;gap:3px;padding:7px 5px;border:1px solid #ffffff12;border-radius:6px;background:#0a1b27;text-align:center}.equipment-strand-grid dt{color:#8296a4;font-size:9px;font-weight:800}.equipment-strand-grid dd{margin:0;color:#dceaf2;font-size:10px;font-weight:800}.equipment-manual-block .equipment-note{margin-top:7px!important;color:#718899!important;font-size:9px!important;font-style:italic}@media(max-width:620px){.equipment-strand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.equipment-origin{display:grid!important;gap:2px;margin:10px 0 0!important;padding:9px 10px;border-left:3px solid #e4bd43;border-radius:0 7px 7px 0;background:#e4bd4310}
.equipment-origin strong{color:#e4bd43!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.05em}
.equipment-origin span{color:#dceaf2!important;font-size:11px!important}
@media(max-width:620px){.equipment-subgroup{padding:10px}.equipment-card .equipment-variants>.equipment-variant{grid-template-columns:42px minmax(0,1fr);min-height:60px}.equipment-color-dot{width:36px!important;height:36px!important}.equipment-variant-heading{grid-template-columns:42px minmax(0,1fr) 24px}.equipment-specs>div{grid-template-columns:1fr}.equipment-specs dd{font-size:12px}.equipment-manual-block>strong{font-size:12px}.equipment-manual-block ul,.equipment-manual-block p{font-size:11px!important}}
.volley-session-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.volley-session-fields label{min-width:0;display:grid;gap:4px}.volley-session-fields label[hidden]{display:none!important}.volley-session-fields span{color:#8296a4;font-size:8px;font-weight:800}.volley-session-fields input,.volley-session-fields select{width:100%;min-width:0;box-sizing:border-box;padding:8px 7px;border:1px solid #ffffff18;border-radius:7px;outline:none;background:#0c1d29;color:#e7eef2;font:750 9px/1.2 inherit}.volley-session-fields input:focus,.volley-session-fields select:focus{border-color:var(--sport-accent);box-shadow:0 0 0 2px #ffcc3518}.volley-session-fields label[data-volley-competition-field]{grid-column:1/-1}@media(max-width:620px){.volley-session-fields{grid-template-columns:1fr}.volley-session-fields label[data-volley-competition-field]{grid-column:1}.volley-session-fields input,.volley-session-fields select{padding:10px 8px;font-size:11px}}
.volley-context-field{grid-column:1/-1}.volley-context-field select{border-color:#ffcc354f!important;background:#142a37!important;color:var(--sport-accent)!important;font-weight:950!important}.volley-result-imports[hidden]{display:none!important}.volley-result-season{display:grid;gap:8px;margin-bottom:15px}.volley-result-season>h3{display:flex;align-items:center;gap:10px;margin:0;color:var(--sport-accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.volley-result-season>h3 i{height:1px;flex:1;background:linear-gradient(90deg,#ffcc3560,#ffffff08)}.volley-result-season>h3 small{color:#748b9c;font-size:8px;letter-spacing:0;text-transform:none}.volley-personal-result{border:0;border-radius:0;background:transparent}@media(max-width:620px){.volley-context-field{grid-column:1}.volley-result-season>h3{align-items:flex-start;flex-wrap:wrap}.volley-result-season>h3 i{display:none}.volley-result-season>h3 small{width:100%}}

/* Actions compactes du calendrier 10.70 */
.upcoming-header-actions{margin-left:14px;gap:7px}.upcoming-header-actions>button[data-add-competition]{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;font:950 22px/1 inherit}.upcoming-header-actions>button[data-add-competition]::before,.upcoming-header-actions>button[data-add-competition]::after{content:none!important}.upcoming-header-actions>button.upcoming-top-toggle{margin:0}@media(max-width:620px){.upcoming-card>header{gap:10px}.upcoming-header-actions{margin-left:8px;gap:6px}.upcoming-header-actions>button[data-add-competition]{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:20px}}
.competition-manage-actions{display:inline-flex;gap:5px;margin-left:auto}.competition-manage-actions button{width:28px;height:28px;padding:0;border:1px solid #ffffff20;border-radius:50%;background:#102536;color:#b9cad4;font:900 15px/1 inherit;cursor:pointer}.competition-manage-actions button:hover,.competition-manage-actions button:focus-visible{border-color:#ffcc3566;color:#ffcc35;outline:none}.competition-manage-actions button[data-delete-competition]:hover{border-color:#ff667477;color:#ff8791}.competition-edit-dialog{width:min(94vw,560px)}.competition-edit-dialog form{grid-template-columns:1fr 1fr}.competition-edit-dialog form>h3,.competition-edit-dialog form>small,.competition-edit-dialog form>p,.competition-edit-dialog form>.competition-edit-wide,.competition-edit-dialog form>.competition-edit-actions{grid-column:1/-1}.competition-edit-dialog label{display:grid;gap:5px;color:#aebdc7;font-size:10px;font-weight:800}.competition-edit-dialog label input{font-size:14px}.competition-edit-dialog .competition-edit-actions{display:grid;grid-template-columns:1fr 1.3fr}@media(max-width:620px){.competition-manage-actions{grid-column:1/-1;margin:2px 0 0}.competition-edit-dialog form{grid-template-columns:1fr}.competition-edit-dialog form>*{grid-column:1!important}}

/* Résultats déroulants par saison 10.71 */
.results-browser:not(.is-expanded) .result-extra,.results-browser:not(.is-expanded) .season-extra{display:block}.result-season>h3,.volley-result-season>h3{cursor:default}.result-season-toggle{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:1px solid #ffcc3545;border-radius:50%;background:#ffcc350d;color:var(--sport-accent);font:950 15px/1 inherit;cursor:pointer}.result-season-toggle:hover,.result-season-toggle:focus-visible{outline:none;background:#ffcc3520}.result-season.is-collapsed>.sessions-table,.volley-result-season.is-collapsed>.sessions-table{display:none}.result-season.is-collapsed>h3,.volley-result-season.is-collapsed>h3{margin-bottom:0}.results-toggle[data-results-toggle]{display:none}@media(max-width:620px){.result-season>h3{flex-wrap:nowrap;gap:7px}.result-season>h3 small{width:auto;flex:0 0 auto;white-space:nowrap}.volley-result-season>h3{flex-wrap:wrap}.volley-result-season>h3 small{width:auto;flex:1}.result-season-toggle{width:32px;height:32px}}

.dashboard-calendar-geography{min-width:0;display:grid;gap:14px;align-content:start}.dashboard-calendar-geography>.sport-dash-card{min-width:0;height:auto}.volley-card{border-color:#ffcc3524;background:linear-gradient(145deg,#102536,#081620)}.volley-card>header small{display:block;margin-bottom:3px;color:#718899;font-size:8px;font-weight:900;letter-spacing:.12em}.volley-mode-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.volley-mode-picker button{min-width:0;padding:9px 7px;border:1px solid #ffffff14;border-radius:9px;background:#07131f;color:#a9bac5;font:800 9px/1.25 inherit;cursor:pointer}.volley-mode-picker button small{display:block;margin-top:3px;color:#6f8798;font-size:8px;font-weight:700}.volley-mode-picker button[aria-pressed="true"]{border-color:#ffcc3566;background:#ffcc3514;color:var(--sport-accent);box-shadow:0 0 0 1px #ffcc3516 inset}.volley-mode-picker button[aria-pressed="true"] small{color:#e8d798}.volley-score-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.volley-score-summary article{display:grid;gap:3px;padding:9px;border:1px solid #ffffff10;border-radius:9px;background:#07131f;text-align:center}.volley-score-summary small{color:#718899;font-size:7px;font-weight:900;letter-spacing:.08em}.volley-score-summary strong{color:#fff;font-size:18px}.volley-entry-form{display:grid;gap:10px;padding:11px;border:1px solid #ffffff12;border-radius:10px;background:#07131faa}.volley-archer-row{display:grid;gap:8px}.volley-archer-row>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.volley-archer-row strong{color:#e7eef2;font-size:10px}.volley-archer-row small{color:#718899;font-size:8px}.volley-opponent-row{padding-top:9px;border-top:1px solid #ffffff10}.volley-arrow-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.volley-arrow-inputs label{min-width:0;display:grid;gap:3px;text-align:center}.volley-arrow-inputs span{color:#718899;font-size:7px;font-weight:850}.volley-arrow-inputs input{width:100%;min-width:0;box-sizing:border-box;padding:8px 2px;border:1px solid #ffffff20;border-radius:7px;outline:none;background:#0c1d29;color:#fff;text-align:center;font:900 14px/1 inherit}.volley-arrow-inputs input:focus{border-color:var(--sport-accent);box-shadow:0 0 0 2px #ffcc3518}.volley-form-message{min-height:14px;margin:0;color:#718899;font-size:8px;line-height:1.4}.volley-form-message.is-error{color:#ff8b99}.volley-form-message.is-success{color:#75dfaa}.volley-save-button{padding:10px 12px;border:0;border-radius:8px;background:var(--sport-accent);color:#171308;font-size:10px;font-weight:950;cursor:pointer}.volley-save-button:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.48}.volley-history{margin-top:12px}.volley-history>p{margin:0;padding:9px;border:1px dashed #ffffff12;border-radius:8px;color:#718899;font-size:9px;text-align:center}.volley-history h3{margin:0 0 7px;color:#cbd8df;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.volley-history ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}.volley-history li{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border:1px solid #ffffff0d;border-radius:7px;background:#07131f}.volley-history li b{color:var(--sport-accent);font-size:8px}.volley-history li span{overflow:hidden;color:#9eb0bb;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.volley-history li strong{color:#fff;font-size:10px}@media(max-width:620px){.volley-mode-picker{grid-template-columns:1fr}.volley-mode-picker button{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:10px}.volley-mode-picker button small{margin:0}.volley-arrow-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.volley-arrow-inputs input{padding:10px 3px;font-size:16px}.volley-history li{grid-template-columns:58px minmax(0,1fr) auto}}

.volley-archer-row{padding:8px;border:1px solid transparent;border-radius:9px;transition:.16s ease}.volley-archer-row.is-active{border-color:#4b93c888;background:#0e3853}.volley-arrow-inputs input{cursor:pointer}.volley-arrow-inputs input.is-current{outline:2px solid #fff;outline-offset:2px}.volley-arrow-inputs input.is-gold,.volley-score-badges .is-gold{background:#f2df21;color:#131313}.volley-arrow-inputs input.is-red,.volley-score-badges .is-red{background:#c9404b;color:#fff}.volley-arrow-inputs input.is-blue,.volley-score-badges .is-blue{background:#35abc4;color:#fff}.volley-arrow-inputs input.is-black,.volley-score-badges .is-black{background:#020d15;color:#fff}.volley-arrow-inputs input.is-white,.volley-score-badges .is-white{background:#f5f5f2;color:#101820}.volley-score-pad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:9px;border-radius:11px;background:#0d466d}.volley-score-pad button{min-height:48px;border:0;border-radius:9px;font:950 17px/1 inherit;cursor:pointer;box-shadow:inset 0 -2px 0 #0002}.volley-score-pad .is-gold{background:#f2df21;color:#111}.volley-score-pad .is-red{background:#c9404b;color:#fff}.volley-score-pad .is-blue{background:#35abc4;color:#fff}.volley-score-pad .is-black{background:#020d15;color:#fff}.volley-score-pad .is-white{background:#f5f5f2;color:#111}.volley-score-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.volley-score-actions button{padding:7px 10px;border:1px solid #5ba6dc55;border-radius:7px;background:#438fc6;color:#fff;font:850 9px/1.2 inherit;cursor:pointer}.volley-score-actions small{color:#718899;font-size:7px;text-align:right}.volley-score-sheet{overflow-x:auto;border:1px solid #ffffff12;border-radius:9px;background:#07131f}.volley-score-sheet table{width:100%;border-collapse:collapse;min-width:370px}.volley-score-sheet th,.volley-score-sheet td{padding:7px 6px;border-bottom:1px solid #ffffff0d;color:#b8c7d0;font-size:8px;text-align:center}.volley-score-sheet thead th{background:#152c3c;color:#fff;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.volley-score-sheet tbody th{width:42px;color:#fff}.volley-score-sheet tbody th small{display:block;margin-top:2px;color:#718899;font-size:6px;white-space:nowrap}.volley-score-sheet td:nth-child(2){text-align:left}.volley-score-sheet tr:last-child>*{border-bottom:0}.volley-score-sheet em{color:#718899;font-style:normal}.volley-score-badges{display:flex;gap:3px}.volley-score-badges i{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:50%;font-size:8px;font-style:normal;font-weight:950;box-shadow:0 0 0 1px #ffffff20}.volley-score-sheet td>small{margin-left:5px;color:#8fa4b1;font-size:7px}@media(max-width:620px){.volley-score-pad{gap:8px;padding:10px}.volley-score-pad button{min-height:56px;font-size:20px}.volley-arrow-inputs input{min-height:46px}.volley-score-actions{align-items:stretch;flex-direction:column}.volley-score-actions button{padding:10px;font-size:10px}.volley-score-actions small{text-align:center}}
.volley-opponent-row[hidden]{display:none!important}
.volley-title-field{grid-column:1/-1}.volley-title-field span{display:flex;align-items:center;justify-content:space-between}.volley-title-field span small{color:#5f7584;font-size:7px;text-transform:uppercase}.volley-structure{display:grid;gap:4px;margin:0 0 12px;padding:12px;border:1px solid #ffffff14;border-radius:11px;background:#f3f5f7;color:#0d4569;text-align:center}.volley-structure>small{font-size:7px;font-weight:950;letter-spacing:.1em;text-align:left}.volley-structure>strong{font-size:26px;line-height:1}.volley-structure>strong em{color:#70889a;font-size:9px;font-style:normal}.volley-structure>span{color:#70889a;font-size:8px;font-weight:800}.volley-structure>span b{color:#0d4569}@media(max-width:620px){.volley-structure{padding:15px}.volley-structure>strong{font-size:32px}.volley-structure>span{font-size:10px}}
.volley-session-fields label[data-volley-departure-field]{grid-column:1/-1}@media(max-width:620px){.volley-session-fields label[data-volley-departure-field]{grid-column:1}}
.volley-submit-actions{display:flex;gap:8px}.volley-submit-actions>button{flex:1}.volley-cancel-edit{padding:10px 12px;border:1px solid #ffffff22;border-radius:8px;background:#152c3c;color:#d8e2e8;font-size:9px;font-weight:850;cursor:pointer}.volley-entry-actions{display:flex;justify-content:center;gap:4px}.volley-entry-actions button{padding:5px 7px;border:1px solid #5ba6dc55;border-radius:6px;background:#15354a;color:#dbeaf3;font:800 7px/1 inherit;cursor:pointer}.volley-entry-actions button.is-delete{border-color:#ff6f7d55;background:#4b2028;color:#ffb2ba}@media(max-width:620px){.volley-submit-actions{flex-direction:column-reverse}.volley-entry-actions{align-items:stretch;flex-direction:column}.volley-entry-actions button{padding:7px 8px;font-size:8px}}
.volley-form-title{margin:0;padding-bottom:8px;border-bottom:1px solid #ffcc3533;color:var(--sport-accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.volley-shoot-off-winner{display:grid;gap:5px;padding:10px;border:1px solid #ffcc3544;border-radius:9px;background:#ffcc350d}.volley-shoot-off-winner[hidden]{display:none!important}.volley-shoot-off-winner>span{color:var(--sport-accent);font-size:9px;font-weight:900}.volley-shoot-off-winner select{width:100%;padding:9px;border:1px solid #ffcc3544;border-radius:7px;background:#0c1d29;color:#fff;font:800 10px/1.2 inherit}.volley-shoot-off-winner small{color:#8fa1ad;font-size:8px}.volley-structure{border-color:#ffcc352b;background:#07131f;color:var(--sport-accent)}.volley-structure>strong em,.volley-structure>span{color:#91a5b1}.volley-structure>span b{color:#fff}.volley-archer-row.is-active{border-color:#ffcc3566;background:#ffcc350c}.volley-score-pad{border:1px solid #ffcc3524;background:#07131f}.volley-score-actions button{border-color:#ffcc3555;background:#192b35;color:var(--sport-accent)}.volley-entry-actions button{border-color:#ffcc3555;background:#192b35;color:var(--sport-accent)}.volley-entry-actions button.is-delete{border-color:#ff6f7d55;background:#351c24;color:#ffb2ba}.volley-saved-matches{display:grid;gap:8px;margin-top:14px}.volley-saved-matches>h3{margin:0;color:var(--sport-accent);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.volley-saved-matches>p{margin:0;padding:10px;border:1px dashed #ffffff16;border-radius:8px;color:#718899;font-size:9px;text-align:center}.volley-saved-matches>div{display:grid;gap:7px}.volley-saved-matches article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px;border:1px solid #ffffff12;border-left:3px solid var(--sport-accent);border-radius:8px;background:#07131f}.volley-saved-matches article>div{display:grid;gap:3px}.volley-saved-matches article>div:last-child{text-align:right}.volley-saved-matches time,.volley-saved-matches small,.volley-saved-matches span{color:#7f94a1;font-size:8px}.volley-saved-matches strong{color:#e7eef2;font-size:10px}.volley-saved-matches b{color:var(--sport-accent);font-size:12px}@media(max-width:620px){.volley-saved-matches article{grid-template-columns:1fr}.volley-saved-matches article>div:last-child{text-align:left}}
.volley-finalize-panel{display:grid;gap:9px;padding:11px;border:1px solid #ffcc3540;border-radius:10px;background:linear-gradient(145deg,#162b37,#0a1821)}.volley-finalize-panel[hidden]{display:none!important}.volley-finalize-help{margin:0;color:#91a5b1;font-size:9px;line-height:1.45}.volley-entry-form.is-complete>.volley-archer-row,.volley-entry-form.is-complete>.volley-score-pad,.volley-entry-form.is-complete>.volley-score-actions,.volley-entry-form.is-complete>.volley-shoot-off-winner{display:none!important}.volley-entry-form.is-complete .volley-save-button{padding:13px 15px;font-size:12px;box-shadow:0 7px 20px #ffcc3525}
.volley-session-fields .volley-comment-field{grid-column:1/-1}.volley-session-fields textarea{width:100%;min-width:0;box-sizing:border-box;padding:9px;border:1px solid #ffffff18;border-radius:7px;outline:none;background:#0c1d29;color:#e7eef2;font:inherit;resize:vertical}.volley-session-fields textarea:focus{border-color:var(--sport-accent);box-shadow:0 0 0 2px #ffcc3518}.volley-saved-comment{margin:0;padding:9px;border-radius:7px;background:#0c1d29;color:#dce8ed;white-space:pre-wrap;overflow-wrap:anywhere}.volley-saved-comment strong{color:var(--sport-accent)}
.volley-final-confirm{position:sticky;top:0;z-index:2;width:100%;padding:12px;border:1px solid #ffcc35;border-radius:8px;background:#ffcc35;color:#101c27;font-weight:900;cursor:pointer}.volley-entry-form.is-complete .volley-finalize-panel:not([hidden])~.volley-submit-actions .volley-save-button{display:none!important}.registration-confirmed-slots{display:grid;gap:5px;padding:8px;border:1px solid #ffffff22;border-radius:8px}.registration-confirmed-slots[hidden]{display:none!important}.registration-confirmed-slots>div{display:grid;gap:4px}.registration-confirmed-slots label{display:flex;align-items:center;gap:7px;font-size:12px}
.volley-score-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.volley-score-summary article:first-child{grid-column:span 2}.volley-saved-card{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;cursor:pointer}.volley-saved-card:focus-visible{outline:2px solid var(--sport-accent);outline-offset:2px}.volley-saved-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px!important}.volley-saved-summary>div{display:grid;gap:3px}.volley-saved-summary>div:last-child{text-align:right}.volley-saved-hint{color:var(--sport-accent)!important;font-weight:850}.volley-saved-detail[hidden]{display:none!important}.volley-saved-detail{display:grid!important;gap:9px!important;text-align:left!important}.volley-saved-stats{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px!important;padding-top:8px;border-top:1px solid #ffffff12;text-align:center!important}.volley-saved-stats>span{display:grid;gap:2px;padding:6px 3px;border-radius:6px;background:#0d202d}.volley-saved-stats small{font-size:7px!important}.volley-saved-stats strong{color:#fff!important;font-size:11px!important}.volley-saved-actions{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:6px!important}.volley-saved-actions button{padding:7px 9px;border:1px solid #ffcc3555;border-radius:7px;background:#192b35;color:var(--sport-accent);font:850 8px/1 inherit;cursor:pointer}.volley-saved-actions button.is-delete{border-color:#ff6f7d55;background:#351c24;color:#ffb2ba}@media(max-width:620px){.volley-score-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.volley-score-summary article:first-child{grid-column:span 3}.volley-saved-summary{grid-template-columns:1fr}.volley-saved-summary>div:last-child{text-align:left}.volley-saved-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.volley-saved-actions{justify-content:stretch}.volley-saved-actions button{flex:1;padding:10px 8px;font-size:10px}}
.volley-score-summary article:first-child{grid-column:auto}.volley-score-summary article:nth-child(3){grid-column:span 1}.volley-score-summary article>span{color:#8fa4b1;font-size:7px;font-weight:800;white-space:nowrap}.volley-saved-chevron{display:inline-grid;width:20px;height:20px;place-items:center;justify-self:end;border-radius:50%;background:#ffcc3514;color:var(--sport-accent);font-size:15px;font-style:normal;transition:transform .18s ease}.volley-saved-card[aria-expanded="true"] .volley-saved-chevron{transform:rotate(180deg)}.volley-saved-detail[hidden]{display:none!important}.volley-saved-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.volley-saved-matches .volley-saved-stats>article{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px;border:1px solid #ffffff0d;border-left:0;border-radius:7px;background:#0d202d;text-align:center}.volley-saved-stats>article>small,.volley-saved-stats>article>strong{grid-column:1/-1}.volley-saved-stats>article>span{display:block;padding:3px;border-radius:4px;background:#07131f;color:#9fb0ba;font-size:7px}.volley-saved-stats>article>span b{color:var(--sport-accent);font-size:7px}@media(max-width:620px){.volley-score-summary{grid-template-columns:1fr 1fr}.volley-score-summary article:nth-child(3),.volley-score-summary article:last-child{grid-column:span 2}.volley-saved-stats{grid-template-columns:1fr}.volley-saved-chevron{justify-self:start}}
.volley-score-summary article>span{font-size:9px;font-weight:900}.volley-score-summary article>span b{color:var(--sport-accent);font-size:10px}.volley-saved-stats>article>span{padding:5px 3px;color:#d4dee4;font-size:9px;font-weight:900}.volley-saved-stats>article>span b{font-size:10px}
.volley-score-pad [data-arrow-label="X"][hidden]{display:none!important}.volley-saved-matches .volley-saved-stats>article.no-x{grid-template-columns:repeat(2,minmax(0,1fr))}
.volley-score-pad.no-x [data-arrow-label="M"]{grid-column:span 2}
.volley-older-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:1px solid #ffcc3544;border-radius:8px;background:#ffcc350b;color:var(--sport-accent);font:900 9px/1.2 inherit;cursor:pointer}.volley-older-toggle i{font-size:15px;font-style:normal;transition:transform .18s ease}.volley-older-toggle[aria-expanded="true"] i{transform:rotate(180deg)}.volley-saved-older{display:grid;gap:7px}.volley-saved-older[hidden]{display:none!important}
@media(max-width:620px){.volley-score-sheet{overflow-x:hidden}.volley-score-sheet table{width:100%;min-width:0;table-layout:fixed}.volley-score-sheet th,.volley-score-sheet td{padding:5px 2px;font-size:7px;letter-spacing:0}.volley-score-sheet thead th{font-size:6px}.volley-score-sheet thead th:first-child,.volley-score-sheet tbody th{width:27px}.volley-score-sheet thead th:last-child,.volley-score-sheet td:last-child{width:52px}.volley-score-badges{flex-wrap:wrap;gap:2px}.volley-score-badges i{width:19px;height:19px;font-size:7px}.volley-entry-actions{gap:3px}.volley-entry-actions button{padding:6px 3px;font-size:7px}.volley-score-sheet td>small{display:block;margin:2px 0 0}.volley-saved-detail .volley-score-sheet thead th:last-child,.volley-saved-detail .volley-score-sheet td:last-child{width:44px}}
.mandate-notifications-card{margin-bottom:22px}
.equipment-group>h3.equipment-group-toggle{position:relative;min-height:0;margin:0;padding:5px 36px 5px 2px;cursor:pointer;user-select:none;outline:0}
.equipment-group>h3.equipment-group-toggle:after{content:"+";position:absolute;right:2px;top:50%;display:grid;place-items:center;width:26px;height:26px;border:1px solid #ffffff24;border-radius:50%;background:#ffffff08;color:#e8f1f7;font-size:18px;line-height:1;transform:translateY(-50%)}
.equipment-group.is-open>h3.equipment-group-toggle{margin-bottom:11px}
.equipment-group.is-open>h3.equipment-group-toggle:after{content:"−"}
.equipment-group>h3.equipment-group-toggle:hover,.equipment-group>h3.equipment-group-toggle:focus-visible{color:#fff;background:#ffffff08}
.equipment-group>.equipment-group-items[hidden]{display:none!important}
.equipment-group:not(.is-open)>.equipment-group-items{display:none}
.equipment-settings-private[hidden],.equipment-settings-unlock[hidden]{display:none!important}
.equipment-settings-group .equipment-group-items>p{margin:0;color:#a9bac5;font-size:13px;line-height:1.45}
.equipment-settings-unlock,.equipment-settings-actions button,.equipment-settings-entry button{min-height:38px;padding:8px 12px;border:1px solid #59bfff65;border-radius:8px;background:#12364f;color:#eaf5ff;font:800 12px/1.2 inherit;cursor:pointer}
.equipment-settings-unlock:hover,.equipment-settings-actions button:hover,.equipment-settings-entry button:hover{background:#1b4969}
.equipment-settings-private,.equipment-settings-list,.equipment-settings-form{display:grid;gap:10px}
.equipment-settings-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;border:1px solid #ffffff1d;border-radius:11px;background:#07131f}
.equipment-settings-form h4,.equipment-settings-form .equipment-settings-notes,.equipment-settings-actions{grid-column:1/-1}
.equipment-settings-form h4{margin:0;color:#ffcf65;font-size:14px}
.equipment-settings-form label{display:grid;gap:5px;color:#c8d8e4;font-size:11px;font-weight:800}
.equipment-settings-form input,.equipment-settings-form textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid #ffffff30;border-radius:7px;background:#0d2131;color:#fff;font:400 14px/1.4 inherit}
.equipment-settings-form input:focus,.equipment-settings-form textarea:focus{outline:2px solid #59bfff}
.equipment-settings-actions{display:flex;flex-wrap:wrap;gap:8px}
.equipment-settings-entry{padding:12px;border:1px solid #ffffff1d;border-radius:10px;background:#0b1d2a}
.equipment-settings-entry>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.equipment-settings-entry strong{color:#fff;font-size:14px}
.equipment-settings-entry dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:11px 0 0}
.equipment-settings-entry dl>div{min-width:0;padding:8px;border-radius:7px;background:#ffffff08}
.equipment-settings-entry dt{color:#8da8ba;font-size:10px}.equipment-settings-entry dd{margin:3px 0 0;color:#fff;font-size:12px;overflow-wrap:anywhere}
@media(max-width:620px){.equipment-settings-form,.equipment-settings-entry dl{grid-template-columns:1fr}}
.dashboard-state-save-notice{margin:0 0 14px;padding:10px 14px;border:1px solid #ffbf6b;border-radius:9px;background:#4b2b14;color:#fff0d6;font-size:13px}
.dashboard-state-save-notice[hidden]{display:none!important}
.equipment-task-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.equipment-task-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #ffffff1d;border-radius:8px;background:#0b1d2a}
.equipment-task-row label{display:flex;align-items:center;gap:9px;min-width:0;color:#eaf5ff;font-size:13px}
.equipment-task-row label span{overflow-wrap:anywhere}
.equipment-task-row input:checked+span{text-decoration:line-through;color:#8fa5b4}
.equipment-task-row button,.equipment-task-form button{min-height:34px;padding:7px 10px;border:1px solid #59bfff65;border-radius:7px;background:#12364f;color:#eaf5ff;font:800 11px/1.2 inherit;cursor:pointer}
.equipment-task-form{display:flex;align-items:end;gap:8px}
.equipment-task-form label{display:grid;flex:1;gap:5px;color:#c8d8e4;font-size:11px;font-weight:800}
.equipment-task-form input{width:100%;min-width:0;padding:9px 10px;border:1px solid #ffffff30;border-radius:7px;background:#0d2131;color:#fff;font:400 14px/1.4 inherit}
@media(max-width:620px){.equipment-task-form{align-items:stretch;flex-direction:column}.equipment-task-row{align-items:start}.equipment-task-row button{flex:0 0 auto}}
.equipment-memo-intro{margin:0;color:#a9bac5;font-size:13px;line-height:1.45}.equipment-memo-private,.equipment-memo-form{display:grid;gap:12px}.equipment-memo-section,.equipment-memo-guide,.equipment-memo-simulator{padding:13px;border:1px solid #ffffff1d;border-radius:11px;background:#07131f}.equipment-memo-section h4,.equipment-memo-guide h4,.equipment-memo-simulator h4{margin:0 0 7px;color:#ffcf65;font-size:14px}.equipment-memo-section>p,.equipment-memo-simulator>p,.equipment-memo-simulator>small{margin:0 0 10px;color:#a9bac5;font-size:11px;line-height:1.5}.equipment-memo-grid{display:grid;grid-template-columns:70px 1.1fr 1.1fr 1fr 1.2fr;gap:7px;align-items:center}.equipment-memo-grid-head{padding:0 4px 7px;color:#8da8ba;font-size:9px;font-weight:900;text-transform:uppercase}.equipment-memo-reference-rows,.equipment-memo-position-rows{display:grid;gap:7px}.equipment-memo-reference-row,.equipment-memo-position-row{padding:8px;border:1px solid #ffffff12;border-radius:8px;background:#0b1d2a}.equipment-memo-reference-row>strong,.equipment-memo-position-row>strong{color:#fff;font-size:13px}.equipment-memo-reference-row label,.equipment-memo-position-row label{display:grid;gap:4px;color:#8da8ba;font-size:9px;font-weight:800}.equipment-memo-reference-row label>span:first-child,.equipment-memo-position-row label>span:first-child{display:none}.equipment-memo-reference-row input,.equipment-memo-position-row input{width:100%;min-width:0;padding:8px;border:1px solid #ffffff30;border-radius:7px;background:#0d2131;color:#fff;font:400 12px/1.3 inherit}.equipment-memo-measure{display:flex;align-items:center;gap:5px}.equipment-memo-measure i{color:#a9bac5;font-size:11px;font-style:normal}.equipment-memo-position-row{display:grid;grid-template-columns:70px minmax(120px,1fr) minmax(150px,1fr);gap:8px;align-items:center}.equipment-memo-position-row>span{color:#d7e3eb;font-size:12px}.equipment-memo-guide ul{display:grid;gap:7px;margin:0;padding-left:18px;color:#c8d8e4;font-size:12px;line-height:1.45}.equipment-memo-guide strong{color:#fff}.equipment-memo-save,.equipment-memo-simulator-actions button{min-height:40px;padding:9px 13px;border:1px solid #59bfff65;border-radius:8px;background:#12364f;color:#eaf5ff;font:800 12px/1.2 inherit;cursor:pointer}.equipment-memo-save:hover,.equipment-memo-simulator-actions button:hover{background:#1b4969}.equipment-memo-save:disabled{opacity:.55;cursor:wait}.equipment-memo-simulator-stage{overflow:hidden;border:1px solid #ffffff18;border-radius:10px;background:radial-gradient(circle at 76% 50%,#173247,#07131f 60%)}.equipment-memo-simulator-svg{display:block;width:100%;height:auto;max-height:330px;touch-action:none;user-select:none}.memo-svg-label,.memo-svg-note{fill:#9fb3c1;font:800 13px sans-serif;letter-spacing:1px}.memo-svg-note{font-size:12px;letter-spacing:0}.memo-svg-string{stroke:#dfe8ee;stroke-width:4}.memo-svg-serving{stroke:url(#memo-serving);stroke-width:13;stroke-dasharray:2 3}.memo-svg-nocking-points rect{fill:#ffcf35}.memo-svg-nocking-points path{fill:#ffcf35;stroke:#ffcf35;stroke-width:3}.memo-svg-tab{cursor:grab;outline:none}.memo-svg-tab:active{cursor:grabbing}.memo-svg-tab rect{fill:#36a8c4;stroke:#bcefff;stroke-width:2}.memo-svg-tab path{fill:#243b52;stroke:#86d4e5;stroke-width:2}.memo-svg-tab circle{fill:#07131f;stroke:#d8f7ff;stroke-width:2}.memo-svg-tab-label{fill:#fff;font:900 12px sans-serif;text-anchor:end}.memo-svg-tab:focus-visible rect{stroke:#ffcf35;stroke-width:4}.memo-svg-target circle{stroke:#ffffff66;stroke-width:2}.memo-svg-target .target-white{fill:#f5f5f1}.memo-svg-target .target-black{fill:#171c22}.memo-svg-target .target-blue{fill:#2b8ec5}.memo-svg-target .target-red{fill:#d53a48}.memo-svg-target .target-yellow{fill:#ffd52d}.memo-svg-aim{fill:none;stroke:#07131f;stroke-width:2}.memo-svg-target .memo-svg-impact{fill:#ff7f32;stroke:#fff;stroke-width:4;filter:drop-shadow(0 0 4px #000)}.equipment-memo-slider-label{display:grid;gap:7px;margin-top:11px;color:#c8d8e4;font-size:11px;font-weight:800}.equipment-memo-slider{width:100%;accent-color:#ffcf35}.equipment-memo-simulator-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equipment-memo-simulator-result{display:block;padding:9px 11px;border-radius:8px;background:#0b1d2a;color:#fff;font-size:12px;font-weight:800}.equipment-memo-simulator>small{display:block;margin:8px 0 0}.equipment-memo-form input:focus{outline:2px solid #59bfff}
.equipment-simulator-private{display:grid}.equipment-simulator-values{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px;padding:11px;border:1px solid #ffffff18;border-radius:9px;background:#0b1d2a}.equipment-simulator-values label{display:grid;gap:5px;color:#c8d8e4;font-size:11px;font-weight:800}.equipment-simulator-values input{width:100%;min-width:0;padding:9px 10px;border:1px solid #ffffff30;border-radius:7px;background:#0d2131;color:#fff;font:400 14px/1.4 inherit}.equipment-simulator-values button{grid-column:1/-1;min-height:40px;padding:9px 13px;border:1px solid #59bfff65;border-radius:8px;background:#12364f;color:#eaf5ff;font:800 12px/1.2 inherit;cursor:pointer}.equipment-simulator-values button:disabled{opacity:.55;cursor:wait}
.memo-svg-tab .memo-svg-tab-leather{fill:#5d3524;stroke:#bd8662;stroke-width:2}.memo-svg-tab .memo-svg-tab-plate{fill:url(#memo-tab-plate);stroke:#8e9ba4;stroke-width:2}.memo-svg-tab .memo-svg-tab-ring{fill:#303941;stroke:#9aa8b1;stroke-width:2}.memo-svg-tab .memo-svg-tab-ring-hole{fill:#07131f;stroke:#20282e;stroke-width:2}.memo-svg-tab .memo-svg-tab-tape{fill:#e9edf0;stroke:#808a91;stroke-width:1}.memo-svg-tab-marks path{fill:none;stroke:#111820;stroke-width:2}.memo-svg-tab-active-mark{stroke:#ffcf35;stroke-width:5;filter:drop-shadow(0 0 3px #000)}.memo-svg-tab-brand{fill:#fff;font:900 7px sans-serif;letter-spacing:.7px}.memo-svg-tab-model{fill:#ffcf35;font:800 7px sans-serif;letter-spacing:.5px}#memo-gap-arrow path{fill:#ff7f32}.memo-svg-gap{stroke:#ff7f32;stroke-width:4;stroke-dasharray:7 5;marker-start:url(#memo-gap-arrow);marker-end:url(#memo-gap-arrow)}.memo-svg-gap.is-centered{opacity:0}.memo-svg-aim-zone circle{fill:#27d68a55;stroke:#19f1a0;stroke-width:4;stroke-dasharray:6 4}.memo-svg-aim-zone path{fill:none;stroke:#06281c;stroke-width:3}.memo-svg-aim-zone text,.memo-svg-impact-zone text{paint-order:stroke;stroke:#07131f;stroke-width:5px;stroke-linejoin:round;fill:#7dffc1;font:900 11px sans-serif;letter-spacing:.5px}.memo-svg-impact-zone circle:first-child{fill:#ff7f3266;stroke:#ff7f32;stroke-width:4}.memo-svg-impact-zone .memo-svg-impact-point{fill:#ff7f32;stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 4px #000)}.memo-svg-impact-zone text{fill:#ffae72}
.memo-v1-serving{stroke:url(#memo-v1-serving)}.memo-v1-tab .memo-v1-tab-plate{fill:url(#memo-v1-tab-plate)}.memo-svg-tab-center-logo path{fill:none;stroke:#d65555;stroke-width:1.4}.memo-svg-tab-center-logo circle{fill:none;stroke:#89949b;stroke-width:1}
.equipment-palette-marks-private{display:grid}.equipment-palette-marks-simulator{display:grid;gap:11px;padding:13px;border:1px solid #ffffff1d;border-radius:11px;background:#07131f}.equipment-palette-distance-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.equipment-palette-distance-buttons button,.equipment-palette-save{min-height:38px;padding:8px;border:1px solid #ffffff2b;border-radius:8px;background:#0d2131;color:#dce9f2;font:800 11px/1.2 inherit;cursor:pointer}.equipment-palette-distance-buttons button[aria-pressed="true"]{border-color:#ffcf35;background:#3c3211;color:#ffdc69}.equipment-palette-stage{overflow:hidden;border:1px solid #ffffff18;border-radius:10px;background:radial-gradient(circle at 82% 50%,#173247,#07131f 62%)}.equipment-palette-svg{display:block;width:100%;height:auto;max-height:400px}.palette-card-heading{fill:#b5c6d2;font:900 13px sans-serif;letter-spacing:1px}.palette-card-leather{fill:#5d3524;stroke:#bd8662;stroke-width:3}.palette-card-plate{fill:url(#palette-card-plate);stroke:#9aa8b1;stroke-width:3}.palette-card-ring{fill:#303941;stroke:#aab6bd;stroke-width:3}.palette-card-ring-hole{fill:#07131f;stroke:#20282e;stroke-width:3}.palette-card-brand{fill:#fff;font:900 12px sans-serif;letter-spacing:1px}.palette-card-model{fill:#ffcf35;font:900 11px sans-serif;letter-spacing:1px}.palette-card-tape{fill:#eceeed;stroke:#8d969b;stroke-width:2}.palette-card-graduations path{fill:none;stroke:#171b1e;stroke-width:3}.palette-card-center-logo path{fill:none;stroke:#d35555;stroke-width:2}.palette-card-center-logo circle{fill:none;stroke:#9aa1a5;stroke-width:2}.palette-card-active-mark{stroke:#ffcf35;stroke-width:7;filter:drop-shadow(0 0 4px #000)}.palette-saved-mark{font:900 11px sans-serif}.palette-saved-mark line{stroke-width:4;stroke-dasharray:6 3}.palette-saved-mark text{paint-order:stroke;stroke:#07131f;stroke-width:3px}.palette-saved-mark-18 line,.palette-saved-mark-18 text{stroke:#41d897;fill:#41d897}.palette-saved-mark-25 line,.palette-saved-mark-25 text{stroke:#59bfff;fill:#59bfff}.palette-saved-mark-50 line,.palette-saved-mark-50 text{stroke:#ff7f32;fill:#ff7f32}.palette-saved-mark.is-empty{display:none}.palette-card-string>line{stroke:#e8eef2;stroke-width:5}.palette-card-string rect{fill:#ffcf35;stroke:#fff4aa;stroke-width:1}.palette-card-string text{fill:#bacbd6;font:900 9px sans-serif;letter-spacing:.6px}.palette-dynamic-arrow line{stroke:#f0f5f8;stroke-width:5;marker-end:url(#palette-arrow-head);filter:drop-shadow(0 0 3px #000)}#palette-arrow-head path{fill:#f0f5f8}.palette-dynamic-arrow text{fill:#b7c9d5;font:900 10px sans-serif;letter-spacing:1px}.palette-mini-target circle{stroke:#ffffff55;stroke-width:1.5}.palette-mini-target .target-white{fill:#f5f5f1}.palette-mini-target .target-black{fill:#171c22}.palette-mini-target .target-blue{fill:#2b8ec5}.palette-mini-target .target-red{fill:#d53a48}.palette-mini-target .target-yellow{fill:#ffd52d}.palette-mini-target .palette-impact-point{fill:#ff7f32;stroke:#fff;stroke-width:3}.palette-distance-label{fill:#d9e8f1;font:900 15px sans-serif;letter-spacing:1px}.equipment-palette-slider{width:100%;accent-color:#ffcf35}.equipment-palette-result{padding:9px 11px;border-radius:8px;background:#0b1d2a;color:#fff;font-size:12px;font-weight:800}.equipment-palette-save{border-color:#59bfff65;background:#12364f}.equipment-palette-save:disabled{opacity:.55}.equipment-palette-saved{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.equipment-palette-saved span{display:grid;gap:3px;padding:8px 5px;border:1px solid #ffffff17;border-radius:7px;background:#0b1d2a;color:#91a9b8;text-align:center;font-size:10px}.equipment-palette-saved span strong{color:#fff}.equipment-palette-saved span.is-current{border-color:#ffcf3566;background:#2a250f}
.equipment-draw-calculator-private{display:grid}.equipment-draw-calculator-form{display:grid;gap:12px;padding:13px;border:1px solid #ffffff1d;border-radius:11px;background:#07131f}.equipment-draw-calculator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.equipment-draw-calculator-fields label{display:grid;gap:5px;color:#c8d8e4;font-size:11px;font-weight:800}.equipment-draw-calculator-fields label>span{display:flex;align-items:center;gap:7px}.equipment-draw-calculator-fields input{width:100%;min-width:0;padding:9px 10px;border:1px solid #ffffff30;border-radius:7px;background:#0d2131;color:#fff;font:400 14px/1.4 inherit}.equipment-draw-calculator-fields i{min-width:max-content;color:#91a9b8;font-size:11px;font-style:normal}.equipment-draw-calculator-results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.equipment-draw-calculator-results div{display:grid;gap:5px;padding:11px;border:1px solid #ffffff17;border-radius:9px;background:#0b1d2a}.equipment-draw-calculator-results small{color:#8da8ba;font-size:9px;font-weight:900;letter-spacing:.7px}.equipment-draw-calculator-results strong{color:#fff;font-size:16px}.equipment-draw-calculator-note{margin:0;color:#93a8b6;font-size:11px;line-height:1.5}.equipment-draw-calculator-form>button{min-height:42px;padding:10px 13px;border:1px solid #59bfff65;border-radius:8px;background:#12364f;color:#eaf5ff;font:800 12px/1.2 inherit;cursor:pointer}.equipment-draw-calculator-form>button:disabled{opacity:.55;cursor:wait}
@media(max-width:720px){.equipment-memo-grid-head{display:none}.equipment-memo-reference-row{grid-template-columns:64px 1fr 1fr}.equipment-memo-reference-row>strong{grid-row:1/3}.equipment-memo-reference-row label{display:grid}.equipment-memo-reference-row label>span:first-child{display:block}.equipment-memo-reference-row label:nth-of-type(3),.equipment-memo-reference-row label:nth-of-type(4){grid-column:2/-1}.equipment-memo-position-row{grid-template-columns:58px 1fr}.equipment-memo-position-row label{grid-column:1/-1}.equipment-memo-position-row label>span:first-child{display:block}.equipment-memo-simulator-actions{grid-template-columns:1fr}.memo-svg-label,.memo-svg-note{font-size:11px}.equipment-memo-section,.equipment-memo-guide,.equipment-memo-simulator{padding:10px}}
@media(max-width:420px){.equipment-memo-reference-row{grid-template-columns:1fr}.equipment-memo-reference-row>strong{grid-row:auto}.equipment-memo-reference-row label:nth-of-type(3),.equipment-memo-reference-row label:nth-of-type(4){grid-column:auto}.equipment-memo-simulator-svg{min-height:190px}.memo-svg-note{display:none}.equipment-simulator-values{grid-template-columns:1fr}.equipment-simulator-values button{grid-column:auto}}
@media(max-width:720px){.equipment-draw-calculator-fields{grid-template-columns:1fr}.equipment-draw-calculator-results{grid-template-columns:1fr}.equipment-draw-calculator-form{padding:10px}.memo-svg-aim-zone text,.memo-svg-impact-zone text{font-size:9px}}
@media(max-width:520px){.equipment-palette-marks-simulator{padding:9px}.equipment-palette-distance-buttons{grid-template-columns:repeat(5,minmax(0,1fr))}.equipment-palette-distance-buttons button{padding:7px 2px;font-size:10px}.equipment-palette-saved{grid-template-columns:repeat(5,minmax(0,1fr))}.equipment-palette-saved span{padding:7px 2px;font-size:9px}.palette-card-heading{font-size:11px}}
.sport-header button.private-access{appearance:none;background:#122334;color:#ffcf54!important;font-size:16px;line-height:1;cursor:pointer}
.sport-header button.private-access.is-unlocked{border-color:#54ca96;background:#10362c;color:#75e7ae!important}
.sport-header-tools{justify-self:end;display:flex;align-items:center;gap:8px}
.sport-header-tools .private-access{justify-self:auto}
.public-refresh{appearance:none;width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;padding:0;border:1px solid #71889988;border-radius:50%;background:#122334;color:#aab9c4;font-family:inherit;line-height:1;cursor:pointer}.public-refresh b{display:block;font-size:20px;line-height:1}.public-refresh[data-sync-state=syncing] b{animation:public-refresh-spin .8s linear infinite}.public-refresh:disabled{cursor:wait;opacity:.8}@keyframes public-refresh-spin{to{transform:rotate(360deg)}}
.public-refresh[data-sync-state=current]{border-color:#54ca96;background:#10362c;color:#75e7ae}
.public-refresh[data-sync-state=changed]{border-color:#f2a547;background:#483019;color:#ffc16e}
.public-refresh[data-sync-state=offline]{border-color:#ff5d6c;background:#461c24;color:#ff8b95}
.public-refresh[data-sync-state=checking],.public-refresh[data-sync-state=syncing]{border-color:#55a9e8;background:#15354c;color:#8bcfff}
.public-refresh:hover,.public-refresh:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.page-reload{appearance:none;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid #71889988;border-radius:50%;background:#122334;color:#aab9c4;font-family:inherit;line-height:1;cursor:pointer}.page-reload b{font-size:19px;line-height:1}.page-reload:hover,.page-reload:focus-visible{border-color:#55a9e8;background:#15354c;color:#8bcfff;outline:2px solid currentColor;outline-offset:2px}
.result-departure>.result-kind.training{border-color:#72d6ae66;background:#72d6ae16;color:#91edc6}
.volley-live-session-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:10px;border:1px solid #ffffff18;border-radius:10px;background:#0b1d2b}
.volley-live-session-fields label{min-width:0;display:grid;gap:5px}
.volley-live-session-fields label[hidden]{display:none!important}
.volley-live-session-fields label:first-child{grid-column:1/-1}
.volley-live-session-fields label>span{color:#9aabb6;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.volley-live-session-fields select{width:100%;min-width:0;padding:10px;border:1px solid #ffffff30;border-radius:8px;background:#102536;color:#f4f8fb;font:750 13px/1.2 inherit}
.volley-live-session-fields select:focus-visible{outline:2px solid var(--sport-accent);outline-offset:2px}
.volley-score-summary.is-qualification{grid-template-columns:repeat(2,minmax(0,1fr))}
.volley-score-summary.is-qualification article:first-child,.volley-score-summary.is-qualification article:last-child{grid-column:1/-1}
.volley-score-summary.is-qualification article:nth-child(2),.volley-score-summary.is-qualification article:nth-child(3){grid-column:auto}
.volley-score-summary.is-qualification article:first-child strong{font-size:22px}
@media(max-width:620px){.volley-live-session-fields{grid-template-columns:1fr}.volley-live-session-fields label:first-child{grid-column:auto}.volley-live-session-fields select{font-size:14px}}
.palette-card-active-mark{opacity:.48;stroke-width:5.5;filter:drop-shadow(0 0 2px #0006)}
.equipment-palette-distance-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:520px){.equipment-palette-distance-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}
.equipment-palette-model{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:2px 2px 0}.equipment-palette-model strong{color:#f3f7fa;font-size:13px}.equipment-palette-model span{color:#8198a8;font-size:10px}@media(max-width:520px){.equipment-palette-model{display:grid;gap:3px}}
.palette-bicaster-backing{fill:#a85d2e;stroke:#d49568;stroke-width:3}.palette-bicaster-leather{fill:url(#palette-bicaster-leather);stroke:#5a3030;stroke-width:3;filter:drop-shadow(0 5px 5px #0008)}.palette-bicaster-brass{fill:url(#palette-bicaster-brass);stroke:#f1d68d;stroke-width:3;filter:drop-shadow(3px 4px 4px #0007)}.palette-bicaster-scale{fill:#070a0d;stroke:#2d363c;stroke-width:2}.palette-bicaster-graduations path{fill:none;stroke:#f0f2ef;stroke-width:3;stroke-linecap:round}.palette-bicaster-adjusters .rail-cap,.palette-bicaster-adjusters .finger-slot{fill:#090d10;stroke:#273139;stroke-width:2}.palette-bicaster-adjusters .brass-slot{fill:#b98b43;stroke:#efd087;stroke-width:2}.palette-bicaster-adjusters circle{fill:#bdc4c7;stroke:#6f797e;stroke-width:2}.palette-bicaster-adjusters circle+circle{fill:#343b40;stroke:none}.palette-bicaster-brand{fill:#715321;font:900 15px sans-serif;letter-spacing:1px}.palette-bicaster-model{fill:#7c5b24;font:800 7px sans-serif;letter-spacing:1.2px}
.registration-selected-slots{display:grid;gap:4px;width:100%;margin-top:2px}.registration-selected-slots[hidden]{display:none!important}.registration-selected-slots>span{display:grid;gap:1px;padding:6px 8px;border:1px solid #42d79b55;border-radius:8px;background:#42d79b12;color:#dffbef;text-align:left}.registration-selected-slots strong{font-size:9px;line-height:1.25}.registration-selected-slots small{color:#9fc9b8;font-size:7px;line-height:1.3}
.palette-reference-image{filter:drop-shadow(0 7px 8px #0009)}.palette-fairweather-leather{fill:url(#palette-fairweather-leather);stroke:#674039;stroke-width:3;filter:drop-shadow(-2px 5px 5px #0007)}.palette-fairweather-backing{fill:#10161a;stroke:#303a40;stroke-width:3}.palette-fairweather-plate{fill:url(#palette-fairweather-plate);stroke:#e5c474;stroke-width:3;filter:drop-shadow(4px 4px 4px #0008)}.palette-fairweather-brass-highlight{fill:none;stroke:#fff0bd;stroke-width:2.5;stroke-linecap:round;opacity:.32}.palette-fairweather-edge{fill:none;stroke:#171b1e;stroke-width:6;stroke-linecap:round;opacity:.95}.palette-fairweather-graduations path{fill:none;stroke:#151719;stroke-width:3;stroke-linecap:round}.palette-fairweather-screw{fill:#151b1f;stroke:#69757b;stroke-width:3}.palette-fairweather-screw-core{fill:#05080a}
.palette-zniper-reference-image{filter:drop-shadow(0 7px 8px #000a)}.palette-zniper-leather-outline{fill:none;stroke:#93a5af;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.82;filter:drop-shadow(0 0 2px #000)}
.result-departure>.result-kind.ranking{border-color:#c7d0d866;background:#c7d0d814;color:#dfe5ea}
.upcoming-card .competition-manage-actions{display:none!important}.result-competition[data-result-info]{cursor:pointer}.result-competition[data-result-info]:hover,.result-competition.is-manage-open{background:#ffffff04}.result-manage-actions{display:none;margin:5px 0 0}.result-competition.is-manage-open .result-manage-actions{display:inline-flex}.result-edit-departures{display:grid;gap:8px}.result-edit-departures h4{margin:4px 0;color:#fff;font-size:12px}.result-edit-departures>section{display:grid;grid-template-columns:70px minmax(150px,1fr) 90px 90px;align-items:end;gap:7px;padding:8px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff04}.result-edit-departures>section>strong{align-self:center;color:#ffcc35;font-size:10px}.result-edit-departures label{min-width:0}@media(max-width:620px){.result-edit-departures>section{grid-template-columns:1fr 1fr}.result-edit-departures>section>strong,.result-edit-departures>section>label:first-of-type{grid-column:1/-1}}
