:root{--nav:#102733;--nav2:#163845;--bg:#f5f7f8;--surface:#fff;--ink:#1b3038;--muted:#788990;--border:#e3eaed;--accent:#167e72;--accent2:#dff4eb;--teal:#70d1ba;--indigo:#5967b8;--amber:#a76625;--red:#b85a57;--shadow:0 12px 34px rgba(19,47,55,.045)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent)}.app{display:grid;grid-template-columns:253px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#f9fcfd;display:flex;flex-direction:column;padding:31px 15px;position:sticky;top:0;height:100vh}.identity{padding:0 15px 27px}.identity .logo{display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:-1.3px;font-weight:850}.mark{display:inline-grid;place-items:center;width:37px;height:37px;background:#2b8a79;border-radius:11px;color:#fff;font-weight:800;font-size:24px}.identity .logo em{font-style:normal;color:var(--teal)}.identity small{display:block;margin:2px 0 0 47px;color:#91acb7;letter-spacing:1.6px;font-weight:750;font-size:9px}.navtitle{color:#72919e;font-size:10px;letter-spacing:1.8px;font-weight:800;padding:9px 17px 11px}.navigation{display:grid;gap:5px}.navigation button{text-align:left;padding:12px 14px;border:0;background:transparent;color:#a7bdc5;border-radius:11px;display:flex;align-items:center;gap:13px;font-weight:600}.navigation button:hover,.navigation button.active{background:#274653;color:#fff}.navigation button.active .navicon{color:#89e8cf}.navicon{width:20px;text-align:center;font-size:18px;font-weight:500}.sideBottom{margin-top:auto;border-top:1px solid #31505a;padding:21px 14px;color:#a0b8c0;font-size:12px}.sideBottom b{display:block;color:#e8f8f2;margin-bottom:6px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58ce9e;margin-right:7px}.main{min-width:0;width:100%;max-width:1600px;margin:auto;padding:36px clamp(19px,3.1vw,54px) 70px}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:1.9px;color:var(--accent);font-weight:850;text-transform:uppercase}.head h1{font-size:clamp(26px,2.7vw,37px);line-height:1.17;letter-spacing:-1.3px;margin:7px 0 8px}.sub{color:var(--muted);margin:0}.headActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;color:var(--ink);border-radius:10px;padding:10px 15px;font-weight:750;text-decoration:none;white-space:nowrap;min-height:40px}.button:hover{border-color:#9ccbc0}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.primary:hover{background:#0f6e65}.button.small{padding:7px 11px;min-height:32px;font-size:12px}.button.ghost{background:transparent}.button.danger{color:#b84b55}.button.light{background:#ffffffea;color:#164a49;border-color:#ffffff3d}.button:focus-visible,.input:focus-visible,button:focus-visible{outline:3px solid #92dcd0;outline-offset:2px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.kpi,.card,.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px}.kpi{padding:21px 21px 17px}.kpi .title{color:var(--muted);font-size:12px;font-weight:600}.kpi .value{font-size:29px;font-weight:830;letter-spacing:-1px;margin:5px 0 2px}.kpi .detail{font-size:11px;color:var(--muted)}.kpi .symbol{float:right;background:#eaf5f1;color:var(--accent);padding:5px 9px;border-radius:9px;font-size:16px}.twocol{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:17px;margin-top:19px}.twocol.half{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:23px;min-width:0}.card.tight{padding:0}.cardTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.cardTitle h2,.sectionTitle h2{font-size:16px;letter-spacing:-.3px;margin:0}.sectionTitle{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:27px 0 13px}.sectionTitle small{color:var(--muted)}.hero{background:linear-gradient(114deg,#123c44 0%,#147b71 100%);color:#fff;border:0;overflow:hidden;position:relative;min-height:230px}.hero:after{content:'';position:absolute;right:-65px;top:-90px;width:270px;height:270px;border:42px solid #ffffff0b;border-radius:50%;pointer-events:none}.hero h2{font-size:28px;letter-spacing:-.9px;line-height:1.15;margin:12px 0}.hero p{color:#c6e7e1}.hero .eyebrow{color:#87ead2}.hero .tag{border:1px solid #ffffff45;color:#e2fbf2;background:#ffffff18}.hero .button{margin-top:19px;position:relative;z-index:1}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:4px 10px;border-radius:30px;font-size:11px;font-weight:750;color:#596a70;background:#eff3f4}.tag.green{background:#e5f7ec;color:#217451}.tag.amber{background:#fff2de;color:#9b7029}.tag.blue{background:#edf0ff;color:#565da7}.tag.dark{background:#e8f3f4;color:#2c6c73}.stack{display:grid;gap:12px}.activity{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:13px 0;cursor:pointer}.activity:last-child{border:0}.activity b{font-size:13px}.muted{color:var(--muted)}.smalltext{font-size:12px}.miniMeta{font-size:11px;color:var(--muted);margin-top:3px}.activityRight{text-align:right}.activityRight b{font-weight:800}.callout{border-radius:12px;background:#eaf6f2;color:#245f58;padding:14px 17px;line-height:1.5}.callout.amber{background:#fff7e9;color:#85642a}.callout.neutral{background:#f0f4f5;color:#60727a}.callout strong{display:block;margin-bottom:3px}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}.input{padding:10px 12px;background:white;border:1px solid #dce5e8;border-radius:10px;color:var(--ink);min-height:41px;min-width:0}.filters .search{flex:1;min-width:190px}.tableWrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:850px}.table th{text-align:left;font-size:10px;letter-spacing:1.05px;text-transform:uppercase;color:#8b9aa1;padding:14px 16px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:15px 16px;border-bottom:1px solid #ebeff1;vertical-align:middle}.table tbody tr:hover{background:#f9fcfc;cursor:pointer}.table tbody tr:last-child td{border:0}.table td strong{font-weight:770}.table .click{text-align:right;color:var(--accent);font-weight:800}.empty{padding:38px 17px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}.listRows .item{padding:13px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px}.listRows .item:last-child{border:0}.stat{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.stat:last-child{border-bottom:0}.stat b{text-align:right}.chartBox{width:100%;min-height:237px}.chartBox svg{width:100%;height:auto;display:block}.svgAxis{fill:#91a0a6;font:11px system-ui}.chartLegend{display:flex;gap:15px;color:#687d84;font-size:11px;flex-wrap:wrap;margin-top:9px}.legendDot{display:inline-block;width:9px;height:9px;border-radius:100%;margin-right:5px;background:var(--accent)}.legendDot.purple{background:var(--indigo)}.tabs{display:flex;gap:7px;flex-wrap:wrap}.tabs button{background:#f0f4f5;color:#63767c;border:1px solid transparent;padding:7px 12px;border-radius:8px;font-weight:700}.tabs button.active{background:var(--accent2);color:var(--accent);border-color:#b7e6d6}.recordGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.record{background:#fff;border:1px solid var(--border);border-radius:15px;padding:19px;cursor:pointer}.record:hover{border-color:#9dcfc1}.record .distance{color:var(--accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.record .time{font-weight:850;letter-spacing:-1px;font-size:26px;margin:9px 0 4px}.record .race{font-weight:700;font-size:12px;margin-top:13px}.record .date{font-size:11px;color:var(--muted)}.infoLine{font-size:12px;color:var(--muted);margin-top:12px}.pillRow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0}.pillRow .bar{height:7px;flex:1;background:#eaf1f2;border-radius:20px;overflow:hidden}.pillRow .fill{height:100%;background:var(--accent);border-radius:20px}.pillRow span{font-size:12px;min-width:73px}.pillRow b{min-width:24px;text-align:right}.insight{padding:15px 17px;border:1px solid #d9e8e7;border-radius:12px;background:#fbfdfd;margin:10px 0}.insight h3{font-size:14px;margin:0 0 4px}.insight p{font-size:12px;margin:0;color:var(--muted)}.insight button{font-weight:750;font-size:12px;color:var(--accent);background:none;border:0;padding:5px 0 0}.notice{padding:11px 15px;border-radius:10px;background:#f1f5f7;color:#637a82;font-size:12px}.modalWrap{position:fixed;inset:0;background:#091e29bb;z-index:100;display:grid;place-items:center;padding:15px}.modal{background:#fff;border-radius:18px;width:min(100%,960px);max-height:94vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #06192275;overflow:hidden}.modalHeader{padding:23px 27px 0}.modalHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.modalHeading h2{font-size:25px;letter-spacing:-.7px;margin:5px 0 15px}.close{border:0;background:#f2f5f5;width:34px;height:34px;border-radius:8px;font-size:20px}.modalTabs{display:flex;gap:2px;overflow:auto;border-bottom:1px solid var(--border);margin:0 -27px;padding:0 27px}.modalTabs button{border:0;border-bottom:3px solid transparent;color:#7d8d93;background:transparent;padding:12px 14px;font-weight:750;white-space:nowrap}.modalTabs button.active{border-color:var(--accent);color:var(--accent)}.modalBody{padding:23px 27px 30px;overflow:auto;min-height:260px}.modalFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 27px;border-top:1px solid var(--border);background:#fff}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-weight:750;font-size:12px}.field .input{width:100%}.field small{color:var(--muted);font-size:11px}.field textarea{min-height:105px;resize:vertical}.field.full,.full{grid-column:1/-1}.formSection{font-size:14px;font-weight:830;letter-spacing:-.2px;margin:22px 0 12px;padding:0 0 8px;border-bottom:1px solid var(--border)}.formSection:first-child{margin-top:0}.formTip{padding:12px 15px;background:#f0f8f5;color:#2c685f;border-radius:10px;font-size:12px;margin-bottom:18px}.scaleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.scaleItem{border:1px solid var(--border);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:5px;min-width:0}.scaleItem .topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.scaleItem label{font-size:12px;font-weight:800}.scaleItem select{width:76px;min-height:35px;padding:5px 8px;border-radius:8px;border:1px solid #dce6e8;background:white;color:var(--ink);font-weight:770}.scaleItem small{font-size:11px;color:var(--muted)}.summaryStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:19px}.summaryStrip .mini{background:#f2f7f6;border:1px solid #e0efea;border-radius:10px;padding:12px}.summaryStrip .mini span{color:#78918e;font-size:11px}.summaryStrip .mini strong{display:block;font-size:18px;margin:3px 0}.inlineRadio{display:flex;gap:8px;flex-wrap:wrap}.inlineRadio button{border:1px solid #dce5e8;background:white;border-radius:9px;padding:9px 14px;color:#516970;font-weight:750}.inlineRadio button.selected{background:#e2f4ee;border-color:#90d4bf;color:var(--accent)}.formHint{color:var(--muted);font-size:12px;margin:0 0 10px}.warning{color:#a24b43}.success{color:var(--accent)}.switch{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.check{display:flex;align-items:center;gap:9px;font-size:12px}.check input{accent-color:var(--accent)}.toast{position:fixed;right:22px;bottom:20px;background:#153b44;color:white;padding:12px 20px;border-radius:10px;box-shadow:0 16px 45px #0003;z-index:200;max-width:360px;opacity:0;transform:translateY(12px);transition:.15s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.tiny{font-size:11px}.lead{font-size:15px;line-height:1.6;color:#657b82}.analysisControls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.analysisControls select{flex:1;min-width:170px}.statNote{font-size:11px;color:#8b9b9f;margin-top:10px}.completion{height:5px;background:#e9efef;overflow:hidden;border-radius:8px;margin-top:8px}.completion>span{display:block;height:100%;background:#64bda7}.separator{height:1px;background:var(--border);margin:14px 0}.breadcrumb{color:var(--muted);font-size:12px;margin-bottom:9px}.headRibbon{display:inline-flex;align-items:center;gap:9px;padding:6px 11px;border-radius:8px;color:#286e61;background:#e5f5ed;font-size:11px;font-weight:750}.kbd{background:#f1f3f5;padding:2px 5px;border-radius:4px;font-size:10px}.hide{display:none!important}@media(max-width:1200px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.recordGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.app{display:block}.sidebar{position:relative;height:auto;padding:14px;gap:12px}.identity{padding:0}.identity small{display:none}.navigation{display:flex;overflow:auto;gap:5px}.navigation button{white-space:nowrap}.navtitle,.sideBottom{display:none}.main{padding-top:23px}.twocol,.twocol.half{grid-template-columns:1fr}}@media(max-width:570px){.head{flex-direction:column}.main{padding:20px 14px 55px}.grid4{gap:9px}.kpi{padding:15px}.kpi .value{font-size:25px}.card{padding:17px}.recordGrid{grid-template-columns:1fr}.fields,.scaleGrid{grid-template-columns:1fr}.modalBody{padding:15px}.modalHeader{padding:17px 17px 0}.modalTabs{margin:0 -17px;padding:0 17px}.modalFooter{padding:12px 15px}.summaryStrip{grid-template-columns:1fr}.hero h2{font-size:23px}}

/* V3 · Records par distances clés et par compétition */
.table th,.table td{white-space:nowrap}
.table th:first-child,.table td:first-child{white-space:normal}
.table{min-width:1050px}
.rankCol{font-variant-numeric:tabular-nums;font-weight:680;color:#344e58}
.rankCol.categoryRank{color:#177f70}
.table tbody tr td.categoryRank{background:#f8fcfa}
.recordIntro{background:linear-gradient(120deg,#123841,#185e61);border-radius:17px;color:#fff;padding:27px 31px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}
.recordIntro h2{font-size:22px;letter-spacing:-.6px;margin:8px 0 6px}
.recordIntro p{color:#c8e4e1;max-width:690px;margin:0;line-height:1.7;font-size:12px}
.recordIntro .eyebrow{color:#8fe6ce}
.recordTotals{border:1px solid #ffffff38;border-radius:12px;padding:10px 19px;min-width:151px;text-align:center;background:#ffffff10}
.recordTotals strong{font-size:31px;font-weight:850;letter-spacing:-1.1px;white-space:nowrap}
.recordTotals strong span{font-size:16px;color:#9ccec6}
.recordTotals small{font-size:10px;display:block;color:#c2e5de;white-space:nowrap}
.standardRecordGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.standardRecord{min-height:228px;background:#fff;border:1px solid #e1e9e9;border-radius:16px;padding:21px;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.standardRecord.recordReady{cursor:pointer}
.standardRecord.recordReady:hover,.standardRecord.recordReady:focus-visible{border-color:#66b4a4;box-shadow:0 12px 32px #185d5130;outline:none}
.standardRecord.recordMissing{background:#fafcfc;border-style:dashed}
.standardTop{display:flex;justify-content:space-between;gap:9px;align-items:start}
.standardTop .eyebrow{letter-spacing:1.2px;font-size:9px;color:#7b9a94}
.standardTop h3{font-size:20px;letter-spacing:-.5px;margin:4px 0 0}
.standardIcon{width:35px;height:35px;border-radius:10px;background:#e9f5f0;display:grid;place-items:center;color:#197e70;font-size:18px}
.recordMissing .standardIcon{color:#9caeb2;background:#f0f4f4}
.standardTime{font-weight:860;font-size:33px;letter-spacing:-1.5px;line-height:1.2;margin:19px 0 1px;white-space:nowrap}
.recordMissing .standardTime{color:#a5b4b8}
.standardMeta{color:#6a8287;font-size:11px;min-height:19px}
.standardRace{font-size:12px;font-weight:770;margin-top:auto;padding-top:15px}
.standardDate{font-size:11px;color:#82969a;margin-top:3px}
.recordHelp{font-size:11px;color:#738890;line-height:1.7;margin-top:11px;max-width:1080px}
.recordsPanel{padding:19px 0 0;overflow:hidden}
.recordsIntro{padding:0 22px 12px}
.recordsIntro strong{font-size:13px}
.recordsIntro p{font-size:12px;margin:3px 0 0;color:#7b8d93}
.competitionRecords{min-width:1060px}
.competitionRecords th,.competitionRecords td{padding:13px 14px}
.competitionRecords tbody tr:hover{background:#f8fcfb;cursor:default}
.competitionRecords .recordValue{font-weight:850;color:#163d42;font-size:16px;letter-spacing:-.3px}
.textLink{border:0;background:none;padding:0;text-align:left;font-size:13px;font-weight:790;color:var(--ink)}
.textLink:hover{text-decoration:underline;color:var(--accent)}
.countTag{border-radius:8px;background:#eff5f4;padding:4px 9px;font-weight:750;font-size:11px}
.gain{color:#11806c;font-weight:850;white-space:nowrap}
@media(max-width:1200px){.standardRecordGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.recordIntro{padding:20px;align-items:start;flex-direction:column}.recordTotals{width:100%;display:flex;align-items:center;gap:15px;text-align:left}.recordTotals small{white-space:normal}.standardRecordGrid{gap:9px}.standardRecord{min-height:195px;padding:14px}.standardTime{font-size:27px}.standardTop h3{font-size:17px}.standardIcon{width:28px;height:28px}.recordsIntro{padding:0 14px 12px}}

/* V3 · Mobile race cards keep both rankings visible without horizontal scrolling */
.mobileRaceList{display:none}
@media(max-width:760px){
.raceDesktop{display:none}
.mobileRaceList{display:grid;gap:12px}
.mobileRaceCard{display:block;text-align:left;width:100%;border:1px solid #e0e9e9;background:#fff;border-radius:13px;padding:15px;color:var(--ink);box-shadow:0 6px 24px #1a3d4510}
.mobileRaceCard:hover,.mobileRaceCard:focus-visible{border-color:#86cbbb;outline:none}
.mobileRaceTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mobileRaceTop strong{font-size:14px;line-height:1.3}
.mobileRaceTop>span{font-size:10px;color:#7d9299;white-space:nowrap}
.mobileRaceMeta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px;color:#6c858a;font-size:11px}
.mobileRaceStats,.mobileRaceRanks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.mobileRaceStats>div,.mobileRaceRanks>div{min-width:0;border-radius:9px;background:#f4f7f8;padding:9px 10px}
.mobileRaceRanks>div:last-child{background:#eaf6f2}
.mobileRaceStats small,.mobileRaceRanks small{display:block;color:#758b91;font-size:10px}
.mobileRaceStats strong,.mobileRaceRanks strong{display:block;font-size:13px;font-variant-numeric:tabular-nums;margin-top:2px;overflow-wrap:anywhere}
.mobileRaceRanks>div:last-child strong{color:#147e72}
.mobileRaceFoot{border-top:1px solid #e8eeee;margin-top:12px;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#809197;font-size:11px}
.mobileRaceFoot span:last-child{color:var(--accent);font-weight:770}
.card:has(>.filters){padding:14px}
}

/* V4 · dossiers de compétition — desktop et mobile */
.dossierHero{border-radius:20px;background:linear-gradient(115deg,#113b44,#137768);color:#fff;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.dossierHero .eyebrow{color:#91e4cf}.dossierHero h2{font-size:30px;letter-spacing:-1px;margin:7px 0}.dossierHero p{color:#d5e9e7;font-size:13px;max-width:790px;line-height:1.6}.dossierHeroMeta{border:1px solid #ffffff43;border-radius:13px;padding:12px 19px;text-align:center;min-width:110px}.dossierHeroMeta strong{display:block;font-size:36px}.dossierHeroMeta small{font-size:10px;color:#c3e4dd}.dossierSelector{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:23px}.dossierSelector label{font-weight:750;font-size:12px;color:#4d6970}.dossierSelector select{flex:1;max-width:460px;min-width:220px}.dossierHighlights,.editionStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dossierMetric{background:#fff;border:1px solid #e1eaea;border-radius:13px;padding:17px 19px;min-width:0}.dossierMetric>span{color:#6e858a;font-size:11px;display:block;margin-bottom:8px}.dossierMetric strong{color:#173d47;font-size:23px;font-weight:840;letter-spacing:-.7px;display:block;overflow-wrap:anywhere}.dossierMetric small{color:#799092;font-size:11px;display:block;margin-top:5px;line-height:1.55}.graphGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:16px}.graphGrid>.card:first-child{grid-column:span 2}.graphGrid .card{min-width:0}.graphTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.graphTitle b{font-size:14px}.graphTitle span{font-size:10px;color:#809496}.comparisonFoot{font-size:11px;color:#738d94;line-height:1.7;margin:12px 2px 25px}.dossierTable{overflow-x:auto}.dossierTable table{width:100%;min-width:850px;border-collapse:collapse;font-size:12px}.dossierTable th{background:#f4f8f7;color:#789092;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.dossierTable td,.dossierTable th{padding:14px 12px;border-bottom:1px solid #e7eded}.dossierTable td small{display:block;color:#8aa0a2;font-size:10px;margin-top:3px}.dossierTable .chrono{font-weight:850;font-size:15px}.notRecorded{color:#9aafb1;font-style:italic;font-size:11px;font-weight:400}.tinyDossierButton,.plainAction{border:0;background:transparent;color:#138271;font-weight:800;cursor:pointer;text-align:left}.tinyDossierButton:hover,.plainAction:hover{text-decoration:underline}.editionTimeline{display:flex;flex-direction:column;gap:20px}.editionCard{scroll-margin-top:15px;border:1px solid #e1eaea;border-radius:17px;background:white;padding:25px;box-shadow:var(--shadow)}.editionTop{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:22px}.editionTop h3{font-size:23px;letter-spacing:-.6px;margin:7px 0 12px}.editionTop .eyebrow{color:#139482}.editionStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.editionStats .dossierMetric{background:#f6faf9;padding:14px}.editionStats .dossierMetric strong{font-size:20px}.editionSection{margin-top:25px;padding-top:19px;border-top:1px solid #e8eeee}.editionSectionHead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.editionSectionHead h4{font-size:15px;margin:0}.editionSectionHead button{font-size:11px}.contextGrid,.journalGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.journalGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.contextItem{padding:12px 14px;border-radius:10px;border:1px solid #e9eeed;background:#fcfefe;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.contextItem>span{display:block;color:#778e93;text-transform:uppercase;font-size:10px;font-weight:760;letter-spacing:.35px;margin-bottom:7px}.contextItem>div{font-size:12px;line-height:1.7;color:#254850}.contextItem .notRecorded{color:#a2adb1}.feelingOverview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.feelingOverview .dossierMetric{padding:13px;background:#eff7f4}.feelingOverview .dossierMetric strong{font-size:19px}.feelingsColumns{display:grid;grid-template-columns:1fr 1fr;gap:27px;margin-top:13px}.feelingsColumns h5{color:#35545c;font-size:12px;margin:14px 0 11px}.scoreLine{display:flex;gap:10px;align-items:center;margin:9px 0;font-size:10px}.scoreLine>span{width:46%;line-height:1.25;color:#4a656d}.scoreTrack{flex:1;height:7px;background:#edf1f1;border-radius:12px;overflow:hidden}.scoreTrack i{display:block;height:100%;background:#1c947e;border-radius:15px}.scoreTrack i.scoreCaution{background:#c6a269}.scoreLine b{width:34px;text-align:right;color:#294953}.editionInsight{border:1px solid #e5eced;background:#f7f9f9;padding:12px 15px;border-radius:11px;margin-top:17px}.editionInsight.positive{border-color:#bde7ce;background:#eff9f3}.editionInsight b{font-size:12px}.editionInsight p{font-size:11px;color:#647f85;line-height:1.6;margin:5px 0 0}.excelSource{font-size:10px;color:#97a9ac;border-top:1px dashed #e6eeee;padding-top:14px;margin-top:20px}.duplicateFlag{border-radius:9px;background:#fff7e8;border:1px solid #f3d49b;padding:11px 13px;color:#915d17;font-size:12px;margin-bottom:15px}.dossierList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dossierListCard{width:100%;display:flex;justify-content:space-between;align-items:center;gap:15px;background:white;border:1px solid #e1e9e9;border-radius:13px;padding:18px;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.dossierListCard:hover{border-color:#7db9ab}.dossierCardTitle{font-weight:830;font-size:14px}.dossierYears{font-size:11px;color:#198574;margin-top:12px}.dossierCardRight{text-align:right;white-space:nowrap}.dossierCardRight small{display:block;font-size:10px;color:#899a9e}.dossierCardRight b{font-size:17px;display:block;margin:4px 0}.dossierCardRight span{color:#198574;font-size:11px;font-weight:760}.triInline{margin-top:14px;background:#f1f7fa;border-radius:12px;padding:13px}.triInline h4{font-size:12px;margin:2px 0 10px}.triSplitGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.triSplitGrid>div{background:white;border-radius:9px;padding:10px}.triSplitGrid small{display:block;font-size:10px;color:#81969a}.triSplitGrid strong{font-size:15px}
@media(max-width:1080px){.dossierHighlights,.contextGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.graphGrid{grid-template-columns:1fr}.graphGrid>.card:first-child{grid-column:auto}.editionStats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dossierHero{padding:20px;align-items:start}.dossierHero h2{font-size:25px}.dossierHeroMeta{padding:9px;min-width:77px}.dossierHeroMeta strong{font-size:25px}.dossierSelector label{width:100%}.dossierSelector select{min-width:0;width:100%;max-width:none}.dossierHighlights,.editionStats,.feelingOverview{grid-template-columns:repeat(2,minmax(0,1fr))}.dossierMetric{padding:12px}.dossierMetric strong{font-size:19px}.editionCard{padding:14px}.editionTop{flex-direction:column}.editionTop h3{font-size:20px}.editionSectionHead{align-items:start}.contextGrid,.journalGrid,.feelingsColumns{grid-template-columns:1fr}.feelingsColumns{gap:5px}.dossierList{grid-template-columns:1fr}.triSplitGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:430px){.dossierHighlights,.editionStats{gap:7px}.editionStats .dossierMetric strong{font-size:17px}.dossierMetric span{font-size:10px}.dossierHero{flex-direction:column}.editionSectionHead{flex-direction:column;gap:7px}.graphGrid .card{padding:12px}}

.crossReadout{padding:18px 22px;border:1px solid #cfe4db;border-radius:13px;background:#f2faf6;margin:-8px 0 23px}.crossReadout b{font-size:13px;color:#22584f}.crossReadout p{font-size:12px;line-height:1.85;color:#536b6b;margin:8px 0 0}.crossReadout p strong{color:#137e6b}

/* Unified Racefolio Performance Cloud — cohesive desktop/mobile design */
:root { --accent:#138777; --nav:#0b2630; --bg:#f3f7f7; --ink:#18343a; --muted:#67808a }
.identity small {letter-spacing:1.25px}
.sidebar {overflow-y:auto}
.navigation {padding-bottom:28px}
.navigation button {transition:background .16s ease,transform .16s ease}
.navigation button.active {background:#1c5f5c;color:white;border-radius:10px}
.syncBanner{display:flex;align-items:center;gap:9px;margin-bottom:19px;padding:12px 16px;border:1px solid #cceae0;border-radius:12px;background:#e9f8f2;font-size:12px;color:#225a4e;flex-wrap:wrap}
.syncBanner.warn{background:#fff8ed;border-color:#f0ddb2;color:#77501b}.syncBanner.error{background:#fff3f1;border-color:#f2c4bd;color:#98382e}
.syncDot{background:#18a883;width:8px;height:8px;border-radius:100%;flex:0 0 auto;box-shadow:0 0 0 4px #18a88318}.syncBanner.warn .syncDot{background:#d9972d}.syncBanner.error .syncDot{background:#d95d48}
.syncBanner>span:nth-child(2){flex:1;min-width:140px}.smallCloud{font-size:11px!important;padding:6px 11px!important;min-height:28px!important}
.cloudCard{padding:23px 26px;margin-bottom:20px;overflow:visible}
.cloudCard h2{font-size:17px;margin:0 0 8px;color:#1a3840}.cloudCard h3{font-size:13px;color:#244650}
.cloudHero{background:linear-gradient(112deg,#123a46 1%,#126c62 80%,#24997b);border-radius:21px;min-height:165px;padding:30px 35px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px;position:relative;overflow:hidden}
.cloudHero::after{content:'';position:absolute;right:-110px;bottom:-185px;width:300px;height:300px;border:1px solid #ffffff45;border-radius:50%}
.cloudEyebrow{font-size:10px;letter-spacing:1.8px;color:#a4ead5;font-weight:750}
.cloudHero h2{color:white;font-size:26px;letter-spacing:-.8px;line-height:1.16;margin:10px 0 11px;max-width:600px}
.cloudHero p{max-width:630px;font-size:12.5px;line-height:1.8;margin:0;color:#d2eae5}
.heroSymbol{font-size:85px;font-weight:100;opacity:.18;line-height:1}
.cloudMuted{color:#758d91;font-size:12px;line-height:1.7;margin:3px 0 12px}
.cloudStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 19px}
.cloudStats>div{border:1px solid #e2eded;background:#fff;padding:17px 21px;border-radius:13px;display:flex;flex-direction:column;gap:6px;min-width:0}
.cloudStats>div>span{font-size:11px;color:#798e92;font-weight:700}.cloudStats strong{font-size:22px;color:#1b4247;letter-spacing:-.6px;overflow-wrap:anywhere}.cloudStats small{font-size:10px;color:#859a9e}
.cloudHead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.cloudHead h2{margin:0 0 4px}.cloudHead .cloudField{width:min(210px,100%)}
.cloudDual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.subCard{border-radius:14px;border:1px solid #dfebea;background:#fbfdfc;padding:20px 18px}
.subTop{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f0;padding-bottom:14px;margin-bottom:15px}
.subTop h3{font-size:15px;margin:0;color:#204a4c}.subTop p{color:#83999a;font-size:11px;margin:4px 0 0}.miniSun{display:grid;place-items:center;background:#e5f4ec;color:#138b75;border-radius:11px;width:38px;height:38px;font-size:24px}
.doneMini{font-size:10px;background:#e4f6ed;color:#24826b;border:1px solid #b8e8d1;border-radius:20px;padding:5px 8px;margin-left:auto}
.cloudFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:15px}
.cloudInnerForm{display:block}.cloudField{display:flex;flex-direction:column;gap:6px;min-width:0}
.cloudField span{font-size:11px;font-weight:700;color:#557079}.cloudField>.input{width:100%;max-width:100%;border:1px solid #dbe8e6;border-radius:9px;min-height:38px;font-size:12px;background:white;color:#23414a;padding:9px 10px}
.cloudField textarea.input{resize:vertical;min-height:64px}.cloudField>.input:focus{outline:2px solid #4ab29b77;border-color:#3fa38d}
.formBottom{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:17px;flex-wrap:wrap}.formBottom .cloudMuted{margin:0}
.cloudBars{height:120px;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid #d9e7e5;padding:12px 6px 0;overflow-x:auto}
.cloudBarCol{flex:1;min-width:22px;max-width:55px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.cloudBarCol div{width:100%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#6ac8ab,#138d7b);min-height:5px}.cloudBarCol small{font-size:9px;color:#8ca0a1;white-space:nowrap}
.sparkGroup{padding:3px 7px}
.cloudActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cloudActions select{min-height:35px;padding:5px 10px;font-size:12px}
.activityCloudList{max-height:560px;overflow-y:auto}.sessionRow{display:flex;align-items:center;width:100%;text-align:left;gap:13px;background:transparent;border:0;border-top:1px solid #e9efef;padding:13px 5px;cursor:pointer;color:inherit}.sessionRow:hover{background:#f6faf8}
.sessionIcon{width:35px;height:35px;border-radius:10px;background:#e2f4ed;color:#0e7d6a;display:grid;place-items:center;flex:none;font-size:17px}
.sessionMain{flex:1;min-width:0}.sessionMain strong{display:block;font-size:12px;color:#243e45}.sessionMain span{font-size:11px;color:#84999b;display:block;margin-top:5px;overflow-wrap:anywhere}
.sessionRpe{font-size:11px;font-weight:750;color:#197e71;display:flex;align-items:center;gap:7px;white-space:nowrap}.sessionRpe>span{font-size:21px;color:#8eaaa4}
.cloudTableWrap{overflow-x:auto}.cloudTable{border-collapse:collapse;width:100%;font-size:12px}.cloudTable th{text-align:left;color:#7d9698;font-size:10px;text-transform:uppercase;padding:11px;background:#f5faf8}.cloudTable td{padding:12px 11px;border-bottom:1px solid #eef3f2}.cloudTable small{color:#91a2a4}.cloudTable .button{font-size:10px;padding:6px 9px}
.predictionResult{margin-top:22px;background:#f6fbf8;border:1px solid #d4e9de;border-radius:15px;padding:22px}
.predMain{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-bottom:21px}.predMain>div{display:flex;flex-direction:column;gap:7px}.predMain small{font-size:10px;color:#698d87;font-weight:800;letter-spacing:.6px}.predMain strong{font-size:36px;color:#145b50;letter-spacing:-1.2px}.predMain>div:last-child strong{font-size:26px;color:#425f63}.predMain span{font-size:11px;color:#6d8586}
.componentLine{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e2eae7;font-size:11.5px}.componentLine>span{color:#688383}.componentLine>strong{text-align:right}
.cloudCautions{padding:11px 0}.cloudCautions p{font-size:11px;color:#777f70;line-height:1.55;margin:4px 0}
.cloudAlert{margin:13px 0;border-radius:10px;background:#fffaec;color:#7b5a29;border:1px solid #f3dfba;padding:12px 13px;font-size:12px;line-height:1.65}
.cloudEmpty{padding:25px;text-align:center;border:1px dashed #d0e4da;border-radius:12px;color:#839796;font-size:12px;line-height:1.8}
.predictionHistory{display:grid;gap:7px}.predictionRow{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:9px;align-items:center;background:#f7faf9;padding:12px 16px;border-radius:10px;font-size:11px;color:#71858b}.predictionRow strong{color:#24464c;font-size:13px}
.importFlow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:23px 0}.importFlow>div{display:flex;flex-direction:column;gap:8px;border:1px solid #dfebe7;padding:15px;border-radius:12px}.importFlow strong{font-size:12px;color:#25464a}.importFlow small{font-size:10px;color:#879a99}.stepNumber{width:25px;height:25px;display:grid;place-items:center;border-radius:100%;background:#daefe6;color:#168071;font-weight:850;font-size:11px}
.cloudFile{border:1px dashed #a9cebf;background:#f2faf5;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:13px;padding:15px 16px;margin-bottom:13px;font-size:12px;font-weight:700;color:#296d5f;flex-wrap:wrap}.cloudFile input{max-width:100%;font-size:11px}
@media(max-width:1150px){.cloudDual{grid-template-columns:1fr}}
@media(max-width:760px){.cloudHero{padding:22px 23px;min-height:140px}.cloudHero h2{font-size:22px}.heroSymbol{display:none}.cloudStats{gap:8px}.cloudStats>div{padding:12px 11px}.cloudStats strong{font-size:18px}.cloudCard{padding:17px 14px}.cloudHead{align-items:stretch;flex-direction:column}.importFlow{grid-template-columns:1fr}.predMain{grid-template-columns:1fr 1fr}.predMain strong{font-size:26px}.predMain>div:last-child strong{font-size:21px}.predictionRow{grid-template-columns:1fr 1fr}.subCard{padding:14px 11px}}
@media(max-width:400px){.cloudFormGrid{grid-template-columns:1fr}.cloudStats>div>span{font-size:10px}.cloudStats strong{font-size:16px}.predMain{grid-template-columns:1fr}}
.cloudWelcome{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:22px 26px;background:linear-gradient(111deg,#10363f,#146f64);color:white;border-radius:16px;margin-bottom:20px;flex-wrap:wrap}
.cloudWelcome h2{color:white;font-size:21px;margin:6px 0 5px}.cloudWelcome p{font-size:11px;color:#cce5db;line-height:1.6;max-width:400px}
.welcomeCards{display:flex;gap:10px;flex:1;max-width:550px}.welcomeCards button{border:1px solid #ffffff2b;background:#ffffff15;color:white;border-radius:11px;padding:14px 12px;display:flex;flex:1;flex-direction:column;gap:7px;text-align:left;cursor:pointer;min-width:0}
.welcomeCards button:hover{background:#ffffff23}.welcomeCards small{font-size:9px;color:#9bdbc9;letter-spacing:.7px}.welcomeCards strong{font-size:17px;overflow-wrap:anywhere}.welcomeCards span{font-size:10px;color:#deefeb;line-height:1.4}
@media(max-width:700px){.cloudWelcome{padding:19px}.welcomeCards{flex-basis:100%;max-width:none}.welcomeCards button{padding:12px 9px}.welcomeCards strong{font-size:13px}}
[hidden]{display:none!important}
@media(max-width:950px){.navigation{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#38776e #10313a;overflow-x:auto;overflow-y:hidden}.navigation button{flex:none;scroll-snap-align:start}.sidebar::after{content:'← Faire défiler les onglets →';font-size:10px;color:#a8c5c5;text-align:right;margin:2px 7px 0}}
