
:root{--bg:#060706;--bg2:#0b0d0b;--panel:rgba(19,22,19,.84);--panel-solid:#131613;--line:rgba(255,255,255,.09);--text:#f8faf5;--muted:#9ba39a;--lime:#c7ff35;--lime2:#7dff4a;--gold:#f6d477;--red:#ff6262;--orange:#ffb45b;--radius:24px;--shadow:0 24px 80px rgba(0,0,0,.34)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 82% 4%,rgba(199,255,53,.1),transparent 28%),radial-gradient(circle at 4% 74%,rgba(125,255,74,.06),transparent 26%),var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.hidden{display:none!important}.splash{position:fixed;inset:0;z-index:999;background:#050605;display:grid;place-content:center;text-align:center;gap:12px;pointer-events:none;animation:splashAway 2s ease forwards}.splash-mark{width:82px;height:82px;margin:auto;border-radius:28px;background:linear-gradient(145deg,var(--lime),#7ca900);display:grid;place-items:center;color:#060706;font-size:34px;font-weight:1000;box-shadow:0 0 55px rgba(199,255,53,.25)}.splash strong{letter-spacing:.18em}.splash span{color:var(--muted)}@keyframes splashAway{0%,72%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
.app-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}.side{height:100vh;position:sticky;top:0;padding:24px 18px;background:rgba(8,10,8,.9);backdrop-filter:blur(22px);border-right:1px solid var(--line);z-index:20}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,var(--lime),#86b900);color:#050605;display:grid;place-items:center;font-size:18px;font-weight:1000;box-shadow:0 10px 28px rgba(199,255,53,.16)}.brand>div:last-child{display:grid;gap:4px}.brand strong{font-size:14px;letter-spacing:.08em}.brand span{font-size:9px;letter-spacing:.15em;color:var(--muted)}nav{display:grid;gap:8px;margin-top:34px}nav button{width:100%;border:0;background:transparent;color:#808880;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;font:inherit;font-weight:800;text-align:left;transition:.22s ease}nav button span{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.04);display:grid;place-items:center;color:#d9ded5;font-size:17px}nav button b{font-size:13px}nav button:hover,nav button.active{background:rgba(255,255,255,.065);color:#fff;transform:translateX(2px)}nav button.active span{background:var(--lime);color:#071007;box-shadow:0 8px 24px rgba(199,255,53,.18)}.side-note{position:absolute;left:24px;bottom:22px;font-size:9px;letter-spacing:.19em;color:#596059}
main{width:100%;max-width:1480px;margin:auto;padding:34px}.page,.profile-panel{display:none}.page.active,.profile-panel.active{display:block;animation:pageIn .36s ease both}@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero,.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.premium-hero{padding:4px 2px}.hero h1,.page-head h1{font-size:clamp(34px,5vw,64px);line-height:.98;letter-spacing:-.045em;margin:10px 0 12px;max-width:820px}.page-head h1{font-size:clamp(32px,4vw,50px)}h2{font-size:clamp(21px,2.4vw,31px);line-height:1.08;margin:9px 0 12px;letter-spacing:-.025em}h3{margin:12px 0}p{line-height:1.62}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--lime);font-weight:1000}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:999px;padding:9px 13px;color:#c8cec5;font-size:12px;white-space:nowrap}
.home-showcase{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:18px;margin-bottom:18px}.identity-card{min-height:430px;position:relative;overflow:hidden;border-radius:34px;padding:24px;background:linear-gradient(155deg,#d7ff58 0%,#7ca900 48%,#182305 100%);color:#071007;box-shadow:0 35px 90px rgba(0,0,0,.38);isolation:isolate}.identity-card:before,.identity-card:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.28;z-index:-1}.identity-card:before{width:260px;height:260px;background:#fff;right:-120px;top:-100px}.identity-card:after{width:260px;height:260px;background:#0a1700;left:-130px;bottom:-130px}.identity-card__shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.38) 43%,transparent 58%);transform:translateX(-120%);animation:cardShine 5.5s ease-in-out infinite}@keyframes cardShine{0%,62%{transform:translateX(-120%)}82%,100%{transform:translateX(120%)}}.identity-top,.identity-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:1000;letter-spacing:.13em}.identity-rating{margin-top:30px;display:grid;width:max-content}.identity-rating strong{font-size:82px;line-height:.8;letter-spacing:-.08em}.identity-rating small{font-size:10px;letter-spacing:.22em;margin-top:10px}.identity-silhouette{width:150px;height:150px;margin:18px auto 14px;border:1px solid rgba(5,12,1,.22);border-radius:50%;display:grid;place-items:center;background:rgba(7,16,7,.12);font-size:76px;font-weight:1000}.identity-name{text-align:center;font-size:25px;font-weight:1000;letter-spacing:.12em;border-top:1px solid rgba(0,0,0,.2);border-bottom:1px solid rgba(0,0,0,.2);padding:11px 0;margin-bottom:15px}.dashboard-stack{display:grid;grid-template-rows:auto 1fr;gap:18px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.premium-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics article,.panel,.setup-card,.launch,.runner,.evaluation{background:linear-gradient(160deg,rgba(25,29,25,.92),rgba(13,15,13,.94));border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:0 16px 50px rgba(0,0,0,.14);backdrop-filter:blur(16px)}.metrics article{min-height:124px;position:relative;overflow:hidden}.metrics article:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;background:rgba(199,255,53,.06);right:-28px;bottom:-28px}.metrics small{font-size:9px;color:#899187;letter-spacing:.16em;font-weight:900}.metrics strong{display:block;font-size:34px;letter-spacing:-.04em;margin:12px 0 4px}.metrics article span{font-size:11px;color:var(--muted)}.target-card{border-radius:30px;padding:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,rgba(199,255,53,.14),rgba(255,255,255,.035));border:1px solid rgba(199,255,53,.18);position:relative;overflow:hidden}.target-card:after{content:"";position:absolute;inset:auto -90px -130px auto;width:260px;height:260px;border-radius:50%;background:rgba(199,255,53,.07)}.target-card p{max-width:520px;color:#bcc3b9}.target-ring{width:126px;height:126px;flex:0 0 126px;border-radius:50%;background:conic-gradient(var(--lime) 0 62%,rgba(255,255,255,.08) 62% 100%);display:grid;place-items:center;position:relative}.target-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#111411}.target-ring span{z-index:1;font-size:27px;font-weight:1000;color:var(--lime)}
.grid{display:grid;gap:14px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.gap{margin-top:14px}.panel{transition:transform .22s ease,border-color .22s ease}.panel:hover{transform:translateY(-2px);border-color:rgba(199,255,53,.16)}.feature{background:linear-gradient(140deg,rgba(199,255,53,.11),rgba(18,21,18,.95));border-color:rgba(199,255,53,.17)}.notice{background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}.ok{color:var(--lime)}.warn{color:var(--orange)}.bad{color:var(--red)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}label{display:grid;gap:7px;color:#9ba39a;font-size:12px;margin-bottom:10px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(3,5,3,.55);color:#fff;padding:12px 13px;font:inherit;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:rgba(199,255,53,.55);box-shadow:0 0 0 3px rgba(199,255,53,.09)}textarea{min-height:120px;resize:vertical}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.primary,.secondary,.danger{border:0;border-radius:999px;padding:12px 17px;font-weight:1000;letter-spacing:.02em;transition:transform .18s ease,filter .18s ease}.primary{background:linear-gradient(135deg,var(--lime),#8fbd10);color:#061006;box-shadow:0 12px 28px rgba(199,255,53,.13)}.secondary{background:rgba(255,255,255,.035);color:#f7faf4;border:1px solid var(--line)}.danger{background:rgba(255,98,98,.15);color:#ff8c8c;border:1px solid rgba(255,98,98,.2)}button:active,.primary:active,.secondary:active{transform:scale(.97)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.objective{display:grid;gap:4px;padding:13px 14px;border-left:3px solid var(--lime);background:rgba(0,0,0,.23);border-radius:10px;margin:13px 0}.checklist{display:grid;gap:8px}.checklist div{display:flex;justify-content:space-between;padding:10px 12px;background:rgba(0,0,0,.23);border:1px solid var(--line);border-radius:12px}.mini-timeline{display:grid;gap:9px}.mini-timeline div{display:grid;grid-template-columns:54px 1fr;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.mini-timeline b{color:var(--lime)}.coach-card{background:linear-gradient(135deg,rgba(199,255,53,.1),rgba(15,17,15,.96));border-color:rgba(199,255,53,.16)}.coach-adjustments{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.coach-adjustment{background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:14px;padding:12px}.coach-adjustment b{display:block;color:var(--lime);margin-bottom:4px}.coach-adjustment span{color:#bbc1b8;font-size:12px;line-height:1.45}.profile-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding:6px;border-radius:999px;background:rgba(255,255,255,.035);width:max-content;max-width:100%}.profile-tabs button{border:0;background:transparent;color:#999f98;border-radius:999px;padding:9px 14px;font-weight:800}.profile-tabs button.active{background:var(--lime);color:#071007}.timeline{display:grid;gap:0;position:relative}.timeline:before{content:"";position:absolute;left:74px;top:12px;bottom:12px;width:2px;background:rgba(255,255,255,.1)}.time-row{display:grid;grid-template-columns:60px 22px 1fr;gap:12px;padding:11px 0}.time{font-weight:1000;text-align:right}.dot{width:14px;height:14px;border-radius:50%;background:var(--lime);outline:2px solid var(--lime);border:3px solid #0b0d0b;z-index:2}.time-card{background:rgba(0,0,0,.24);border:1px solid var(--line);border-radius:14px;padding:12px}.time-card b{display:block;margin-bottom:4px}.time-card span{color:#a6ada3}.menu-row{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}.menu-row b{color:var(--lime)}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.equipment-grid label,.meal-checks label{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.24);border:1px solid var(--line);border-radius:12px;padding:10px}.equipment-grid input,.meal-checks input{width:auto}.runner-progress{height:9px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.runner-progress span{display:block;height:100%;background:linear-gradient(90deg,#86b900,var(--lime))}.runner-clock{font-size:clamp(54px,10vw,82px);font-weight:1000;text-align:center;margin:20px 0;letter-spacing:-.06em}.phase-label{text-align:center;color:var(--lime);font-weight:1000;letter-spacing:.15em}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.fact{background:rgba(0,0,0,.24);border:1px solid var(--line);border-radius:14px;padding:12px}.fact b{display:block;color:var(--lime);font-size:10px;letter-spacing:.1em;margin-bottom:5px}.do-list li{margin:8px 0;line-height:1.5}.diagram{margin-top:14px;background:#126a3a;border:2px solid rgba(255,255,255,.8);border-radius:18px;padding:8px;overflow:hidden}.diagram svg{width:100%;height:auto;display:block}.legend{display:flex;gap:12px;flex-wrap:wrap;background:#080908;padding:10px;border-radius:11px}.legend span{display:flex;gap:6px;align-items:center;font-size:11px;color:#bbc2b8}.legend i{width:13px;height:13px;display:inline-block}.lg-player{border-radius:50%;background:#111;border:2px solid #fff}.lg-ball{border-radius:50%;background:#fff;border:2px solid #111}.lg-cone{background:#ff7400;clip-path:polygon(50% 0,100% 100%,0 100%)}.lg-arrow{width:20px!important;height:3px!important;background:#ffe24a}.player-card{background:linear-gradient(145deg,rgba(199,255,53,.13),rgba(12,14,12,.97));border:1px solid rgba(199,255,53,.17);border-radius:30px;padding:24px;display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center}.overall-badge{width:130px;height:170px;background:linear-gradient(160deg,#dcff68,#789a05);clip-path:polygon(50% 0,94% 17%,100% 72%,50% 100%,0 72%,6% 17%);display:grid;place-items:center;color:#061006;text-align:center}.overall-badge strong{font-size:54px}.overall-badge span{display:block;font-size:11px;font-weight:1000}.ratings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rating-card{background:linear-gradient(160deg,rgba(23,26,23,.9),rgba(11,13,11,.95));border:1px solid var(--line);border-radius:18px;padding:15px}.rating-top{display:flex;justify-content:space-between;align-items:center}.rating-top strong{font-size:28px}.rating-bar{height:9px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:11px 0}.rating-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--lime))}.rating-card small{color:#969d94}.meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.meal-card{background:linear-gradient(160deg,rgba(22,25,22,.92),rgba(11,13,11,.95));border:1px solid var(--line);border-radius:22px;overflow:hidden}.meal-photo{height:210px;background:#111411;display:grid;place-items:center;overflow:hidden}.meal-photo img{width:100%;height:100%;object-fit:cover}.meal-placeholder{font-size:64px}.meal-body{padding:17px}.meal-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.photo-input,.file input{display:none}.history-item,.test-row{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07)}.toast{position:fixed;right:18px;bottom:18px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:#1a1e1a;box-shadow:var(--shadow);display:none;z-index:40}.fatal{position:fixed;inset:20px;z-index:99;background:#1a0d0d;border:1px solid #7a2b2b;border-radius:20px;padding:20px;color:#fff}
@media(max-width:1080px){.home-showcase{grid-template-columns:280px 1fr}.premium-metrics{grid-template-columns:1fr}.metrics article{min-height:auto}.ratings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.app-shell{grid-template-columns:1fr}.side{position:fixed;z-index:30;left:10px;right:10px;bottom:9px;top:auto;height:auto;padding:7px;border:1px solid var(--line);border-radius:22px;background:rgba(12,14,12,.88);box-shadow:0 18px 50px rgba(0,0,0,.45)}.brand,.side-note{display:none}nav{grid-template-columns:repeat(4,1fr);margin:0;gap:3px}nav button{justify-content:center;padding:7px 3px;display:grid;gap:3px;text-align:center}nav button span{width:36px;height:32px;margin:auto}nav button b{font-size:9px}nav button:hover,nav button.active{transform:none}main{padding:20px 13px 96px}.hero,.page-head{align-items:flex-start;flex-direction:column}.home-showcase{grid-template-columns:1fr}.identity-card{min-height:390px}.dashboard-stack{grid-template-rows:auto auto}.premium-metrics,.metrics,.two,.fields,.facts,.meal-grid,.meal-checks,.ratings-grid,.equipment-grid,.coach-adjustments{grid-template-columns:1fr}.target-card{align-items:flex-start}.target-ring{width:92px;height:92px;flex-basis:92px}.menu-row{grid-template-columns:1fr}.timeline:before{left:58px}.time-row{grid-template-columns:46px 18px 1fr;gap:9px}.player-card{grid-template-columns:1fr;text-align:center}.overall-badge{margin:auto}.profile-tabs{width:100%;overflow:auto;flex-wrap:nowrap}.profile-tabs button{white-space:nowrap}.splash{animation-duration:1.65s}}
@media(max-width:430px){.hero h1,.page-head h1{font-size:34px}.identity-card{min-height:360px;padding:20px}.identity-rating strong{font-size:70px}.identity-silhouette{width:125px;height:125px;font-size:64px}.target-card{display:grid}.target-ring{position:absolute;right:18px;top:18px;opacity:.55}.target-card>div:first-child{padding-right:72px}}

/* V3.4.0 Hotfix Profil — iPhone */
#page-profile{width:100%;max-width:100%;min-width:0;overflow:hidden}
#page-profile>.page-head{position:relative;isolation:isolate;padding:2px 0 4px;background:none}
#page-profile>.page-head:before{content:none}
#page-profile .profile-panel{width:100%;max-width:100%;min-width:0}
#page-profile .panel{width:100%;max-width:100%;min-width:0}
#page-profile .actions.between{width:100%;min-width:0}

@media(max-width:920px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;background:#060706}
  .app-shell,main{width:100%;max-width:none;min-width:0}
  main{margin:0;padding:18px 14px 150px}
  #page-profile{overflow:visible}
  #page-profile>.page-head{margin-bottom:18px;padding:0}
  #page-profile>.page-head h1{max-width:340px;font-size:clamp(32px,9.5vw,42px);line-height:1.02;letter-spacing:-.045em}

  #page-profile .profile-tabs{
    width:100%;max-width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;overflow:visible;flex-wrap:initial;padding:7px;border-radius:20px;
    background:#101310;border:1px solid rgba(255,255,255,.07);margin-bottom:22px
  }
  #page-profile .profile-tabs button{
    min-width:0;white-space:normal;padding:10px 5px;font-size:12px;line-height:1.15;text-align:center
  }
  #page-profile .profile-tabs button:nth-child(4),
  #page-profile .profile-tabs button:nth-child(5){grid-column:auto}
  #page-profile .profile-tabs button.active{box-shadow:0 8px 22px rgba(199,255,53,.15)}

  #profile-day>.actions.between,
  #profile-nutrition>.actions.between{
    display:grid;grid-template-columns:1fr;align-items:start;gap:10px;margin-bottom:14px
  }
  #profile-day>.actions.between .secondary,
  #profile-nutrition>.actions.between .secondary{
    width:100%;justify-content:center;padding:11px 14px;font-size:12px
  }
  #profile-day h2,#profile-nutrition h2{font-size:27px;margin-bottom:0}

  #profile-day>.panel{padding:13px 12px;border-radius:20px;background:#111411}
  #profile-day .timeline:before{left:69px;top:17px;bottom:17px}
  #profile-day .time-row{grid-template-columns:54px 18px minmax(0,1fr);gap:8px;padding:8px 0;align-items:start}
  #profile-day .time{font-size:14px;line-height:1.2;padding-top:12px;text-align:right}
  #profile-day .dot{width:12px;height:12px;margin-top:13px;border-width:3px;outline-width:2px}
  #profile-day .time-card{min-width:0;padding:11px 12px;border-radius:13px;background:#0a0c0a}
  #profile-day .time-card b{font-size:15px;line-height:1.2}
  #profile-day .time-card span{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}

  #page-profile .metrics,#page-profile .two,#page-profile .fields,#page-profile .meal-grid,#page-profile .meal-checks{width:100%;min-width:0}
  #page-profile input,#page-profile select,#page-profile textarea{min-width:0;max-width:100%}
  #page-profile .meal-card{max-width:100%}

  .side{bottom:calc(10px + env(safe-area-inset-bottom));left:12px;right:12px}
}

@media(max-width:430px){
  #page-profile .profile-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  #page-profile .profile-tabs button:last-child{grid-column:1/-1}
  #page-profile>.page-head h1{font-size:36px;max-width:330px}
  #profile-day>.panel{padding:11px 9px}
  #profile-day .timeline:before{left:60px}
  #profile-day .time-row{grid-template-columns:47px 16px minmax(0,1fr);gap:7px}
  #profile-day .time{font-size:13px}
  #profile-day .time-card{padding:10px}
}


/* V3.4.1 — Calendrier intelligent */
.calendar-head{align-items:flex-start}.calendar-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.calendar-kpis article{background:linear-gradient(160deg,rgba(23,26,23,.94),rgba(10,12,10,.97));border:1px solid var(--line);border-radius:20px;padding:16px}.calendar-kpis small{color:var(--muted);font-size:9px;letter-spacing:.15em}.calendar-kpis strong{display:block;font-size:28px;margin:7px 0 3px}.calendar-kpis span{color:var(--muted);font-size:11px}.calendar-progress{height:9px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin-top:10px}.calendar-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7ca900,var(--lime));transition:width .5s ease}.calendar-shell{padding:20px}.calendar-toolbar{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;text-align:center;gap:10px}.calendar-toolbar h2{text-transform:capitalize;margin:5px 0}.calendar-arrow{width:44px;height:44px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font-size:30px}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0;color:#aab1a7;font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:50%;display:block}.legend-completed{background:#55d878}.legend-today{background:#f0d65a}.legend-recovery{background:#5aa8ff}.legend-match{background:#ff6262}.legend-test{background:#b57cff}.legend-rest{background:#707770}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays{padding:5px 0 8px;color:#7f877d;font-size:10px;text-align:center;text-transform:uppercase}.calendar-day{position:relative;min-height:112px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#0b0e0b;color:#fff;text-align:left;overflow:hidden;transition:.2s ease}.calendar-day:not(:disabled):active{transform:scale(.97)}.calendar-day:disabled{opacity:.22}.calendar-day small{display:block;margin-top:12px;color:#a7aea4;font-size:10px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.calendar-day b{position:absolute;right:9px;top:8px;color:#061006;background:var(--lime);border-radius:50%;width:18px;height:18px;display:grid;place-items:center;font-size:11px}.calendar-number{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.05);font-weight:900}.calendar-day.completed{border-color:rgba(85,216,120,.45);background:linear-gradient(160deg,rgba(85,216,120,.15),#0b0e0b)}.calendar-day.today{border-color:rgba(240,214,90,.55);background:linear-gradient(160deg,rgba(240,214,90,.14),#0b0e0b)}.calendar-day.recovery{border-color:rgba(90,168,255,.42);background:linear-gradient(160deg,rgba(90,168,255,.13),#0b0e0b)}.calendar-day.match{border-color:rgba(255,98,98,.5);background:linear-gradient(160deg,rgba(255,98,98,.14),#0b0e0b)}.calendar-day.test{border-color:rgba(181,124,255,.5);background:linear-gradient(160deg,rgba(181,124,255,.15),#0b0e0b)}.calendar-day.rest{border-color:rgba(112,119,112,.42);background:linear-gradient(160deg,rgba(112,119,112,.12),#0b0e0b)}.calendar-day.planned{border-color:rgba(199,255,53,.2)}.calendar-day.selected{outline:2px solid var(--lime);outline-offset:2px}.calendar-empty{min-height:40px}.calendar-detail{scroll-margin-top:20px}.calendar-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.calendar-status{border-radius:999px;padding:8px 11px;border:1px solid var(--line);font-size:11px;white-space:nowrap}.calendar-status.completed{color:#55d878}.calendar-status.today{color:#f0d65a}.calendar-status.recovery{color:#5aa8ff}.calendar-status.match{color:#ff7a7a}.calendar-status.test{color:#c99cff}.calendar-status.rest{color:#989f98}.calendar-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.calendar-info{background:rgba(0,0,0,.24);border:1px solid var(--line);border-radius:13px;padding:12px}.calendar-info b{display:block;color:var(--lime);font-size:9px;letter-spacing:.12em;margin-bottom:5px}.calendar-info span{font-size:13px;color:#d5dad2}.calendar-day-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.calendar-day-columns>div{background:rgba(0,0,0,.19);border:1px solid var(--line);border-radius:15px;padding:14px}.calendar-day-columns p{font-size:13px;color:#b7bdb4;margin:8px 0}.calendar-callout{display:flex;justify-content:space-between;gap:12px;background:rgba(181,124,255,.1);border:1px solid rgba(181,124,255,.3);border-radius:14px;padding:13px}.calendar-callout b{color:#c99cff}.calendar-callout span{color:#c7ccc5;font-size:12px}
@media(max-width:920px){.calendar-kpis{grid-template-columns:repeat(2,1fr)}.calendar-shell{padding:13px}.calendar-weekdays,.calendar-grid{gap:5px}.calendar-day{min-height:91px;padding:7px;border-radius:12px}.calendar-number{width:25px;height:25px;border-radius:8px;font-size:12px}.calendar-day small{margin-top:8px;font-size:9px;-webkit-line-clamp:2}.calendar-detail-grid{grid-template-columns:repeat(2,1fr)}.calendar-day-columns{grid-template-columns:1fr}.calendar-detail-head{display:grid}.calendar-status{width:max-content}.calendar-callout{display:grid}}
@media(max-width:430px){.calendar-kpis{grid-template-columns:1fr 1fr;gap:8px}.calendar-kpis article{padding:12px}.calendar-kpis strong{font-size:23px}.calendar-weekdays{font-size:8px}.calendar-grid{gap:3px}.calendar-day{min-height:76px;padding:5px;border-radius:10px}.calendar-number{width:22px;height:22px;font-size:11px}.calendar-day small{font-size:8px;line-height:1.15;margin-top:5px}.calendar-day b{width:15px;height:15px;font-size:9px;right:5px;top:5px}.calendar-detail-grid{grid-template-columns:1fr 1fr}.calendar-info{padding:9px}.calendar-info span{font-size:11px}}

/* V3.4.1a — correctif couleurs et date locale du calendrier */
.legend-training{background:#a7ff31}.legend-next{background:#f0d65a}.legend-recovery{background:#35c5d8}.legend-match{background:#ff525d}.legend-test{background:#4c8dff}.legend-rest{background:#777d78}.legend-check{color:#55d878;font-weight:800}
.calendar-day{--event:#a7ff31;--event-rgb:167,255,49;border-color:rgba(var(--event-rgb),.32);background:linear-gradient(160deg,rgba(var(--event-rgb),.10),#0b0e0b)}
.calendar-day.training{--event:#a7ff31;--event-rgb:167,255,49}.calendar-day.recovery{--event:#35c5d8;--event-rgb:53,197,216}.calendar-day.match{--event:#ff525d;--event-rgb:255,82,93}.calendar-day.test{--event:#4c8dff;--event-rgb:76,141,255}.calendar-day.rest{--event:#777d78;--event-rgb:119,125,120}
.calendar-type-dot{position:absolute;right:9px;top:9px;width:14px;height:14px;border-radius:50%;background:var(--event);box-shadow:0 0 0 3px rgba(var(--event-rgb),.13)}
.calendar-check{position:absolute;right:7px;bottom:7px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#55d878;color:#061006;font-size:11px;font-weight:1000}
.calendar-relative{display:inline-block;margin-top:7px;padding:3px 6px;border-radius:999px;background:rgba(240,214,90,.12);color:#f0d65a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.calendar-day.is-today{outline:2px solid #f0d65a;outline-offset:2px}.calendar-day.is-next:not(.is-today){box-shadow:inset 0 0 0 1px rgba(240,214,90,.75)}
.calendar-day.completed{opacity:.94}.calendar-day.completed .calendar-number{background:rgba(85,216,120,.18)}
.calendar-day b{position:static;width:auto;height:auto;background:none;color:inherit;border-radius:0;display:inline;font-size:inherit}
.calendar-status.training{color:#a7ff31}.calendar-status.recovery{color:#35c5d8}.calendar-status.match{color:#ff6b74}.calendar-status.test{color:#6fa3ff}.calendar-status.rest{color:#989f98}
@media(max-width:430px){.calendar-type-dot{right:5px;top:5px;width:11px;height:11px}.calendar-check{right:4px;bottom:4px;width:15px;height:15px;font-size:9px}.calendar-relative{font-size:7px;padding:2px 4px;margin-top:4px}}

/* V3.4.2c — Mode Carrière isolé et stable */
.career-card-stable{display:grid;grid-template-columns:110px 1fr 130px;gap:18px;align-items:center;padding:22px;border-radius:26px;border:1px solid rgba(199,255,53,.28);background:linear-gradient(145deg,rgba(199,255,53,.12),rgba(10,13,10,.98));margin-bottom:14px}
.career-score{width:96px;height:126px;clip-path:polygon(50% 0,93% 17%,100% 72%,50% 100%,0 72%,7% 17%);display:grid;place-items:center;background:linear-gradient(155deg,#dfff70,#789b07);color:#071007;font-size:44px;font-weight:1000}
.career-progress-stable{width:112px;height:112px;border-radius:50%;border:10px solid rgba(199,255,53,.25);display:grid;place-content:center;text-align:center}.career-progress-stable strong{font-size:25px;color:var(--lime)}.career-progress-stable span{font-size:10px;color:#aaa}
.career-gap-list{display:grid;gap:7px}.career-gap-list>div{display:grid;grid-template-columns:1fr 34px 18px 34px 48px;gap:6px;align-items:center;padding:9px;background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:10px}.career-gap-list i,.career-gap-list b,.career-gap-list strong{text-align:center}.career-gap-list em{text-align:right;font-style:normal;color:var(--orange);font-size:12px}
.career-priority{display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}.career-priority>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#071007;font-weight:1000}.career-priority b,.career-priority small{display:block}.career-priority small{color:#999;margin-top:3px}
.scout-stable{font-size:30px;color:var(--lime)}.badges-stable{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.badges-stable>div{min-height:105px;padding:12px;border:1px solid var(--line);border-radius:13px;display:grid;justify-items:center;align-content:center;text-align:center;background:rgba(0,0,0,.22)}.badges-stable .off{opacity:.5}.badges-stable span{font-size:30px}.badges-stable b{margin-top:5px}.badges-stable small{color:#888;margin-top:3px}
@media(max-width:920px){.career-card-stable{grid-template-columns:82px 1fr}.career-score{width:74px;height:98px;font-size:34px}.career-progress-stable{grid-column:1/-1;margin:auto}.badges-stable{grid-template-columns:repeat(2,1fr)}}
@media(max-width:410px){.badges-stable{grid-template-columns:1fr}.career-gap-list>div{grid-template-columns:1fr 28px 14px 28px 42px;font-size:11px}}

/* V3.4.3 — Performance Center indépendant */
.perf-center{margin-top:14px}.perf-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.perf-metrics>div{background:linear-gradient(180deg,#141814,#0c0f0c);border:1px solid var(--line);border-radius:15px;padding:14px}.perf-metrics small{display:block;color:#888;letter-spacing:1.2px;font-size:10px}.perf-metrics strong{display:block;font-size:25px;margin:7px 0}.perf-metrics span{font-size:11px;color:#999}.perf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.perf-chart{color:var(--lime)}.perf-spark{width:100%;height:auto;margin-top:10px}.perf-values{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;color:#999;font-size:10px;text-align:center}.perf-quality{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center}.perf-quality>strong{font-size:42px}.perf-quality b,.perf-quality span{display:block}.perf-quality span{color:#999;margin-top:4px}.perf-quality.good>strong{color:var(--lime)}.perf-quality.watch>strong{color:var(--orange)}.perf-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.perf-insights>div{background:#090909;border:1px solid var(--line);border-radius:12px;padding:12px}.perf-insights b,.perf-insights span{display:block}.perf-insights b{font-size:22px;color:var(--lime)}.perf-insights span{font-size:11px;color:#999;margin-top:4px}
@media(max-width:920px){.perf-metrics,.perf-grid,.perf-insights{grid-template-columns:1fr 1fr}.perf-grid .perf-chart:last-child{grid-column:1/-1}}
@media(max-width:520px){.perf-metrics,.perf-grid,.perf-insights{grid-template-columns:1fr}.perf-grid .perf-chart:last-child{grid-column:auto}}

/* V3.4.4 — Défi quotidien */
.daily-challenge-card{padding:22px;border-radius:24px;border:1px solid rgba(255,190,60,.35);background:radial-gradient(circle at 85% 10%,rgba(255,188,56,.15),transparent 28%),linear-gradient(145deg,#1d1608,#0d0d0c)}
.daily-challenge-card.completed{border-color:rgba(199,255,53,.5);background:radial-gradient(circle at 85% 10%,rgba(199,255,53,.16),transparent 28%),linear-gradient(145deg,#152000,#0d0d0c)}
.challenge-reward{display:grid;text-align:right}.challenge-reward b{font-size:22px;color:#ffd15a}.challenge-reward span{font-size:11px;color:#bbb}
.challenge-progress-head{display:flex;justify-content:space-between;gap:12px;margin-top:15px;color:#bbb}.challenge-progress-head strong{color:#fff}
.challenge-progress{height:11px;border-radius:999px;background:#2a2925;overflow:hidden;margin:8px 0 14px}.challenge-progress i{display:block;height:100%;background:linear-gradient(90deg,#ffab2e,#ffe06b);border-radius:inherit}
.daily-challenge-card.completed .challenge-progress i{background:linear-gradient(90deg,#789b06,var(--lime))}
.challenge-controls{display:grid;grid-template-columns:auto 120px auto 1fr;gap:8px;align-items:center}.challenge-controls input{text-align:center;font-weight:900}
.challenge-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#aaa}.challenge-footer b{color:var(--lime)}
@media(max-width:650px){.challenge-controls{grid-template-columns:1fr 1fr 1fr}.challenge-controls input{grid-column:1/-1;grid-row:1}.challenge-complete{grid-column:1/-1}.challenge-reward b{font-size:18px}}

/* V3.4.5 — Analyse vidéo guidée */
.video-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.video-stats>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.2)}.video-stats small{display:block;color:#8c9289;font-size:10px;letter-spacing:1px}.video-stats strong{display:block;font-size:27px;margin-top:6px}
.video-missions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.video-missions button{display:grid;justify-items:start;gap:4px;text-align:left;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.2);color:#fff}.video-missions button.active{border-color:var(--lime);background:rgba(199,255,53,.1)}.video-missions button span{font-size:24px}.video-missions button small{color:#929890}
.video-instruction{margin-top:12px;padding:13px;border-left:3px solid var(--lime);background:rgba(0,0,0,.2);border-radius:9px}.video-instruction p{margin-bottom:0}
.video-questions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.video-questions label{padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.18)}.video-questions label>span{color:#fff;font-weight:700;line-height:1.4}.video-questions textarea{margin-top:9px;min-height:105px}
.video-history{display:grid;gap:9px}.video-history>div{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.18)}.video-history-icon{font-size:27px}.video-history section b,.video-history section small{display:block}.video-history section small{color:#929890;margin-top:3px}.video-history section p{margin:7px 0 0}.video-history>div>strong{color:var(--lime);font-size:18px}
@media(max-width:920px){.video-stats{grid-template-columns:repeat(2,1fr)}.video-questions{grid-template-columns:1fr}}
@media(max-width:480px){.video-missions{grid-template-columns:1fr}.video-history>div{grid-template-columns:36px 1fr}.video-history>div>strong{grid-column:2}}

/* V3.4.6 — Analyse vidéo intégrée à la séance */
.session-video-card{padding:22px;border-radius:24px;border:1px solid rgba(96,169,255,.35);background:radial-gradient(circle at 88% 8%,rgba(96,169,255,.16),transparent 30%),linear-gradient(145deg,#0d1521,#0c0d0f)}
.session-video-card.completed{border-color:rgba(199,255,53,.5);background:radial-gradient(circle at 88% 8%,rgba(199,255,53,.14),transparent 30%),linear-gradient(145deg,#142000,#0c0d0f)}
.video-session-intro{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.video-session-intro>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.2)}.video-session-intro b{color:var(--lime)}.video-session-intro p{margin-bottom:0}
.video-session-questions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.video-session-questions label{padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.18)}.video-session-questions label>span{color:#fff;font-weight:700;line-height:1.4}.video-session-questions textarea{margin-top:9px;min-height:100px}
.day-completion-bar{margin-top:12px}.day-completion-head{display:flex;justify-content:space-between;color:#aaa;font-size:12px}.day-completion-head strong{color:#fff}.day-completion-track{height:9px;border-radius:999px;background:#292929;overflow:hidden;margin-top:7px}.day-completion-track i{display:block;height:100%;background:linear-gradient(90deg,#7d9f00,var(--lime));border-radius:inherit}
@media(max-width:920px){.video-session-intro,.video-session-questions{grid-template-columns:1fr}}

/* V3.4.7 — Planning intelligent */
.smart-plan-home{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:18px;border-radius:20px;border:1px solid rgba(102,169,255,.28);background:linear-gradient(145deg,rgba(102,169,255,.12),rgba(10,12,16,.95))}
.smart-plan-home h3{margin:5px 0}.smart-plan-home p{margin:0;color:#aaa}
.smart-plan-card{padding:20px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(145deg,#121416,#0b0c0e);margin-bottom:14px}
.smart-plan-card.level-normal{border-color:rgba(199,255,53,.35)}.smart-plan-card.level-reduced{border-color:rgba(255,179,71,.45)}.smart-plan-card.level-recovery{border-color:rgba(255,90,90,.45)}
.smart-plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.smart-plan-grid>div{padding:13px;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2)}.smart-plan-grid small{display:block;color:#8f948d;font-size:10px;letter-spacing:1px}.smart-plan-grid strong{display:block;font-size:23px;margin:6px 0}.smart-plan-grid span{font-size:11px;color:#aaa;line-height:1.35}
.smart-plan-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
@media(max-width:920px){.smart-plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.smart-plan-grid{grid-template-columns:1fr}.smart-plan-home{align-items:flex-start;flex-direction:column}}
