:root{--pri:var(--gel);--onp:var(--onx);--ff:Barlow,"Segoe UI",system-ui,sans-serif;--ffd:"Barlow Semi Condensed","Arial Narrow",sans-serif;--lp-bg:#1b1f4a;--lp-btn:#d6246e;--lp-btnfg:#fff;--sh:0 1px 2px rgba(27,31,74,.06);--r:10px;--bg:#f3f2f8;--fg:#1b1f4a;--mut:#5b5f82;--card:#fff;--bd:#dcdaea;--gel:#d6246e;--onx:#fff;--hero:#1b1f4a;--up:#d98e04;--dn:#0f9d8a;--fl:#8a8fa8;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#101230;--fg:#ececfa;--mut:#a3a6c8;--card:#1a1d44;--bd:#2c3063;--gel:#ff5c9a;--onx:#14163a;--hero:#262a66}}
:root[data-theme="dark"]{--bg:#101230;--fg:#ececfa;--mut:#a3a6c8;--card:#1a1d44;--bd:#2c3063;--gel:#ff5c9a;--onx:#14163a;--hero:#262a66}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*:before,*:after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--ff)}
main{max-width:980px;margin:0 auto;padding:14px 16px 48px}
h1,h2,h3{font-family:var(--ffd);margin:0 0 8px;line-height:1.1}
h1{font-size:2.3rem}h2{font-size:1.5rem;margin-top:28px}h3{font-size:1.2rem}
.sub{color:var(--mut);margin:0 0 20px;max-width:64ch}
.box{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:18px}
#out{margin-top:18px}.ezmsg{text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
label{display:block;font-size:.9rem;color:var(--mut);font-weight:500}
input,select{width:100%;margin-top:4px;padding:9px 10px;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--bd);border-radius:6px}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
button{font:600 1.05rem var(--ffd),sans-serif;background:var(--pri);color:var(--onp);border:0;border-radius:6px;padding:12px 26px;cursor:pointer;margin-top:16px}
button.sec{background:none;color:var(--pri);border:1.5px solid var(--pri);padding:8px 16px;margin:10px 8px 0 0;font-size:1rem}
button.lnk{background:none;color:var(--mut);padding:0;margin:0 0 0 14px;font:500 .9rem var(--ff),sans-serif;text-decoration:underline}
details{margin-top:14px}summary{cursor:pointer;color:var(--mut);font-weight:500}
.err{color:#c0392b;margin-top:12px;font-weight:500}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.kpi{border-left:4px solid var(--pri);padding:2px 12px}.kpi b{display:block;font:700 1.6rem var(--ffd),sans-serif}.kpi span{color:var(--mut);font-size:.85rem}
.sc{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--bd);font-size:.95rem;vertical-align:top}th{color:var(--mut);font-weight:600}
.tag{display:inline-block;padding:1px 8px;border-radius:99px;font-size:.8rem;font-weight:600;color:#fff}
.g{background:var(--gel)}.b{background:var(--dn)}
.lg{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--mut);margin:6px 0}
.lg i{display:inline-block;width:14px;height:4px;vertical-align:middle;margin-right:5px}
svg{width:100%;height:auto;display:block}svg text{fill:var(--fg);font:600 11px var(--ff),sans-serif}
.ex li{margin-bottom:8px}.ex{padding-left:20px;max-width:75ch}
.warn{border-left:4px solid var(--up);padding:6px 12px;background:var(--bg);margin:8px 0}
.ok{border-left:4px solid var(--dn);padding:6px 12px;background:var(--bg);margin:8px 0}
.hide{display:none!important}
#prm{border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--fg);max-width:560px;width:calc(100% - 32px);padding:18px}#prm::backdrop{background:rgba(0,0,0,.5)}
.plink{color:var(--pri);cursor:pointer;text-decoration:underline dotted}
main[data-ui="easy"] .adv,main[data-ui="adv"] .ez{display:none!important}
main[data-ui="easy"] .noez{display:none}
.uisw{display:inline-flex;border:1px solid var(--bd);border-radius:10px;overflow:hidden;margin:0 0 12px;background:var(--card)}
.uisw button{background:none;color:var(--mut);margin:0;border-radius:0;padding:7px 14px;font-size:.95rem}
.uisw button[aria-pressed="true"]{background:var(--pri);color:var(--onp)}
main[data-ui="easy"]:not([data-sp="tri"]) #b_l_vs,main[data-ui="easy"]:not([data-sp="tri"]) #m_l_vt,main[data-ui="easy"]:not([data-sp="tri"]) #r_l_vp,main[data-ui="easy"]:not([data-sp="tri"]) .info .chips,main[data-ui="easy"]:not([data-sp="tri"]) .info small{display:none!important}
#ez_chart svg{touch-action:manipulation}.ez-sel{margin:6px 0 14px}
.ez-hero{border-width:2px}.ez-tab td{font-size:1.08rem;padding:10px}.ez-tab .tag{font-size:.95rem;padding:2px 10px}
.ezmsg{text-align:center;color:var(--mut);padding:26px}
details.ezd>summary{font-weight:600;color:var(--pri)}
.chk{display:flex;gap:10px;align-items:flex-start;color:var(--fg);margin-top:12px;font-size:.95rem}.chk input{width:auto;margin:3px 0 0}
.info{margin-top:14px;padding:12px 14px;border-left:4px solid var(--up);background:var(--bg);border-radius:6px}
.info .k{font:700 1.3rem var(--ffd),sans-serif}.info small{display:block;color:var(--mut);margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{background:var(--card);color:var(--fg);border:1px solid var(--bd);margin:0;padding:3px 11px;font:500 .9rem var(--ff),sans-serif;border-radius:99px}
.chip:hover{border-color:var(--pri)}
.seg{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:4px;max-width:680px;margin:0 0 14px}
.seg i{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/4);background:var(--pri);border-radius:9px;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.seg[data-s="mtb"] i{transform:translateX(100%)}.seg[data-s="run"] i{transform:translateX(200%)}.seg[data-s="tri"] i{transform:translateX(300%)}
.seg button{text-align:center;position:relative;z-index:1;background:none;color:var(--mut);margin:0;padding:10px 4px;font-size:.98rem;transition:color .2s}
.seg button[aria-pressed="true"]{color:var(--onp)}
.leg{display:none}.box[data-mode="bike"] #leg_b,.box[data-mode="mtb"] #leg_m,.box[data-mode="run"] #leg_r,.box[data-mode="tri"] #leg_b,.box[data-mode="tri"] #leg_r{display:block}
.box:not([data-mode="tri"]) .tri,.box:not([data-mode="tri"]) .lh{display:none}
.leg{margin-top:16px;padding-top:14px;border-top:1px solid var(--bd)}
@keyframes sw{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.box.sw .leg{animation:sw .3s ease-out}
@media(prefers-reduced-motion:reduce){.seg i,.seg button{transition:none}.box.sw .leg{animation:none}}
.cmp td:first-child{color:var(--mut)}
#bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:-6px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--bd)}
#bar .brand{font:700 1.25rem var(--ffd),sans-serif}#bar nav{display:flex;flex-wrap:wrap;gap:6px}
.nv{background:none;color:var(--fg);border:1px solid var(--bd);margin:0;padding:6px 12px;font-size:.95rem}.nv.on{background:var(--pri);color:var(--onp);border-color:var(--pri)}
.adm-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 14px}.adm-k{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px}.adm-k b{display:block;font:700 1.7rem var(--ffd),sans-serif;line-height:1.1}.adm-k span{color:var(--mut);font-size:.88rem}.adm-k small{display:block;color:var(--mut);margin-top:2px}
.adm-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:0 0 14px}.adm-g .box{margin:0;min-width:0}.adm-g h3{margin:0 0 8px;font-size:1rem}
.hb{display:grid;grid-template-columns:minmax(70px,auto) 1fr auto;gap:4px 10px;align-items:center;font-size:.93rem}.hb i{display:block;height:10px;border-radius:0 5px 5px 0;background:var(--pri);min-width:2px}.hb em{font-style:normal;font-variant-numeric:tabular-nums}
#adm_dash table,#adm_prods table,#au_out table,#apl_out table{min-width:0}#au_out td,#au_out th,#apl_out td,#apl_out th{padding:6px 5px;font-size:.82rem;vertical-align:top}#au_out select{width:auto;max-width:100%;padding:4px;font-size:.82rem;margin:0}#au_out button.sm{padding:4px 8px}#adm_dash td,#adm_dash th{padding:7px 8px;font-size:.95rem}#adm_dash td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.adm-pane svg{width:100%;height:auto;display:block}.adm-pane details{margin-top:8px}.pager{display:flex;gap:8px;align-items:center;margin:10px 0}
@media(max-width:700px){.adm-g{grid-template-columns:minmax(0,1fr)}.adm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
:root{--z1:#cfd3f0;--z2:#a9afe3;--z3:#b58ad6;--z4:#e0578f;--z5:#b3125a;--zi:#101230}
.wk-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}.wk-top input{flex:1 1 240px;margin:0;font-weight:600}
.seg2{display:inline-grid;grid-auto-flow:column;gap:0;border:1px solid var(--bd);border-radius:999px;padding:3px;background:var(--card)}.seg2 button{margin:0;padding:7px 14px;background:none;color:var(--mut);border-radius:999px;font-size:1rem}.seg2 button[aria-pressed="true"]{background:var(--pri);color:var(--onp)}
.wk-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 12px}.wk-row label{margin:0;min-width:180px;flex:1 1 180px;max-width:300px}
.pal{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.pal b{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;border:1px solid var(--bd);background:var(--card);border-radius:10px;padding:8px 12px;font:600 .95rem var(--ff),sans-serif;display:inline-flex;align-items:center;gap:7px}.pal b i{width:12px;height:12px;border-radius:3px;display:inline-block}.pal b:hover{border-color:var(--pri)}
.wk-tl-box{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:10px 10px 4px}
#wk_tl{position:relative;overflow-x:auto;overflow-y:hidden;touch-action:pan-x}#wk_in{position:relative;min-width:100%}#wk_bars{position:relative;height:200px;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,var(--bd) 39px,var(--bd) 40px)}
#wk_tl.over{outline:2px dashed var(--pri);outline-offset:-2px;border-radius:10px}
.wb{position:absolute;bottom:0;box-sizing:border-box;border-radius:6px 6px 0 0;border:1px solid rgba(16,18,48,.28);border-bottom:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;color:var(--zi);font:600 .72rem var(--ff),sans-serif;line-height:1.15;padding:4px 5px}
.wb.sel{outline:3px solid var(--fg);outline-offset:1px;z-index:2}.wb.z5{color:#fff}.wb small{display:block;font-weight:500;opacity:.85}
.wb .wbt{position:absolute;left:0;right:0;top:0;height:9px;cursor:ns-resize}.wb .wbr{position:absolute;top:0;bottom:0;right:0;width:9px;cursor:ew-resize}.wb .wbr:after{content:"";position:absolute;right:2px;top:50%;height:22px;width:3px;margin-top:-11px;border-radius:2px;background:rgba(16,18,48,.45)}.wb.z5 .wbr:after{background:rgba(255,255,255,.7)}
.wb.ws{background:var(--card);padding:0}.wb.ws .sb{position:absolute;bottom:0;border-radius:3px 3px 0 0;border:1px solid rgba(16,18,48,.25);border-bottom:0}.wb.ws .wl{position:absolute;left:4px;top:3px;z-index:1;color:var(--fg);background:var(--card);border-radius:4px;padding:0 3px}
.z1{background:var(--z1)}.z2{background:var(--z2)}.z3{background:var(--z3)}.z4{background:var(--z4)}.z5{background:var(--z5)}
#wk_ind{position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;background:var(--pri);border-radius:2px;z-index:5;pointer-events:none}
#wk_ax{position:relative;height:22px;font-size:.75rem;color:var(--mut)}#wk_ax span{position:absolute;top:3px;transform:translateX(-50%)}
.wk-hint{margin:8px 0 12px;font-size:.9rem}
.wk-insp{margin:0 0 14px;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.wk-insp label{margin:0;flex:0 1 150px;min-width:110px}.wk-insp .st{display:flex;gap:6px;align-items:center}.wk-insp .st button{margin:0;padding:8px 12px}.wk-insp input{margin:0;text-align:center}.wk-insp .live{font:700 1.25rem var(--ffd),sans-serif;align-self:center}
.ser{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:14px}.ser-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px}.ser-f{font:800 1.7rem var(--ffd),sans-serif}.ser-sum{font-size:.95rem;color:var(--mut)}
.ser-q{max-width:380px;flex:none!important}.ser-q input{text-align:left!important}.ser-q small{display:block;margin-top:4px}
.ser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.ser-c{border:1px solid var(--bd);border-top:5px solid var(--bd);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--card)}.ser-c h4{margin:0;font-size:1rem}
.ser-c.cnt{border-top-color:var(--pri)}.ser-c.on{border-top-color:var(--z5)}.ser-c.off{border-top-color:var(--z1)}.ser-c.rest{border-top-color:var(--z2)}
.wk-insp .ser-c label{flex:none;width:100%}.ser-c .live{font-size:1.05rem!important}.ser .chips{display:flex;flex-wrap:wrap;gap:6px}.ser .sch{margin:0;padding:5px 11px;font-size:.88rem;border-radius:999px}.ser .sch[aria-pressed=true]{background:var(--pri);color:#fff;border-color:var(--pri)}.ser-btns{display:flex;gap:10px}
.av{font-size:.7rem;line-height:1.2;font-weight:700;padding:1px 6px;border-radius:999px;background:rgba(46,160,90,.18);color:var(--fg);align-self:flex-start;white-space:nowrap}.av.no{background:rgba(120,130,150,.22);color:var(--mut)}.av.over{background:rgba(192,57,43,.2);box-shadow:inset 0 0 0 1px rgba(192,57,43,.55)}
.avl{margin:0 0 8px;font-size:.95rem}.avl.over{color:var(--dn,#c0392b)}.av-nav{display:flex;align-items:center;gap:10px;margin:4px 0 10px}.av-nav b{flex:1;text-align:center}
#av_dlg{width:min(680px,96vw)}.avr{padding:10px 0;border-top:1px solid var(--bd);display:flex;flex-direction:column;gap:8px}.avh{display:flex;gap:10px;align-items:baseline}.avr .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.avr .sch{margin:0;padding:6px 12px;font-size:.9rem;border-radius:999px}.avr .sch[aria-pressed=true]{background:var(--pri);color:#fff;border-color:var(--pri)}.avr .sch:disabled{opacity:.45}.avr .avn{margin:0;flex:1 1 200px;min-width:0}
.pr{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-top:1px solid var(--bd)}.pr span{color:var(--mut)}.pr b{text-align:right}.wk-fbrow{display:block}#wk_fbimg{display:none}@media(min-width:900px){.wk-fbrow{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0 22px;align-items:start}#wk_fbimg:not(:empty){display:block;position:sticky;top:14px;margin-top:46px}#wk_fbimg img{display:block;width:100%;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.25);cursor:pointer}#wk_fbimg small{display:block;text-align:center;margin-top:8px}.wk-hero .th{display:none}}.zch{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.ser .zc{margin:0;padding:5px 9px;min-height:0;width:auto;flex:none;border-radius:999px;font-weight:700;font-size:.85rem;border:2px solid transparent;color:#0b1530}.ser .lad-i input{color:var(--fg)!important;width:62px;min-height:0;height:auto;padding:4px 2px!important;border:0!important;background:transparent!important;box-shadow:none}.ser .lad-i button{min-height:0;width:auto;padding:2px 8px}.ser .lad-t{min-height:0;padding:6px 12px;font-size:.88rem;border-radius:999px;width:auto}.zc1{background:var(--z1)}.zc2{background:var(--z1)}.zc3{background:var(--z2)}.zc4{background:var(--z3)}.zc5{background:var(--z4);color:#fff}.zc6{background:var(--z5);color:#fff}.zc7{background:#6d0a37;color:#fff}.ser .zc[aria-pressed=true]{outline:2px solid var(--fg);outline-offset:2px}.ser .zc.zc5,.ser .zc.zc6,.ser .zc.zc7{color:#fff}.lad-r{display:grid;grid-template-columns:12px minmax(56px,1fr) 58px auto 20px;align-items:center;gap:4px;border:1px solid var(--bd);border-left:5px solid var(--z1);border-radius:12px;padding:4px 4px 4px 3px;max-width:100%;box-sizing:border-box}
.lr1{border-left-color:var(--z1)}.lr2{border-left-color:var(--z1)}.lr3{border-left-color:var(--z2)}.lr4{border-left-color:var(--z3)}.lr5{border-left-color:var(--z4)}.lr6{border-left-color:var(--z5)}.lr7{border-left-color:#6d0a37}
.lad-r>b{font-size:.75rem;color:var(--mut);width:14px;text-align:center}.lad-r em{font-style:normal;font-weight:600}.lad-z{color:var(--mut);font-size:.8rem}
.ser .lad-r input,.ser .lad-r select{color:var(--fg);background:transparent;border:1px solid var(--bd);border-radius:8px;min-height:0;height:auto;padding:5px 6px;margin:0;font:inherit;font-weight:600}
.ser .lad-r input.ld{width:100%!important;min-width:0;max-width:none;box-sizing:border-box;padding:5px 2px;text-align:center}.ser .lad-r select{width:58px!important;min-width:0;padding:5px 2px}.lad-r button{justify-self:end;padding:2px 0!important}.ser .lad-r select{width:auto}.ser .lad-r .lp{display:inline-flex;flex-direction:row;align-items:center;gap:2px;margin:0;padding:0}.ser .lad-r .lp input{width:42px!important;min-width:0;box-sizing:border-box;padding:5px 3px;text-align:right}.ser .lad-r .lp span{color:var(--mut);font-size:.8rem}
.lad-r button{background:transparent;border:0;color:var(--mut);padding:2px 6px;min-height:0;height:auto;width:auto;margin:0;line-height:1}
.lad{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lad-i{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--bd);border-radius:999px;padding:2px 4px 2px 10px}.lad-i b{font-size:.75rem;color:var(--mut)}.lad-i em{font-style:normal;font-weight:600;padding:4px 2px}.lad-i input{color:var(--fg);width:58px;border:0;background:transparent;padding:4px 2px;text-align:center;font-weight:600}.lad-i button{margin:0;border:0;background:transparent;padding:2px 7px;font-size:1.05rem;line-height:1;color:var(--mut);box-shadow:none}.lad-t{align-self:flex-start;margin:6px 0 0}.mini{display:flex;align-items:flex-end;gap:1px;height:84px;margin:0 0 12px}.mini i{display:block;border-radius:3px 3px 0 0}.wk-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#1b1f4a,#2340f0);color:#fff;border:0;padding:14px 16px;overflow:hidden}.wk-hero .th{flex:none;width:64px;height:80px;border-radius:10px;background:rgba(255,255,255,.14);box-shadow:0 6px 18px rgba(0,0,0,.35);transform:rotate(-4deg);overflow:hidden;cursor:pointer}.wk-hero .th img{display:block;width:100%;height:100%;object-fit:cover}.wk-hero .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.wk-hero b{font:700 1.05rem var(--ffd),sans-serif}.wk-tools.wk-hero small{color:#dfe4ff;flex:none}.wk-hero .hb{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.vsw{margin:10px 0 0}.vsw .vis{background:var(--bg2,#eef0fb)!important;color:var(--fg)!important}.vis{display:flex;align-items:center;gap:10px;text-align:left;background:rgba(255,255,255,.14)!important;color:#fff!important;border:0!important;padding:8px 12px!important;border-radius:14px}.vis i{flex:none;width:38px;height:22px;border-radius:11px;background:rgba(255,255,255,.35);position:relative;transition:background .2s}.vis i:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.vis[aria-checked=true] i{background:#39d98a}.vis[aria-checked=true] i:after{transform:translateX(16px)}.vis span{display:flex;flex-direction:column}.vis b{font-size:.9rem}.vis small{font-size:.75rem;opacity:.8;margin:0}.wk-hero .hb .vis{flex:1 1 100%;margin-top:2px}.wk-tools.wk-hero button.gh{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}.wk-tools.wk-hero .hb button{margin-top:0}.wk-tools.wk-hero button{background:#fff;color:#1b1f4a;border:0;flex:none;margin-top:8px;align-self:flex-start;padding:9px 16px}.wk-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;margin:0 0 14px}.wk-tools button{margin:0;flex:1 1 150px;padding:10px 12px}.wk-tools small{color:var(--mut);flex:1 1 100%}.wk-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 6px}.wk-acts button,.wk-acts select,.wk-acts input{margin:0}.wk-acts select,.wk-acts input{max-width:210px}
/* ---- Accueil : tuiles + connexion (retournement) ---- */
.wlc{position:fixed;inset:0;z-index:900;overflow:hidden;background:radial-gradient(90% 60% at 80% 0%,rgba(255,61,134,.45),transparent 60%),linear-gradient(170deg,#2340f0 0%,#1b1f4a 100%);color:#fff;display:flex;justify-content:center}
.wlc.hide{display:none}
.wl-in{width:100%;max-width:460px;height:100%;perspective:1400px;-webkit-perspective:1400px}
.wl-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .65s cubic-bezier(.3,.7,.2,1)}
.wlc.flipped .wl-flip{transform:rotateY(180deg)}
.wl-face{position:absolute;inset:0;display:flex;flex-direction:column;box-sizing:border-box;padding:calc(env(safe-area-inset-top,0px) + 14px) 0 calc(env(safe-area-inset-bottom,0px) + 18px);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;transition:visibility 0s}
.wlc.flipped .wl-front{visibility:hidden;transition-delay:.3s}
.wl-back{transform:rotateY(180deg);-webkit-transform:rotateY(180deg);visibility:hidden;padding-left:24px;padding-right:24px;transition-delay:.3s}
.wlc.flipped .wl-back{visibility:visible;transition-delay:0s}
.wl-top{display:flex;align-items:center;justify-content:space-between;padding:0 20px;min-height:44px}
.wl-brand{display:flex;align-items:center;gap:10px;font:800 1.2rem var(--ffd),sans-serif;letter-spacing:-.02em}.wl-brand svg{width:34px;height:34px}
.wl-top .langsel{background-color:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3);height:38px}.wl-top .langsel option{color:#111}
.wl-car{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-top:12px;min-height:240px}
.wl-car::-webkit-scrollbar{display:none}
.wl-s{flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;justify-content:center;padding:8px 28px;box-sizing:border-box}
.wl-s svg{width:100%;max-height:34vh;margin-bottom:26px}
.wl-s h2{margin:0 0 10px;font:800 clamp(1.9rem,8vw,2.4rem)/1.05 var(--ffd),sans-serif;letter-spacing:-.03em;color:#fff}
.wl-s p{margin:0;font-size:1.08rem;line-height:1.45;color:rgba(255,255,255,.88);max-width:30ch}
.wl-dots{display:flex;justify-content:center;gap:8px;padding:14px 0}
.wl-dots i{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.4);transition:width .25s,background .25s;cursor:pointer}.wl-dots i.on{width:26px;background:#fff}
.wl-cta{display:flex;flex-direction:column;gap:10px;padding:0 20px}
.wl-b1,#au_go{margin:0;width:100%;min-height:56px;border-radius:16px;font-size:1.08rem;font-weight:800;cursor:pointer;background:#ff3d78;color:#fff;border:0;box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.fit-x{display:flex;flex-wrap:wrap;gap:8px}.fit-h{margin-top:8px;font-size:.92rem}.fit-h summary{cursor:pointer;font-weight:600}
.wl-blog{display:block;text-align:center;margin:12px 0 0;color:rgba(255,255,255,.78);font-size:.92rem;text-decoration:underline;text-underline-offset:3px}
.hp-blog{display:block;margin:10px 0 0;font-weight:600}
.wl-sw{margin:6px 0 0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 6px;text-align:center;color:rgba(255,255,255,.85);font-size:1rem}
.wl-sw button{margin:0;width:auto;min-height:44px;display:inline;background:none;border:0;padding:0 2px;color:#fff;font-size:1rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;box-shadow:none;cursor:pointer}
.wlc .jr-info{color:rgba(255,255,255,.6);font-size:.75rem;line-height:1.35;text-align:center;margin:6px 0 0}
.au-top{display:flex;align-items:center;justify-content:space-between;min-height:44px}
.au-back{margin:0;width:44px;height:44px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;box-shadow:none}
.au-chev{display:block;flex:none;box-sizing:border-box;width:12px;height:12px;min-width:12px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg);margin-left:4px;border-radius:2px}.au-logo{width:34px;height:34px}.au-back svg,#au_card .pweye svg{width:22px;height:22px;flex:none}
.au-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 0 8px}
#au_card h2{margin:0 0 6px;font:800 clamp(2rem,9vw,2.5rem)/1.05 var(--ffd),sans-serif;letter-spacing:-.03em;color:#fff}
#au_card .sub{margin:0 0 6px;color:rgba(255,255,255,.85);font-size:1.05rem}
#au_card label{display:block;margin-top:16px;font-size:.88rem;font-weight:700;color:rgba(255,255,255,.92)}
#au_card input{display:block;width:100%;height:56px;margin-top:6px;padding:0 16px;font-size:16px;border-radius:14px;box-sizing:border-box;background:#fff;color:#14162e;border:2px solid transparent;box-shadow:none}
#au_card input:focus{outline:0;border-color:#ff3d78}#au_card input::placeholder{color:#8b8fa8}
#au_card .pwrap{position:relative;display:flow-root}#au_card .pwrap input{padding-right:52px}
#au_card .pweye{position:absolute;right:4px;bottom:0;height:56px;width:48px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;color:#6b6f88;background:transparent;border:0;box-shadow:none;text-decoration:none}
#au_card .au-hint{margin:6px 2px 0;font-size:.82rem;color:rgba(255,255,255,.7)}
#au_card .au-roles{display:flex;gap:8px;margin-top:6px}
#au_card .au-role{flex:1;margin:0;height:48px;padding:0;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;border:2px solid rgba(255,255,255,.3);font-weight:700;font-size:1rem;cursor:pointer;box-shadow:none}
#au_card .au-role[aria-pressed=true]{background:#fff;color:#2340f0;border-color:#fff}
#au_go{margin-top:22px}#au_go[disabled]{opacity:.7}
#au_card .err{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff;color:#b3125a;font-weight:600;font-size:.92rem}#au_card .err:empty{display:none}
@media(min-width:700px){.wl-in{max-width:440px;height:min(720px,94vh);margin:auto}.wl-face{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:32px;padding-top:22px}.wl-back{padding-left:32px;padding-right:32px}}
@media(prefers-reduced-motion:reduce){.wl-dots i{transition:none}.wl-flip{transition:none}}
body.au-open{overflow:hidden}
.viewas{margin-top:14px;padding-top:12px;border-top:1px solid var(--bd)}.viewas .zwk{margin-left:0}.zwk{display:inline-flex;gap:6px;margin-left:auto}.zwk button{margin:0;white-space:nowrap}
.zgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:14px}.zbox{margin:0}.zsvg{width:100%;height:auto;display:block}
.zleg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:.78rem}.zleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.zleg small{color:var(--mut)}
.zk{display:inline-flex;align-items:center;gap:5px;margin-left:10px;font-size:.85rem}.zk i{display:inline-block;width:14px;height:10px;border-radius:2px}.zp{background:#3b82f6;opacity:.5;height:6px!important}.zr2{background:#3b82f6;height:11px!important}
.zset{margin-top:16px}.zset summary{cursor:pointer}.zsg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.zsk h4{margin:8px 0}
.zr{display:grid;grid-template-columns:34px 1fr 62px auto 70px;align-items:center;gap:6px;margin:4px 0;font-size:.9rem}.zr b{border-radius:999px;text-align:center;padding:3px 0;font-size:.78rem}
.zr input{width:62px!important;min-height:0!important;height:32px!important;padding:0 8px!important;margin:0;text-align:right;box-sizing:border-box}.zr .zv{text-align:right;padding-right:7px}.zh{font-size:.75rem}
.zsel{margin:0 0 14px}.zstrip{display:flex;gap:4px;align-items:flex-end}.zw{flex:1 1 0!important;min-width:0!important;width:auto!important;min-height:0!important;background:transparent;border:1px solid transparent;border-radius:10px;padding:4px 1px 2px!important;margin:0;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--fg)}.zw small{font-size:.66rem;color:var(--mut);white-space:nowrap}.zw.on{background:rgba(99,120,255,.16);border-color:var(--pri)}.zw.on small{color:var(--fg);font-weight:700}
.zwc{position:relative;display:block;width:100%;height:58px}.zwc i{position:absolute;bottom:0;border-radius:3px 3px 0 0}.zwp{left:8%;width:40%;background:var(--mut);opacity:.35}.zwr{left:52%;width:42%;background:var(--pri)}.zwall{flex:0 0 44px!important;margin-right:6px!important}.zwall .zwc{display:flex;align-items:center;justify-content:center}.zwall .zwc:before{content:'Σ';font-size:1.2rem;font-weight:700}.zstrip{overflow:hidden}
.zhead{display:flex;gap:22px;margin:6px 0 4px}.zhead>div{display:flex;flex-direction:column}.zhead b{font-size:1.25rem}.zgrp{margin:2px 0 10px;font-size:.82rem}
.zxrs{display:flex;flex-direction:column;gap:7px}.zxr{display:grid;grid-template-columns:36px 74px minmax(0,1fr) 150px;align-items:center;gap:8px;font-size:.85rem}.zxr.zero{opacity:.4}.zq{display:block;border-radius:999px;text-align:center;padding:3px 0;font-size:.78rem;font-weight:700;line-height:1.2;overflow:visible}.zrg{color:var(--mut);font-size:.78rem}
.zbars{position:relative;height:18px;display:flex;flex-direction:column;justify-content:center;gap:2px}.zbars i{display:block;border-radius:3px;min-width:2px}.zbp{height:5px;opacity:.4}.zbr{height:10px}.zv2{white-space:nowrap;text-align:right}.zd{font-style:normal;font-size:.75rem;margin-left:6px;font-weight:700}.zd.zgd{color:var(--dn)}.zd.zbad{color:var(--up)}
@media(max-width:520px){.zbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.zbar select{margin:0;max-width:260px;width:auto}@media(max-width:520px){.zbar select{flex:1 1 100%;width:100%;max-width:none}}.zwk{margin-left:0;width:100%}.zwk button{flex:1;padding:8px 6px!important;min-height:0!important}.zwc{height:46px}.zhead{gap:16px}.zxr{grid-template-columns:34px minmax(0,1fr) 128px}.zrg{display:none}}
.ser .lad{flex-direction:column;align-items:stretch;flex-wrap:nowrap}.ser .lad>.sch{align-self:flex-start}
.ghost{position:fixed;z-index:80;pointer-events:none;transform:translate(-50%,-60%);background:var(--card);color:var(--fg);border:2px solid var(--pri);border-radius:10px;padding:7px 12px;font:600 .95rem var(--ff),sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.3);max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dragging{user-select:none;-webkit-user-select:none;cursor:grabbing}body.dragging *{cursor:grabbing!important}
.nut-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}.nut-g label{margin:0}.nut-g input[type=range]{padding:0;margin:6px 0 0}.nut-g .big{font:700 1.3rem var(--ffd),sans-serif}
.vd{display:inline-block;border-radius:999px;padding:3px 12px;font-weight:700;font-size:.9rem}.vd.ok{background:#d9f3ea;color:#0b5a49}.vd.warn{background:#fdeccc;color:#7a4a00}.vd.bad{background:#fbd9e4;color:#8f1346}
.co-wk{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cal-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.cal-bar select,.cal-bar button{margin:0}.cal-bar select{max-width:260px}#wk_out table{min-width:0}#wk_out td,#wk_out th{padding:6px 6px;font-size:.92rem}@media(pointer:coarse){#v_wk .sm,#v_coach .sm,#v_coach .chip .row button{padding:10px 14px;min-height:40px}.wk-top .sec{min-height:40px}}.cal-bar b{font:700 1.1rem var(--ffd),sans-serif;min-width:150px;text-align:center}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cal .day{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:8px;min-height:130px;display:flex;flex-direction:column;gap:6px}.cal .day h4{margin:0;font:600 .85rem var(--ff),sans-serif;color:var(--mut);text-transform:capitalize}.cal .day.today{border-color:var(--pri)}.cal .day.over{outline:2px dashed var(--pri);outline-offset:-2px}
.cal .add{margin:auto 0 0;background:none;color:var(--mut);border:1px dashed var(--bd);padding:4px;font-size:.9rem}
.chip{border:1px solid var(--bd);border-left:4px solid var(--pri);border-radius:8px;padding:6px 8px;background:var(--bg);cursor:pointer;font-size:.88rem;min-width:0}.chip b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip small{color:var(--mut);display:block}.chip svg{display:block;width:100%;height:22px;margin-top:3px}

.wk-who{margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid var(--bd);background:var(--card);font-size:.95rem;line-height:1.4}.wk-who b{display:inline}.wk-who.lk{border-color:var(--pri)}.stb.cb{border-color:var(--pri);color:var(--pri);font-weight:700}
.stb{display:inline-block;font-size:.76rem;line-height:1.5;padding:0 8px;border-radius:99px;margin:2px 0;border:1px solid var(--bd);color:var(--fg);background:var(--card)}.stb.ok{border-color:#0f9d8a}.stb.ko{border-color:var(--mut);color:var(--mut)}.stb.no{border-style:dashed;color:var(--mut)}
.chip.act{border-left-color:var(--mut);border-style:dashed;border-left-style:solid}.wsum{margin:0 0 10px}
.fb .lab{margin:12px 0 6px;font-weight:600}.faces{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:460px}.faces button{margin:0;background:var(--card);color:var(--fg);border:1.5px solid var(--bd);padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:64px;font-weight:500}.faces button span{font-size:1.7rem;line-height:1}.faces button small{font-size:.72rem;color:var(--mut)}.faces button[aria-pressed=true]{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri) inset}
.fb textarea{width:100%;max-width:560px;display:block;box-sizing:border-box;margin-top:4px;font:inherit}.fbq{margin:0;padding:6px 12px;border-left:3px solid var(--pri);color:var(--fg);font-style:italic}
.atabs{display:flex;gap:6px;border-bottom:1px solid var(--bd);margin:6px 0 14px;overflow-x:auto}.atabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 12px;font-weight:700;color:var(--mut);cursor:pointer;white-space:nowrap}.atabs button.on{color:var(--fg);border-bottom-color:var(--pri)}
.abig{text-align:center}.abig b{font-size:3.6rem;line-height:1;font-weight:800}.abig span{font-size:1.2rem;margin-left:6px;color:var(--mut)}.abr{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;margin:10px 0 16px}.abr b{display:block;font-size:1.25rem}.abr span{font-size:.82rem;color:var(--mut)}
.asg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.asc{padding:14px;margin:0}.asr>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--bd)}.asr>div.hi b{color:var(--pri)}.asr b{font-size:1.05rem}
.zrow{display:grid;grid-template-columns:28px minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--bd);font-size:.9rem}.zn small{display:block}.zb{height:12px;border-radius:6px;background:color-mix(in srgb,var(--fg) 7%,transparent);overflow:hidden}.zb i{display:block;height:100%;border-radius:6px}.zt{text-align:right;white-space:nowrap}
@media(max-width:520px){.atabs button{padding:10px 8px}.zrow{grid-template-columns:26px minmax(0,1fr) auto}.zb{grid-column:2/4;order:5}.abig b{font-size:3rem}}
.xt-r{display:grid;grid-template-columns:1fr 2fr;gap:6px;margin-bottom:6px}.xl{display:flex;flex-wrap:wrap;gap:8px}.xl a{padding:6px 10px;border:1px solid var(--bd);border-radius:999px;text-decoration:none;font-weight:600}
.st-ex{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 0;border-top:1px solid var(--bd)}.st-hd{display:none}
.st-no{font-weight:700;color:var(--mut);text-align:center}.st-ex input{margin:0;min-width:0;padding:8px 10px}.st-f i{display:block;font-style:normal;font-size:.72rem;color:var(--mut)}.st-ex .st-n{flex:1 1 90px;width:auto;min-width:0}.st-ex .st-ic{order:1;gap:4px}.st-nums{order:2;flex:1 1 100%;display:flex;gap:6px;padding-left:26px}.st-nums .st-f{flex:1 1 0;min-width:0}.st-no{width:20px}.st-f{margin:0}.st-ic{display:flex;gap:4px}.st-ic .ic,.ic{margin:0;padding:0;width:32px;height:32px;min-width:0;min-height:0;font-size:.95rem;line-height:1;border-radius:9px;background:transparent;color:var(--fg);border:1px solid var(--bd);font-weight:700}.ic:disabled{opacity:.35}.ic[aria-pressed=true]{border-color:var(--pri);color:var(--pri)}.ic.dg{color:var(--dn)}
.st-more{order:3;flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-left:26px}.st-tpl{padding:10px 0}.st-ch{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}.st-ch .sm{margin:0}.st-add{margin-top:10px;padding-top:8px;border-top:1px solid var(--bd)}.st-xd{margin-top:10px}.st-xd summary{cursor:pointer;font-weight:600}
.st-foot{position:sticky;bottom:-22px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px -4px -22px;padding:10px 4px 22px;background:var(--card);border-top:1px solid var(--bd);z-index:2}.st-foot #st_sum{flex:1 1 140px}.st-foot button{margin:0}
@media(max-width:620px){.st-ic .ic{width:26px;height:26px}.st-nums,.st-more{padding-left:0}.st-ic{gap:3px}.st-foot{margin-left:-2px;margin-right:-2px}}
#vd_dlg{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:#0b0d1a;color:#fff}#vd_dlg::backdrop{background:#000}
#vd_body{display:flex;flex-direction:column;height:100dvh;padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:10px;box-sizing:border-box}.vd-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.vd-top b{font-size:1.2rem}.vd-top small{opacity:.8}.vd-top .ic{width:40px;height:40px;color:#fff;border-color:#ffffff55;font-size:1.1rem}
.vd-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.vd-stage iframe{width:100%;max-width:min(100%,calc((100dvh - 190px)*16/9));aspect-ratio:16/9;border:0;border-radius:12px;background:#000}.vd-nov{text-align:center}.vd-nov .btn{display:inline-block;padding:12px 18px;border-radius:12px;background:var(--pri);color:#fff;font-weight:700;text-decoration:none}
.vd-note{margin:0;text-align:center;opacity:.9}.vd-nav{display:flex;justify-content:space-between;align-items:center;gap:10px}.vd-nav button{margin:0;min-width:120px}#vd_dlg .vd-nav .sec{color:#fff;border-color:#ffffff55;background:transparent}
.vb{margin:0;width:38px;height:38px;min-width:0;min-height:0;padding:0;border-radius:50%;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center}
.qa{margin-top:10px;padding-top:8px;border-top:1px solid var(--bd)}.qa-l{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.qa-l .sm{margin:0}.qa-b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wl-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.wl-c{border:1px solid var(--bd);border-radius:12px;padding:10px;display:grid;gap:2px}.wl-c b{font-size:1.3rem}.wl-c svg{margin-top:4px;max-width:100%}
.wl-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.wl-f input,.wl-f select{margin:0;width:100%}
@media(max-width:520px){.xt-r{grid-template-columns:1fr}}
.cmp-c{margin-top:10px}.cmp-c svg{width:100%;height:auto;display:block;touch-action:pan-y;cursor:crosshair}.cmp-c .tip{min-height:1.3em;font-size:.88rem}.cmp-t td:nth-child(n+2),.cmp-t th:nth-child(n+2){text-align:right}.cmp-t{min-width:0;width:100%}.cmp-t td,.cmp-t th{padding:6px 4px;font-size:.88rem}.cmp-t td:nth-child(n+2),.cmp-t th:nth-child(n+2){white-space:nowrap}.sc:has(.cmp-t){overflow-x:visible}
.lgd{display:flex;gap:16px;font-size:.85rem;color:var(--mut);margin-top:8px}.lgd i{display:inline-block;width:14px;height:8px;border-radius:2px;margin-right:6px}
.imph{margin-top:10px;font-size:.9rem}.imph summary{cursor:pointer;color:var(--mut)}.imph ul{margin:6px 0 0;padding-left:20px}#act_dlg{width:min(720px,94vw)}#imp{width:min(520px,94vw)}#imp label,#imp input,#imp select{max-width:none}
.newb{display:inline-block;font-size:.7rem;font-weight:700;line-height:1.5;padding:0 7px;border-radius:99px;background:var(--pri);color:var(--onp);margin-right:4px;vertical-align:middle}
.pokb{border-radius:999px}.pokb.ok,button.sec.pokb.ok{background:#1f9d55;border-color:#1f9d55;color:#fff!important;font-weight:600}.ovc.pok{border-left:4px solid #1f9d55}.ovc.pun{border-left:4px solid var(--up)}.pokb.un,button.sec.pokb.un{background:var(--up);border-color:var(--up);color:#1b1f4a!important;font-weight:600}.pokb[disabled]{opacity:1;cursor:default}.ovc .pokb{align-self:flex-start}.pill.pokp{background:rgba(31,157,85,.14);color:#1f9d55;border-color:rgba(31,157,85,.4)}.pokb.old,button.sec.pokb.old{border-color:var(--up);color:var(--up)}:root[data-theme="dark"] button.sec.pokb.ok{background:#2fbf6c;border-color:#2fbf6c;color:#08210f!important}.ovsum{margin:0 0 12px}.ovg{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.ovc{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ovc.hasnew{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri) inset}.ovc:focus-visible{outline:2px solid var(--pri);outline-offset:2px}.ovh{display:flex;gap:8px;align-items:center;font-size:1.05rem}.ovc button{margin:0}.pills{display:flex;flex-wrap:wrap;gap:6px}.pill{font-size:.82rem;padding:2px 10px;border-radius:99px;border:1px solid var(--bd);background:var(--bg)}.pill.warn{border-color:#d98e04;background:rgba(217,142,4,.12)}.pill.new{border-color:var(--pri);font-weight:600}.pill.ok{color:var(--mut)}
.newsbox{margin:0 0 12px;border-color:var(--pri)}.newsbox ul{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.newsbox li button{margin:0 6px 0 0}
.goalbar{background:var(--card);border:1px solid var(--pri);border-radius:10px;padding:8px 12px;margin:0 0 10px;cursor:pointer}.goalbar:focus-visible,.chip.goal:focus-visible{outline:2px solid var(--pri);outline-offset:2px}.chip.goal{border-left-color:var(--up);background:var(--card)}.calt{margin:0 0 10px}.calt button{margin:0}
#pwa_bar{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;gap:10px;background:var(--hero);color:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 6px 24px rgba(0,0,0,.3);font-size:.95rem}#pwa_bar span{flex:1}#pwa_bar button{margin:0;padding:7px 14px}#pwa_bar .sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);padding:7px 10px}@media(min-width:900px){#pwa_bar{display:none!important}}#goal_dlg{width:min(560px,94vw)}.athp{margin:0 0 26px}.athp-h{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin:0 0 10px}#goal_dlg h3{margin-bottom:6px}#goal_dlg label{margin-top:8px}#goal_dlg .fmt{margin:0}#goal_dlg .fl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 0}#goal_dlg .fl>i{font-style:normal;width:20px;text-align:center}#goal_dlg .fmt button{padding:5px 11px}#goal_tt{margin-top:10px}.gtl{display:block;font-size:.9rem;color:var(--mut);margin-bottom:4px}.gtr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}#goal_tt .hm input{width:64px}#goal_tt .fmt button{padding:4px 9px;font-size:.85rem}#goal_tri .tri-r{margin:4px 0 6px}#goal_dlg .wk-acts{margin-top:12px}#goal_dlg .wk-row{flex-wrap:nowrap;gap:10px;margin:0}#goal_dlg .wk-row>label{flex:1 1 0;min-width:0}@media(max-width:480px){#goal_dlg .fl{gap:4px}#goal_dlg .fmt button{padding:5px 8px;font-size:.88rem}#goal_dlg .fl>i{width:16px}}#goal_dlg label,#goal_dlg input,#goal_dlg select{max-width:none}.hm{display:flex;gap:6px;align-items:center}.hm input{width:72px}.fmt{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.fmt button{margin:0;padding:6px 12px;min-height:36px;font-size:.9rem}#goal_tri .tri-r{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 10px}#goal_tri .tri-r input{width:100%;box-sizing:border-box}@media(max-width:520px){#goal_tri .tri-r{grid-template-columns:1fr 1fr}}#goal_dlg .fmt button.sec[aria-pressed="true"]{background:var(--pri);color:var(--onp);border-color:var(--pri)}#goal_dlg .fmt button{min-height:34px;padding:5px 11px}
.chat{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.msg{max-width:86%;display:flex;flex-direction:column;gap:2px}.msg.me{align-self:flex-end;align-items:flex-end}.msg.ot{align-self:flex-start}.mb{padding:8px 12px;border-radius:14px;background:var(--bg);border:1px solid var(--bd);overflow-wrap:anywhere}.msg.me .mb{background:var(--pri);border-color:var(--pri);color:var(--onp)}.chat-in{display:flex;gap:8px;align-items:flex-end}.chat-in textarea{flex:1;font:inherit;box-sizing:border-box;margin:0}.chat-in button{margin:0}
.stp{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0;max-width:460px}.stp output{display:inline-block;min-width:34px;text-align:center;font-weight:700;padding:8px 0}
.rsec ul{margin:0;padding-left:20px;display:grid;gap:6px}.rsec{margin-top:10px}@media print{#wk_acts,.wk-top button,#wk_back,#wk_rcfg input,#wk_rcfg select{display:none!important}}
.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.lib .chip{border-left-width:1px;padding:8px 10px}.lib .chip .row{display:flex;gap:6px;margin-top:6px}.lib .chip .row button{margin:0;padding:3px 9px;font-size:.82rem}
.inv{background:var(--card);border:2px solid var(--pri);border-radius:12px;padding:12px 14px;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.inv p{margin:0}.inv button{margin:0}
.nbadge{display:inline-block;min-width:18px;height:18px;line-height:18px;border-radius:9px;background:var(--pri);color:var(--onp);font-size:.72rem;text-align:center;padding:0 4px;margin-left:4px}
.ath{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:10px 0;border-top:1px solid var(--bd)}.ath:first-of-type{border-top:0}.ath .nm{flex:1 1 180px;min-width:150px}.ath label{margin:0;flex:0 1 96px;min-width:80px}.ath input{margin:0}.ath button{margin:0}
.z0{background:var(--fl)}
.mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 64px;gap:4px}.mgrid .mh{font-size:.78rem;color:var(--mut);text-align:center;padding:2px 0}
.mgrid .day{min-height:92px;padding:4px;gap:3px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--bd);min-width:0}.mgrid .day.off{opacity:.45}.mgrid .day.today{border-color:var(--pri);box-shadow:inset 0 0 0 1px var(--pri)}.mgrid .day.sel{background:color-mix(in srgb,var(--pri) 10%,var(--card))}
.mgrid .dn{font-size:.8rem;font-weight:600;color:var(--mut)}.mgrid .today .dn{color:var(--pri)}
.mgrid .mp{display:flex;align-items:center;gap:4px;padding:2px 5px;border-radius:7px;font-size:.78rem;min-width:0;border-left-width:1px;position:relative}.mgrid .mp i{flex:none;width:8px;height:8px;border-radius:50%}.mgrid .mp .mt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgrid .mp .g{display:inline;font-size:.72rem;margin-left:auto;color:var(--mut)}
.mgrid .mp.done .g{color:var(--dn)}.mgrid .mp.skip{opacity:.6;text-decoration:line-through}.mgrid .mp.nofb{border-style:dashed}
.mgrid .nd{position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--pri);border:2px solid var(--card);box-sizing:content-box}.mgrid .nd.m{background:var(--up);right:7px}
.mgrid .mg{font-size:.78rem;color:var(--pri);font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mgrid .more{color:var(--mut);font-size:.72rem}
.mgrid .mw{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:.8rem;line-height:1.2}.mgrid .mw small{color:var(--mut);font-size:.7rem}.mgrid .mw .sp{color:var(--mut);font-size:.68rem;margin-top:3px;white-space:nowrap}.wsp{color:var(--fg)}
#mday{margin-top:12px}.mdl{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
@media(max-width:640px){.mgrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.mgrid .mw .sp br{display:none}.mgrid .mw .sp{margin:0 0 0 6px;font-size:.78rem}.mgrid .mhw,.mgrid .mw small:not(.sp){display:none}.mgrid .mw{grid-column:1/-1;flex-direction:row;justify-content:flex-end;gap:8px;padding:0 4px 4px;font-size:.78rem;color:var(--mut)}.mgrid .mw:empty{display:none}.mgrid .mw b::before{content:"Semaine : ";font-weight:400}
 .mgrid .day{min-height:58px;padding:3px;align-items:center}.mgrid .day .mp{padding:0;border:0;background:none;width:auto;display:inline-flex}.mgrid .mp .mt,.mgrid .mp .g,.mgrid .mg .mt,.mgrid .more{display:none}.mgrid .mp i{width:10px;height:10px}.mgrid .day{flex-direction:row;flex-wrap:wrap;align-content:flex-start;justify-content:center;gap:3px}.mgrid .dn{flex:0 0 100%;text-align:center}.mgrid .mp.done i{box-shadow:0 0 0 2px var(--dn)}.mgrid .mp.skip i{opacity:.35}}
.fm .ffs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.ff b{display:block;font:700 2.3rem var(--ff),sans-serif;line-height:1}.ff span{color:var(--mut);font-size:.9rem}.fv{margin:12px 0 0}.fdot{display:inline-block;width:1.2em;text-align:center}.fdot.dn{color:var(--dn)}.fdot.up{color:var(--up)}.fdot.fl{color:var(--fl)}.fdot.gel{color:var(--gel)}
.fch{position:relative}.fch svg,.fbars{width:100%;height:auto;display:block;touch-action:pan-y}.ftip{position:absolute;top:0;pointer-events:none;background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:6px 9px;font-size:.82rem;display:flex;flex-direction:column;gap:2px;box-shadow:0 2px 8px #0002;z-index:2}
.fleg{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.85rem;margin:0 0 6px}.fleg .sw{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:5px;vertical-align:middle}.fleg .sw.ob{height:10px;width:10px;background:none;border:1.5px solid var(--gel);border-radius:3px}
.ftab{margin-top:8px}.ftab summary{cursor:pointer;color:var(--mut);font-size:.88rem}.fnotes p{margin:6px 0;font-size:.88rem;color:var(--mut);border-left:3px solid var(--bd);padding-left:10px}.fhow{font-size:.8rem}
.ovc .frm{display:flex;align-items:center;gap:8px;font-size:.82rem;margin:4px 0}.ovc .frm .spk{flex:none}
.inv.refused{border-color:var(--up)}.rfbox{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px;flex-basis:100%}.rfbox label{flex:1 1 260px;margin:0}.rfbox input{max-width:none;width:100%}.rfbox button{margin:0}.refusedn{margin:0 0 10px;padding:8px 10px;border-left:3px solid var(--up);background:var(--bg);border-radius:6px}.refusedn button{margin:0 0 0 6px}
.dirf{display:grid;gap:8px;margin-bottom:12px}.dirf input[type=search]{max-width:none;margin:0}.dsp{display:flex;flex-wrap:wrap;gap:6px}.chipf{margin:0;padding:6px 14px;border-radius:999px;background:var(--card);color:var(--fg);border:1px solid var(--bd);font-size:.92rem}.chipf[aria-pressed="true"]{background:var(--pri);color:var(--onp);border-color:var(--pri)}.dsel{display:flex;flex-wrap:wrap;gap:8px}.dsel select{margin:0;max-width:200px}
.aubox{border-color:var(--pri)}#au_box .cpg{margin:8px 0}#au_box label.chipf{cursor:pointer}.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.dcard{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}.dcard .dh{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dcard .dh b{font-size:1.05rem}.dacc{font-size:.82rem;color:var(--mut)}.dbio{margin:0;font-size:.92rem;overflow-wrap:anywhere}.dtags{display:flex;flex-wrap:wrap;gap:5px}.dft{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}.dft button{margin:0}.djoin textarea{width:100%;max-width:none}
#cp_box{margin-bottom:14px}.cpg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0}#cp_box fieldset{border:0;padding:0;margin:8px 0}#cp_box legend{font-weight:600;font-size:.9rem;padding:0;margin-bottom:4px}.chk{display:inline-flex;align-items:center;gap:6px;margin:0 14px 4px 0;font-weight:400}.chk input{width:auto;margin:0}#cp_box textarea{width:100%;max-width:none}
@media(max-width:900px){.cal{grid-template-columns:minmax(0,1fr)}.cal .day{min-height:0}}
@media(max-width:640px){.pal b{padding:9px 11px}#wk_bars{height:170px}.wk-acts select,.wk-acts input{max-width:none;flex:1 1 100%}.wk-top .seg2{width:100%;grid-auto-flow:unset;grid-template-columns:1fr 1fr}}
#nb_co,#nb_shop{position:relative}.nbadge{position:absolute;top:-4px;right:-4px;margin:0}
.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 14px}
.tab{background:none;color:var(--mut);border:1px solid var(--bd);margin:0;padding:6px 14px;font-size:1rem}.tab.on{background:var(--pri);color:var(--onp);border-color:var(--pri)}
.tabs input{max-width:260px;margin:0 0 0 auto}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.card h3{margin-bottom:6px}.card .muted{margin-bottom:4px}
.muted{color:var(--mut);font-size:.9rem}
button.sm{padding:5px 11px;font-size:.9rem;margin:10px 6px 0 0}
button:disabled{opacity:.45;cursor:not-allowed}
.shopg{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:6px 0 18px}.shopc{display:flex;flex-direction:column;gap:6px;position:relative}.shopc.feat{border-color:var(--pri);border-width:2px}.shopc.off{opacity:.65;border-style:dashed}
.shopc h3{margin:0}.shh{color:var(--mut)}.shh b{font:700 1.5rem var(--ffd),sans-serif;color:var(--fg)}.shp b{font:700 1.9rem var(--ffd),sans-serif}.shopc ul{margin:0;padding-left:18px;font-size:.95rem}.shopc .grow{flex:1}.shopc .wk-acts{margin:6px 0 0}
.qty{display:inline-flex;align-items:center;gap:6px}.qty button{margin:0;padding:2px 12px;font-size:1.1rem}.qty b{min-width:26px;text-align:center}.shopt td,.shopt th{vertical-align:middle}.so-row{display:grid;grid-template-columns:1fr 80px auto;gap:8px;align-items:center;margin:0 0 6px}.so-row select,.so-row input{margin:0;max-width:none}
.dx{position:sticky;top:0;float:right;z-index:3;margin:-4px -4px 0 10px;width:40px;height:40px;min-width:40px;border-radius:50%;padding:0;background:var(--card);border:1px solid var(--bd);color:var(--fg);font-size:1.15rem;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.shopart{margin:-20px -20px 6px;border-radius:16px 16px 0 0;overflow:hidden;position:relative;aspect-ratio:12/5;background:var(--bd)}.shopart svg{overflow:visible}.shopart svg,.shopart img{position:absolute;inset:0;width:100%;height:100%}.shopart img{object-fit:cover}
.cth{width:56px;height:42px;border-radius:8px;overflow:hidden;position:relative;flex:none}.cth svg,.cth img{position:absolute;inset:0;width:100%;height:100%}.cth img{object-fit:cover}.cl{display:flex;gap:10px;align-items:center}
.badge{display:inline-block;padding:1px 8px;border-radius:99px;font-size:.78rem;font-weight:600;border:1px solid var(--bd);color:var(--mut)}.badge.k{background:var(--pri);color:var(--onp);border-color:var(--pri)}
.box form label,.box>label{margin-top:10px}
.owner-h{margin:22px 0 8px}
.cmt{border-left:3px solid var(--bd);padding:4px 10px;margin:10px 0}.cmt.coach{border-color:var(--pri)}
textarea{width:100%;min-height:80px;margin-top:4px;padding:9px 10px;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--bd);border-radius:6px}
dialog{border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--fg);max-width:600px;width:calc(100% - 32px);padding:18px}
dialog::backdrop{background:rgba(0,0,0,.5)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:50;max-width:90%;font-weight:500}
#toast.bad{background:#c0392b;color:#fff}
#sheet{display:none}
@media print{
 :root,:root:not([data-theme="light"]),:root[data-theme="dark"]{--bg:#fff;--fg:#000;--card:#fff;--bd:#888;--mut:#333;--gel:#1f4fd8}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body{background:#fff}main{max-width:none;padding:0}
 main>*:not(#sheet){display:none!important}
 #sheet{display:block}
 .sh{break-inside:avoid;page-break-inside:avoid;margin-bottom:14px}
 .sh h2{margin-top:0}.sh table{min-width:0}.sh td,.sh th{padding:4px 8px;font-size:13pt}
 @page{margin:10mm}
}

/* ===== v2 : refonte visuelle ===== */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-x:none}
body{overflow-x:clip;width:100%;max-width:100vw;position:relative}
input,select,textarea{font-size:max(16px,1em)}
main,section,.box,.grid,label{min-width:0}
.grid>*{min-width:0}
img,svg,canvas{max-width:100%}
@media(max-width:1023px){#bar nav{width:100%;max-width:100vw}}
body{font-size:16.5px;-webkit-font-smoothing:antialiased}
h1{font-size:clamp(2rem,6.2vw,3.1rem);letter-spacing:-.02em;font-weight:700}
h2{font-size:1.45rem;letter-spacing:-.01em}
.box{border-radius:16px;border-color:var(--bd);padding:20px}
input,select{border-radius:10px;padding:11px 12px;background:var(--card)}
input:hover,select:hover{border-color:var(--mut)}
button{border-radius:999px;padding:13px 26px;transition:transform .12s,opacity .12s}
button:active:not(:disabled){transform:scale(.97)}
button.sec{border-radius:999px;color:var(--fg);border-color:var(--bd);background:var(--card)}
button.sec:hover{border-color:var(--pri);color:var(--pri)}
.hide{display:none!important}
/* barre du haut */
#bar{position:sticky;top:0;z-index:20;margin:-14px -16px 20px;padding:10px 16px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--bd)}
#bar .brand{display:flex;align-items:center;gap:9px;font-size:1.3rem;letter-spacing:-.01em}
#bar .brand svg{width:30px;height:30px;flex:none}
.nv{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;padding:8px 14px;font:600 .95rem var(--ff),sans-serif;color:var(--mut);background:none}
.wm{display:none}
.nv svg{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nv:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 7%,transparent)}
.nv.on{background:var(--fg);color:var(--bg)}
/* accueil / connexion */
.auth-wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;min-height:62vh}
.auth-pitch h1{margin:0 0 14px}.auth-pitch p{font-size:1.15rem;color:var(--mut);max-width:34ch;margin:0 0 22px}
.ridge{width:100%;max-width:460px;height:auto}
.ridge .l{fill:none;stroke:var(--fg);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.ridge .a{fill:color-mix(in srgb,var(--fg) 8%,transparent)}.ridge .p{fill:var(--gel)}.ridge .s{stroke:var(--gel);stroke-width:2}
.auth-form{padding:26px}.auth-form h2{margin:0 0 4px;font-size:1.7rem}.auth-form .sub{margin:0 0 6px}
.auth-form button[type=submit]{width:100%;margin-top:18px}
.auth-form .lnk{display:block;margin:14px auto 0;font-size:.95rem}
@media(max-width:760px){.auth-wrap{grid-template-columns:1fr;gap:18px;min-height:0}.ridge{max-width:300px}.auth-pitch p{margin-bottom:12px}}
/* nouveau plan */
.hero{margin:6px 0 18px}.hero h1{margin:0 0 6px;font-size:clamp(1.6rem,5vw,2.3rem)}
.hero p{margin:0;color:var(--mut);font-size:1rem;max-width:52ch}
.ctrls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.ctrls .uisw{margin:0}.ctrls #prm_btn{margin:0!important}
.uisw{border-radius:999px;padding:3px;border:1px solid var(--bd)}.uisw button{border-radius:999px;padding:7px 15px;margin:0}
.seg{max-width:none;border-radius:999px;padding:4px}.seg i{border-radius:999px}.seg button{padding:11px 4px;font-size:1rem}
.leg{border-top:0;padding-top:0;margin-top:0}.box[data-mode="tri"] .leg+.leg{border-top:1px solid var(--bd);margin-top:18px;padding-top:16px}
input[type=file]{padding:26px 16px;border:2px dashed color-mix(in srgb,var(--pri) 55%,var(--bd));background:color-mix(in srgb,var(--pri) 5%,var(--card));cursor:pointer;text-align:center;color:var(--mut)}
input[type=file]:hover{border-color:var(--pri)}
input[type=file]::file-selector-button{background:var(--pri);color:var(--onp);border:0;border-radius:999px;padding:9px 18px;margin-right:12px;font:600 1rem var(--ffd),sans-serif;cursor:pointer}
.langsel{width:auto;min-width:0;padding:6px 28px 6px 10px;border-radius:999px;font-size:.85rem;cursor:pointer}.lp-r{display:inline-flex;gap:10px;align-items:center}html.i18n-wait body{visibility:hidden}#planbar{margin:18px 0 0}.pwrap{position:relative;display:block}.pwrap input{padding-right:44px}.pweye{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:40px;height:36px;padding:0;font-size:1.05rem;background:none;border:0;opacity:.7;cursor:pointer}.card{cursor:pointer}main:not([data-res]) #planbar{display:none}
.tabs input{max-width:none;margin:0;flex:1 1 220px}
#planbar .grid{grid-template-columns:1fr}
#planbar label{font-size:.8rem}
#p_save{margin-top:12px}
.err.soft{color:var(--mut);font-weight:400;font-size:.9rem}
/* résultat */
.ez-hero{background:var(--hero);color:#fff;border:0;border-radius:22px;padding:24px 24px 20px}
.ez-hero .plink{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
.ez-hero .muted{color:rgba(255,255,255,.72)}
.ez-hero .lead-l{font-size:.9rem;color:rgba(255,255,255,.72);margin:0 0 4px}
.ez-hero .lead{font:600 clamp(1.45rem,4.4vw,2rem)/1.2 var(--ffd),sans-serif;margin:0 0 18px;letter-spacing:-.01em}
.ez-hero .lead b{color:#ff8ab8}
.carry{margin:0 0 18px}.cy-h{margin:14px 0 8px;font-weight:700;font-size:1rem}.carry .cy-h:first-child{margin-top:0}
.cy{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.cy li{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.09);border-radius:14px;padding:12px 14px}
.cy-q{flex:none;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:1.3rem}
.cy-t{display:flex;flex-direction:column;gap:2px;min-width:0}.cy-t b{font:600 1.08rem/1.25 var(--ff),sans-serif;color:#fff;overflow-wrap:anywhere}.cy-n{color:#ff8ab8;font-weight:800;margin-right:2px}
.cy-t small{color:rgba(255,255,255,.72);font-size:.84rem;line-height:1.3}
.cy-f{margin:8px 0 0;color:rgba(255,255,255,.8);font-size:.95rem}.cy-f b{color:#fff}
.ez-hero .kpis{margin:0 0 14px;grid-template-columns:repeat(3,1fr);gap:8px}
.ez-hero .kpi{border:0;background:rgba(255,255,255,.09);border-radius:14px;padding:12px 14px}
.ez-hero .kpi b{font-size:1.9rem;line-height:1.05}.ez-hero .kpi span{color:rgba(255,255,255,.75);font-size:.82rem}
.ez-hero .ok,.ez-hero .warn{background:rgba(255,255,255,.1);border-left-color:#ffd166;color:#fff;border-radius:10px;margin:8px 0 0}
.ez-hero .ok{border-left-color:#5fe3c8}
.sec-t{margin:26px 0 4px;font-size:1.25rem}.sec-s{margin:0 0 10px;color:var(--mut);font-size:.95rem}
.buy{border-radius:18px}
.ez-tab td,.ez-tab th{border-color:var(--bd)}
.tag{padding:2px 10px}
details.ezd{margin-top:26px;border-top:1px solid var(--bd);padding-top:12px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 6px}.actions button{margin:0}
.cards .box{transition:border-color .15s}.cards .box:hover{border-color:var(--pri)}
#toast{border-radius:999px;padding:11px 20px}
dialog,#prm{border-radius:20px}
/* bêta */
#bt_fab{position:fixed;right:16px;bottom:18px;z-index:25;border-radius:999px;padding:10px 16px;font-size:.92rem;font-weight:700;box-shadow:0 10px 26px -10px rgba(10,20,60,.55)}
.btm{border:1px solid var(--bd);border-radius:14px;margin:0 0 10px;background:var(--card)}.btm.on{border-color:var(--pri)}
.btm-h{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;text-align:left;background:none!important;color:var(--fg)!important;border:0!important;box-shadow:none!important;padding:12px 14px!important;border-radius:14px}
.btm-h span{display:flex;flex-direction:column;gap:2px}.btm-h small{color:var(--mut);font-weight:500}.btm-b{padding:0 14px 12px}.btm-b p{margin:0 0 8px;color:var(--mut)}
.btstep{display:flex;gap:10px;align-items:flex-start;margin:6px 0;color:var(--fg);font-size:.95rem}.btstep input,.chk input,.ba-u input{width:auto;margin:3px 0 0;flex:none}.btstep input{width:20px;height:20px}
.chk{display:flex;gap:10px;align-items:flex-start;color:var(--fg)}
.acc-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-items:start}.acc-low{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 28px;align-items:start}
@media(max-width:820px){.acc-top{grid-template-columns:minmax(0,1fr)}}
#prefs_box .grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.tgl{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:12px 14px;border:1.5px solid var(--bd);border-radius:var(--r);background:var(--card);cursor:pointer;color:var(--fg);transition:border-color .2s,background .2s;position:relative}
.tgl input{position:absolute;opacity:0;width:0;height:0;margin:0}
.tgl-sw{flex:none;width:46px;height:28px;border-radius:99px;background:var(--bd);position:relative;transition:background .2s}
.tgl-sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .2s}
.tgl-t{display:flex;flex-direction:column;gap:2px;min-width:0}.tgl-t b{font-size:1rem}.tgl-t small{color:var(--mut);font-size:.82rem;line-height:1.3}
.tgl:hover{border-color:var(--mut)}
.tgl:has(input:checked){border-color:var(--pri);background:color-mix(in srgb,var(--pri) 8%,var(--card))}
.tgl input:checked+.tgl-sw{background:var(--pri)}.tgl input:checked+.tgl-sw::after{transform:translateX(18px)}
.tgl input:focus-visible+.tgl-sw{outline:3px solid color-mix(in srgb,var(--pri) 45%,transparent);outline-offset:2px}
.bt-tabs{display:flex}.bt-rate,.bt-kind{display:grid;width:100%;grid-auto-flow:row}.bt-rate{grid-template-columns:repeat(5,minmax(0,1fr))}.bt-kind{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-rate button{font-size:1.35rem;padding:6px 0}#adm_beta h3{margin-top:26px}#adm_beta .tabs select{width:auto;flex:1 1 150px}
.ba-users{max-height:240px;overflow:auto;border:1px solid var(--bd);border-radius:12px;padding:6px 10px;margin-top:6px}.ba-u{display:flex;gap:10px;align-items:flex-start;padding:6px 0;color:var(--fg)}
.ba-m{border-top:1px solid var(--bd);padding:10px 0}.ba-m input,.ba-m textarea{margin-top:6px}.ba-m textarea{min-height:90px}
.bfb{border:1px solid var(--bd);border-left:4px solid var(--gel);border-radius:12px;padding:10px 12px;margin:0 0 10px;background:var(--card)}.bfb.done{border-left-color:#2e9e6b;opacity:.75}.bfb.doing{border-left-color:var(--pri)}
.bfb p{margin:6px 0;white-space:pre-wrap}.bfb-h{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.bfb select{width:auto;margin-top:6px}
.pill{display:inline-block;background:color-mix(in srgb,var(--pri) 12%,var(--card));color:var(--fg);border-radius:999px;padding:2px 9px;font-size:.8rem}
a.btn{display:inline-block;text-decoration:none;padding:9px 14px;border-radius:12px;border:1px solid var(--bd);color:var(--fg)}
@media(max-width:640px){#bt_fab{bottom:90px;right:12px}}
@media(min-width:1024px){body.app #bt_fab{right:24px}}
/* mobile + tablette portrait : barre d'onglets en bas */
@media(max-width:1023px){
 body{padding-bottom:84px}
 #bar{margin-bottom:14px;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
 #bar nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--bd)}
 .nv{flex-direction:column;gap:2px;border-radius:12px;padding:6px 2px;font-size:.72rem;min-width:0}
 .nv span{max-width:100%;white-space:nowrap}
 #bar nav .nv{font-size:.74rem;font-weight:600}
 #bar nav .nv svg{width:23px;height:23px}
 @media(max-width:400px){#bar nav{padding-left:2px;padding-right:2px;gap:0}#bar nav .nv{font-size:.68rem}}
 #who{display:none}.wm{display:inline}
 #bar nav .nv:not(.on){color:var(--fg);opacity:.78}
 #nb_out{display:none}
 .ez-hero{padding:18px 16px 16px;border-radius:20px}
 .ez-hero .kpis{gap:6px}.ez-hero .kpi{padding:10px}.ez-hero .kpi b{font-size:1.5rem}
 .seg button{font-size:.88rem}
 .ez-tl{min-width:0}.ez-tl tr:first-child{display:none}
 .ez-tl tr{display:grid;grid-template-columns:62px 1fr;column-gap:10px;padding:11px 0;border-bottom:1px solid var(--bd)}
 .ez-tl td{display:block;border:0;padding:0}
 .ez-tl td:nth-child(1){grid-row:1/3;font-size:1.1rem}
 .ez-tl td:nth-child(2){grid-column:2;grid-row:2;color:var(--mut);font-size:.85rem}
 .ez-tl td:nth-child(3){grid-column:2;grid-row:1}
 .ez-tl small{display:inline}
 .buy table{min-width:0}.buy tr:first-child{display:none}
 .buy tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--bd)}
 .buy td{display:block;border:0;padding:0}
 .buy td:nth-child(1){grid-column:1;grid-row:1}.buy td:nth-child(4){grid-column:2;grid-row:1;text-align:right;font-weight:600}
 .buy td:nth-child(2){grid-column:1;grid-row:2}.buy td:nth-child(3){grid-column:1;grid-row:3;color:var(--mut);font-size:.88rem}
 #toast{bottom:92px}
}
@media(max-width:1023px){#bar .brand span{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* ===== visite guidée + aide ===== */
#tour{position:fixed;inset:0;z-index:60}
#tour_hl{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px rgba(14,16,48,.66);transition:top .28s ease,left .28s ease,width .28s ease,height .28s ease;pointer-events:none}
#tour_card{position:fixed;width:min(370px,calc(100vw - 24px));background:var(--card);color:var(--fg);border-radius:20px;padding:18px 18px 14px;box-shadow:0 12px 40px rgba(0,0,0,.35)}
#tour_card h3{margin:0 0 6px;font-size:1.3rem}#tour_card p{margin:0 0 12px;color:var(--fg)}
#tour_n{font-size:.82rem;color:var(--mut);margin-bottom:4px}
#tour_bar{display:flex;gap:4px;margin-bottom:12px}#tour_bar i{flex:1;height:4px;border-radius:2px;background:var(--bd)}#tour_bar i.on{background:var(--pri)}
#tour_card .actions{margin:4px 0 0;align-items:center}
#tour_card .lnk{margin:0 0 0 auto;padding:6px}
#tour_card button{margin-top:0}
@media(max-width:640px){#tour_card{left:12px!important;right:12px;top:auto!important;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:auto}}
@media(prefers-reduced-motion:reduce){#tour_hl{transition:none}}
#nb_help{margin-left:6px}
.help-q{border-top:1px solid var(--bd);padding:12px 0}.help-q:first-of-type{border-top:0}
.help-q summary{font-weight:600;color:var(--fg)}.help-q p{margin:8px 0 0;color:var(--fg);max-width:70ch}
.help-def{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}
.help-def div{background:var(--bg);border-radius:14px;padding:14px}.help-def b{display:block;margin-bottom:4px}

/* ===== accueil (commun aux 3 designs) ===== */
body.lp main{max-width:none;padding:0}
.lp-w{max-width:1120px;margin:0 auto;padding:0 20px}
.lp-hero{background:var(--lp-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='360' viewBox='0 0 520 360' fill='none' stroke='%23fff' stroke-opacity='.11' stroke-width='1.4'%3E%3Cpath d='M-20 60C80 20 140 110 240 80S400 10 540 70'/%3E%3Cpath d='M-20 100C80 62 140 150 240 120S400 52 540 110'/%3E%3Cpath d='M-20 140C80 104 140 190 240 160S400 94 540 150'/%3E%3Cpath d='M-20 180C80 146 140 230 240 200S400 136 540 190'/%3E%3Cpath d='M-20 220C80 188 140 270 240 240S400 178 540 230'/%3E%3Cpath d='M-20 260C80 230 140 310 240 280S400 220 540 270'/%3E%3Cpath d='M-20 300C80 272 140 350 240 320S400 262 540 310'/%3E%3C/svg%3E");color:#fff;padding:20px 0 56px;overflow:hidden}
.lp-grid>*,.lp-shop>*,.lp-form>*,.demo>*{min-width:0}
.demo{max-width:100%}
@media(max-width:400px){.demo-e{gap:6px}.demo-e button{min-width:0;padding:8px 2px;font-size:.82rem}.demo-e button small{font-size:.72rem}.demo-r{gap:6px}.demo-r b{font-size:1.1rem}}
.lp-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px}
.lp-brand{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-variation-settings:"wdth" 112;font-weight:800;letter-spacing:-.03em}
.lp-brand svg{width:34px;height:34px}
.lp-login{margin:0;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);padding:9px 18px}
.lp-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center}
.lp-copy h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;letter-spacing:-.04em;margin:0 0 18px;font-variation-settings:"wdth" 108;max-width:11ch}
.lp-copy p{font-size:1.08rem;line-height:1.5;max-width:30ch;margin:0 0 28px;color:rgba(255,255,255,.88)}
.lp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.lp-cta span{font-size:.92rem;color:rgba(255,255,255,.78)}
.lp-btn{margin:0;background:var(--lp-btn);color:var(--lp-btnfg);padding:14px 26px;font-size:1rem;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.lp-btn:hover:not(:disabled){filter:none;transform:translateY(-2px)}
.demo{background:var(--card);color:var(--fg);border-radius:26px;padding:20px 20px 18px;box-shadow:0 30px 60px -24px rgba(5,10,60,.7)}
.demo-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin-bottom:6px}.demo-h b{font-weight:800}.demo-h span{font-size:.82rem;color:var(--mut)}
#d_prof{margin:6px 0 4px;touch-action:none;cursor:ew-resize;overflow:visible}
#d_prof .ar{fill:color-mix(in srgb,var(--pri) 10%,transparent)}
#d_prof .ln{fill:none;stroke:var(--fg);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.4s .15s ease-out forwards}
#d_prof .gl{opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:pop .4s ease-out forwards;animation-delay:calc(.9s + var(--i)*.09s)}
#d_prof .gl line{stroke:var(--gel);stroke-width:2}#d_prof .gl circle{fill:var(--gel);stroke:var(--card);stroke-width:2.5}
#d_prof .gl text{fill:#fff;font:800 9px var(--ffd),sans-serif;text-anchor:middle}
#d_prof .nx circle{fill:none;stroke:var(--gel);stroke-width:2.5}
#d_prof .ru circle{fill:var(--pri);stroke:var(--card);stroke-width:3.5}
#d_prof .ru line{stroke:var(--pri);stroke-width:2;stroke-dasharray:3 4}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{from{opacity:0;transform:translateY(-10px) scale(.4)}to{opacity:1;transform:none}}
.demo-r{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px}
.demo-r div{background:color-mix(in srgb,var(--pri) 7%,var(--card));border-radius:14px;padding:9px 12px}
.demo-r small{display:block;color:var(--mut);font-size:.78rem}.demo-r b{font-size:1.3rem;line-height:1.15}
.demo-sl{display:block;font-size:.85rem;color:var(--mut)}
.demo-sl input{padding:0;margin:8px 0 0;border:0;background:none;accent-color:var(--pri);height:30px;box-shadow:none}
.demo-e{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.demo-e button{margin:0;padding:9px 6px;font-size:.92rem;background:var(--card);color:var(--fg);border:1.5px solid var(--bd);line-height:1.2}
.demo-e button small{display:block;font-weight:500;color:var(--mut);font-size:.78rem}
.demo-e button[aria-pressed="true"]{background:var(--pri);border-color:var(--pri);color:var(--onp)}.demo-e button[aria-pressed="true"] small{color:inherit;opacity:.85}
.lp-sec{padding:64px 0}.lp-sec.alt{background:color-mix(in srgb,var(--pri) 5%,var(--bg))}
.lp-sec h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 28px;max-width:20ch;line-height:1.05;letter-spacing:-.035em}
.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:s}
.lp-steps li{counter-increment:s;padding:0 26px 0 0}
.lp-steps li:before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pri);color:var(--onp);font-weight:800;margin-bottom:14px}
.lp-steps b{display:block;font-size:1.08rem;margin-bottom:6px;font-variation-settings:"wdth" 108}.lp-steps span{color:var(--mut);display:block;max-width:30ch}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.bn{border-radius:26px;padding:26px;background:var(--card);box-shadow:var(--sh);display:flex;flex-direction:column;gap:8px;overflow:hidden;min-height:190px}
.bn.b4{grid-column:span 4}.bn.b2{grid-column:span 2}
.bn h3{margin:0;font-size:1.15rem}.bn p{margin:0;color:var(--mut);max-width:34ch}
.bn svg{margin-top:auto;padding-top:14px}
.bn.blue{background:var(--lp-bg);color:#fff}.bn.blue p{color:rgba(255,255,255,.85)}
.bn.ink{background:#0b1530;color:#fff}.bn.ink p{color:#aab5df}
.lp-shop{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.lp-shop h2{max-width:16ch}.lp-shop p{color:var(--mut);max-width:44ch;font-size:1.02rem}
.lp-soon{display:inline-block;background:var(--gel);color:#fff;font-weight:800;font-size:.8rem;border-radius:8px;padding:3px 10px;margin-bottom:12px}
.lp-art{display:flex;border-radius:28px;overflow:hidden;box-shadow:var(--sh)}.lp-art .shopart{margin:0;border-radius:0;flex:1;aspect-ratio:3/4}
.lp-form{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.lp-form .sub{font-size:1.05rem}
.auth-form{padding:28px;box-shadow:0 24px 50px -24px rgba(35,64,240,.5)}
.lp-foot{padding:26px 0 40px;color:var(--mut);font-size:.9rem}
@media(max-width:860px){
 .lp-grid,.lp-shop,.lp-form{grid-template-columns:minmax(0,1fr);gap:28px}
 .lp-hero{padding-bottom:36px}.lp-top{margin-bottom:28px}
 .lp-copy h1{max-width:none}
 .lp-steps{grid-template-columns:1fr;gap:26px}
 .bn.b4,.bn.b2{grid-column:span 6}
 .lp-sec{padding:44px 0}
 .lp-art .shopart{aspect-ratio:1}
}


.dsg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.dsgc{margin:0;text-align:left;display:flex;flex-direction:column;gap:6px;background:var(--card);color:var(--fg);border:2px solid var(--bd);border-radius:14px;padding:14px;box-shadow:none;font-weight:600;transform:none}.dsgc small{font-weight:400;color:var(--mut);line-height:1.35}.dsgc[aria-checked=true]{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 25%,transparent)}.dsgs{display:flex;height:34px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.15)}.dsgs i{flex:1}
.hcrow{padding:8px 12px;border-left:4px solid var(--bd);margin:6px 0;border-radius:6px;background:color-mix(in srgb,var(--fg) 4%,var(--card))}.hcrow.ko{border-left-color:#c0392b}.hcrow.warn{border-left-color:#d98e04}.hcrow.ok{border-left-color:#0f9d8a}
/* ===== design Blue Magic ===== */
html[data-design="blue"]{--pri:#2340f0;--onp:#fff;--bg:#f0f3fb;--fg:#0b1530;--mut:#566085;--card:#fff;--bd:#dde3f2;--gel:#e0235f;--hero:#1a2fc4;--lp-bg:#2340f0;--lp-btn:#ff3d78;--lp-btnfg:#fff;--ff:Archivo,system-ui,sans-serif;--ffd:Archivo,system-ui,sans-serif;--sh:0 1px 2px rgba(11,21,48,.05),0 10px 28px -14px rgba(35,64,240,.28);--r:20px}
@media(prefers-color-scheme:dark){html[data-design="blue"]:not([data-theme="light"]){--pri:#7389ff;--onp:#060c24;--bg:#070d22;--fg:#e8ecff;--mut:#9aa6d1;--card:#0f1839;--bd:#222f60;--gel:#ff5c8f;--hero:#16225a;--sh:none}}
html[data-design="blue"][data-theme="dark"]{--pri:#7389ff;--onp:#060c24;--bg:#070d22;--fg:#e8ecff;--mut:#9aa6d1;--card:#0f1839;--bd:#222f60;--gel:#ff5c8f;--hero:#16225a;--sh:none}
html[data-design="blue"] body{font-size:15px;line-height:1.55}
html[data-design="blue"] h1,html[data-design="blue"] h2,html[data-design="blue"] h3{font-weight:800;letter-spacing:-.022em}
html[data-design="blue"] h1,html[data-design="blue"] h2{font-variation-settings:"wdth" 108}
html[data-design="blue"] h3{font-variation-settings:"wdth" 105}
html[data-design="blue"] section>h1:first-child{font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:-.03em;margin:2px 0 16px}
html[data-design="blue"] section>h1:first-child:after{content:"";display:block;width:42px;height:6px;border-radius:3px;background:var(--gel);margin-top:9px}
html[data-design="blue"] .kpi b,html[data-design="blue"] .shp b,html[data-design="blue"] .shh b,html[data-design="blue"] .info .k,html[data-design="blue"] .demo-r b{font-variation-settings:"wdth" 72;font-weight:800;letter-spacing:-.01em}
html[data-design="blue"] .box{border:1px solid color-mix(in srgb,var(--bd) 70%,transparent);border-radius:var(--r);box-shadow:var(--sh);padding:22px}
html[data-design="blue"] input,html[data-design="blue"] select,html[data-design="blue"] textarea{background:color-mix(in srgb,var(--bg) 55%,var(--card));border:1.5px solid var(--bd);border-radius:12px;padding:11px 13px}
html[data-design="blue"] input:focus,html[data-design="blue"] select:focus,html[data-design="blue"] textarea:focus{outline:0;border-color:var(--pri);box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 20%,transparent)}
html[data-design="blue"] input:focus-visible,html[data-design="blue"] select:focus-visible,html[data-design="blue"] button:focus-visible{outline:3px solid color-mix(in srgb,var(--pri) 55%,transparent);outline-offset:2px}
html[data-design="blue"] button{border-radius:14px;font-weight:700;letter-spacing:-.005em;padding:12px 22px;font-size:.98rem}
html[data-design="blue"] button:hover:not(:disabled){filter:brightness(1.08)}
html[data-design="blue"] button.sec{border-radius:14px;border:1.5px solid var(--bd);color:var(--fg);background:var(--card)}
html[data-design="blue"] button.sec:hover{border-color:var(--pri);color:var(--pri);filter:none}
html[data-design="blue"] button.lnk{border-radius:0;font-weight:500}
html[data-design="blue"] button.lnk:hover{filter:none;color:var(--fg)}
html[data-design="blue"] .tabs{gap:4px 20px;border-bottom:1px solid var(--bd);margin:6px 0 18px;padding-bottom:0}
html[data-design="blue"] .tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--mut);padding:10px 2px 9px;margin-bottom:-1px;font-size:1rem}
html[data-design="blue"] .tab:hover:not(:disabled){filter:none;color:var(--fg)}
html[data-design="blue"] .tab.on{background:none;color:var(--fg);border-bottom-color:var(--gel)}
html[data-design="blue"] .tabs input{border-radius:12px;margin:0 0 8px;flex:1 1 220px}
html[data-design="blue"] th{font-weight:700;font-size:.82rem;color:var(--mut)}
html[data-design="blue"] tbody tr:hover td{background:color-mix(in srgb,var(--pri) 4%,transparent)}
html[data-design="blue"] .kpi{border:0;border-left:4px solid var(--gel);background:color-mix(in srgb,var(--pri) 7%,var(--card));border-radius:6px 16px 16px 6px;padding:12px 14px}
html[data-design="blue"] .kpi b{font-size:1.6rem;line-height:1.05}
html[data-design="blue"] .tag{border-radius:8px;padding:2px 9px}
html[data-design="blue"] .badge.k{background:var(--gel);border-color:var(--gel);color:#fff}
html[data-design="blue"] .uisw{border-radius:14px}
html[data-design="blue"] .uisw button{border-radius:11px}
html[data-design="blue"] .uisw button[aria-pressed="true"]{background:var(--pri);color:var(--onp)}
html[data-design="blue"] .seg i{border-radius:12px}
html[data-design="blue"] .seg{border-radius:16px}
html[data-design="blue"] .ez-hero{background:radial-gradient(120% 140% at 100% 0%,rgba(255,61,120,.35),transparent 55%),linear-gradient(140deg,#1a2fc4,#2340f0 60%,#4a63ff);border-radius:26px;box-shadow:0 18px 40px -18px rgba(35,64,240,.6)}
html[data-design="blue"] .ez-hero .lead b{color:#ffd0e0}
html[data-design="blue"] .cards .box{transition:transform .18s,box-shadow .18s}
html[data-design="blue"] .cards .box:hover{border-color:var(--bd);transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(35,64,240,.4)}
html[data-design="blue"] dialog{border:0;border-radius:26px;box-shadow:0 30px 80px -20px rgba(8,14,40,.6);padding:22px}
html[data-design="blue"] dialog::backdrop{background:rgba(8,14,40,.55);backdrop-filter:blur(4px)}
html[data-design="blue"] dialog[open]{animation:dlg .2s ease-out}
@keyframes dlg{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
html[data-design="blue"] #toast{background:#0b1530;color:#fff;border-radius:14px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
html[data-design="blue"] .dx{border-radius:50%;padding:0;background:color-mix(in srgb,var(--fg) 8%,var(--card));color:var(--fg);border:0}
html[data-design="blue"] .info{border-radius:14px;border-left-color:var(--gel)}
html[data-design="blue"] a:hover,html[data-design="blue"] .plink:hover{color:var(--gel)}
html[data-design="blue"] .cmt.coach,html[data-design="blue"] .msg.me .mb{border-color:var(--gel)}
html[data-design="blue"] .seg i{background:var(--pri)}
html[data-design="blue"] #bar{border-bottom:1px solid var(--bd)}
html[data-design="blue"] #bar .brand{font-size:1.15rem;font-variation-settings:"wdth" 112;font-weight:800;letter-spacing:-.03em}
html[data-design="blue"] .nv{border-radius:12px;font-weight:600;color:var(--mut);font-size:.93rem}
html[data-design="blue"] .nv.on{background:color-mix(in srgb,var(--pri) 13%,var(--card));color:var(--pri)}
html[data-design="blue"] .nv.on svg{color:var(--gel)}
html[data-design="blue"] .nv:hover{filter:none}
html[data-design="blue"] .nbadge{background:var(--gel);color:#fff}
@media(min-width:1024px){html[data-design="blue"] body.app main{max-width:none;padding:34px 48px 70px 288px}
html[data-design="blue"] body.app main>section{max-width:1040px}
html[data-design="blue"] body.app #bar{position:fixed;top:0;left:0;bottom:0;width:248px;margin:0;padding:22px 14px 18px;flex-wrap:nowrap;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;background:var(--card);border-bottom:0;border-right:1px solid var(--bd);backdrop-filter:none;z-index:20}
html[data-design="blue"] body.app #bar .brand{padding:0 10px;font-size:1.2rem}
html[data-design="blue"] body.app #bar .brand svg{width:34px;height:34px}
html[data-design="blue"] body.app #bar nav{flex:1;flex-direction:column;flex-wrap:nowrap;gap:3px}
html[data-design="blue"] body.app .nv{width:100%;justify-content:flex-start;padding:11px 12px;font-size:.98rem}
html[data-design="blue"] body.app .nv .nbadge{position:static;margin-left:auto}
html[data-design="blue"] body.app #nb_acc{margin-top:auto}
html[data-design="blue"] body.app #nb_help{margin-left:0}
html[data-design="blue"] body.app .nv.on{box-shadow:inset 3px 0 0 var(--gel)}}
html[data-design="blue"] .shopc{border-radius:24px;transition:transform .18s,box-shadow .18s}
html[data-design="blue"] .shopc:hover{transform:translateY(-3px);box-shadow:0 18px 40px -16px rgba(35,64,240,.45)}
html[data-design="blue"] .shopc.feat{border:2px solid var(--gel)}
html[data-design="blue"] .shopc button:not(.sec):not(.sm):not(.lnk){background:var(--gel);color:#fff}
html[data-design="blue"] .shopc .shp b,html[data-design="blue"] .shopc .shh b{color:var(--fg)}
html[data-design="blue"] .shopart{border-radius:23px 23px 0 0}
html[data-design="blue"] .shopc .shp b,html[data-design="blue"] .shopc .shh b{font-size:1.7rem}
@media(prefers-reduced-motion:reduce){html[data-design="blue"] #d_prof .ln{animation:none;stroke-dashoffset:0}
html[data-design="blue"] #d_prof .gl{animation:none;opacity:1}
html[data-design="blue"] .cards .box,html[data-design="blue"] .shopc,html[data-design="blue"] dialog[open]{transition:none;animation:none}
html[data-design="blue"] .shopc:hover,html[data-design="blue"] .cards .box:hover,html[data-design="blue"] .lp-btn:hover{transform:none}}
html[data-design="blue"] body{background:var(--pg,var(--bg));transition:background-color .4s}
@media(prefers-reduced-motion:reduce){html[data-design="blue"] body{transition:none}}
/* ===== design Aurore ===== */
html[data-design="aurora"]{--pri:#2340f0;--onp:#fff;--bg:#f0f3fb;--fg:#0b1530;--mut:#566085;--card:#fff;--bd:#dde3f2;--gel:#e0235f;--hero:#1a2fc4;--lp-bg:#2340f0;--lp-btn:#ff3d78;--lp-btnfg:#fff;--ff:Archivo,system-ui,sans-serif;--ffd:Archivo,system-ui,sans-serif;--sh:0 1px 2px rgba(11,21,48,.05),0 10px 28px -14px rgba(35,64,240,.28);--r:20px}
@media(prefers-color-scheme:dark){html[data-design="aurora"]:not([data-theme="light"]){--pri:#7389ff;--onp:#060c24;--bg:#070d22;--fg:#e8ecff;--mut:#9aa6d1;--card:#0f1839;--bd:#222f60;--gel:#ff5c8f;--hero:#16225a;--sh:none}}
html[data-design="aurora"][data-theme="dark"]{--pri:#7389ff;--onp:#060c24;--bg:#070d22;--fg:#e8ecff;--mut:#9aa6d1;--card:#0f1839;--bd:#222f60;--gel:#ff5c8f;--hero:#16225a;--sh:none}
html[data-design="aurora"] body{font-size:15px;line-height:1.55}
html[data-design="aurora"] h1,html[data-design="aurora"] h2,html[data-design="aurora"] h3{font-weight:800;letter-spacing:-.022em}
html[data-design="aurora"] h1,html[data-design="aurora"] h2{font-variation-settings:"wdth" 108}
html[data-design="aurora"] h3{font-variation-settings:"wdth" 105}
html[data-design="aurora"] section>h1:first-child{font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:-.03em;margin:2px 0 16px}
html[data-design="aurora"] section>h1:first-child:after{content:"";display:block;width:42px;height:6px;border-radius:3px;background:var(--gel);margin-top:9px}
html[data-design="aurora"] .kpi b,html[data-design="aurora"] .shp b,html[data-design="aurora"] .shh b,html[data-design="aurora"] .info .k,html[data-design="aurora"] .demo-r b{font-variation-settings:"wdth" 72;font-weight:800;letter-spacing:-.01em}
html[data-design="aurora"] .box{border:1px solid color-mix(in srgb,var(--bd) 70%,transparent);border-radius:var(--r);box-shadow:var(--sh);padding:22px}
html[data-design="aurora"] input,html[data-design="aurora"] select,html[data-design="aurora"] textarea{background:color-mix(in srgb,var(--bg) 55%,var(--card));border:1.5px solid var(--bd);border-radius:12px;padding:11px 13px}
html[data-design="aurora"] input:focus,html[data-design="aurora"] select:focus,html[data-design="aurora"] textarea:focus{outline:0;border-color:var(--pri);box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 20%,transparent)}
html[data-design="aurora"] input:focus-visible,html[data-design="aurora"] select:focus-visible,html[data-design="aurora"] button:focus-visible{outline:3px solid color-mix(in srgb,var(--pri) 55%,transparent);outline-offset:2px}
html[data-design="aurora"] button{border-radius:14px;font-weight:700;letter-spacing:-.005em;padding:12px 22px;font-size:.98rem}
html[data-design="aurora"] button:hover:not(:disabled){filter:brightness(1.08)}
html[data-design="aurora"] button.sec{border-radius:14px;border:1.5px solid var(--bd);color:var(--fg);background:var(--card)}
html[data-design="aurora"] button.sec:hover{border-color:var(--pri);color:var(--pri);filter:none}
html[data-design="aurora"] button.lnk{border-radius:0;font-weight:500}
html[data-design="aurora"] button.lnk:hover{filter:none;color:var(--fg)}
html[data-design="aurora"] .tabs{gap:4px 20px;border-bottom:1px solid var(--bd);margin:6px 0 18px;padding-bottom:0}
html[data-design="aurora"] .tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--mut);padding:10px 2px 9px;margin-bottom:-1px;font-size:1rem}
html[data-design="aurora"] .tab:hover:not(:disabled){filter:none;color:var(--fg)}
html[data-design="aurora"] .tab.on{background:none;color:var(--fg);border-bottom-color:var(--gel)}
html[data-design="aurora"] .tabs input{border-radius:12px;margin:0 0 8px;flex:1 1 220px}
html[data-design="aurora"] th{font-weight:700;font-size:.82rem;color:var(--mut)}
html[data-design="aurora"] tbody tr:hover td{background:color-mix(in srgb,var(--pri) 4%,transparent)}
html[data-design="aurora"] .kpi{border:0;border-left:4px solid var(--gel);background:color-mix(in srgb,var(--pri) 7%,var(--card));border-radius:6px 16px 16px 6px;padding:12px 14px}
html[data-design="aurora"] .kpi b{font-size:1.6rem;line-height:1.05}
html[data-design="aurora"] .tag{border-radius:8px;padding:2px 9px}
html[data-design="aurora"] .badge.k{background:var(--gel);border-color:var(--gel);color:#fff}
html[data-design="aurora"] .uisw{border-radius:14px}
html[data-design="aurora"] .uisw button{border-radius:11px}
html[data-design="aurora"] .uisw button[aria-pressed="true"]{background:var(--pri);color:var(--onp)}
html[data-design="aurora"] .seg i{border-radius:12px}
html[data-design="aurora"] .seg{border-radius:16px}
html[data-design="aurora"] .ez-hero{background:radial-gradient(120% 140% at 100% 0%,rgba(255,61,120,.35),transparent 55%),linear-gradient(140deg,#1a2fc4,#2340f0 60%,#4a63ff);border-radius:26px;box-shadow:0 18px 40px -18px rgba(35,64,240,.6)}
html[data-design="aurora"] .ez-hero .lead b{color:#ffd0e0}
html[data-design="aurora"] .cards .box{transition:transform .18s,box-shadow .18s}
html[data-design="aurora"] .cards .box:hover{border-color:var(--bd);transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(35,64,240,.4)}
html[data-design="aurora"] dialog{border:0;border-radius:26px;box-shadow:0 30px 80px -20px rgba(8,14,40,.6);padding:22px}
html[data-design="aurora"] dialog::backdrop{background:rgba(8,14,40,.55);backdrop-filter:blur(4px)}
html[data-design="aurora"] dialog[open]{animation:dlga .2s ease-out}
@keyframes dlga{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
html[data-design="aurora"] #toast{background:#0b1530;color:#fff;border-radius:14px;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
html[data-design="aurora"] .dx{border-radius:50%;padding:0;background:color-mix(in srgb,var(--fg) 8%,var(--card));color:var(--fg);border:0}
html[data-design="aurora"] .info{border-radius:14px;border-left-color:var(--gel)}
html[data-design="aurora"] a:hover,html[data-design="aurora"] .plink:hover{color:var(--gel)}
html[data-design="aurora"] .cmt.coach,html[data-design="aurora"] .msg.me .mb{border-color:var(--gel)}
html[data-design="aurora"] .seg i{background:var(--pri)}
html[data-design="aurora"] #bar{border-bottom:1px solid var(--bd)}
html[data-design="aurora"] #bar .brand{font-size:1.15rem;font-variation-settings:"wdth" 112;font-weight:800;letter-spacing:-.03em}
html[data-design="aurora"] .nv{border-radius:12px;font-weight:600;color:var(--mut);font-size:.93rem}
html[data-design="aurora"] .nv.on{background:color-mix(in srgb,var(--pri) 13%,var(--card));color:var(--pri)}
html[data-design="aurora"] .nv.on svg{color:var(--gel)}
html[data-design="aurora"] .nv:hover{filter:none}
html[data-design="aurora"] .nbadge{background:var(--gel);color:#fff}
@media(min-width:1024px){html[data-design="aurora"] body.app main{max-width:none;padding:34px 48px 70px 288px}
html[data-design="aurora"] body.app main>section{max-width:1040px}
html[data-design="aurora"] body.app #bar{position:fixed;top:0;left:0;bottom:0;width:248px;margin:0;padding:22px 14px 18px;flex-wrap:nowrap;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;background:var(--card);border-bottom:0;border-right:1px solid var(--bd);backdrop-filter:none;z-index:20}
html[data-design="aurora"] body.app #bar .brand{padding:0 10px;font-size:1.2rem}
html[data-design="aurora"] body.app #bar .brand svg{width:34px;height:34px}
html[data-design="aurora"] body.app #bar nav{flex:1;flex-direction:column;flex-wrap:nowrap;gap:3px}
html[data-design="aurora"] body.app .nv{width:100%;justify-content:flex-start;padding:11px 12px;font-size:.98rem}
html[data-design="aurora"] body.app .nv .nbadge{position:static;margin-left:auto}
html[data-design="aurora"] body.app #nb_acc{margin-top:auto}
html[data-design="aurora"] body.app #nb_help{margin-left:0}
html[data-design="aurora"] body.app .nv.on{box-shadow:inset 3px 0 0 var(--gel)}}
html[data-design="aurora"] .shopc{border-radius:24px;transition:transform .18s,box-shadow .18s}
html[data-design="aurora"] .shopc:hover{transform:translateY(-3px);box-shadow:0 18px 40px -16px rgba(35,64,240,.45)}
html[data-design="aurora"] .shopc.feat{border:2px solid var(--gel)}
html[data-design="aurora"] .shopc button:not(.sec):not(.sm):not(.lnk){background:var(--gel);color:#fff}
html[data-design="aurora"] .shopc .shp b,html[data-design="aurora"] .shopc .shh b{color:var(--fg)}
html[data-design="aurora"] .shopart{border-radius:23px 23px 0 0}
html[data-design="aurora"] .shopc .shp b,html[data-design="aurora"] .shopc .shh b{font-size:1.7rem}
@media(prefers-reduced-motion:reduce){html[data-design="aurora"] #d_prof .ln{animation:none;stroke-dashoffset:0}
html[data-design="aurora"] #d_prof .gl{animation:none;opacity:1}
html[data-design="aurora"] .cards .box,html[data-design="aurora"] .shopc,html[data-design="aurora"] dialog[open]{transition:none;animation:none}
html[data-design="aurora"] .shopc:hover,html[data-design="aurora"] .cards .box:hover,html[data-design="aurora"] .lp-btn:hover{transform:none}}
html[data-design="aurora"],html[data-design="aurora"]:not([data-theme="light"]),html[data-design="aurora"][data-theme="dark"]{--pri:#5b3df5;--onp:#fff;--bg:#f6f3ff;--fg:#1b1340;--mut:#5f5a85;--card:#fff;--bd:#e4dffa;--gel:#ff3d86;--hero:#3b2bd9;--pg:#f6f3ff;--sh:0 1px 2px rgba(27,19,64,.05),0 22px 50px -26px rgba(91,61,245,.5);--r:26px;--lp-bg:#3b2bd9;--lp-btn:#fff;--lp-btnfg:#3b2bd9;--grad:linear-gradient(135deg,#3b2bd9 0%,#7b3ff0 42%,#ff3d86 82%,#ff8f6b 100%);color-scheme:light}
@media(prefers-color-scheme:dark){html[data-design="aurora"]:not([data-theme="light"]){--pri:#5b3df5;--onp:#fff;--bg:#f6f3ff;--fg:#1b1340;--mut:#5f5a85;--card:#fff;--bd:#e4dffa;--gel:#ff3d86;--hero:#3b2bd9;--sh:0 1px 2px rgba(27,19,64,.05),0 22px 50px -26px rgba(91,61,245,.5)}}
html[data-design="aurora"] body[data-page="lib"]{--pg:#f6f3ff}
html[data-design="aurora"] body[data-page="app"]{--pg:#eef5ff}
html[data-design="aurora"] body[data-page="coach"],html[data-design="aurora"] body[data-page="wk"]{--pg:#fff1f7}
html[data-design="aurora"] body[data-page="shop"]{--pg:#fff4ec}
html[data-design="aurora"] body[data-page="admin"]{--pg:#f0f0ff}
html[data-design="aurora"] body[data-page="acc"],html[data-design="aurora"] body[data-page="help"]{--pg:#f1f6ff}
html[data-design="aurora"] body{background:var(--pg);transition:background-color .4s}
html[data-design="aurora"] body.lp{background:#f6f3ff}
html[data-design="aurora"] h1,html[data-design="aurora"] h2,html[data-design="aurora"] h3{font-weight:800;letter-spacing:-.03em}
html[data-design="aurora"] h1,html[data-design="aurora"] h2{font-variation-settings:"wdth" 100}
html[data-design="aurora"] section>h1:first-child:after{width:56px;height:6px;background:var(--grad)}
html[data-design="aurora"] button:not(.sec):not(.lnk):not(.tab):not(.nv):not(.dx):not(.dsgc):not(.lp-login):not(.lp-btn):not([data-eff]):not(.uisw button):not(.seg button):not(.seg2 button):not(.pal b){background:var(--pri);color:#fff;border:0;border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 1px 2px rgba(27,19,64,.25);font-weight:650}
html[data-design="aurora"] button:not(.sec):not(.lnk):not(.tab):not(.nv):not(.dx):not(.dsgc):not(.lp-login):not(.lp-btn):not([data-eff]):not(.uisw button):not(.seg button):not(.seg2 button):hover:not(:disabled){background:color-mix(in srgb,var(--pri) 88%,#000);filter:none}
html[data-design="aurora"] button:not(.sec):not(.lnk):not(.tab):not(.nv):not(.dx):not(.dsgc):not(.lp-login):not(.lp-btn):not([data-eff]):not(.uisw button):not(.seg button):not(.seg2 button):active:not(:disabled){transform:translateY(1px);box-shadow:none}
html[data-design="aurora"] button:hover:not(:disabled){filter:none}
html[data-design="aurora"] button.sec{border-radius:12px;border:0;background:color-mix(in srgb,var(--pri) 10%,var(--card));color:var(--pri);font-weight:650}
html[data-design="aurora"] button.sec:hover:not(:disabled){background:color-mix(in srgb,var(--pri) 18%,var(--card));color:var(--pri)}
html[data-design="aurora"] .seg button,html[data-design="aurora"] .seg2 button{background:none;box-shadow:none;color:var(--mut);padding:11px 4px;border-radius:12px;font-weight:650}
html[data-design="aurora"] .seg2 button{padding:7px 14px}
html[data-design="aurora"] .seg button[aria-pressed="true"]{color:#fff}
html[data-design="aurora"] .seg2 button[aria-pressed="true"]{background:var(--pri);color:#fff}
html[data-design="aurora"] .seg button:hover:not(:disabled):not([aria-pressed="true"]),html[data-design="aurora"] .seg2 button:hover:not([aria-pressed="true"]){background:none;color:var(--pri)}
html[data-design="aurora"] .tabs{border:0;gap:6px;background:color-mix(in srgb,var(--pri) 8%,#fff);border-radius:999px;padding:5px;display:inline-flex;flex-wrap:wrap;margin:6px 0 18px}
html[data-design="aurora"] .tab{border:0;border-radius:999px;padding:8px 16px;margin:0}
html[data-design="aurora"] .tab.on{background:#fff;color:var(--pri);box-shadow:0 4px 14px -6px rgba(91,61,245,.55);border:0}
html[data-design="aurora"] .tabs input{flex:1 1 200px;background:#fff;margin:0}
html[data-design="aurora"] .box{border:0;border-radius:var(--r);padding:24px}
html[data-design="aurora"] .kpi{border:0;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--pri) 9%,#fff),color-mix(in srgb,var(--gel) 9%,#fff))}
html[data-design="aurora"] .kpi b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-design="aurora"] .ez-hero{background:var(--grad);border-radius:32px;box-shadow:0 30px 60px -28px rgba(123,63,240,.8)}
html[data-design="aurora"] .ez-hero .kpi b{color:#fff;background:none;-webkit-background-clip:border-box}
html[data-design="aurora"] .ez-hero .kpi{background:rgba(255,255,255,.16)}
html[data-design="aurora"] .ez-hero .lead b{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.5);text-underline-offset:4px}
html[data-design="aurora"] .badge.k,html[data-design="aurora"] .nbadge{background:var(--grad);color:#fff;border:0}
html[data-design="aurora"] .nv.on{background:color-mix(in srgb,var(--pri) 14%,#fff);color:var(--pri)}
html[data-design="aurora"] .nv.on svg{color:var(--gel)}
html[data-design="aurora"] .nv:hover:not(.on){background:color-mix(in srgb,var(--pri) 9%,transparent);color:var(--pri)}
html[data-design="aurora"] .shopc{border-radius:30px}
html[data-design="aurora"] .shopc.feat{border:0;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--pri),0 26px 50px -26px rgba(123,63,240,.7)}
html[data-design="aurora"] .shopc button:not(.sec):not(.sm):not(.lnk){background:var(--grad);color:#fff}
html[data-design="aurora"] .shopart{border-radius:29px 29px 0 0}
html[data-design="aurora"] dialog{border-radius:32px}
html[data-design="aurora"] .dsgc[aria-checked=true]{border-color:var(--pri)}
html[data-design="aurora"] #toast{background:#1b1340;border-radius:999px}
html[data-design="aurora"] body.app #bar{box-shadow:0 0 60px -20px rgba(91,61,245,.35);border-right:0}
html[data-design="aurora"] .info{border-left-color:var(--gel)}
html[data-design="aurora"] .lp-hero{background:radial-gradient(60% 80% at 85% 10%,rgba(255,61,134,.55),transparent 60%),radial-gradient(50% 70% at 10% 100%,rgba(255,143,107,.4),transparent 60%),linear-gradient(135deg,#2a1fc0,#5b3df5 55%,#8b3df0)}
html[data-design="aurora"] .lp-btn{background:#fff;color:#3b2bd9;box-shadow:0 18px 34px -14px rgba(0,0,0,.5)}
html[data-design="aurora"] .lp-btn:hover:not(:disabled){filter:none}
html[data-design="aurora"] .lp-login{background:rgba(255,255,255,.16)}
html[data-design="aurora"] .demo{border-radius:34px;box-shadow:0 40px 80px -30px rgba(20,10,90,.8)}
html[data-design="aurora"] .demo-e button[aria-pressed="true"],html[data-design="aurora"] .demo-r div{}
html[data-design="aurora"] .demo-e button[aria-pressed="true"]{background:var(--grad);border:0;color:#fff}
html[data-design="aurora"] .demo-e button{border-radius:999px;box-shadow:none}
html[data-design="aurora"] #d_prof .ar{fill:url(#none);fill:color-mix(in srgb,var(--gel) 12%,transparent)}
html[data-design="aurora"] #d_prof .ru circle{fill:var(--pri)}
html[data-design="aurora"] .lp-sec.alt{background:linear-gradient(180deg,#efe9ff,#fff1f7)}
html[data-design="aurora"] .lp-steps li:before{background:var(--grad)}
html[data-design="aurora"] .bn{border-radius:32px}
html[data-design="aurora"] .bn.blue{background:var(--grad)}
html[data-design="aurora"] .bn.ink{background:#1b1340}
html[data-design="aurora"] .lp-soon{background:var(--grad)}
html[data-design="aurora"] .lp-art{border-radius:34px}
.jr-info{font-size:.82rem;color:rgba(255,255,255,.7);margin:12px 0 0;max-width:46ch}
.jr-bar{display:flex;align-items:center;gap:8px;margin:5px 0}.jr-bar i{display:block;height:14px;border-radius:7px;background:var(--pri);min-width:3px}.jr-bar span{min-width:150px;font-size:.9rem}.jr-bar b{font-size:.9rem}
.jr-ev{display:flex;gap:10px;padding:6px 8px;border-bottom:1px solid var(--bd);font-size:.92rem}.jr-ev time{min-width:52px;color:var(--mut);font-variant-numeric:tabular-nums}.jr-ev.err{background:rgba(192,57,43,.12)}.jr-ev.mile{background:rgba(46,160,90,.14);font-weight:600}.jr-ev.view{font-weight:600}
.jr-ev.new{animation:jrin .3s}@keyframes jrin{from{opacity:0;transform:translateY(4px)}to{opacity:1}}
.exa-w{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 6px;width:100%}
.exa{width:min(100%,360px);height:auto;background:var(--card);border:1px solid var(--bd);border-radius:14px}
.exa polyline{fill:none;stroke:var(--fg);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.exa .exh{fill:none;stroke:var(--fg);stroke-width:5}
.exa .exg{stroke:var(--mut);stroke-width:2;stroke-dasharray:4 5}
.exa .exj{fill:var(--gel);opacity:.9}
.exa-c{margin:0;padding-left:20px;font-size:.92rem;line-height:1.45;max-width:380px;text-align:left}
.exa-s{font-size:.85rem;color:var(--mut)}

.cal-bar .cb-t{flex:0 1 auto}
@media(max-width:640px){
 .cal-bar{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"a a a a" "s s s d" "p t n n" "c c c c";gap:8px;align-items:stretch}
 .cal-bar .cb-a{grid-area:a;max-width:none;width:100%}.cal-bar .cb-s{grid-area:s;width:100%;display:grid;grid-auto-flow:unset;grid-template-columns:1fr 1fr}.cal-bar .cb-d{grid-area:d}.cal-bar .cb-p{grid-area:p}.cal-bar .cb-n{grid-area:n;justify-self:start}.cal-bar .cb-c{grid-area:c}
 .cal-bar .cb-t{grid-area:t;min-width:0;text-align:left;align-self:center;font-size:1.15rem;padding-left:4px}
 .calt{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calt button{width:100%;font-size:.9rem;line-height:1.2;padding:9px 10px;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center}
 .calt #av_open{grid-column:1/-1}
}

.lp-brand{white-space:nowrap;flex:0 0 auto}.lp-r{gap:8px;flex:0 1 auto;min-width:0}
.lp-r .langsel,.lp-login{height:40px;box-sizing:border-box;white-space:nowrap;font-size:.9rem;font-weight:600;border-radius:999px;line-height:1}
.lp-r .langsel{flex:0 0 auto;width:auto;min-width:64px;background-color:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);padding:0 28px 0 12px;box-shadow:none}
.lp-r .langsel option{color:#14163a;background:#fff}
.lp-login{padding:0 16px;min-height:0;display:inline-flex;align-items:center}
@media(max-width:420px){.lp-top{gap:8px}.lp-brand{font-size:1rem;gap:6px}.lp-brand svg{width:28px;height:28px}.lp-r{gap:6px}.lp-r .langsel{min-width:0;padding:0 20px 0 10px;font-size:.82rem;background-position:right 6px center}.lp-login{padding:0 10px;font-size:.8rem}.lp-r .langsel{font-size:.8rem}}
@media(max-width:375px){.lp-bn{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* page publique d'un plan (lien partagé) */
#v_share .sp{max-width:760px;margin:0 auto;padding:0 0 96px}
.sp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 14px}
.sp-brand{white-space:nowrap;display:flex;align-items:center;gap:9px;font:800 1.15rem var(--ffd),sans-serif;letter-spacing:-.03em;color:var(--fg)}
.sp-hero{background:var(--hero);color:#fff;border-radius:26px;padding:30px 22px 22px;position:relative;overflow:hidden}
.sp-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#ff3d78 0,rgba(255,61,120,0) 68%);opacity:.55;pointer-events:none}
.sp-hero small{position:relative;z-index:1;display:block;letter-spacing:.14em;text-transform:uppercase;color:#ff9ec0;font-weight:700;font-size:.74rem}
.sp-hero h1{position:relative;z-index:1;font:800 clamp(1.9rem,7.5vw,3.1rem)/1.04 var(--ffd),sans-serif;letter-spacing:-.035em;margin:10px 0 8px;color:#fff;overflow-wrap:anywhere}
.sp-hero p{position:relative;z-index:1;color:rgba(255,255,255,.78);margin:0 0 22px}
.sp-k{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sp-k div{background:rgba(255,255,255,.1);border-radius:16px;padding:14px 14px 12px}
.sp-k b{display:block;font:800 clamp(1.5rem,6vw,2.1rem)/1.05 var(--ffd),sans-serif;color:#fff;letter-spacing:-.02em}
.sp-k span{color:rgba(255,255,255,.72);font-size:.85rem}
@media(min-width:640px){.sp-k{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-hero{padding:38px 32px 28px}}
#v_share .sp h2{font:800 1.5rem var(--ffd),sans-serif;letter-spacing:-.03em;margin:34px 0 12px}
#v_share .sp h2 small{display:block;font:600 .9rem var(--ff),sans-serif;letter-spacing:0;color:var(--mut);margin-top:4px}
.sp-join{margin-top:38px;background:var(--lp-bg);color:#fff;border-radius:26px;padding:30px 22px;text-align:center}
.sp-join h2{color:#fff;margin:0 0 10px!important;font-size:clamp(1.6rem,6vw,2.3rem)!important}
.sp-join p{color:rgba(255,255,255,.85);margin:0 auto 18px;max-width:46ch}
.sp-join ul{list-style:none;margin:0 auto 22px;padding:0;max-width:34ch;text-align:left;display:grid;gap:10px}
.sp-join li{display:flex;gap:10px;align-items:flex-start;font-weight:600}.sp-join li:before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--lp-bg);display:grid;place-items:center;font-size:.8rem;font-weight:800;margin-top:1px}
.sp-join small{display:block;margin-top:14px;color:rgba(255,255,255,.75)}.sp-join a{color:#fff;font-weight:700;cursor:pointer;text-decoration:underline}
.sp-note{margin:22px 4px 0;color:var(--mut);font-size:.82rem;text-align:center}
.sp-fab{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--bg) 62%,rgba(255,255,255,0));display:flex;justify-content:center;pointer-events:none}
.sp-fab button{pointer-events:auto;width:100%;max-width:420px;margin:0}
body[data-page=share] .sp-fab{display:flex}.sp-fab{display:none}@media(min-width:900px){body[data-page=share] .sp-fab{display:none}}
.lk{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 6px}.lk input{flex:1 1 220px;min-width:0}
.bmg-strip{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,#1b1f4a,#2b2f7a);color:#eef0ff;box-shadow:var(--sh)}
.bmg-av{flex:none;width:64px;height:64px;padding:0;margin:0;border-radius:50%;border:2px solid #4a52b8;background:radial-gradient(circle at 50% 70%,#3b2bd9,#161a4a);display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:0}
.bmg-mid{flex:1 1 0;min-width:0}.bmg-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}.bmg-top b{font-size:1.1em}.bmg-top span,.bmg-sub{font-size:.82em;color:#c9cdf5}
.bmg-bar{height:9px;border-radius:9px;background:#0c1030;margin:5px 0;overflow:hidden}.bmg-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#ff5c9a,#ffc857)}
.bmg-chest{flex:none;display:flex;flex-direction:column;align-items:center;gap:0;padding:6px 10px;margin:0;border-radius:14px;background:#ff5c9a;color:#1a0610;border:0;min-height:0;line-height:1.1;cursor:pointer}.bmg-chest span{font-size:.7em;font-weight:700}
.bmg-dlg{max-width:560px}.bmg-cre{display:grid;grid-template-columns:170px 1fr;gap:14px}
.bmg-pv{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:16px;background:radial-gradient(ellipse at 50% 80%,#3b2bd9,#161a4a)}
.bmg-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.bmg-tab{margin:0;padding:6px 10px;min-height:0;border-radius:999px;background:transparent;color:var(--fg);border:1px solid var(--bd);font-size:.85em}.bmg-tab.on{background:var(--pri);color:var(--onp);border-color:var(--pri)}
.bmg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.bmg-it{margin:0;padding:6px 4px;min-height:0;border-radius:12px;border:2px solid var(--bd);background:var(--card);color:var(--fg);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.78em;position:relative}.bmg-it.on{border-color:var(--pri)}.bmg-it.lock{opacity:.55}
.bmg-sw{display:block;width:36px;height:36px;border-radius:50%;border:2px solid rgba(0,0,0,.15)}.bmg-sw.big{width:90px;height:90px}.bmg-lk{font-style:normal;font-size:.8em;color:var(--mut)}
.bmg-opt{margin-top:10px}.bmg-ch,.bmg-rw{text-align:center}.bmg-gift{font-size:64px}.bmg-win{display:flex;justify-content:center;padding:10px}.bmg-drop{font-size:44px;font-weight:900;color:var(--gel)}
.bmg-stage{display:flex;justify-content:center;padding:10px 0;border-radius:16px;background:radial-gradient(ellipse at 50% 80%,#3b2bd9,#161a4a)}.bmg-up{margin:0 0 6px;font-weight:900;color:var(--gel)}
.bmg-rows{border:1px solid var(--bd);border-radius:14px;padding:6px 14px;margin:8px 0;text-align:left}.bmg-row{display:flex;justify-content:space-between;padding:5px 0}.bmg-row+.bmg-row{border-top:1px solid var(--bd)}.bmg-row.tot{font-size:1.15em;font-weight:900;border-top:2px solid var(--bd)}
.bmg-bd{margin:0;flex:none}.bmg-bdw{max-width:100%}.bmg-bhead{display:flex;gap:12px;align-items:center;padding:10px;border-radius:16px;background:radial-gradient(ellipse at 20% 80%,#3b2bd9,#161a4a);color:#eef0ff}.bmg-bhead .muted{color:#c9cdf5}.bmg-cat{margin:6px 0}.bmg-cls{display:flex;flex-wrap:wrap;gap:6px}.bmg-cl{position:relative;display:inline-flex;border-radius:10px;border:1px solid var(--bd);padding:2px}.bmg-cl.lock{opacity:.45}.bmg-cl i{position:absolute;right:-2px;bottom:-2px;font-style:normal;font-size:.8em}.bmg-cl .bmg-sw{width:30px;height:30px;margin:5px}
.bmg-pist{background:#0c1030;color:#eef0ff;border-radius:20px;padding:14px;overflow:hidden}.bmg-oval{position:relative;width:100%;max-width:1000px;margin:34px auto 0;aspect-ratio:1000/560}@media(max-width:560px){.bmg-ctr span,.bmg-dm{display:none}.bmg-ctr{top:36%}}
.bmg-pp,.bmg-gh,.bmg-dm{position:absolute;transform:translate(-50%,-92%)}.bmg-pp{background:none;border:0;padding:0;margin:0;min-height:0;z-index:3;cursor:pointer;display:flex;flex-direction:column;align-items:center}.bmg-gh{opacity:.28;pointer-events:none}.bmg-gh svg{width:24px!important;height:24px!important}.bmg-pp svg{width:34px!important;height:34px!important}
.bmg-pb{position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;color:#0c1030;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center}.bmg-pb.s{position:static;transform:none;width:24px;height:24px;font-size:13px;flex:none}
.bmg-dm{transform:translate(-50%,-50%);font-size:clamp(8px,1.4vw,11px);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7f88c9;width:40px;text-align:center}.bmg-dm.on{color:#ff9fc4}
.bmg-ctr{position:absolute;left:26%;width:48%;top:38%;text-align:center}.bmg-ctr small{display:block;font-size:clamp(8px,1.5vw,13px);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a9b0e0}.bmg-ctr b{display:block;font-size:clamp(20px,5.6vw,56px);font-weight:900;line-height:1.05}.bmg-ctr span{font-size:clamp(8px,1.5vw,15px);color:#c8cdf5}
.bmg-dep{position:absolute;left:50%;top:-1%;transform:translateX(-50%);font-size:clamp(7px,1.2vw,12px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a9b0e0;background:#0c1030;padding:0 8px;white-space:nowrap}
.bmg-cap{margin:10px 0 0;font-size:.85em;color:#a9b0e0;text-align:center}.bmg-crs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.bmg-cr{display:flex;align-items:center;gap:10px;margin:0;min-height:52px;padding:6px 12px;border-radius:14px;border:1px solid var(--bd);background:var(--card);color:var(--fg);text-align:left}.bmg-cr small{display:block;color:var(--mut);font-weight:400}.bmg-cp{font-size:1.1em}
.bmg-vel{background:#070a22;border-radius:20px;padding:6px;overflow:hidden;color:#eef0ff}.bmg-vel>svg{width:100%;height:auto;display:block}.bmg-vel .bmg-cap{padding:0 12px 8px}.bmg-vp{cursor:pointer;outline:none}.bmg-vp:focus-visible ellipse{stroke:#fff;stroke-width:2}.bmg-vp:hover ellipse{opacity:.9}
.bmg-dh{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.bmg-dst{color:#0c1030;font-size:.75em;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 10px}.bmg-dn{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:10px;padding:12px 14px;border:1px solid var(--bd);border-radius:14px;background:var(--card)}
.bmg-pnav{display:flex;align-items:center;gap:10px;margin:0 0 10px}.bmg-pnav button{margin:0}
.bmg-watch{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;margin-bottom:10px;border-radius:12px;border:1px solid var(--bd);background:var(--card)}.bmg-w{margin:0;min-height:0;padding:4px 10px;border-radius:999px;background:transparent;color:var(--fg);border:1px solid var(--bd);font-size:.9em}
.bmg-pel{border:1px solid var(--bd);border-radius:16px;background:var(--card);padding:6px 10px;overflow:hidden}
.bmg-lane,.bmg-days{display:grid;grid-template-columns:104px 1fr;gap:8px;width:100%;align-items:center}.bmg-lane{margin:0;padding:4px 0;min-height:0;background:transparent;color:var(--fg);border:0;border-top:1px solid var(--bd);border-radius:0;text-align:left}
.bmg-nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column}.bmg-nm small{font-weight:400;color:var(--mut)}
.bmg-trk{position:relative;display:block;height:88px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/7 - 1px),var(--bd) calc(100%/7 - 1px) calc(100%/7))}.bmg-hd{height:auto;display:grid;grid-template-columns:repeat(7,1fr);text-align:center;background:none;color:var(--mut);font-size:.8em}
.bmg-td{position:absolute;top:0;bottom:0;width:2px;background:var(--gel);opacity:.7}
.bmg-pw{position:absolute;top:2px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;transition:left .4s}.bmg-pw em{font-style:normal;font-size:.62em;font-weight:700;color:#fff;background:var(--c);border-radius:999px;padding:0 6px;margin-top:-2px;white-space:nowrap}
.bmg-tk{position:absolute;bottom:3px;transform:translateX(-50%);font-style:normal;font-size:.8em;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bd)}.bmg-tk.done{background:#1f9d55}.bmg-tk.missed{background:transparent;border:2px solid #d6246e}.bmg-tk.planned{background:transparent;border:2px dashed var(--mut)}
.view-mode{display:flex;gap:6px;margin-bottom:10px}.view-mode button{margin:0}
.bmg-gel{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--bd)}.bmg-gel input{flex:1 1 140px;margin:0}.bmg-gel button{margin:0}

.bmg-fiche{max-width:100%}.bmg-fhead{display:flex;gap:14px;align-items:center;margin-bottom:8px}.bmg-fhead .bmg-dst{display:inline-block;margin:2px 0}
.bmg-fal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bmg-fal li{padding:8px 12px;border-radius:12px;font-weight:600;border:1px solid var(--bd);background:var(--card)}.bmg-fal li.bad{border-color:#ff5c9a;background:rgba(255,92,154,.12)}.bmg-fal li.warn{border-color:#ffc857;background:rgba(255,200,87,.12)}.bmg-fal li.ok{border-color:#4fe3c1;background:rgba(79,227,193,.1)}
.bmg-fw{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.bmg-fd{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:10px;border:1px solid transparent}.bmg-fd.on{border-color:var(--gel);background:rgba(255,92,154,.08)}.bmg-fl{font-size:.75em;font-weight:800;color:var(--mut);text-transform:uppercase}
.bmg-fb{height:68px;display:flex;align-items:flex-end;gap:2px}.bmg-fb i{display:block;width:14px;border-radius:5px 5px 2px 2px;background:#7389ff33;border:2px dashed #7389ff;box-sizing:border-box}.bmg-fb i.done{background:#4fe3c1;border:0}.bmg-fb i.missed{background:#ff5c9a55;border:2px solid #ff5c9a}.bmg-fb em{display:block;width:14px;height:3px;border-radius:2px;background:var(--bd)}
.bmg-fm{font-size:.68em;line-height:1.25;text-align:center;color:var(--mut)}.bmg-fq{margin:8px 0 0;padding:8px 12px;border-left:3px solid var(--bd);font-style:italic}

/* ---- Calendrier : barre compacte, menu Outils, carte de la semaine ---- */
.calmenu{display:contents}.calmenu .cm-b{display:none}.calmenu .cm-p{display:contents}
.cb-sh{display:none}
.wcard{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:12px 14px;margin:0 0 12px}
.wcard .wc-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:1rem}.wcard .wc-h b{font-size:1.25rem}
.wcard .wc-t{color:var(--mut);font-size:.9rem}
.wc-bar{height:8px;border-radius:99px;background:var(--bd);overflow:hidden;margin:8px 0}.wc-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--pri),#4fe0c0);transition:width .4s}
.wc-s{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.wc-p{background:rgba(120,130,200,.14);border-radius:99px;padding:3px 10px;font-size:.88rem;white-space:nowrap}.wc-p small{color:var(--mut)}.wc-c{margin-left:auto;color:var(--mut);font-size:.8rem}
.wc-av{margin-top:8px;width:100%}
@media(max-width:640px){
 .cal-bar{grid-template-columns:auto 1fr auto auto;grid-template-areas:"a a a a" "p t n d" "s s s m";gap:8px}
 .cal-bar .cb-l{display:none}.cal-bar .cb-sh{display:inline}
 .cal-bar .cb-t{font-size:1.05rem;white-space:nowrap;text-align:center;padding:0}
 .cal-bar .cb-p,.cal-bar .cb-n{padding:0 14px}.cal-bar .cb-d{padding:0 12px;font-size:.9rem}
 .cal-bar .cb-s{grid-area:s}.cal-bar .cb-s button{padding:7px 10px;font-size:.9rem}
 .calmenu{display:block;grid-area:m;position:relative}.calmenu .cm-b{display:block;width:100%;min-width:52px;font-size:1.3rem;line-height:1;padding:0 14px;height:100%}.calmenu .cm-t{display:none}
 .calmenu .cm-p{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:240px;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.45);gap:6px}
 .calmenu.open .cm-p{display:grid}.calmenu .cm-p button{width:100%;justify-content:flex-start;text-align:left;min-height:44px;font-size:.95rem}
 .goalbar{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 12px}.goalbar .gx{display:none}
 .wcard{padding:10px 12px}
 .day.past:not(:focus-within){opacity:.7}.day.today{scroll-margin-top:12px}
}
@media(max-width:640px){
 .cal-bar{grid-template-columns:48px 1fr 48px 112px;align-items:center}
 .cal-bar>*{margin:0}
 .cal-bar .cb-p,.cal-bar .cb-n{width:48px;height:44px;padding:0;justify-self:stretch}
 .cal-bar .cb-t{align-self:center;line-height:1.2;text-align:center;margin:0;display:flex;align-items:center;justify-content:center;height:44px}
 .cal-bar .cb-d{width:100%;height:44px;padding:0;justify-self:stretch}
 .cal-bar .cb-s{grid-area:s;height:44px;align-self:center}
 .cal-bar .cb-s button{height:100%}
 .calmenu{grid-area:m;align-self:center;height:44px;width:100%}
 .calmenu .cm-b{width:100%;height:44px;padding:0;display:flex;align-items:center;justify-content:center}
 .cal-bar .cb-a{grid-area:a}
}
@media(max-width:640px){.cal-bar>*,.cal-bar .cm-b,.cal-bar .calmenu{margin:0!important}}

/* ---- Coaching : vues Peloton / Piste / Vélodrome sur mobile ---- */
.bmg-rot{display:none;margin:6px 0 0;text-align:center;font-size:.8rem;color:#a9b0e0}
@media(max-width:640px){
 .view-mode{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px}.view-mode::-webkit-scrollbar{display:none}.view-mode button{flex:0 0 auto;white-space:nowrap}
 .bmg-rot{display:block}
 .bmg-oval.v{aspect-ratio:560/1000;max-width:380px;margin:10px auto 0}.bmg-oval.v .bmg-dep{display:none}
 .bmg-oval.v .bmg-ctr{left:18%;width:64%;top:44%}.bmg-oval.v .bmg-ctr b{font-size:34px}.bmg-oval.v .bmg-ctr small{font-size:11px}
 .bmg-oval.v .bmg-pp svg{width:34px!important;height:34px!important}.bmg-oval.v .bmg-gh svg{width:26px!important;height:26px!important}
 .bmg-oval.v .bmg-pb{width:16px;height:16px;font-size:10px;top:-6px}
 .bmg-pist{padding:8px}
}
@media(max-width:640px){
 .bmg-lane,.bmg-days{grid-template-columns:1fr;gap:0}.bmg-days .bmg-nm{display:none}
 .bmg-lane .bmg-nm{flex-direction:row;align-items:baseline;gap:8px;padding:2px 4px 0}.bmg-trk{height:74px}
}
@media(max-width:640px){.bmg-days .bmg-hd{height:auto;padding:2px 0}}
/* Téléphone en paysage (écran très bas) : en-tête non collant et visuels bornés à la hauteur */
@media(max-height:520px) and (min-width:641px){
 #bar,html[data-design] body.app #bar{position:static!important;width:auto!important;height:auto!important;margin:0 0 8px!important;padding:6px 12px!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:4px 14px!important;border-right:0!important;border-bottom:1px solid var(--bd)!important;backdrop-filter:none}
 html[data-design] body.app{padding-left:0!important}
 html[data-design] body.app main,html[data-design] body.app #app{margin-left:0!important}
 .bmg-vel>svg{max-height:calc(100vh - 70px);width:auto;max-width:100%;margin:0 auto}
 .bmg-oval{max-width:calc((100vh - 110px)*1000/560)}
 .bmg-pnav{margin-bottom:6px}
}
/* Bonhomme de la bannière : plus grand, cadré sur le buste */
.bmg-av{width:88px;height:88px;overflow:hidden;align-items:flex-start;position:relative}
.bmg-av svg{width:120px!important;height:120px!important;margin-top:-6px;flex:none}
@media(max-width:640px){.bmg-av{width:76px;height:76px}.bmg-av svg{width:104px!important;height:104px!important;margin-top:-5px}}
.bmg-av svg{max-width:none!important;min-width:0}
.bmg-strip{flex-wrap:wrap}.bmg-mid{flex:1 1 170px;min-width:170px}

/* Bonhomme dans le bouton Compte */
.nv .bgn,#bar .nv .bgn{width:30px;height:30px;border-radius:50%;overflow:hidden;flex:none;display:inline-flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 50% 80%,#3b2bd9,#161a4a);border:2px solid #4a52b8}
#bar .nv .bgn svg,.nv .bgn svg{width:46px!important;height:46px!important;max-width:none!important;margin:-1px 0 0;stroke:none;stroke-width:0;flex:none}

/* ---- Calendrier : pleine largeur d'écran + polices plus lisibles ---- */
@media(min-width:1100px){
 body[data-page="coach"] main{max-width:min(1680px,calc(100vw - 48px))}
 html[data-design] body.app[data-page="coach"] main{max-width:none}
 html[data-design] body.app main>section#v_coach{max-width:1680px}
}
@media(min-width:1760px){
 .mwrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
 .mwrap #mday{position:sticky;top:14px;margin:0}
}
/* vue Semaine */
.cal .day h4{font-size:.98rem;color:color-mix(in srgb,var(--mut) 55%,var(--fg))}
.chip{font-size:.94rem}.chip small{font-size:.84rem}
@media(min-width:641px){
 /* vue Mois */
 .mgrid{grid-template-columns:repeat(7,minmax(0,1fr)) 108px;gap:6px}
 .mgrid .day{min-height:112px;padding:6px}
 .mgrid .mh{font-size:.9rem;font-weight:600}
 .mgrid .dn{font-size:.95rem}
 .mgrid .mp{font-size:.88rem;padding:3px 6px}.mgrid .mp .g{font-size:.82rem}.mgrid .mp i{width:9px;height:9px}
 .mgrid .mg{font-size:.88rem}.mgrid .more{font-size:.82rem}
 .mgrid .mw{font-size:.95rem;gap:2px}.mgrid .mw b{font-size:1.02rem}.mgrid .mw small{font-size:.82rem}.mgrid .mw .sp{font-size:.82rem;margin-top:4px;line-height:1.35}
 .mgrid .dn,.mgrid .mh,.mgrid .mw small,.mgrid .mw .sp{color:color-mix(in srgb,var(--mut) 55%,var(--fg))}
}
/* bannière XP */
.bmg-top b{font-size:1.28em}.bmg-top span,.bmg-sub{font-size:.9rem;color:#dfe2ff}
.bmg-bar{height:11px}
/* textes secondaires du calendrier */
.wsum,.wcard .wc-t{font-size:.95rem}.avl,.cal .av{font-size:.88rem}
/* Piste / Vélodrome : filtre de scène et compteur */
.bmg-flt{margin:0 0 10px}.bmg-more{margin:8px 0 0;text-align:center;color:var(--mut);font-size:.92rem}.bmg-more button{margin:0 0 0 6px;vertical-align:middle}
@media(max-width:640px){.bmg-flt{flex-wrap:wrap!important;overflow:visible!important}}

/* creator mobile */
@media(max-width:640px){
dialog.bmg-dlg{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;padding:0!important;overflow:auto}
.bmg-cre{display:block}
.bmg-pv{position:sticky;top:0;z-index:3;flex-direction:row;justify-content:center;gap:14px;padding:8px 12px;border-radius:0;height:112px;box-sizing:border-box}
.bmg-pv svg{width:96px!important;height:auto;max-width:none!important}
.bmg-pv #bmg_rnd{margin:0!important}
.bmg-pn{padding:10px 14px 0}.bmg-pn h3{display:none}
.bmg-tabs{flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:0 -14px 10px;padding:2px 14px;scrollbar-width:none;position:sticky;top:112px;z-index:2;background:var(--bg,var(--card))}
.bmg-tabs::-webkit-scrollbar{display:none}
.bmg-tab{flex:none;padding:9px 14px;font-size:.95em;margin:0}
.bmg-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bmg-it{padding:8px 2px;font-size:.78em;width:auto;min-width:0}.bmg-it svg{max-width:100%}.bmg-sw{width:44px;height:44px}
.bmg-dlg .bmg-cre~.muted,.bmg-pn>.muted{display:none}
.bmg-acts{position:sticky;bottom:0;z-index:3;margin:12px 0 0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--bd);display:flex;gap:8px}
.bmg-acts button{flex:1;margin:0!important}
.bmg-dlg .err,.bmg-dlg .bmg-opt{margin-left:14px;margin-right:14px}
}

/* semaine en carrousel (mobile) */
@media(max-width:640px){
.cal{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 -16px;padding:2px 16px 10px;align-items:stretch;scrollbar-width:none;overscroll-behavior-x:contain}
.cal::-webkit-scrollbar{display:none}
.cal .day{flex:0 0 84%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always}
.caldots{display:flex;justify-content:center;gap:8px;margin:2px 0 12px}
.caldots button{margin:0!important;width:10px;height:10px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--mut);background:transparent;flex:none}
.caldots button.td{border-color:#ff5c9a}
.caldots button.on{background:var(--pri);border-color:var(--pri);width:22px;border-radius:6px}
}
/* onglet Forme : espaces entre blocs + infobulle vide masquée */
.box.fm~.box,.box.fm~.fnotes{margin-top:16px}
.ftip[hidden]{display:none!important}
/* ===== Semaine desktop allégée ===== */
@media(min-width:901px){
.calmenu{display:block;position:relative;margin-left:auto}
.calmenu .cm-b{display:flex;align-items:center;justify-content:center;width:44px;height:40px;padding:0;margin:0;font-size:1.3rem;line-height:1}.calmenu .cm-t{display:none}
.calmenu .cm-p{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:250px;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.28);gap:4px}
.calmenu.open .cm-p{display:grid}.calmenu .cm-p button{width:100%;margin:0;justify-content:flex-start;text-align:left}
.cal-bar{flex-wrap:nowrap}.cal-bar .goalbar{margin:0;flex:0 1 auto;min-width:0;border-radius:999px;padding:7px 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-bar .goalbar .gx{display:inline}
/* bilan sur une ligne */
.wcard{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;padding:8px 14px}
.wcard .wc-h{display:contents}.wcard .wc-h>span:first-child{order:1;white-space:nowrap}
.wcard .wc-bar{order:2;flex:0 0 220px;margin:0}
.wcard .wc-h .wc-t{order:3}.wcard .wc-s{order:4;display:flex;gap:6px;align-items:center;margin:0;flex-wrap:wrap}
.wcard .wc-p{padding:2px 9px}
.wcard .wc-av,.wcard .wc-avl{order:5;margin:0 0 0 auto;width:auto;border:0;background:none;color:var(--pri);font-weight:600;padding:2px 4px;border-bottom:1px dashed var(--pri);border-radius:0;min-height:0}
/* bannière XP compacte */
.bmg-strip{flex-wrap:nowrap;padding:6px 14px;gap:14px;border-radius:14px}
.bmg-av{width:56px;height:56px;border-width:2px}.bmg-av svg{width:78px!important;height:78px!important;margin-top:-4px}
.bmg-mid{display:flex;align-items:center;gap:14px;flex:1 1 0;min-width:0}
.bmg-top{flex:none;gap:10px}.bmg-mid .bmg-bar{flex:0 0 240px;margin:0}.bmg-sub{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmg-chest span{display:none}.bmg-chest{padding:6px 12px;flex-direction:row;gap:6px}
}
@media(min-width:901px){
.cal-bar .cb-l{display:none}.cal-bar .cb-sh{display:inline}.cal-bar .cb-t{white-space:nowrap}
.wcard .wc-bar{flex:0 0 150px}
}
.chip .stb.cb{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* ===== Onglet Nouveau : colonnes (grand écran) / étapes (mobile) ===== */
.nv-steps,.nv-q,.nv-c,.nv-recap,.nv-back{display:none}
.nv-ph{display:flex;flex-direction:column;align-items:center;gap:10px;border-style:dashed}.nv-ph svg{width:min(260px,70%);color:var(--pri);opacity:.45}
@media(min-width:1100px){
body[data-page="app"] main{max-width:min(1500px,calc(100vw - 48px))}
html[data-design] body.app[data-page="app"] main{max-width:none}
#v_app:has(>.nv-l){display:grid;grid-template-columns:minmax(340px,410px) minmax(0,1fr);gap:0 28px;align-items:start}
#v_app>#localnote{grid-column:1/-1}
#v_app .nv-l{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;padding:2px 4px 8px 2px}
#v_app .nv-r{min-width:0}#v_app .nv-r #out{margin-top:0}
#v_app .nv-l .hero{margin:0 0 12px}#v_app .nv-l .hero h1{font-size:1.55rem}#v_app .nv-l .hero p{font-size:.92rem}
#v_app .nv-l .box .grid{grid-template-columns:1fr}
#v_app .nv-ph{min-height:260px;justify-content:center}
}
@media(max-width:899px){
#v_app .hero p{display:none}
#v_app .nv-steps{display:flex;align-items:center;gap:8px;margin:0 0 14px}
#v_app .nv-steps button{display:flex;align-items:center;gap:8px;margin:0;padding:4px 2px;min-height:0;background:none;border:0;color:var(--mut);font-weight:600;font-size:.9rem;width:auto}
#v_app .nv-steps button i{width:26px;height:26px;border-radius:50%;border:2px solid var(--bd);display:grid;place-items:center;font-style:normal;font-size:.8rem;flex:none}
#v_app .nv-steps button.on{color:var(--fg)}#v_app .nv-steps button.on i{background:var(--pri);border-color:var(--pri);color:var(--onp)}
#v_app .nv-steps button.dn i{background:#12a37f;border-color:#12a37f;color:#fff}
#v_app .nv-steps button:disabled{opacity:.55}
#v_app .nv-ln{flex:1;height:2px;background:var(--bd);min-width:8px}
#v_app .nv-q{display:block;font-size:1.3rem;margin:4px 0 12px}
#v_app .nv-c{display:block;width:100%;margin:16px 0 0;min-height:48px}
#v_app .nv-recap{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--bd);border-radius:12px;background:var(--card);font-weight:700}
#v_app .nv-recap .sm{margin:0}
#v_app .nv-back{display:inline-block;margin:0 0 12px}
#v_app #seg{margin-bottom:0}
/* étape 1 : sport */
#v_app[data-nvs="1"] #box,#v_app[data-nvs="1"] .nv-c2,#v_app[data-nvs="1"] .nv-q2,#v_app[data-nvs="1"] .nv-recap,#v_app[data-nvs="1"] .nv-r{display:none}
/* étape 2 : parcours */
#v_app[data-nvs="2"] .hero,#v_app[data-nvs="2"] #seg,#v_app[data-nvs="2"] .nv-q1,#v_app[data-nvs="2"] .nv-c1,#v_app[data-nvs="2"] .nv-r{display:none}
#v_app[data-nvs="2"] .nv-recap{display:flex}
#v_app[data-nvs="2"] .nv-c2{display:none}#v_app[data-nvs="2"][data-nvr="1"] .nv-c2{display:block}
/* étape 3 : plan */
#v_app[data-nvs="3"] .nv-l>:not(.nv-steps),#v_app[data-nvs="4"] .nv-l>:not(.nv-steps){display:none}#v_app[data-nvs="3"] .nv-back,#v_app[data-nvs="4"] .nv-back{display:inline-block}
#v_app[data-nvs="3"] .nv-r #out{margin-top:0}
#v_app .nv-l .box .grid{grid-template-columns:1fr}
}
/* tuiles de la fiche « Tu emportes » : le design Blue les rendait claires avec du texte blanc */
html[data-design] .ez-hero .kpi{background:rgba(255,255,255,.12);border-radius:6px 14px 14px 6px;padding:12px 14px}
html[data-design] .ez-hero .kpi b{color:#fff}
html[data-design] .ez-hero .kpi span{color:rgba(255,255,255,.78)}
/* ===== palettes Aube et Lagon (structure Blue Magic, couleurs et police différentes) ===== */
html[data-design="blue"][data-pal="aube"]{--pri:#cf3a57;--onp:#fff;--bg:#fff4ee;--fg:#3b1740;--mut:#80627d;--card:#fff;--bd:#f2dcd3;--gel:#8a2f9b;--hero:#7b2d8e;--lp-bg:#7b2d8e;--lp-btn:#ff9a5a;--lp-btnfg:#3b1740;--ff:Outfit,system-ui,sans-serif;--ffd:Outfit,system-ui,sans-serif;--sh:0 1px 2px rgba(59,23,64,.05),0 10px 28px -14px rgba(207,58,87,.32);--r:22px}
html[data-design="blue"][data-pal="lagon"]{--pri:#0a8497;--onp:#fff;--bg:#eefaf9;--fg:#0b3340;--mut:#4f7680;--card:#fff;--bd:#cfe9e7;--gel:#e5533f;--hero:#0a6f86;--lp-bg:#0a6f86;--lp-btn:#ff7a6b;--lp-btnfg:#0b3340;--ff:'DM Sans',system-ui,sans-serif;--ffd:'DM Sans',system-ui,sans-serif;--sh:0 1px 2px rgba(11,51,64,.05),0 10px 28px -14px rgba(10,132,151,.3);--r:20px}
@media(prefers-color-scheme:dark){
html[data-design="blue"][data-pal="aube"]:not([data-theme="light"]){--pri:#ff8aa0;--onp:#2a0f2d;--bg:#1d0d24;--fg:#fbeaf0;--mut:#c4a5bd;--card:#2a1431;--bd:#472452;--gel:#ffb27a;--hero:#4a1d5c;--sh:none}
html[data-design="blue"][data-pal="lagon"]:not([data-theme="light"]){--pri:#4fd6e6;--onp:#04222b;--bg:#071e26;--fg:#e6fbff;--mut:#8fbcc6;--card:#0d2c37;--bd:#1b4856;--gel:#ff8f80;--hero:#0b4b5c;--sh:none}}
html[data-design="blue"][data-pal="aube"][data-theme="dark"]{--pri:#ff8aa0;--onp:#2a0f2d;--bg:#1d0d24;--fg:#fbeaf0;--mut:#c4a5bd;--card:#2a1431;--bd:#472452;--gel:#ffb27a;--hero:#4a1d5c;--sh:none}
html[data-design="blue"][data-pal="lagon"][data-theme="dark"]{--pri:#4fd6e6;--onp:#04222b;--bg:#071e26;--fg:#e6fbff;--mut:#8fbcc6;--card:#0d2c37;--bd:#1b4856;--gel:#ff8f80;--hero:#0b4b5c;--sh:none}
html[data-design="blue"][data-pal="aube"] .ez-hero{background:radial-gradient(120% 140% at 100% 0%,rgba(255,154,90,.45),transparent 55%),linear-gradient(135deg,#7b2d8e,#c43d6a 65%,#e8556d);box-shadow:0 18px 40px -18px rgba(123,45,142,.55)}
html[data-design="blue"][data-pal="lagon"] .ez-hero{background:radial-gradient(120% 140% at 100% 0%,rgba(255,122,107,.35),transparent 55%),linear-gradient(140deg,#0a6f86,#0a8497 60%,#0fb5c6);box-shadow:0 18px 40px -18px rgba(10,111,134,.55)}
html[data-design="blue"][data-pal="aube"] .ez-hero .lead b,html[data-design="blue"][data-pal="lagon"] .ez-hero .lead b{color:#fff3d6}
/* transition douce entre les étapes (mobile) */
@keyframes nvInF{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes nvInB{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@media(max-width:899px){
#v_app .nv-l>:not(.nv-steps),#v_app .nv-r{animation:nvInF .34s cubic-bezier(.2,.7,.2,1) both}
#v_app[data-nvd="b"] .nv-l>:not(.nv-steps),#v_app[data-nvd="b"] .nv-r{animation-name:nvInB}
#v_app .nv-steps button,#v_app .nv-steps button i{transition:background-color .25s,border-color .25s,color .25s,opacity .25s}
}
@media(prefers-reduced-motion:reduce){#v_app .nv-l>*,#v_app .nv-r{animation:none!important}}

/* v73 : plan étape par étape (liste) */
.tlbox{margin-top:4px}
.tlr{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-top:1px solid var(--bd)}
.tlr:first-child{border-top:0}
.tli{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.85rem}
.tli.g{background:var(--gel,#8a2f9b)}.tli.b{background:var(--dn,#139a85)}
.tlt b{display:block;font-size:1rem}.tlt small{display:block;color:var(--mut);font-size:.82rem;overflow-wrap:anywhere}
.tlt em{display:inline-block;margin-top:3px;font-style:normal;font-size:.74rem;font-weight:700;color:var(--mut);border:1px solid var(--bd);border-radius:6px;padding:0 6px}
.tlh{text-align:right}.tlh b{display:block;font-size:1.1rem}.tlh small{color:var(--mut);font-size:.8rem}


/* v74 : étape 4 « Finalisation » (à acheter, enregistrer, imprimer, partager) ; plus de sélecteur Liste/Course/Tableau */
#v_app .nv-c3{display:none}
@media(max-width:899px){
#v_app[data-nvs="3"] .nv-c3{display:block}
#v_app[data-nvs="3"] #planbar,#v_app[data-nvs="3"] #cm,#v_app[data-nvs="3"] .ez-fin,#v_app[data-nvs="4"] .ez-main,#v_app[data-nvs="4"] .ezd{display:none!important}
#v_app .nv-steps button:not(.on) span{display:none}
#v_app[data-nvs="4"] .nv-r{display:flex;flex-direction:column}
#v_app[data-nvs="4"] .nv-r #out,#v_app[data-nvs="4"] .ez-fin{display:contents}
#v_app[data-nvs="4"] .ez-fin-t{order:0}
#v_app[data-nvs="4"] .nv-back{order:-1;align-self:flex-start}
#v_app[data-nvs="4"] .ez-fin .buy{order:1}
#v_app[data-nvs="4"] #planbar{order:2}
#v_app[data-nvs="4"] .ez-fa{order:3}
#v_app[data-nvs="4"] #cm{order:4}
}

/* v75 : graphique d'intensité plus lisible */
svg.ich text{font-size:13.5px;font-weight:600}
svg.ich{overflow:visible}
@media(max-width:640px){svg.ich text{font-size:12.5px}}

/* Accueil (non connecté) : palette lagon */
html[data-pal="lagon"] .wlc{background:radial-gradient(90% 60% at 80% 0%,rgba(255,122,107,.38),transparent 60%),linear-gradient(170deg,#0a8497 0%,#0a6f86 40%,#0b3340 100%);--wl-acc:#ff7a6b}
html[data-pal="lagon"] .wl-b1,html[data-pal="lagon"] #au_go{background:#ff7a6b;color:#0b3340}
html[data-pal="lagon"] #au_card input:focus{border-color:#ff7a6b}
html[data-pal="lagon"] #au_card .au-role[aria-pressed=true]{color:#0a6f86}
html[data-pal="lagon"] #au_card .err{color:#a63a28}
html[data-pal="lagon"] .wlc [stroke="#2340f0"]{stroke:#0a6f86}
html[data-pal="lagon"] .wlc [fill="#2340f0"]{fill:#0a6f86}
html[data-pal="lagon"] .wlc [fill="#ff3d78"]{fill:#ff7a6b}
html[data-pal="lagon"] .wlc [fill="#94a3b8"]{fill:#9fc3cc}
html[data-pal="lagon"] .wlc [fill="#3b82f6"]{fill:#5fd6e0}
html[data-pal="lagon"] .wlc [fill="#22c55e"]{fill:#2bc6d3}
html[data-pal="lagon"] .wlc [fill="#eab308"]{fill:#ffe0d6}
html[data-pal="lagon"] .wlc [fill="#f97316"]{fill:#ff7a6b}
html[data-pal="lagon"] .wlc [fill="#ef4444"]{fill:#ff9a8c}
html[data-pal="lagon"] .wlc [fill="#a21caf"]{fill:#ffffff}

/* Accueil (non connecté) : palette aube */
html[data-pal="aube"] .wlc{background:radial-gradient(90% 60% at 80% 0%,rgba(255,154,90,.42),transparent 60%),linear-gradient(170deg,#7b2d8e 0%,#5a2170 42%,#2a0f2d 100%);--wl-acc:#ff9a5a}
html[data-pal="aube"] .wl-b1,html[data-pal="aube"] #au_go{background:#ff9a5a;color:#3b1740}
html[data-pal="aube"] #au_card input:focus{border-color:#ff9a5a}
html[data-pal="aube"] #au_card .au-role[aria-pressed=true]{color:#7b2d8e}
html[data-pal="aube"] #au_card .err{color:#a63a28}
html[data-pal="aube"] .wlc [stroke="#2340f0"]{stroke:#7b2d8e}
html[data-pal="aube"] .wlc [fill="#2340f0"]{fill:#7b2d8e}
html[data-pal="aube"] .wlc [fill="#ff3d78"]{fill:#ff9a5a}
html[data-pal="aube"] .wlc [fill="#94a3b8"]{fill:#e3cdee}
html[data-pal="aube"] .wlc [fill="#3b82f6"]{fill:#c58be0}
html[data-pal="aube"] .wlc [fill="#22c55e"]{fill:#ff8aa0}
html[data-pal="aube"] .wlc [fill="#eab308"]{fill:#ffd0a0}
html[data-pal="aube"] .wlc [fill="#f97316"]{fill:#ff9a5a}
html[data-pal="aube"] .wlc [fill="#ef4444"]{fill:#ffb27a}
html[data-pal="aube"] .wlc [fill="#a21caf"]{fill:#ffffff}

/* v78 : cartes de plans calmes, menu ⋯, confirmation intégrée, bandeau Annuler */
.card .crow{display:flex;align-items:center;gap:8px;margin-top:14px}
.card .crow>.sm{flex:1;margin:0;min-height:44px;justify-content:center}
.card .crow .cib{flex:none;width:44px;height:44px;min-height:44px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--fg);border:1.5px solid var(--bd);border-radius:12px;box-shadow:none;cursor:pointer}
.card .crow .cib:hover{border-color:var(--pri);color:var(--pri)}
.card .crow .cib svg,.bmm svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.card{transition:opacity .25s,max-height .3s,margin .3s,padding .3s}
.card.gone{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden;border-width:0;pointer-events:none}
.bmm{position:absolute;z-index:1200;min-width:200px;background:var(--card);color:var(--fg);border:1px solid var(--bd);border-radius:16px;padding:6px;box-shadow:0 18px 40px -12px rgba(11,51,64,.45)}
.bmm button{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:0 12px;min-height:46px;background:transparent;color:inherit;border:0;border-radius:10px;font:inherit;font-weight:600;text-align:left;box-shadow:none;cursor:pointer}
.bmm button:hover,.bmm button:focus-visible{background:color-mix(in srgb,var(--pri) 11%,transparent);outline:0}
.bmm button.dg{color:#a63a28}.bmm svg{width:18px;height:18px}.bmm hr{border:0;border-top:1px solid var(--bd);margin:4px 2px}
.bma{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end;justify-content:center}
.bma-sc{position:absolute;inset:0;background:rgba(7,30,38,.5);opacity:0;transition:opacity .2s}
.bma-sh{position:relative;width:100%;max-width:460px;box-sizing:border-box;background:var(--card);color:var(--fg);border-radius:24px 24px 0 0;padding:10px 20px calc(env(safe-area-inset-bottom,0px) + 20px);box-shadow:0 -14px 40px -10px rgba(0,0,0,.35);transform:translateY(100%);transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.bma.in .bma-sc{opacity:1}.bma.in .bma-sh{transform:none}.bma.out .bma-sc{opacity:0}.bma.out .bma-sh{transform:translateY(100%)}
.bma-sh i{display:block;width:40px;height:4px;border-radius:9px;background:var(--bd);margin:0 auto 14px}
.bma-sh h3{margin:0 0 6px;font-size:1.2rem;line-height:1.2}.bma-sh p{margin:0 0 16px;color:var(--mut);line-height:1.45}
.bma-b{display:flex;flex-direction:column;gap:8px}
.bma-b button{width:100%;margin:0;min-height:50px;border-radius:14px;font-weight:700;font-size:1rem;cursor:pointer;justify-content:center}
.bma-ok{background:var(--pri);color:var(--onp,#fff);border:0}.bma-ok.d{background:#a63a28;color:#fff}
.bma-no{background:var(--card);color:var(--fg);border:1.5px solid var(--bd)}
@media(min-width:700px){.bma{align-items:center}.bma-sh{border-radius:24px;padding-bottom:20px;transform:translateY(20px) scale(.98);opacity:0;transition:transform .2s,opacity .2s}.bma.in .bma-sh{opacity:1}.bma.out .bma-sh{transform:translateY(20px) scale(.98);opacity:0}.bma-sh i{display:none}.bma-b{flex-direction:row-reverse}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bma-ok.d{background:#ff8f80;color:#2a0f0a}:root:not([data-theme="light"]) .bmm button.dg{color:#ff8f80}}
:root[data-theme="dark"] .bma-ok.d{background:#ff8f80;color:#2a0f0a}:root[data-theme="dark"] .bmm button.dg{color:#ff8f80}
#toast .tact{margin:0 0 0 14px;background:transparent;border:0;color:#ffb199;font-weight:800;font-size:inherit;padding:4px 2px;min-height:0;box-shadow:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#toast:not(.hide):not(.bad){display:flex;align-items:center}
@media(prefers-reduced-motion:reduce){.bma-sc,.bma-sh,.card{transition:none}}

/* v79 : onglets Coaching, espace sous la période des Zones, profil coach intégré */
.zbar{margin-bottom:16px}
.tab .tbn{display:inline-block;min-width:22px;margin-left:8px;padding:1px 7px;border-radius:99px;background:var(--lp-btn,#ff3d78);color:var(--lp-btnfg,#fff);font-size:.74rem;font-weight:800;line-height:1.5;text-align:center;vertical-align:1px}
#cp_box fieldset{margin:20px 0 0;padding:0;border:0;min-width:0}
#cp_box legend{float:left;width:100%;margin:0 0 10px;padding:0;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
#cp_box legend+*{clear:both}
.cpchips{display:flex;flex-wrap:wrap;gap:8px}
.cpchip{position:relative;display:inline-flex;margin:0;cursor:pointer}
.cpchip input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.cpchip span{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 16px;border-radius:999px;background:var(--card);border:1.5px solid var(--bd);color:var(--fg);font-weight:600;font-size:.95rem;transition:background .15s,border-color .15s,color .15s}
.cpchip input:checked+span{background:var(--pri);border-color:var(--pri);color:var(--onp,#fff)}
.cpchip input:checked+span:before{content:"✓";font-weight:800}
.cpchip input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--pri) 40%,transparent);outline-offset:2px}
.cplist{display:flex;align-items:center;gap:14px;margin:4px 0 18px;padding:14px 16px;border:1.5px solid var(--bd);border-radius:16px;background:var(--card);cursor:pointer}
.cplist:has(input:checked){border-color:var(--pri);background:color-mix(in srgb,var(--pri) 7%,var(--card))}
.cplist input{position:absolute;opacity:0;width:1px;height:1px}
.cplist>span:last-child{display:flex;flex-direction:column;gap:2px}.cplist small{color:var(--mut);font-weight:400;font-size:.86rem}
.cpsw{flex:none;position:relative;width:46px;height:28px;border-radius:99px;background:var(--bd);transition:background .2s}
.cpsw:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.cplist input:checked~.cpsw{background:var(--pri)}.cplist input:checked~.cpsw:after{transform:translateX(18px)}
.cplist input:focus-visible~.cpsw{outline:3px solid color-mix(in srgb,var(--pri) 40%,transparent);outline-offset:2px}
#cp_box .cpg{gap:14px}
#cp_box label{font-weight:600}
@media(prefers-reduced-motion:reduce){.cpchip span,.cpsw,.cpsw:after{transition:none}}

/* v80 : mini-courbe de forme : taille fixe (la règle svg{width:100%} l'étirait) */
svg.spk{width:64px;height:18px;flex:none}
svg.spk polyline{stroke:var(--pri)}
.ovc .frm{flex-wrap:wrap;gap:4px 8px}
.ovc .frm>*{min-width:0}

/* v81 : vélodrome aux couleurs des thèmes */
html[data-pal="lagon"] .bmg-vel{background:#041820;color:#effcff}
html[data-pal="aube"] .bmg-vel{background:#1d0d24;color:#fff3f7}

/* v82 : piste et en-têtes aux couleurs des thèmes */
html[data-pal="lagon"] .bmg-pist{background:#041820;color:#effcff}
html[data-pal="lagon"] .bmg-pb,html[data-pal="lagon"] .bmg-dst{color:#04202a}
html[data-pal="lagon"] .bmg-dm{color:#6fb3bf}html[data-pal="lagon"] .bmg-dm.on{color:#ffb199}
html[data-pal="lagon"] .bmg-ctr small,html[data-pal="lagon"] .bmg-dep,html[data-pal="lagon"] .bmg-cap{color:#9fd0d8}
html[data-pal="lagon"] .bmg-dep{background:#041820}
html[data-pal="lagon"] .bmg-ctr span{color:#c4eef3}
html[data-pal="lagon"] .bmg-bhead{background:radial-gradient(ellipse at 20% 80%,#0a8497,#072a36);color:#effcff}html[data-pal="lagon"] .bmg-bhead .muted{color:#c4eef3}
html[data-pal="aube"] .bmg-pist{background:#1d0d24;color:#fff3f7}
html[data-pal="aube"] .bmg-pb,html[data-pal="aube"] .bmg-dst{color:#1d0d24}
html[data-pal="aube"] .bmg-dm{color:#bf8fb8}html[data-pal="aube"] .bmg-dm.on{color:#ffcaa0}
html[data-pal="aube"] .bmg-ctr small,html[data-pal="aube"] .bmg-dep,html[data-pal="aube"] .bmg-cap{color:#d2aacb}
html[data-pal="aube"] .bmg-dep{background:#1d0d24}
html[data-pal="aube"] .bmg-ctr span{color:#f0d4ea}
html[data-pal="aube"] .bmg-bhead{background:radial-gradient(ellipse at 20% 80%,#7b2d8e,#2e1038);color:#fff3f7}html[data-pal="aube"] .bmg-bhead .muted{color:#f0d4ea}

/* v84 : le pion ne bouge plus quand on appuie dessus (button:active écrasait translate) */
.bmg-pp:active:not(:disabled),.bmg-pp:focus,.bmg-pp:focus-visible{transform:translate(-50%,-92%)}
.bmg-pp{transition:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.bmg-pp:active svg{transform:scale(.94)}
.bmg-pp{width:38px}.bmg-pp svg{flex:none}
.bmg-pp{width:auto;min-width:0}.bmg-pp svg{max-width:none!important;flex:none}.bmg-gh svg{max-width:none!important}
.bmg-pp{width:40px;min-width:40px}
/* v86 : le padding global des boutons (12px) décalait les pieds du pion d'un demi-couloir */
.bmg-pp{padding:0!important;height:34px;box-sizing:border-box}.bmg-pp .bmg-pb{top:-14px}.bmg-oval.v .bmg-pp .bmg-pb{top:-16px}

/* v87 : onglets Coaching sur une seule ligne (défilement horizontal si besoin) */
@media(max-width:640px){#co_tabs{flex-wrap:nowrap!important;overflow-x:auto;gap:4px 16px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}#co_tabs::-webkit-scrollbar{display:none}#co_tabs .tab{flex:none;white-space:nowrap;font-size:.92rem!important}}

/* v88 : graphiques de charge (A Pic de forme, B Séances, C Simple, F Foster) */
.chv{--ok:#2a9d8f}html[data-theme="dark"] .chv{--ok:#4fd1b8}.chv [hidden]{display:none!important}
.chb{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 8px}.chs{margin:0 0 6px;font-size:.85rem}
.chro{margin:0 0 4px;min-height:1.4em;font-size:.82rem;font-variant-numeric:tabular-nums;color:var(--fg)}
.chh{width:100%;min-width:0;touch-action:pan-y}.chv svg.chsv{display:block;max-width:none;height:auto}
.chv svg text{font-family:inherit;font-size:12px;font-weight:400;fill:var(--mut);stroke:none}
.chv svg text.chk{fill:var(--fg);font-weight:700;paint-order:stroke;stroke:var(--card);stroke-width:3px}
.chv svg text.chzl{font-size:12.5px;font-weight:700;paint-order:stroke;stroke:var(--card);stroke-width:3px}
.chl{fill:none;stroke-linejoin:round}.cp{stroke:var(--pri)}.cg{stroke:var(--gel)}.ck{stroke:var(--ok)}.cf{stroke:var(--fg)}
.chg{stroke:var(--bd);fill:none}.chz{stroke:var(--mut);stroke-opacity:.5}.chc{stroke:var(--gel)}.cht{stroke:var(--mut);stroke-opacity:.6}.chf{fill:var(--pri);opacity:.07}.chx{stroke:var(--fg)}
.cok{fill:var(--ok);opacity:.35}.cco{fill:var(--gel);opacity:.35}.cbp{fill:var(--pri);opacity:.85}.cbf{fill:none;stroke:var(--pri)}
.cst{stroke:var(--fg);stroke-opacity:.7}.cst.f{stroke-opacity:.35;stroke-dasharray:2 2}.cdt{fill:var(--fg)}.cdt.f{fill:none;stroke:var(--fg);stroke-opacity:.5}
.chzb.cok2{fill:var(--ok)}.chzb.cco2{fill:var(--gel)}.chzb.cmu{fill:var(--mut)}.chzb.cpr{fill:var(--pri)}
.chv svg text.chzl.cok2{fill:var(--ok)}.chv svg text.chzl.cco2{fill:var(--gel)}.chv svg text.chzl.cmu{fill:var(--mut)}.chv svg text.chzl.cpr{fill:var(--pri)}
.chdot{fill:var(--gel);stroke:var(--card);stroke-width:2}
.fleg .sw.cpb{background:var(--pri)}.fleg .sw.cgb{background:var(--gel)}.fleg .sw.okb{background:var(--ok)}
@media(max-width:640px){.chb .seg2{width:100%;grid-auto-flow:unset;grid-template-columns:repeat(5,minmax(0,1fr))}.chb .seg2#chr{grid-template-columns:repeat(3,minmax(0,1fr))}.chb .seg2 button{padding:8px 2px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* v90 : sélecteur d'athlète + chiffres sur la même ligne (le graphique remonte dans l'écran) */
.fm .fmtop{display:flex;align-items:center;gap:10px 24px;flex-wrap:wrap}.fm .fmtop .ffs{flex:1 1 300px;min-width:0}
.fm2 .fm-sel{flex:0 1 260px;min-width:0;width:260px;max-width:100%;margin:0}.fm2 .ff b{font-size:1.8rem}.fm2 .ff span{font-size:.82rem}.fm2 .fv{margin:8px 0 0;font-size:.92rem}
@media(max-width:640px){.fm2 .fm-sel{flex:1 1 100%;width:100%}.fm2 .ff b{font-size:1.6rem}}
/* v91 : barres d'onglets / de vues défilables en horizontal seulement (plus de petit défilement vertical) */
@media(max-width:899px){#co_tabs,.view-mode{overflow-y:hidden!important;overscroll-behavior-x:contain}#co_tabs{padding-bottom:1px}.view-mode{padding:2px 0}}
@media(max-width:640px){.chb .seg2{padding:2px}.chb .seg2 button{font-size:.74rem;font-weight:600;padding:8px 0;text-overflow:clip}}

/* v93 : le graphique d'abord, légende et explications dessous */
.chv .chro{margin:6px 0 4px}.chv .chs{margin:4px 0 0;font-size:.82rem}.chv .fleg{margin:4px 0 2px}
/* v94 : onglets Boutique / Admin sur une seule ligne en mobile */
@media(max-width:640px){#shop_tabs,#adm_tabs{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;gap:4px 16px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}#shop_tabs::-webkit-scrollbar,#adm_tabs::-webkit-scrollbar{display:none}#shop_tabs .tab,#adm_tabs .tab{flex:none;white-space:nowrap;font-size:.92rem!important}}

/* v95 : assistant « Faisons connaissance » */
dialog.wel{width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--bd);border-radius:20px;background:var(--card);color:var(--fg);padding:20px 20px 16px}dialog.wel::backdrop{background:rgba(5,25,32,.55)}
.wel h3{margin:0 0 10px;font-size:1.3rem;text-wrap:balance}.wel-k{margin:12px 0 2px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.wel-bar{display:flex;gap:6px}.wel-bar i{flex:1;height:5px;border-radius:3px;background:var(--bd)}.wel-bar i.d{background:var(--pri)}.wel-bar i.c{background:var(--gel)}
.wel-av{display:flex;justify-content:center;margin:6px 0 12px}.wel-av.s{margin:0 0 8px}.wel-g{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 6px}.wel-g label{min-width:0}.wel-g input{width:100%;box-sizing:border-box}
.wel-h{display:block;margin:0 0 10px;line-height:1.4}.wel-wkg{align-self:end;padding:0 0 12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--pri)}
.wel-ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}.wel-ul li.y{color:var(--fg)}.wel-ul li.n{color:var(--mut)}
.wel .actions{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0}.wel-later{margin:10px 0 0;text-align:center}

/* v96 : infos au survol dans le graphique (bulle), comme la vue Classique */
.chh{position:relative}.chh .ftip{top:6px}
/* v97 : écran large, « Garder ce plan » juste sous la carte « Tu emportes » (plus besoin de descendre tout en bas) */
@media(min-width:900px){#v_app .nv-r{display:flex;flex-direction:column}#v_app .nv-r #out,#v_app .nv-r .ez-main,#v_app .nv-r .ez-fin{display:contents}
#v_app .nv-r .ez-main>*,#v_app .nv-r .ez-fin>*,#v_app .nv-r #out>:not(.ez-main):not(.ez-fin){order:3}#v_app .nv-r .ez-main>.ez-hero{order:1}#v_app .nv-r #planbar{order:2}#v_app .nv-r #cm{order:4}}
/* v98 : planbar dans la colonne de gauche (écran large) */
@media(min-width:900px){#v_app .nv-l #planbar{margin:14px 0 0}}
/* v99 : bloc « fichier GPX / course » repliable une fois le plan calculé */
.src{margin:0 0 12px}.srct{display:none;width:100%;align-items:center;gap:10px;text-align:left;padding:10px 14px;margin:0 0 4px;background:var(--card);color:var(--fg);border:1px solid var(--bd);border-radius:14px;font-weight:600}
.leg[data-cl] .srct{display:flex}.leg:not([data-c]) .srct{background:transparent}
.srck{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--mut)}
.srcs{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.leg:not([data-c]) .srcs{display:none}.leg:not([data-c]) .srck{flex:1}
.srct svg{width:20px;height:20px;max-width:none;flex:none;color:var(--pri);transition:transform .8s cubic-bezier(.45,0,.2,1)}.leg:not([data-c]) .srct svg{transform:rotate(180deg)}
.srcb{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .9s cubic-bezier(.45,0,.2,1),opacity .7s ease .1s}
.srci{overflow:hidden;min-height:0;padding:4px;margin:-4px}
.leg[data-c] .srcb{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .9s cubic-bezier(.45,0,.2,1),opacity .5s ease,visibility 0s .9s}
.leg[data-c] .src{margin-bottom:0}
@media(prefers-reduced-motion:reduce){.srcb,.srct svg{transition:none!important}}
/* v101 : écran large, une fois le plan affiché on compacte l'intro de gauche pour voir « Garder ce plan » sans scroller */
@media(min-width:900px){
#v_app .nv-l>.hero h1{transition:font-size .9s cubic-bezier(.45,0,.2,1),margin .9s}
#v_app .nv-l>.hero p{max-height:240px;overflow:hidden;transition:max-height .9s cubic-bezier(.45,0,.2,1),opacity .6s,margin .9s}
#v_app.nv-cmp .nv-l>.hero p{max-height:0;opacity:0;margin-top:0;margin-bottom:0}
#v_app.nv-cmp .nv-l>.hero h1{font-size:1.45rem;margin-bottom:4px}
}
/* v102 : mobile / app → pas de menu déroulant sur le parcours (l'étape 2 suffit) */
@media(max-width:899px){.srct{display:none!important}.leg[data-c] .srcb{grid-template-rows:1fr;opacity:1;visibility:visible}}
/* v103 : Mes plans → Enregistrés / Brouillons */
.lsub{display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;background:var(--card);border:1px solid var(--bd);border-radius:999px;max-width:100%}
.lsub button{width:auto;margin:0;padding:8px 16px;border-radius:999px;background:transparent;color:var(--mut);border:0;font-weight:700;box-shadow:none}
.lsub button.on{background:var(--pri);color:#fff}
.lsub b{display:inline-block;min-width:1.5em;margin-left:4px;padding:0 6px;border-radius:999px;background:rgba(127,127,127,.18);font-size:.78rem;line-height:1.5}.lsub button.on b{background:rgba(255,255,255,.25)}
.lsub-n{margin:-4px 0 14px;font-size:.88rem}
#v_app.nv-nt .nv-l *{transition:none!important;animation:none!important}
/* v105 : menu « Versions » du plan */
.vers{margin:0 0 16px;background:var(--card);border:1px solid var(--bd);border-radius:var(--r,20px);box-shadow:var(--sh);overflow:hidden}
.vers.hide,main:not([data-res]) #vers{display:none}
.vr-h{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:12px 14px;background:transparent;color:var(--fg);border:0;border-radius:0;text-align:left;box-shadow:none}
.vr-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--pri) 12%,transparent);color:var(--pri)}
.vr-ic svg{width:22px;height:22px;max-width:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.vr-t{flex:1;min-width:0;display:block}.vr-t b{display:block;font-size:1rem}.vr-t b i{font-style:normal;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--pri);color:var(--onp,#fff);font-size:.74rem;vertical-align:1px}
.vr-t small{display:block;margin-top:2px;color:var(--mut);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vr-t small b{display:inline;font-size:inherit;color:var(--fg)}
.vr-c{flex:none;display:grid;place-items:center;color:var(--pri)}.vr-c svg{width:20px;height:20px;max-width:none;transition:transform .45s cubic-bezier(.45,0,.2,1)}.vers.open .vr-c svg{transform:rotate(180deg)}
.vr-b{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .5s cubic-bezier(.45,0,.2,1),visibility 0s .5s}.vers.open .vr-b{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .5s cubic-bezier(.45,0,.2,1),visibility 0s}
.vr-i{overflow:hidden;min-height:0}
.vr-l{list-style:none;margin:0;padding:2px 10px 12px;display:grid;gap:6px;max-height:min(52vh,420px);overflow:auto}
.vr-r{display:flex;align-items:stretch;gap:6px}
.vr-o{flex:1;min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0;padding:10px 12px;background:transparent;color:var(--fg);border:1px solid var(--bd);border-radius:14px;text-align:left;box-shadow:none;font-weight:500;transition:background-color .2s,border-color .2s}
.vr-o:hover{background:color-mix(in srgb,var(--pri) 6%,transparent)}
.vr-r.cur .vr-o{border-color:var(--pri);background:color-mix(in srgb,var(--pri) 9%,transparent)}
.vr-d b{display:block;font-size:1rem}.vr-d small{display:block;color:var(--mut);font-size:.76rem}
.vr-m{min-width:0;display:block}.vr-k{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;font-size:.9rem;color:var(--mut)}.vr-k>b{font-size:1.05rem;color:var(--fg)}.vr-k b{font-weight:800}
.vr-dl{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.vr-dl em{font-style:normal;font-size:.74rem;font-weight:700;padding:1px 8px;border-radius:999px}
.vr-dl em.up{background:color-mix(in srgb,var(--gel) 14%,transparent);color:var(--gel)}.vr-dl em.dn{background:color-mix(in srgb,var(--pri) 14%,transparent);color:var(--pri)}
.vr-bd{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap;border:1px solid var(--bd);color:var(--mut)}
.vr-bd.k{background:var(--pri);border-color:var(--pri);color:var(--onp,#fff)}.vr-bd svg{width:13px;height:13px;max-width:none}
.vr-x{flex:none;width:38px;margin:0;padding:0;display:grid;place-items:center;background:transparent;color:var(--mut);border:1px solid var(--bd);border-radius:14px;box-shadow:none}.vr-x:hover{color:var(--gel);border-color:var(--gel)}.vr-x svg{width:16px;height:16px;max-width:none}
@media(max-width:480px){.vr-o{grid-template-columns:50px minmax(0,1fr);}.vr-bd{grid-column:2;justify-self:start}}
@media(prefers-reduced-motion:reduce){.vr-b,.vr-c svg{transition:none!important}}
/* emplacement : sous la carte « Tu emportes » (écran large + étape 3 mobile) */
@media(min-width:900px){#v_app .nv-r #vers{order:2}#v_app .nv-r #planbar{order:2}}
@media(max-width:899px){
#v_app[data-nvs="3"] .nv-r{display:flex;flex-direction:column}
#v_app[data-nvs="3"] .nv-r #out,#v_app[data-nvs="3"] .nv-r .ez-main{display:contents}
#v_app[data-nvs="3"] .nv-r .ez-main>*,#v_app[data-nvs="3"] .nv-r #out>:not(.ez-main):not(.ez-fin){order:3}
#v_app[data-nvs="3"] .nv-r .ez-main>.ez-hero{order:1}#v_app[data-nvs="3"] .nv-r #vers{order:2}#v_app[data-nvs="3"] .nv-r .nv-c3{order:9}#v_app[data-nvs="3"] .nv-r .nv-back{order:-1}
#v_app[data-nvs="4"] #vers{display:none}}
.vers{margin-top:14px}.vr-x.ph{visibility:hidden;border:0}
/* v106 : récompense après séance → feuille explicative (3 premières fois) puis bandeau discret, plus de fenêtre plein écran */
.bmg-scrim{position:fixed;inset:0;z-index:1200;background:rgba(6,22,27,.38);opacity:0;transition:opacity .5s}.bmg-scrim.on{opacity:1}
.bmg-sheet{position:fixed;z-index:1201;left:0;right:0;bottom:0;margin:0 auto;max-width:480px;padding:16px 18px calc(20px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;background:var(--card);color:var(--fg);box-shadow:0 -18px 40px -20px rgba(6,22,27,.5);display:grid;gap:10px;transform:translateY(105%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.bmg-sheet.on{transform:none}
.bmg-grab{width:42px;height:4px;border-radius:9px;background:var(--bd);margin:0 auto 4px}
.bmg-sh-h{display:flex;gap:14px;align-items:center}.bmg-sh-h h3{margin:0;font-size:1.2rem}.bmg-drops{font-weight:800;color:var(--gel);font-size:1.15rem}
.bmg-sh-h svg{width:64px;height:64px;max-width:none;flex:none}
.bmg-why{margin:0;font-size:.9rem}
.bmg-steps{list-style:none;margin:2px 0;padding:0;display:grid;gap:8px}.bmg-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;font-size:.93rem}
.bmg-steps i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--gel) 15%,transparent);color:var(--gel);font-style:normal;font-weight:800;font-size:.82rem}
.bmg-toast{position:fixed;z-index:1201;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));margin:0 auto;max-width:440px;padding:12px;border-radius:18px;background:var(--card);color:var(--fg);border:1px solid var(--bd);box-shadow:0 18px 40px -20px rgba(6,22,27,.55);display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;transform:translateY(160%);opacity:0;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s}.bmg-toast.on{transform:none;opacity:1}
.bmg-toast svg{width:44px;height:44px;max-width:none}.bmg-tt b{display:block}.bmg-tt small{display:block;color:var(--mut);font-size:.8rem;line-height:1.3}.bmg-gift-s{color:var(--gel)!important;font-weight:700}
.bmg-toast>button{width:auto;margin:0;padding:8px 12px;background:transparent;color:var(--pri);border:0;font-weight:700;box-shadow:none}.bmg-toast .bmg-bar{grid-column:1/-1;margin:0}
@media(min-width:900px){.bmg-toast{left:auto;right:24px;bottom:24px;margin:0}.bmg-sheet{bottom:24px;border-radius:24px}}
@media(prefers-reduced-motion:reduce){.bmg-sheet,.bmg-toast,.bmg-scrim{transition:none!important}}
/* v108 : page de connexion → plus de bande claire sous le dégradé (barre d'outils iPhone) : le fond de la page prend la couleur du bas du dégradé */
html:has(body.lp),body.lp{background:#0b3340}
html[data-pal="aube"]:has(body.lp),html[data-pal="aube"] body.lp{background:#2a0f2d}
.wlc{min-height:100vh;min-height:100dvh}
html[data-pal] body.lp,html[data-design][data-pal] body.lp{background:#0b3340!important}
html[data-pal="aube"] body.lp,html[data-design][data-pal="aube"] body.lp{background:#2a0f2d!important}
/* v109 : brouillons regroupés par sortie */
.card h3,.dg-t{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.dg-tg svg{width:18px;height:18px;max-width:none;transition:transform .45s cubic-bezier(.45,0,.2,1)}.dg.open .dg-tg svg{transform:rotate(180deg)}
.dg-b{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .5s cubic-bezier(.45,0,.2,1),visibility 0s .5s}
.dg.open .dg-b{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .5s cubic-bezier(.45,0,.2,1),visibility 0s}
.dg-i{overflow:hidden;min-height:0}.dg-l{padding:10px 0 2px;max-height:300px}
.dg .vr-o{grid-template-columns:50px minmax(0,1fr) auto;padding:8px 10px}
@media(prefers-reduced-motion:reduce){.dg-b,.dg-tg svg{transition:none!important}}
/* v110 : lignes de version calées (2 lignes, rien ne se chevauche) */
.vr-o{grid-template-columns:minmax(0,1fr)!important;gap:5px;padding:10px 12px}
.dg .vr-o{padding:10px 12px}
.vr-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.vr-when{display:flex;align-items:baseline;gap:6px;white-space:nowrap;min-width:0}.vr-when b{font-size:.95rem}.vr-when span{font-size:.8rem;color:var(--mut)}
.vr-k{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}.vr-k>b{font-size:1.15rem;color:var(--fg)}.vr-k>span{font-size:.88rem;color:var(--mut);white-space:nowrap}.vr-k>span b{color:var(--fg)}
.vr-r{align-items:center}.vr-x{align-self:center;width:36px;height:36px;border-radius:12px}
.vr-bd{flex:none;padding:2px 9px;font-size:.72rem}
.dg-l{gap:8px}
.dg-t{font-size:1.15rem;line-height:1.25;overflow-wrap:break-word;word-break:normal}
/* v111 : croix de suppression centrée, taille fixe (les règles globales des boutons la déformaient) */
.vr-r>.vr-x{box-sizing:border-box;flex:0 0 36px;width:36px!important;min-width:0;height:36px!important;min-height:0;padding:0!important;margin:0;display:flex;align-items:center;justify-content:center;align-self:center;line-height:1}
.vr-r>.vr-x svg{display:block;width:16px!important;height:16px!important;max-width:none;margin:0}
.vr-ti{display:block;font-size:.8rem;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.card .crow>.sm{min-width:0}.card .crow{flex-wrap:nowrap}.card .crow .cib{flex:0 0 44px}
/* v115 : liste unique + carte */
.lbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px}.lbar .lsub{margin:0}
.chip{width:auto;margin:0;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;background:var(--card);color:var(--mut);border:1px solid var(--bd);font-weight:700;box-shadow:none}
.chip b{display:inline-block;min-width:1.5em;padding:0 6px;border-radius:999px;background:rgba(127,127,127,.18);font-size:.78rem;line-height:1.5;text-align:center}
.chip.on{background:color-mix(in srgb,var(--gel) 12%,var(--card));color:var(--gel);border-color:var(--gel)}
.vr-r>.vr-kp:hover{color:var(--pri);border-color:var(--pri)}
.lmap{position:relative;height:min(64vh,580px);min-height:320px;border-radius:18px;overflow:hidden;border:1px solid var(--bd);background:var(--card);box-shadow:0 6px 22px rgba(11,51,64,.08);z-index:0}
.lmap-ld{display:grid;place-items:center;height:100%;color:var(--mut);font-weight:600}
.lmap-n{margin:10px 2px 0;font-size:.88rem}
.lmap img{max-width:none!important;max-height:none!important}
.lmap svg{max-width:none}.lmap .leaflet-overlay-pane svg{width:auto;height:auto}
.lpin span{display:block;width:22px;height:22px;margin:3px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pri);border:3px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.38)}
.lpin.sv span{background:var(--gel)}
.lpop{min-width:190px;font-family:inherit}.lpop b{display:block;font-size:1rem;margin-bottom:2px;color:var(--fg)}.lpop .muted{font-size:.86rem}.lpop .sm{width:100%;margin:10px 0 0;min-height:40px}
.lmap .leaflet-popup-content{margin:14px 16px}.lmap .leaflet-popup-content-wrapper{border-radius:16px}
.zrs{margin:4px 0}.zrow>b{font-size:.8rem}
/* v120 : boîte Messages */
.ibx-f{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.ibx{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ibx-r{width:100%;margin:0;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;background:var(--card);color:var(--fg);border:1px solid var(--bd);border-radius:16px;box-shadow:none;font-weight:500}
.ibx-r:hover{border-color:var(--pri)}
.ibx-r.un{border-color:color-mix(in srgb,var(--gel) 55%,var(--bd));background:color-mix(in srgb,var(--gel) 6%,var(--card))}
.ibx-i{flex:none;font-size:1.3rem;width:34px;text-align:center}
.ibx-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ibx-k{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:700}.ibx-k em{color:var(--gel);font-style:normal}
.ibx-t{font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibx-r.un .ibx-t b{font-weight:800}
.ibx-p{font-size:.88rem;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibx-d{flex:none;text-align:right;font-size:.8rem;color:var(--mut);line-height:1.35}
#co_clear{margin:0 0 12px}#co_clear:empty{display:none}
/* v123 notifications */
#nt_box .ntk{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-weight:600}
#nt_box .ntk input{width:auto;margin-top:3px;flex:none}
#nt_box .nt-when{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 6px 28px}
#nt_box .nt-when label{flex:1;min-width:120px}
.nvp{grid-column:1/-1}.nvb{height:10px;border-radius:6px;background:var(--line,#dfe8ea);overflow:hidden;margin:0 0 10px}.nvb i{display:block;height:100%;background:var(--pri);border-radius:6px}
.nvp-lo .nvb i{background:var(--cor,#ff7a6b)}.nvp-hi .nvb i{background:var(--ok,#2a9d6f)}
/* v124 : la boîte Messages ne dépasse plus de l'écran */
.ibx{grid-template-columns:minmax(0,1fr)}.ibx>li{min-width:0}.ibx-r{box-sizing:border-box;max-width:100%;min-width:0;overflow:hidden}
/* v124 : volet « réglages » repliable (grand écran) */
.nv-tg{display:none}
@media(min-width:1100px){
#v_app:has(>.nv-l){grid-template-columns:410px minmax(0,1fr);transition:grid-template-columns .5s cubic-bezier(.22,.7,.2,1),column-gap .5s}
#v_app[data-nvc="1"]:has(>.nv-l){grid-template-columns:64px minmax(0,1fr);column-gap:18px}
#v_app .nv-tg{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 12px;padding:10px 12px;min-height:44px;background:var(--card);color:var(--fg);border:1px solid var(--bd);border-radius:14px;font-weight:700;font-size:.92rem;box-shadow:none;cursor:pointer;white-space:nowrap}
#v_app .nv-tg:hover{border-color:var(--pri);color:var(--pri)}
#v_app .nv-tg svg{flex:none;width:20px;height:20px;transition:transform .45s cubic-bezier(.22,.7,.2,1)}
#v_app .nv-tgs{display:none}
#v_app .nv-l>:not(.nv-tg){width:404px;max-width:none;box-sizing:border-box;opacity:1;visibility:visible;transition:opacity .3s ease .12s,visibility 0s}
#v_app[data-nvc="1"] .nv-l{overflow:hidden}
#v_app[data-nvc="1"] .nv-l>:not(.nv-tg){opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s ease,visibility 0s .5s}
#v_app[data-nvc="1"] .nv-tg{flex-direction:column;justify-content:flex-start;gap:14px;padding:12px 0;height:auto;min-height:150px;align-items:center}
#v_app[data-nvc="1"] .nv-tg svg{transform:rotate(180deg)}
#v_app[data-nvc="1"] .nv-tgl{display:none}
#v_app[data-nvc="1"] .nv-tgs{display:block;writing-mode:vertical-rl;font-size:.85rem;color:var(--mut);letter-spacing:.02em}
}
@media(prefers-reduced-motion:reduce){#v_app:has(>.nv-l),#v_app .nv-l>*,#v_app .nv-tg svg{transition:none!important}}
.ez-carry{margin:0 0 18px}
