.v1{
  --app:#0B1B3D; --app-2:#13234B; --app-line:#22346A; --navy:#0B1B3D; --royal:#2454C7; --logo:#5B8DEF; --sky:#A8D3E6; --sky-pale:#EAF2FB; --on-app:#C9D4EA;
  --t1:#4B5468; --t2:#6A7181; --sep:#E1E6EF; --field:#8892A6;
  --ok:#19833B; --ok-bg:#E3F4E8; --ok-fill:#22A055;
  --wait:#AC5D21; --wait-bg:#FBEADB; --wait-fill:#EA8A1A;
  --ko:#CA4238; --ko-bg:#FBE9E9; --urgent:#E8112D;
  --c-muscu:#CA4238; --c-indiv:#F2C230; --c-coll:#2454C7; --c-extra:#1E3A7A; --c-fem:#7A4FB0;
  --off:#D5D8DE;
  color-scheme:dark;
}
.v1{min-height:100dvh;display:flex;flex-direction:column;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}



.v1 .app{min-height:100dvh; display:flex; flex-direction:column; max-width:720px; margin:0 auto}
.v1 button{font:inherit}
.v1 a{color:var(--sky)}
.v1 .hdr{position:sticky; top:0; z-index:4; background:#081430; border-bottom:1px solid var(--app-line); padding:calc(9px + env(safe-area-inset-top,0px)) 12px 9px; display:flex; align-items:center; gap:10px}
.v1 .crest{flex:none; width:38px; height:38px; border-radius:10px; background:#fff; display:grid; place-items:center}
.v1 .crest img{width:32px; height:32px; object-fit:contain}
.v1 .hid{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px}
.v1 .hid img{height:15px; width:auto; display:block; max-width:100%}
.v1 .hid .catl{font-size:11px; font-weight:700; color:var(--sky); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.v1 .iconbtn{all:unset; cursor:pointer; width:38px; height:38px; border-radius:999px; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.35); position:relative; flex:none}
.v1 .iconbtn .badge{position:absolute; top:-4px; right:-4px}
.v1 .view{flex:1; padding:12px 14px 24px; display:flex; flex-direction:column; gap:12px}
.v1 .head{display:flex; align-items:center; gap:8px; min-height:36px}
.v1 .head h1{font-size:22px; margin:0; font-weight:800; line-height:1.15; flex:1}
.v1 .back{all:unset; cursor:pointer; color:var(--sky); font-size:13px; padding:4px 0; display:inline-flex; gap:4px; align-items:center}
.v1 .sect{font-size:16px; margin:6px 2px -4px; font-weight:700}
.v1 .month{font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; margin:8px 2px -2px}
.v1 .card{background:#fff; color:var(--navy); border-radius:12px; padding:14px; display:flex; flex-direction:column; gap:10px}
.v1 .card h3{font-size:16px; margin:0; font-weight:700; line-height:1.25}
.v1 .muted{color:var(--t2); font-size:12px; margin:0}
.v1 .note{color:var(--on-app); font-size:12px; margin:0}
.v1 .row{display:flex; align-items:center; gap:10px}
.v1 .between{justify-content:space-between}
.v1 .grow{flex:1; min-width:0}
.v1 .list>*+*{border-top:1px solid var(--sep)}
.v1 .item{all:unset; box-sizing:border-box; width:100%; cursor:pointer; display:flex; align-items:center; gap:10px; padding:10px 0; min-height:48px}
.v1 .item b{display:block; font-size:14px}
.v1 .item small{display:block; font-size:11.5px; color:var(--t2)}
.v1 label.f{display:flex; flex-direction:column; gap:5px; font-size:12.5px; font-weight:700; color:var(--navy)}
.v1 input[type=text],.v1 input[type=email],.v1 input[type=tel],.v1 input[type=date],.v1 input[inputmode=numeric],.v1 select{width:100%; border:1.5px solid var(--field); border-radius:8px; padding:11px 12px; font:inherit; font-size:16px; color:var(--navy); background:#fff; min-height:44px}
.v1 input:focus-visible,.v1 select:focus-visible{outline:3px solid var(--logo); outline-offset:1px}
.v1 .code{letter-spacing:.4em; text-align:center; font-weight:800; font-size:22px !important}
.v1 .btn{appearance:none; border:0; font-size:15px; font-weight:700; min-height:46px; border-radius:10px; padding:0 16px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%}
.v1 .btn-primary{background:var(--royal); color:#fff}
.v1 .btn-light{background:#fff; color:var(--navy); border:1.5px solid var(--navy)}
.v1 .btn-ok{background:var(--ok-fill); color:#fff}
.v1 .btn-neutre{background:#fff; color:var(--navy); border:1.5px solid #9AA4B8}
.v1 .btn-ko{background:#fff; color:var(--ko); border:1.5px solid var(--ko)}
.v1 .btn[disabled]{opacity:.45; cursor:not-allowed}
.v1 .btn:focus-visible,.v1 .item:focus-visible,.v1 .prow:focus-visible,.v1 .nav button:focus-visible,.v1 .dc:focus-visible{outline:3px solid var(--logo); outline-offset:2px}
.v1 .link{all:unset; cursor:pointer; color:var(--royal); font-size:13px; text-decoration:underline; text-underline-offset:2px}
.v1 .choice{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.v1 .choice button{min-height:46px; border-radius:10px; font-weight:700; cursor:pointer; background:#fff; color:var(--navy); border:1.5px solid #CBD3E1}
.v1 .choice button[aria-pressed="true"].yes{background:var(--ok-bg); border-color:var(--ok-fill); color:var(--ok)}
.v1 .choice button[aria-pressed="true"].no{background:var(--ko-bg); border-color:var(--ko); color:var(--ko)}
.v1 .err{background:var(--ko-bg); color:#7A1F18; border-radius:8px; padding:9px 11px; font-size:13px}
.v1 .pill{display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:999px; font-size:11.5px; font-weight:700; white-space:nowrap}
.v1 .pill.ok{background:var(--ok-bg); color:var(--ok)}
.v1 .pill.wait{background:var(--wait-bg); color:var(--wait)}
.v1 .pill.ko{background:var(--ko-bg); color:var(--ko)}
.v1 .pill.info{background:var(--sky-pale); color:var(--navy)}
.v1 .badge{min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--urgent); color:#fff; font-size:10.5px; font-weight:800; display:inline-grid; place-items:center}
.v1 .prow{all:unset; box-sizing:border-box; width:100%; cursor:pointer; border-radius:12px; padding:11px 12px 11px 14px; display:flex; align-items:center; gap:10px; background:#fff; color:var(--navy); border:1.5px solid var(--off)}
.v1 .prow .pd{font-size:11.5px; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums}
.v1 .prow .ps{width:1px; height:18px; background:currentColor; opacity:.3}
.v1 .prow .pl{flex:1; min-width:0; font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.v1 .prow.coll{border-color:var(--royal); color:var(--royal)}
.v1 .prow.muscu{border-color:var(--c-muscu); color:var(--c-muscu)}
.v1 .prow.indiv{border-color:var(--c-indiv); color:#7A5A00}
.v1 .prow.tests{background:repeating-linear-gradient(135deg,#FDEDEE 0 7px,#fff 7px 14px); border-color:var(--c-muscu); color:var(--c-muscu)}
.v1 .prow.match{background:var(--royal); border-color:var(--royal); color:#fff}
.v1 .prow.extra,.v1 .prow.reunion,.v1 .prow.formation{background:var(--c-extra); border-color:var(--c-extra); color:#fff}
.v1 .prow.fem{border-color:var(--c-fem); color:var(--c-fem)}
.v1 .prow.femx{background:var(--c-fem); border-color:var(--c-fem); color:#fff}
.v1 .prow.past{filter:grayscale(75%); opacity:.6}
.v1 .prow.today{box-shadow:inset 4px 0 0 #A8D3E6}
.v1 .prow.annule .pl{text-decoration:line-through}
.v1 .evband{border-radius:12px; display:flex; align-items:stretch; overflow:hidden; color:#fff; background:var(--royal); min-height:64px}
.v1 .evband .t{flex:1; padding:12px 14px; font-size:17px; font-weight:800; line-height:1.25; display:flex; align-items:center}
.v1 .evband .d{flex:none; background:#fff; color:var(--navy); border-radius:12px 0 0 12px; padding:10px 12px; text-align:center; font-weight:800; font-size:12px; display:flex; flex-direction:column; justify-content:center; min-width:72px}
.v1 .evband .d b{font-size:20px; line-height:1.1}
.v1 .evband.muscu{background:var(--c-muscu)}
.v1 .evband.indiv{background:var(--c-indiv); color:var(--navy)}
.v1 .evband.tests{background:repeating-linear-gradient(135deg,#E5202E 0 7px,#C9141F 7px 14px)}
.v1 .evband.extra,.v1 .evband.reunion,.v1 .evband.formation{background:var(--c-extra)}
.v1 .evband.fem,.v1 .evband.femx{background:var(--c-fem)}
.v1 .infos{display:grid; grid-template-columns:auto 1fr; gap:6px 12px; margin:0; font-size:13.5px}
.v1 .infos dt{color:var(--t2); font-weight:700}
.v1 .infos dd{margin:0}
.v1 .counts{display:flex; gap:8px}
.v1 .counts span{flex:1; text-align:center; border-radius:10px; padding:8px 4px; font-weight:800; font-size:18px}
.v1 .counts small{display:block; font-size:11px; font-weight:700}
.v1 .c-ok{background:var(--ok-bg); color:var(--ok)}
.v1 .c-wait{background:var(--wait-bg); color:var(--wait)}
.v1 .c-ko{background:var(--ko-bg); color:var(--ko)}
.v1 .doc{background:#FBFBF8; color:var(--navy); border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:10px; border:1px solid #E6E2D6}
.v1 .doc .doccode{font-size:11px; letter-spacing:.08em; color:var(--t2); font-weight:800; text-transform:uppercase}
.v1 .doc h3{margin:0; font-size:16px}
.v1 .doc .texte{white-space:pre-wrap; font-size:13.5px; max-height:50vh; overflow:auto; border-top:1px solid var(--sep); padding-top:10px}
.v1 .sign{font-family:"Great Vibes",cursive; font-size:34px; color:#173C7A; text-align:right; line-height:1}
.v1 .signed{font-size:11.5px; color:var(--t2); text-align:right}
.v1 .nav{position:sticky; bottom:0; display:grid; grid-template-columns:repeat(4,1fr); gap:2px; padding:6px 6px calc(8px + env(safe-area-inset-bottom,0px)); background:var(--app); border-top:1px solid var(--app-line)}
.v1 .nav button{all:unset; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 0 5px; border-radius:16px; color:var(--on-app); border:1px solid transparent}
.v1 .nav button span{font-size:11px; font-weight:600}
.v1 .nav button[aria-current="page"]{color:#fff; background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.08) 55%,rgba(255,255,255,.14)); border-color:rgba(255,255,255,.38)}
.v1 .nav button[aria-current="page"] span{font-weight:800}
.v1 .backdrop{position:fixed; inset:0; background:rgba(4,10,28,.6); z-index:9; display:grid; place-items:center; padding:16px}
.v1 .dialog{background:#fff; color:var(--navy); border-radius:14px; padding:18px; width:min(380px,100%); display:flex; flex-direction:column; gap:12px}
.v1 .dialog h3{margin:0; font-size:17px}
.v1 .toast{position:fixed; left:50%; bottom:calc(84px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); background:#fff; color:var(--navy); font-weight:700; font-size:13px; padding:9px 14px; border-radius:999px; box-shadow:0 6px 18px rgba(0,0,0,.3); z-index:10; white-space:nowrap}
.v1 .login{flex:1; display:flex; flex-direction:column; justify-content:center; gap:16px; padding:24px 18px calc(24px + env(safe-area-inset-bottom,0px))}
.v1 .login .brand{display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:8px}
.v1 .login .brand img.l{height:26px; width:auto}
.v1 .login .catname{font-size:24px; font-weight:800; text-align:center; background:linear-gradient(90deg,#5B8DEF,#A8D3E6); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 12px rgba(91,141,239,.45))}
.v1 .loading{flex:1; display:grid; place-items:center; color:var(--on-app)}
@media (min-width:900px){.v1 .view{padding:18px 24px 28px}}
.v1 .view{animation:in .2s cubic-bezier(.16,1,.3,1)}
.v1 from{transform:translateY(6px)}
.v1 to{transform:none}
.v1 .doc.fait{border-color:#9FD5B2; background:#FBFBF8}
.v1 .doc.refuse{background:#EEF1F5; border-color:#B8C1D1; color:#5E6B85}
.v1 .doc .statut{display:flex; align-items:center; justify-content:space-between; font-weight:800; font-size:14px}
.v1 .doc.fait .statut{color:var(--ok)}
.v1 .doc.refuse .statut{color:#5E6B85}
.v1 .doc.refuse .sign{color:#8E97A7; text-decoration:line-through}
.v1 .doc .statut .sign{font-size:22px !important; line-height:1}
.v1 .entree{flex:1; width:100%; max-width:1080px; margin:0 auto; padding:calc(28px + env(safe-area-inset-top,0px)) 18px calc(28px + env(safe-area-inset-bottom,0px)); display:grid; gap:44px; grid-template-columns:minmax(0,1fr); align-content:start}
.v1 .entree h2{font-size:19px; font-weight:800; margin:0 0 14px; text-wrap:balance}
.v1 .entree-haut{display:flex; flex-direction:column; align-items:center; gap:18px}
.v1 .entree-marque{display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center}
.v1 .entree-blason{width:64px; height:64px; border-radius:16px; background:#fff; display:grid; place-items:center; box-shadow:0 10px 24px rgba(0,0,0,.28)}
.v1 .entree-blason img{width:54px; height:54px; object-fit:contain}
.v1 .entree-logo{height:28px; width:auto}
.v1 .entree-club{font-size:12.5px; font-weight:700; color:var(--sky); letter-spacing:.02em}
.v1 .entree-form{width:100%; max-width:400px; gap:12px; padding:20px}
.v1 .entree-form h1{font-size:20px; margin:0; font-weight:800; color:var(--navy)}
.v1 .entree-seg{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:5px; border:1.5px solid #2B3F78; border-radius:12px; max-width:420px}
.v1 .entree-seg button{all:unset; box-sizing:border-box; cursor:pointer; text-align:center; font-size:13px; font-weight:800; color:#fff; padding:10px 4px; border-radius:9px; min-height:40px; display:grid; place-items:center}
.v1 .entree-seg button[aria-selected="true"]{background:var(--sky); color:var(--navy)}
.v1 .entree-seg button:focus-visible,.v1 .entree-barre button:focus-visible{outline:3px solid var(--logo); outline-offset:2px}
.v1 .entree-tel{margin-top:14px; max-width:420px; border-radius:22px; background:#13234B; box-shadow:0 18px 40px rgba(0,0,0,.35), inset 0 0 0 1px #22346A; overflow:hidden}
.v1 .entree-ecran{padding:16px 14px; min-height:132px}
.v1 .entree-rub{display:flex; gap:12px; align-items:flex-start; background:#fff; color:var(--navy); border-radius:14px; padding:14px}
.v1 .entree-rub h3{margin:0 0 4px; font-size:16px; font-weight:800}
.v1 .entree-rub p{margin:0; font-size:13.5px; line-height:1.4; color:#2B3550}
.v1 .entree-rub .entree-pages{margin-top:8px; font-size:12px; font-weight:700; color:var(--royal)}
.v1 .entree-ico{flex:none; width:40px; height:40px; border-radius:11px; background:var(--royal); color:#fff; display:grid; place-items:center}
.v1 .entree-ico.petit{width:32px; height:32px; border-radius:9px}
.v1 .entree-barre{display:grid; grid-template-columns:repeat(5,1fr); gap:2px; padding:6px; border-top:1px solid #22346A; background:#0B1B3D}
.v1 .entree-barre button{all:unset; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:3px; padding:7px 0 6px; border-radius:14px; color:var(--on-app); border:1px solid transparent; min-height:44px; justify-content:center}
.v1 .entree-barre button span{font-size:10.5px; font-weight:600; white-space:nowrap}
.v1 .entree-barre button[aria-current="page"]{color:#fff; background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.08) 55%,rgba(255,255,255,.14)); border-color:rgba(255,255,255,.38)}
.v1 .entree-barre button[aria-current="page"] span{font-weight:800}
.v1 .entree-etapes{list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; max-width:420px; counter-reset:e}
.v1 .entree-etapes li{display:flex; align-items:center; gap:12px; background:#fff; color:var(--navy); border-radius:12px; padding:12px 14px; font-size:14px; font-weight:600; line-height:1.35}
.v1 .entree-install .btn{max-width:420px; margin-top:12px}
.v1 .entree-pied{font-size:12px; color:var(--on-app); text-align:center; padding-top:4px; border-top:1px solid #22346A}
.v1 .entree-pied span{display:block; padding-top:14px}
.v1 .catname{margin:2px 0 0; font-size:24px; font-weight:800; text-align:center; background:linear-gradient(90deg,#5B8DEF,#A8D3E6); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 12px rgba(91,141,239,.45))}
.v1 ::selection{background:#5B8DEF66}
@media (min-width:900px){.v1 .entree{grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:56px; row-gap:40px; padding-top:56px}
.v1 .entree-haut{grid-column:1 / -1}
.v1 .entree-guide .entree-seg,.v1 .entree-tel,.v1 .entree-install .entree-seg,.v1 .entree-etapes,.v1 .entree-install .btn{max-width:none}
.v1 .entree-pied{grid-column:1 / -1}}
.v1 .entree-rub{animation:entree-in .28s cubic-bezier(.16,1,.3,1)}
.v1 from{opacity:.4; transform:translateY(6px)}
.v1 to{opacity:1; transform:none}
.v1 .entree-cle{margin:-4px 0 0; font-size:13px; color:#4B5468}
.v1 .entree-cle b{color:#0B1B3D; letter-spacing:.06em; font-variant-numeric:tabular-nums}
.v1 .entree-bientot{background:#EAF2FB; color:#0B1B3D; border-radius:10px; padding:12px 14px; font-weight:700; font-size:14px}
.v1 .entree-demo{margin:0; font-size:12px; font-weight:700; color:#AC5D21; background:#FBEADB; border-radius:8px; padding:7px 10px}
.v1 .entree-acle summary{list-style:none; cursor:pointer}
.v1 .entree-acle summary::-webkit-details-marker{display:none}
.v1 .entree-cleform{display:flex; flex-direction:column; gap:10px; margin-top:10px}
.v1 .entree-cleform input{text-transform:uppercase; letter-spacing:.08em}
.v1 .entree-docs{display:flex; flex-direction:column; gap:14px; max-width:640px}
.v1 .entree-docs .entree-haut{gap:10px}
.v1 .card,.v1 .card h1,.v1 .card h3,.v1 label.f,.v1 .doc,.v1 .doc h3{color:#0B1B3D !important}
.v1 .card .muted,.v1 .doc .muted{color:#6A7181 !important}
.v1 .card input,.v1 .card select{background:#fff !important; color:#0B1B3D !important; border:1.5px solid #8892A6 !important; border-radius:8px !important}
.v1 .card input::placeholder{color:#6A7181 !important}
.v1 .btn-primary{background:#2454C7 !important; color:#fff !important}
.v1 .btn-primary[disabled]{opacity:.55}
.v1 .btn-light,.v1 .btn-neutre{background:#fff !important; color:#0B1B3D !important}
.v1 .choice button{background:#fff !important; color:#0B1B3D !important; border:1.5px solid #CBD3E1 !important}
.v1 .choice button[aria-pressed="true"],.v1 .choice button[aria-pressed="true"].yes,.v1 .choice button[aria-pressed="true"].no{background:#0B1B3D !important; color:#fff !important; border-color:#0B1B3D !important}