.progression-main{height:100svh;display:flex;overflow:auto;padding:28px;gap:24px;scrollbar-width:thin;scrollbar-color:#285475 transparent}.progression-main header{min-height:65px;flex-shrink:0}.progression-main header p{font-size:15px;margin-top:10px}.progression-body{display:flex;flex-direction:column;gap:20px;flex:1;min-height:0}.tools #today{color:#a8c1d4;font-size:12px;padding:12px 16px;border:1px solid var(--line);border-radius:10px}.demo-label{color:#66869c;font-size:8px;letter-spacing:1px}.filters{display:flex;justify-content:space-between;gap:20px}.sport-tabs,.period-tabs{display:flex;border:1px solid var(--line);border-radius:10px;background:#07121a;padding:3px;gap:2px;flex-wrap:wrap}.filters button{font-size:11px;background:none;border-color:transparent;padding:10px 14px;white-space:nowrap}.filters .selected{background:linear-gradient(120deg,#0876c7,#125084);border-color:#4cbaff;box-shadow:inset 0 0 10px #49c7ff44,0 0 14px #008fff22}.metrics{min-height:95px;flex-shrink:0}.metric{align-items:center}.metric svg:not(.icon){display:none}.metric h3{font-size:23px}.metric p{font-size:11px}.metric>span .icon{width:33px;height:33px}.metric em{top:16px}.analysis-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:20px;flex:1.4;min-height:270px}.progression-main h2{font-size:18px;margin:0}.evolution{display:flex;flex-direction:column;padding:22px}.evolution .section-title p{font-size:10px;color:#6c8da6;margin-top:7px}.evolution select{background:#0a1823;border:1px solid #23465d;border-radius:9px;color:var(--text);padding:10px 12px;font-size:12px}.plot{display:flex;gap:16px;flex:1;min-height:140px;margin:24px 0 10px}.plot-axis{width:25px;display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:#92aec4;text-align:right;flex-shrink:0}.plot-content{position:relative;flex:1;min-width:0;background:repeating-linear-gradient(0deg,transparent 0,transparent calc(25% - 1px),#1b354877 25%),repeating-linear-gradient(90deg,transparent 0,transparent calc(16.667% - 1px),#1b354877 16.667%)}#plot{width:100%;height:100%;overflow:visible;position:absolute;inset:0}#data-points circle{fill:#58c8ff;stroke:#101e2a;stroke-width:1;cursor:pointer;transition:r .15s}#data-points circle:hover,#data-points circle:focus{fill:#d2f2ff;stroke:#57c4ff;stroke-width:3;outline:none;r:8}#point-info{position:absolute;left:50%;top:0;transform:translate(-50%,-30%);pointer-events:none;background:#122c40;border:1px solid #3c83b1;border-radius:8px;padding:9px 12px;font-size:11px;white-space:nowrap;display:none;box-shadow:0 6px 20px #0008}.plot-labels{display:flex;justify-content:space-between;margin-left:41px;color:#8ba8bf;font-size:10px}.chart-help{font-size:8px;color:#547289;margin-top:12px}.goals{padding:22px;display:flex;flex-direction:column}.goals>div{display:grid;gap:12px;flex:1;margin-top:18px}.goal{border:1px solid #1b3548;background:#0a1822;border-radius:11px;padding:14px;display:flex;align-items:center;gap:14px}.goal .icon{color:#57bfff;width:27px;height:27px}.goal>div{flex:1}.goal h3{font-size:12px;color:#bfd2e0;font-weight:400;margin:0 0 7px}.goal strong{font-size:16px;font-weight:500}.goal-meter{display:flex;gap:12px;align-items:center;margin-top:10px}.goal-meter progress{appearance:none;width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:#1b3344}.goal-meter progress::-webkit-progress-bar{background:#1b3344}.goal-meter progress::-webkit-progress-value{background:#4dbfff;border-radius:10px}.goal-meter progress::-moz-progress-bar{background:#4dbfff;border-radius:10px}.goal-meter span{font-size:10px;color:#adc6d7}.goal-note{font-size:9px;color:#62839a;margin:12px 0 0}.progression-bottom{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;flex:1;min-height:210px}.distribution,.records{padding:22px;display:flex;flex-direction:column}.distribution-content{display:flex;gap:30px;align-items:center;justify-content:space-around;flex:1;min-height:0;padding-top:18px}.donut{height:100%;max-height:190px;max-width:44%;aspect-ratio:1;border-radius:50%;background:conic-gradient(#26c5f5 0 45%,#178ce9 45% 70%,#46b5f3 70% 85%,#3267c9 85% 95%,#48629e 95%);position:relative;display:grid;place-items:center;flex-shrink:0}.donut:before{content:'';position:absolute;inset:18px;background:#07121a;border-radius:50%}.donut strong{position:relative;font-size:25px;text-align:center}.donut small{display:block;font-size:9px;color:#9bb6ca;margin-top:7px}.distribution ul{list-style:none;margin:0;padding:0;flex:1}.distribution li{display:flex;gap:9px;align-items:center;font-size:11px;color:#afc8db;padding:8px 0}.distribution li b{margin-left:auto}.distribution li i{width:9px;height:9px;border-radius:50%;flex-shrink:0}.records .section-title button{font-size:11px}#records-list{margin-top:15px;flex:1;display:flex;flex-direction:column}.record{display:flex;align-items:center;gap:15px;border-bottom:1px solid #1b3243;padding:12px 5px;font-size:12px;flex:1}.record .icon{width:21px;height:21px;color:#bcd9ed}.record>span{flex:1}.record strong{min-width:75px;font-size:14px}.record small{font-size:10px;color:#7d9bb1;min-width:80px;text-align:right}.record-note{font-size:8px;color:#54748a;margin:10px 0 0}#records-modal{width:min(650px,95vw);max-width:none}#records-modal form{margin-top:22px}@media(min-width:1100px) and (max-height:850px){.progression-main{padding:18px;gap:16px}.progression-main header{min-height:50px}.progression-body{gap:14px}.metrics{min-height:80px}.metric h3{font-size:19px}.metric p{font-size:10px}.filters button{padding:8px 10px;font-size:10px}.analysis-grid{min-height:240px;gap:14px}.progression-bottom{min-height:190px;gap:14px}.evolution,.goals,.distribution,.records{padding:16px}.progression-main h2{font-size:15px}.goals>div{gap:8px;margin-top:12px}.goal{padding:10px;gap:10px}.goal h3{font-size:11px}.goal strong{font-size:14px}.goal-meter{margin-top:7px}.record{padding:8px 3px;font-size:11px}.donut:before{inset:13px}.donut strong{font-size:22px}.distribution-content{padding-top:12px;gap:20px}.distribution li{font-size:10px;padding:6px 0}.plot{margin-top:17px}.chart-help{margin-bottom:0}.metric em{display:block;font-size:9px;top:9px}}
@media(max-width:1099px){.progression-main{height:auto;overflow:visible;display:block}.progression-main header{flex-wrap:wrap;margin-bottom:20px}.progression-body{gap:18px}.filters{flex-direction:column;gap:10px}.period-tabs{align-self:flex-start}.metrics{grid-template-columns:1fr 1fr;height:190px}.analysis-grid{grid-template-columns:1fr;min-height:0}.evolution{height:340px}.goals>div{grid-template-columns:1fr}.progression-bottom{grid-template-columns:1fr}.distribution{min-height:250px}.distribution-content{height:190px;flex:auto}.donut{height:175px}.records{min-height:260px}.tools{flex-wrap:wrap}.metric em{display:block}.goal{min-height:95px}}
@media(max-width:700px){.progression-main{padding:12px 14px 25px}.progression-main header p{font-size:13px}.tools #today{font-size:10px}.demo-label{font-size:7px}.filters button{font-size:10px;padding:9px}.metric h3{font-size:19px}.metric>span .icon{width:25px;height:25px}.metric{gap:8px}.metric p{font-size:9px}.metric em{font-size:8px}.evolution{padding:16px;height:310px}.progression-main h2{font-size:16px}.evolution select{font-size:10px;max-width:115px;padding:8px}.evolution .section-title{align-items:flex-start}.plot-labels{font-size:8px}.chart-help{font-size:8px}.goals{padding:18px}.distribution,.records{padding:18px}.distribution-content{gap:20px}.donut strong{font-size:21px}.distribution li{font-size:10px}.record{gap:9px;font-size:11px}.record strong{min-width:55px;font-size:12px}.record small{font-size:8px;min-width:55px}.record .icon{width:18px}.metrics{gap:10px}.record-note{line-height:1.5}}

/* Isolation des icônes : les règles des mini-graphiques ne doivent pas les positionner. */
.progression-main .metric{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;column-gap:14px;position:relative;padding:18px;overflow:visible;min-height:90px}
.progression-main .metric>span{display:flex;align-items:center;justify-content:center;line-height:1;grid-column:1;grid-row:1}
.progression-main .metric>div{grid-column:2;grid-row:1;min-width:0}
.progression-main .metric .icon{position:static!important;inset:auto!important;display:block!important;width:32px!important;height:32px!important;margin:0;transform:none;flex:none;pointer-events:none}
.progression-main .metric>svg:not(.icon){display:none!important}
.progression-main .metric em{position:static;grid-column:3;grid-row:1;align-self:start;margin:5px 0 0;font-size:10px;white-space:nowrap}
.progression-main .metric h3{line-height:1.25;margin:0;white-space:nowrap;font-size:22px}
.progression-main .metric h3 small{font-size:11px}.progression-main .metric p{line-height:1.4;margin:6px 0 0;font-size:11px}
.progression-main .metric .red,.progression-main .metric .red .icon{color:#ff697a}
.goals{overflow:visible;min-height:0}.goals>div{min-height:0;grid-template-rows:repeat(3,minmax(0,1fr))}.goal{min-height:0}.goal-note{flex-shrink:0;line-height:1.4}
@media(min-width:1100px){
 .progression-body{display:grid;grid-template-rows:auto 96px minmax(320px,1.45fr) minmax(220px,1fr);gap:16px;min-height:720px;flex:1}
 .progression-main{min-height:0;overflow-y:auto;overflow-x:hidden}.metrics{min-height:0;height:100%}.analysis-grid,.progression-bottom{min-height:0}
 .goals{padding:18px}.goals>div{margin-top:14px;gap:10px}.goal{padding:11px 12px}.goal h3{font-size:11px;line-height:1.3}.goal strong{font-size:15px}.goal-meter{margin-top:8px}.goal-note{font-size:8px;margin-top:10px}
}
@media(min-width:1100px) and (max-width:1450px){.progression-main .metric{grid-template-columns:29px minmax(0,1fr) auto;gap:10px;padding:14px}.progression-main .metric .icon{width:27px!important;height:27px!important}.progression-main .metric h3{font-size:19px}.progression-main .metric em{font-size:8px}.progression-main .metric p{font-size:10px}.filters{gap:10px}.filters button{padding:9px;font-size:10px}}
@media(max-width:1099px){.progression-main .metric{min-height:90px}.goals>div{grid-template-rows:none}.goals .goal{min-height:100px}.goals{overflow:visible}.analysis-grid{min-height:0}}
@media(max-width:700px){.progression-main .metric{grid-template-columns:26px minmax(0,1fr);gap:9px;padding:13px 10px;min-height:90px}.progression-main .metric .icon{width:25px!important;height:25px!important}.progression-main .metric h3{font-size:18px}.progression-main .metric h3 small{font-size:9px}.progression-main .metric p{font-size:9px}.progression-main .metric em{position:absolute;top:5px;right:9px;font-size:8px;margin:0}.metrics{height:200px}.goals .goal{min-height:100px}}
