@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Figtree:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#0c1d13;--ink-2:#122619;--ink-3:#1a3322;--ink-line:#ebf4e917;--ink-text:#e9f1e6;--ink-muted:#8fa695;--paper:#f2f1ea;--card:#fff;--card-2:#faf9f4;--sunken:#ecebe2;--line:#e2e0d4;--line-strong:#d0cebf;--green:#44af2b;--green-deep:#2f7d1b;--green-bright:#62c83e;--pink:#e84a9b;--pink-deep:#c22b7e;--rose:#ff5e79;--magenta:#d6198a;--coral:#f2503e;--amber:#ed8b00;--danger:#d32f2f;--text:#1a2b20;--text-soft:#3d5245;--muted:#6d7a6e;--faint:#9aa396;--grad-brand:linear-gradient(120deg, #ff5e79 0%, #d6198a 46%, #44af2b 100%);--grad-green:linear-gradient(135deg, #62c83e 0%, #379422 100%);--grad-pink:linear-gradient(135deg, #ff5e79 0%, #c22b7e 100%);--dots-green:linear-gradient(#44af2b, #44af2b) 0 0 / 8px 8px no-repeat, linear-gradient(#44af2b, #44af2b) 14px 8px / 6px 6px no-repeat, linear-gradient(#62c83e, #62c83e) 4px 18px / 5px 5px no-repeat, linear-gradient(#44af2b, #44af2b) 18px 20px / 4px 4px no-repeat;--r-xs:6px;--r-sm:9px;--r-md:12px;--r-lg:16px;--r-pill:999px;--shadow-xs:0 1px 2px #1422180d;--shadow-sm:0 1px 3px #14221812, 0 1px 2px #1422180a;--shadow-md:0 10px 28px -12px #14221838;--shadow-lg:0 24px 56px -20px #0c1d1359;--font-display:"Bricolage Grotesque", "Figtree", system-ui, sans-serif;--font-ui:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.18s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);color:var(--text);background-color:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);letter-spacing:-.015em;font-weight:700;line-height:1.1}h1{font-size:clamp(1.55rem,1.2rem + 1.4vw,2.05rem)}h2{font-size:1.35rem}h3{font-size:1.08rem}a{color:inherit}::selection{color:var(--text);background:#d6198a29}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}@keyframes mg-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes mg-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes mg-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.shell{grid-template-columns:256px 1fr;min-height:100vh;display:grid}.side{background:radial-gradient(28rem 20rem at -30% -10%, #d6198a24, transparent 60%), radial-gradient(26rem 22rem at 130% 110%, #44af2b29, transparent 60%), var(--ink);height:100vh;color:var(--ink-text);flex-direction:column;padding:1.1rem .9rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.side:after{content:"";background:var(--grad-brand);opacity:.75;pointer-events:none;width:2px;position:fixed;top:0;bottom:0;left:255px}.side-logo{border-radius:var(--r-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;margin-bottom:1.4rem;padding:.7rem .9rem;display:flex}.side-logo img{width:auto;height:46px;display:block}.side-section{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-muted);padding:.9rem .8rem .45rem;font-size:.62rem;font-weight:800}.side-nav{flex-direction:column;gap:2px;list-style:none;display:flex}.side-link{border-radius:var(--r-sm);color:var(--ink-text);opacity:.72;transition:opacity var(--dur) var(--ease), background-color var(--dur) var(--ease);align-items:center;gap:.7rem;padding:.62rem .8rem;font-size:.88rem;font-weight:600;text-decoration:none;display:flex;position:relative}.side-link svg{opacity:.85;flex-shrink:0}.side-link:hover{opacity:1;background:var(--ink-2)}.side-link.active{opacity:1;background:var(--ink-3);font-weight:700}.side-link.active:before{content:"";background:var(--grad-brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:-.9rem}.side-foot{border-top:1px solid var(--ink-line);align-items:center;gap:.6rem;margin-top:auto;padding-top:1rem;display:flex}.side-user{color:var(--ink-text);border-radius:var(--r-sm);min-width:0;transition:background-color var(--dur) var(--ease);flex:1;align-items:center;gap:.6rem;padding:.45rem .5rem;text-decoration:none;display:flex}.side-user:hover{background:var(--ink-2)}.side-avatar{border-radius:var(--r-sm);background:var(--grad-brand);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:800;display:flex}.side-user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.side-user-role{color:var(--ink-muted);font-size:.68rem;font-weight:600}.side-logout{border:1px solid var(--ink-line);color:var(--ink-muted);border-radius:var(--r-sm);cursor:pointer;width:34px;height:34px;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.side-logout:hover{color:#fff;border-color:var(--pink);background:#e84a9b2e}.canvas{min-width:0;animation:mg-fondu .35s var(--ease) both;padding:2rem 2.4rem 3.5rem}@keyframes mg-fondu{0%{opacity:0}to{opacity:1}}.canvas-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:1.75rem;display:flex}.canvas-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--pink-deep);margin-bottom:.3rem;font-size:.68rem;font-weight:800}.canvas-head h1{margin:0}.canvas-sub{color:var(--muted);margin-top:.25rem;font-weight:500}.canvas-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.canvas-actions .badge-pill{flex-shrink:0;align-self:center}.auth-split{grid-template-columns:minmax(380px,44%) 1fr;min-height:100vh;display:grid}.auth-brand{background:radial-gradient(34rem 26rem at -20% -10%, #d6198a38, transparent 62%), radial-gradient(30rem 26rem at 120% 115%, #44af2b3d, transparent 62%), var(--ink);color:var(--ink-text);flex-direction:column;justify-content:space-between;padding:2.5rem 2.75rem;display:flex;position:relative;overflow:hidden}.auth-brand:after{content:"";opacity:.9;background-color:#0000;background-image:linear-gradient(#44af2b,#44af2b),linear-gradient(#62c83e,#62c83e),linear-gradient(#44af2b,#44af2b),linear-gradient(#e84a9b,#e84a9b),linear-gradient(#d6198a,#d6198a),linear-gradient(#44af2b,#44af2b),linear-gradient(#ff5e79,#ff5e79);background-position:84px 6px,62px 30px,92px 40px,40px 58px,70px 70px,20px 84px,50px 96px;background-repeat:no-repeat;background-size:14px 14px,10px 10px,8px 8px,12px 12px,8px 8px,9px 9px,6px 6px;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box;width:120px;height:120px;position:absolute;bottom:2.4rem;right:2.4rem}.auth-brand-logo{border-radius:var(--r-md);box-shadow:var(--shadow-md);background:#fff;align-self:flex-start;padding:.8rem 1rem;display:inline-flex}.auth-brand-logo img{width:auto;height:52px;display:block}.auth-brand-copy h2{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;text-wrap:balance;max-width:16ch;font-size:clamp(1.7rem,1.2rem + 2vw,2.5rem);font-weight:800;line-height:1.08}.auth-brand-copy h2 em{background:var(--grad-brand);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.auth-brand-copy p{color:var(--ink-muted);max-width:38ch;margin-top:.9rem;font-weight:500}.auth-brand-foot{color:var(--ink-muted);letter-spacing:.04em;font-size:.75rem;font-weight:600}.auth-panel{background:var(--paper);justify-content:center;align-items:center;padding:2.5rem 1.75rem;display:flex}.login-form{width:100%;max-width:380px;animation:mg-fade-up .4s var(--ease) both;flex-direction:column;gap:.55rem;display:flex}.login-form h1{margin-bottom:.2rem}.login-form label{color:var(--text-soft);margin-top:.75rem;font-size:.8rem;font-weight:700}.login-form input{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.78rem .9rem;font-family:inherit;font-size:.95rem}.login-form input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 4px #44af2b26}.login-form button{background:var(--ink);color:#fff;border-radius:var(--r-sm);cursor:pointer;transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:none;margin-top:1.1rem;padding:.82rem;font-family:inherit;font-size:.95rem;font-weight:700;position:relative;overflow:hidden}.login-form button[type=submit]:after{content:"";background:var(--grad-brand);height:3px;position:absolute;bottom:0;left:0;right:0}.login-form button:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.login-form button:active:not(:disabled){transform:translateY(0)}.login-form button:disabled{opacity:.6;cursor:default}.login-form button[type=button]{color:var(--text-soft);background:0 0;margin-top:.35rem;font-size:.85rem;font-weight:600}.login-form button[type=button]:after{display:none}.login-form button[type=button]:hover:not(:disabled){color:var(--pink-deep);box-shadow:none;text-decoration:underline;transform:none}.login-error{color:var(--pink-deep);border-radius:var(--r-xs);background:#d6198a12;border:1px solid #d6198a38;padding:.55rem .75rem;font-size:.85rem;font-weight:600}.login-success{color:var(--green-deep);border-radius:var(--r-xs);background:#44af2b17;border:1px solid #44af2b40;padding:.55rem .75rem;font-size:.85rem;font-weight:600}.overview-hero{border-radius:var(--r-lg);background:radial-gradient(30rem 18rem at 85% -30%, #d6198a47, transparent 62%), radial-gradient(26rem 18rem at -10% 130%, #44af2b4d, transparent 62%), var(--ink);color:#fff;margin-bottom:1.5rem;padding:2.1rem 2.3rem;position:relative;overflow:hidden}.overview-hero:after{content:"";opacity:.85;background-color:#0000;background-image:linear-gradient(#62c83e,#62c83e),linear-gradient(#44af2b,#44af2b),linear-gradient(#e84a9b,#e84a9b),linear-gradient(#d6198a,#d6198a),linear-gradient(#ff5e79,#ff5e79);background-position:62px 2px,44px 22px,70px 34px,28px 44px,54px 58px;background-repeat:no-repeat;background-size:12px 12px,8px 8px,9px 9px,11px 11px,7px 7px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;width:90px;height:90px;position:absolute;top:1.6rem;right:1.8rem}.overview-hero h1{color:#fff;margin:0 0 .35rem;font-size:clamp(1.7rem,1.3rem + 1.6vw,2.35rem);font-weight:800}.overview-hero p{color:var(--ink-muted);margin:0;font-weight:600}.stat-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:1.15rem 1.3rem;text-decoration:none;display:block}.stat-tile:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:.45rem;font-size:.72rem;font-weight:800;display:flex}.stat-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.stat-dot.green{background:var(--green)}.stat-dot.pink{background:var(--pink)}.stat-dot.sage{background:var(--faint)}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:2.3rem;font-weight:800;line-height:1.1}.stat-hint{color:var(--faint);font-size:.78rem;font-weight:600}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.quick-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-height:172px;color:var(--text);box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;gap:.5rem;padding:1.5rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.quick-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.quick-card.q-green:before{background:var(--grad-green)}.quick-card.q-brand:before{background:var(--grad-brand)}.quick-card.q-ink:before{background:var(--ink)}.quick-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.quick-icon{border-radius:var(--r-sm);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:.3rem;display:flex}.q-green .quick-icon{color:var(--green-deep);background:#44af2b21}.q-brand .quick-icon{color:var(--pink-deep);background:linear-gradient(135deg,#e84a9b26,#44af2b26)}.q-ink .quick-icon{color:var(--ink);background:#0c1d1314}.quick-card h2{margin:0;font-size:1.15rem}.quick-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.quick-cta{margin-top:auto;font-size:.85rem;font-weight:800}.q-green .quick-cta{color:var(--green-deep)}.q-brand .quick-cta{color:var(--pink-deep)}.q-ink .quick-cta{color:var(--ink)}.quick-tag{background:var(--grad-brand);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-pill);padding:.2rem .55rem;font-size:.6rem;font-weight:800;position:absolute;top:.9rem;right:.9rem}.seg-tabs{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-md);gap:3px;margin-bottom:1.4rem;padding:4px;display:inline-flex}.seg-tab{border-radius:var(--r-sm);color:var(--muted);white-space:nowrap;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.5rem 1.15rem;font-size:.85rem;font-weight:700;text-decoration:none}.seg-tab:hover{color:var(--text)}.seg-tab.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}.seg-count{color:var(--green-deep);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;background:#44af2b24;margin-left:.45rem;padding:.05rem .5rem;font-size:.7rem;font-weight:800;display:inline-block}.status-badge,.badge-pill{border-radius:var(--r-pill);letter-spacing:.02em;white-space:nowrap;padding:.3rem .75rem;font-size:.72rem;font-weight:800;display:inline-block}.status-en-cours{color:var(--green-deep);background:#44af2b24}.status-termine{background:var(--sunken);color:var(--text-soft)}.status-abandonne{color:var(--danger);background:#d32f2f1a}.status-en-attente{color:var(--pink-deep);background:#e84a9b21}.badge-presentiel{color:var(--green-deep);background:#44af2b24}.badge-distance{color:var(--pink-deep);background:#e84a9b21}.badge-individuel{color:var(--text-soft);background:#0c1d1312}.badge-groupe{color:var(--coral);background:#f2503e1a}.badge-stagiaire{background:var(--sunken);color:var(--text-soft)}.badge-entreprise{color:var(--text-soft);background:#0c1d1317}.badge-admin{color:var(--green-deep);background:#44af2b24;align-items:center;gap:.35rem;display:inline-flex}.badge-admin:before{content:"";background:var(--grad-green);border-radius:2px;width:7px;height:7px}.profile-link{text-decoration:none}.formation-badges{flex-wrap:wrap;gap:.4rem;margin:.6rem 0 1rem;display:flex}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);padding:1.6rem 1.75rem}.panel+.panel{margin-top:1.25rem}.panel>h2{align-items:center;gap:.55rem;margin-bottom:1.2rem;font-size:1.15rem;display:flex}.panel>h2:before{content:"";background:var(--grad-brand);border-radius:3px;flex-shrink:0;width:10px;height:10px}.btn-primary,.btn-secondary,.btn-danger{border-radius:var(--r-sm);cursor:pointer;transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), filter var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);border:none;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.35rem;font-family:inherit;font-size:.86rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--grad-green);color:#fff;box-shadow:0 8px 18px -8px #2f7d1b80}.btn-primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:default;box-shadow:none}.btn-secondary{background:var(--card);color:var(--text);border:1.5px solid var(--line-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--green);color:var(--green-deep)}.btn-secondary:disabled{opacity:.55;cursor:default}.btn-danger{background:var(--card);color:var(--danger);border:1.5px solid #d32f2f73}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.product-actions{flex-wrap:wrap;gap:.7rem;margin:1.4rem 0;display:flex}.add-client-btn{margin:0}.logout-btn{background:var(--grad-pink);color:#fff;border-radius:var(--r-pill);cursor:pointer;transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);border:none;padding:.52rem 1.2rem;font-family:inherit;font-size:.8rem;font-weight:700;box-shadow:0 8px 18px -8px #c22b7e80}.logout-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.back-link{color:var(--text-soft);transition:color var(--dur) var(--ease);align-items:center;gap:.35rem;margin-bottom:1.2rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--pink-deep)}.modal-hint{color:var(--muted);margin-bottom:.75rem;font-size:.83rem;line-height:1.5}.modal-warning{color:#8a5200;border-radius:var(--r-xs);background:#f0a0141a;border:1px solid #f0a01452;margin-bottom:.9rem;padding:.65rem .8rem;font-size:.85rem;font-weight:600;line-height:1.5}.confirm-recap{gap:.4rem;margin:0 0 1rem;display:grid}.confirm-recap>div{align-items:baseline;gap:.6rem;display:flex}.confirm-recap dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;flex:0 0 5.5rem;font-size:.78rem}.confirm-recap dd{word-break:break-word;margin:0;font-size:.9rem;font-weight:600}.edit-form{flex-direction:column;gap:.35rem;max-width:440px;display:flex}.edit-form label{color:var(--text-soft);margin-top:.9rem;font-size:.8rem;font-weight:700;display:block}.required-star{color:var(--coral);font-weight:700}.edit-form input,.edit-form select,.modal-content input{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.62rem .75rem;font-family:inherit;font-size:.92rem}.edit-form input:focus,.edit-form select:focus,.modal-content input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 4px #44af2b21}.edit-form input:disabled{background:var(--sunken);color:var(--muted);cursor:not-allowed}.clients-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.15rem;display:grid}.client-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs);color:var(--text);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);animation:mg-fade-up .35s var(--ease) both;padding:1.4rem 1.4rem 1.25rem;text-decoration:none;display:block;position:relative;overflow:hidden}.client-card:before{content:"";background:var(--grad-brand);opacity:0;height:4px;transition:opacity var(--dur) var(--ease);position:absolute;top:0;left:0;right:0}.client-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.client-card:hover:before{opacity:1}.client-card h3{margin:0 0 .5rem;font-size:1.1rem}.client-formation{color:var(--green-deep);margin:.2rem 0;font-size:.87rem;font-weight:700}.client-email,.client-phone,.client-date{color:var(--muted);margin:.25rem 0;font-size:.84rem}.card-actions{border-top:1px solid var(--line);gap:.5rem;margin-top:1rem;padding-top:.85rem;display:flex}.card-actions button{border-radius:var(--r-xs);border:1.5px solid var(--line-strong);background:var(--card);color:var(--text);cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background-color var(--dur) var(--ease);flex:1;padding:.45rem .6rem;font-family:inherit;font-size:.78rem;font-weight:700}.card-actions button:hover{border-color:var(--green);color:var(--green-deep);background:#44af2b0f}.btn-delete-action{color:var(--danger)!important;border-color:#d32f2f66!important}.btn-delete-action:hover{background-color:var(--danger)!important;color:#fff!important;border-color:var(--danger)!important}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:mg-fade-up .18s var(--ease) both;background:#0c1d1380;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border-radius:var(--r-lg);width:100%;max-width:440px;max-height:88vh;box-shadow:var(--shadow-lg);animation:mg-pop .24s var(--ease) both;padding:2rem;position:relative;overflow-y:auto}.modal-content:before{content:"";background:var(--grad-brand);height:4px;position:absolute;top:0;left:0;right:0}.modal-content h2{margin-bottom:.6rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.15rem 1.75rem;margin:1.3rem 0 1.6rem;display:grid}.info-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.info-field-label{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:.68rem;font-weight:800}.info-field-value{color:var(--text);overflow-wrap:anywhere;font-size:.98rem;font-weight:600}.info-field-value a{color:var(--green-deep);text-decoration:none}.info-field-value a:hover{text-decoration:underline}.loading-screen{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:.7rem;font-weight:600;display:flex}.loading-screen:before{content:"";border:3px solid var(--line-strong);border-top-color:var(--pink);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite mg-spin}@keyframes mg-spin{to{transform:rotate(360deg)}}.cat-block+.cat-block{margin-top:2.1rem}.cat-head{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;margin-bottom:.95rem;padding-bottom:.6rem;display:flex}.cat-swatch{background:var(--green);border-radius:3px;flex-shrink:0;width:12px;height:12px}.cat-head h2{flex-shrink:0;margin:0;font-size:1.12rem}.cat-count{color:var(--muted);background:var(--sunken);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;padding:.1rem .55rem;font-size:.72rem;font-weight:800}.cat-head-actions{opacity:0;transition:opacity var(--dur) var(--ease);gap:.35rem;margin-left:auto;display:flex}.cat-block:hover .cat-head-actions,.cat-head-actions:focus-within{opacity:1}.icon-btn{color:var(--muted);border-radius:var(--r-xs);cursor:pointer;transition:all var(--dur) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:.3rem;padding:.28rem .45rem;font-family:inherit;font-size:.76rem;font-weight:700;display:inline-flex}.icon-btn:hover{background:var(--card);border-color:var(--line);color:var(--text)}.icon-btn.danger:hover{color:var(--danger);background:#d32f2f17;border-color:#d32f2f40}.list-grid{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:1rem;display:grid}.list-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);color:inherit;transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);animation:mg-fade-up .3s var(--ease) both;flex-direction:column;gap:.7rem;padding:1.15rem 1.2rem 1.05rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.list-card:before{content:"";background:var(--accent,var(--green));opacity:.9;width:3px;position:absolute;inset:0 auto 0 0}.list-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}.list-card.archived{opacity:.72}.list-card.archived:before{background:var(--line-strong)}.list-card-top{align-items:flex-start;gap:.6rem;display:flex}.list-card h3{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:1.04rem}.list-card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.45;display:-webkit-box;overflow:hidden}.progress-track{border-radius:var(--r-pill);background:var(--sunken);height:6px;overflow:hidden}.progress-fill{border-radius:var(--r-pill);background:var(--grad-green);height:100%;transition:width .35s var(--ease)}.progress-fill.complete{background:var(--grad-brand)}.list-card-foot{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.6rem;font-size:.78rem;font-weight:700;display:flex}.task-board{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);overflow:hidden}.task-add{border-bottom:1px solid var(--line);background:var(--card-2);gap:.6rem;padding:.95rem 1.15rem;display:flex}.task-add input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);min-width:0;color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex:1;padding:.62rem .85rem;font-family:inherit;font-size:.94rem}.task-add input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #44af2b24}.task-row{border-bottom:1px solid var(--line);transition:background var(--dur) var(--ease);animation:mg-slide-in .22s var(--ease) both;align-items:flex-start;gap:.85rem;padding:.85rem 1.15rem;display:flex}.task-row:last-child{border-bottom:none}.task-row:hover{background:var(--card-2)}.task-check{border:2px solid var(--line-strong);border-radius:var(--r-xs);background:var(--card);cursor:pointer;color:#fff;width:20px;height:20px;transition:all var(--dur) var(--ease);flex-shrink:0;place-items:center;margin-top:.1rem;padding:0;display:grid}.task-check:hover{border-color:var(--green)}.task-check svg{opacity:0;transition:all var(--dur) var(--ease);transform:scale(.6)}.task-check.checked{border-color:var(--green-deep);background:var(--grad-green)}.task-check.checked svg{opacity:1;transform:scale(1)}.task-body{flex:1;min-width:0}.task-title{text-align:left;cursor:pointer;width:100%;color:var(--text);overflow-wrap:anywhere;transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0;font-family:inherit;font-size:.95rem;font-weight:600;display:block}.task-title:hover{color:var(--green-deep);text-decoration:underline}.task-row.done .task-title{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.task-meta{color:var(--faint);margin-top:.2rem;font-size:.74rem;font-weight:600}.task-meta strong{color:var(--muted);font-weight:800}.task-del{color:var(--faint);cursor:pointer;border-radius:var(--r-xs);opacity:0;transition:all var(--dur) var(--ease);background:0 0;border:none;flex-shrink:0;padding:.3rem;line-height:0}.task-row:hover .task-del,.task-del:focus-visible{opacity:1}.task-del:hover{color:var(--danger);background:#d32f2f1a}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.6rem 1.5rem;display:flex}.empty-state-icon{border-radius:var(--r-md);background:var(--sunken);width:46px;height:46px;color:var(--faint);place-items:center;margin-bottom:.25rem;display:grid}.empty-state h3{margin:0;font-size:1rem}.empty-state p{max-width:42ch;margin:0;font-size:.87rem;line-height:1.5}.swatch-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem;display:flex}.swatch-btn{border-radius:var(--r-sm);cursor:pointer;width:30px;height:30px;transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:2px solid #0000;padding:0}.swatch-btn:hover{transform:scale(1.08)}.swatch-btn.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--card) inset}.live-dot{text-transform:uppercase;letter-spacing:.08em;color:var(--green-deep);align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:inline-flex}.live-dot:before{content:"";background:var(--green);width:7px;height:7px;animation:mg-pulse 2s var(--ease) infinite;border-radius:50%;box-shadow:0 0 #44af2b8c}@keyframes mg-pulse{70%{box-shadow:0 0 0 7px #44af2b00}to{box-shadow:0 0 #44af2b00}}@media (width<=960px){.auth-split{grid-template-columns:1fr}.auth-brand{min-height:240px;padding:1.75rem}.auth-brand-copy{margin:1.25rem 0}.auth-brand:after{display:none}}@media (width<=860px){.shell{grid-template-columns:1fr}.side{flex-direction:row;align-items:center;gap:.5rem;height:auto;padding:.7rem 1rem;position:static;overflow-x:auto}.side:after{display:none}.side-logo{flex-shrink:0;margin-bottom:0;padding:.4rem .6rem}.side-logo img{height:30px}.side-section{display:none}.side-nav{flex-direction:row;gap:.25rem}.side-link{white-space:nowrap;padding:.5rem .7rem}.side-link.active:before,.side-link span{display:none}.side-foot{border-top:none;flex-shrink:0;margin-top:0;margin-left:auto;padding-top:0}.side-user-name,.side-user-role{display:none}.canvas{padding:1.5rem 1.15rem 3rem}.seg-tabs{max-width:100%;overflow-x:auto}.cat-head-actions,.task-del{opacity:1}}@media (width<=560px){.canvas-head,.product-actions{flex-direction:column;align-items:stretch}.product-actions .btn-primary,.product-actions .btn-secondary,.product-actions .btn-danger{width:100%}.task-add{flex-direction:column}}@media (prefers-reduced-motion:reduce){.loading-screen:before,.live-dot:before{animation:none}}.task-badges{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem;display:flex}.task-chip{border-radius:var(--r-pill);background:var(--sunken);border:1px solid var(--line);color:var(--muted);white-space:nowrap;align-items:center;gap:.3rem;padding:.12rem .5rem;font-size:.72rem;font-weight:700;line-height:1.6;display:inline-flex}.task-chip svg{opacity:.8;flex-shrink:0}.task-chip.en-retard{color:var(--danger);background:#d32f2f1a;border-color:#d32f2f47}.task-avatar{background:var(--grad-green);color:#fff;letter-spacing:.02em;border-radius:50%;place-items:center;width:15px;height:15px;font-size:.52rem;font-weight:800;display:grid}.task-row.done .task-badges{opacity:.55}.prio-basse{background:var(--sunken);color:var(--muted)}.prio-haute{color:#b36a00;background:#ed8b0024}.prio-urgente{color:var(--danger);background:#d32f2f1f}.modal-large{width:100%;max-width:680px;max-height:88vh;overflow-y:auto}.edit-form textarea{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--text);resize:vertical;min-height:92px;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.62rem .75rem;font-family:inherit;font-size:.92rem;line-height:1.55}.edit-form textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 4px #44af2b21}.field-row{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.9rem;display:grid}.field-row>div{flex-direction:column;min-width:0;display:flex}.field-row label{margin-top:.9rem}.field-row input,.field-row select{width:100%}.lien-list{border:1px solid var(--line);border-radius:var(--r-md);margin:.45rem 0 0;padding:0;list-style:none;overflow:hidden}.lien-row{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:.55rem;min-width:0;padding:.55rem .75rem;display:flex}.lien-row:last-child{border-bottom:none}.lien-row:hover{background:var(--card-2)}.lien-row>svg{color:var(--faint);flex-shrink:0}.lien-row a{color:var(--green-deep);white-space:nowrap;font-size:.88rem;font-weight:700;text-decoration:none}.lien-row a:hover{text-decoration:underline}.lien-url{min-width:0;color:var(--faint);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.74rem;overflow:hidden}.lien-row .icon-btn{flex-shrink:0}.lien-add{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:.5rem;margin-top:.55rem;display:grid}.lien-add .btn-secondary{white-space:nowrap}@media (width<=620px){.lien-add{grid-template-columns:1fr}.lien-row{flex-wrap:wrap}.lien-url{flex-basis:100%}}.badge-modele{color:#1c7a99;background:#1c7a9921;flex-shrink:0}.list-card.modele:before{opacity:1;background:repeating-linear-gradient(#1c7a99 0 6px,#0000 6px 11px)}.list-card-actions{flex-shrink:0;align-items:center;gap:.15rem;display:flex}.list-card-actions .icon-btn{white-space:nowrap;text-decoration:none}.task-num{text-align:right;min-width:1.6ch;color:var(--faint);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex-shrink:0;margin-top:.08rem;font-size:.78rem;font-weight:800}.task-row.done .task-num{color:var(--line-strong)}.task-poignee{color:var(--line-strong);cursor:grab;opacity:0;transition:opacity var(--dur) var(--ease), color var(--dur) var(--ease);flex-shrink:0;margin-top:.15rem;line-height:0}.task-row:hover .task-poignee{opacity:1}.task-row:hover .task-poignee:hover{color:var(--muted)}.task-row:active .task-poignee{cursor:grabbing}.task-row.en-deplacement{opacity:.4;background:var(--card-2)}.task-row.cible{border-top:2px solid var(--green);background:#44af2b0d}.task-del.armee{opacity:1;border-radius:var(--r-sm);color:#fff;background:var(--danger);width:auto;padding:.24rem .55rem;font-family:inherit;font-size:.74rem;font-weight:800;line-height:1.35}.task-del.armee:hover{filter:brightness(1.08)}.check-field{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card-2);cursor:pointer;align-items:flex-start;gap:.6rem;margin-top:1rem;padding:.7rem .8rem;display:flex}.check-field:hover{border-color:var(--line-strong)}.check-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);cursor:pointer;flex-shrink:0;margin-top:.15rem}.check-field strong{color:var(--text);font-size:.86rem;display:block}.check-field em{color:var(--muted);margin-top:.15rem;font-size:.78rem;font-style:normal;line-height:1.45;display:block}@media (width<=860px){.task-poignee{opacity:1}}.card-liens{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.card-lien{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--sunken);align-items:center;gap:.2rem;max-width:100%;padding:.1rem .2rem .1rem .45rem;font-size:.73rem;font-weight:700;display:inline-flex}.card-lien a{min-width:0;color:var(--green-deep);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.28rem;text-decoration:none;display:inline-flex;overflow:hidden}.card-lien a:hover{text-decoration:underline}.card-lien svg{opacity:.75;flex-shrink:0}.card-lien-retirer{color:var(--faint);cursor:pointer;opacity:0;transition:all var(--dur) var(--ease);background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0 .2rem;font-size:.92rem;line-height:1}.card-lien:hover .card-lien-retirer,.card-lien-retirer:focus-visible{opacity:1}.card-lien-retirer:hover{color:var(--danger);background:#d32f2f1f}.card-lien-ajout{border:1px dashed var(--line-strong);color:var(--muted);border-radius:var(--r-pill);cursor:pointer;transition:all var(--dur) var(--ease);background:0 0;padding:.12rem .6rem;font-family:inherit;font-size:.72rem;font-weight:700}.card-lien-ajout:hover{border-color:var(--green);color:var(--green-deep);background:#44af2b12;border-style:solid}@media (width<=860px){.card-lien-retirer{opacity:1}}.list-card-foot{align-items:center;gap:.5rem;margin-top:auto}.list-card-compte{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem;font-weight:700}.card-action-primaire{border:1px solid var(--green);color:var(--green-deep);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:all var(--dur) var(--ease);background:#44af2b17;flex-shrink:0;padding:.3rem .75rem;font-family:inherit;font-size:.78rem;font-weight:800;text-decoration:none}.card-action-primaire:hover{background:var(--green);color:#fff}.list-card-bar{border-top:1px solid var(--line);background:var(--card-2);gap:.15rem;margin:.15rem -1.2rem -1.05rem;padding:.35rem .9rem .5rem;display:flex}.card-action{color:var(--muted);border-radius:var(--r-xs);cursor:pointer;text-align:center;white-space:nowrap;transition:all var(--dur) var(--ease);background:0 0;border:none;flex:1;padding:.32rem .3rem;font-family:inherit;font-size:.74rem;font-weight:700;text-decoration:none}.card-action:hover{background:var(--card);color:var(--text)}.card-action.danger:hover{color:var(--danger);background:#d32f2f1a}.card-lien-ajout{align-self:flex-start;margin-top:-.35rem}.card-liens:empty{display:none}.card-liens:empty+.card-lien-ajout{margin-top:0}.canvas-barre{justify-content:flex-end;margin-bottom:1.1rem;display:flex}.recherche{width:100%;max-width:340px;position:relative}.recherche-icone{color:var(--faint);pointer-events:none;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.recherche input{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--card);width:100%;color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.5rem .7rem .5rem 2rem;font-family:inherit;font-size:.86rem}.recherche input::placeholder{color:var(--faint)}.recherche input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #44af2b21}.recherche-panneau{z-index:60;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);max-width:92vw;max-height:60vh;box-shadow:var(--shadow-lg);animation:mg-pop .14s var(--ease) both;padding:.3rem;position:fixed;overflow-y:auto}.recherche-titre{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);padding:.45rem .55rem .2rem;font-size:.66rem;font-weight:800}.recherche-item{text-align:left;cursor:pointer;border-radius:var(--r-xs);width:100%;transition:background var(--dur) var(--ease);background:0 0;border:none;padding:.4rem .55rem;font-family:inherit;display:block}.recherche-item:hover{background:var(--card-2)}.recherche-nom{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;font-weight:700;display:block;overflow:hidden}.recherche-nom.faite{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.recherche-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.08rem;font-size:.72rem;font-weight:600;display:block;overflow:hidden}.recherche-vide{color:var(--muted);padding:.75rem .6rem;font-size:.82rem}@media (width<=860px){.canvas-barre{justify-content:stretch;margin-bottom:.9rem}.recherche{max-width:none}}.membres-liste{border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;margin-top:.9rem;display:flex;overflow:hidden}.membre-ligne{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:.8rem;padding:.7rem .95rem;display:flex}.membre-ligne:last-child{border-bottom:none}.membre-ligne:hover{background:var(--card-2)}.membre-avatar{background:var(--grad-green);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.72rem;font-weight:800;display:grid}.membre-ligne:nth-child(3n) .membre-avatar{background:var(--grad-pink)}.membre-ligne:nth-child(3n+2) .membre-avatar{background:linear-gradient(135deg, var(--ink-3), var(--ink))}.membre-identite{flex:1;min-width:0}.membre-nom{color:var(--text);align-items:center;gap:.4rem;font-size:.92rem;font-weight:700;display:flex}.membre-vous{text-transform:uppercase;letter-spacing:.07em;color:var(--green-deep);border-radius:var(--r-pill);background:#44af2b21;padding:.05rem .4rem;font-size:.62rem;font-weight:800}.membre-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;display:block;overflow:hidden}.badge-admin-role{color:var(--pink-deep);background:#d6198a1f}.badge-stagiaire-role{background:var(--sunken);color:var(--text-soft)}@media (width<=620px){.membre-ligne{flex-wrap:wrap}.membre-identite{flex-basis:calc(100% - 3.2rem)}}.task-chip.cliquable{cursor:pointer;font-family:inherit}.task-chip.cliquable:hover{border-color:var(--green);color:var(--green-deep);background:#44af2b14}.task-actions{flex-shrink:0;align-items:center;gap:.15rem;display:flex}.task-commentaires{color:var(--faint);cursor:pointer;border-radius:var(--r-xs);transition:all var(--dur) var(--ease);background:0 0;border:none;align-items:center;gap:.2rem;padding:.3rem .35rem;font-family:inherit;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.task-commentaires:hover{color:var(--green-deep);background:#44af2b1a}.task-commentaires.garni{color:var(--muted)}.popup-tache{width:100%;max-width:560px}.popup-entete{align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.popup-entete h2{margin:0;font-size:1.05rem}.popup-surtitre{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:.15rem;font-size:.66rem;font-weight:800}.popup-fermer{color:var(--faint);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;margin-left:auto;padding:0 .25rem;font-size:1.4rem;line-height:1}.popup-fermer:hover{color:var(--text);background:var(--sunken)}.popup-description{white-space:pre-wrap;color:var(--text-soft);font-size:.92rem;line-height:1.6}.commentaires{flex-direction:column;gap:.85rem;max-height:44vh;margin:0 0 1rem;padding:0;list-style:none;display:flex;overflow-y:auto}.commentaire{gap:.65rem;display:flex}.commentaire-avatar{background:var(--grad-green);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.66rem;font-weight:800;display:grid}.commentaire:nth-child(3n) .commentaire-avatar{background:var(--grad-pink)}.commentaire:nth-child(3n+2) .commentaire-avatar{background:linear-gradient(135deg, var(--ink-3), var(--ink))}.commentaire-corps{flex:1;min-width:0}.commentaire-entete{color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.15rem;font-size:.75rem;display:flex}.commentaire-entete strong{color:var(--text);font-size:.82rem}.commentaire-entete .icon-btn{opacity:0;margin-left:auto}.commentaire:hover .commentaire-entete .icon-btn,.commentaire-entete .icon-btn:focus-visible{opacity:1}.commentaire-corps p{color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.55}.commentaire-ajout{border-top:1px solid var(--line);flex-direction:column;align-items:flex-end;gap:.5rem;padding-top:.85rem;display:flex}.commentaire-ajout textarea{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);width:100%;color:var(--text);resize:vertical;min-height:68px;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;line-height:1.5}.commentaire-ajout textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #44af2b21}@media (width<=860px){.commentaire-entete .icon-btn{opacity:1}}.recherche-num{text-align:right;min-width:1.5ch;color:var(--faint);font-variant-numeric:tabular-nums;margin-right:.45rem;font-weight:800;display:inline-block}.captures{outline:none}.capture-liste{border:1px solid var(--line);border-radius:var(--r-md);margin:.45rem 0 0;padding:0;list-style:none;overflow:visible}.capture-ligne{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:.55rem;padding:.5rem .75rem;display:flex;position:relative}.capture-ligne:last-child{border-bottom:none}.capture-ligne:hover{background:var(--card-2)}.capture-ligne>svg{color:var(--faint);flex-shrink:0}.capture-ligne a{min-width:0;color:var(--green-deep);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.87rem;font-weight:700;text-decoration:none;overflow:hidden}.capture-ligne a:hover{text-decoration:underline}.capture-poids{color:var(--faint);flex-shrink:0;font-size:.72rem}.capture-apercu{z-index:70;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);pointer-events:none;animation:mg-pop .12s var(--ease) both;padding:4px;position:absolute;bottom:calc(100% + 6px);right:0}.capture-apercu img{border-radius:var(--r-xs);max-width:320px;max-height:240px;display:block}.capture-depot{border:1px dashed var(--line-strong);border-radius:var(--r-sm);text-align:center;color:var(--muted);cursor:pointer;transition:all var(--dur) var(--ease);margin-top:.5rem;padding:.75rem;font-size:.8rem;font-weight:600}.capture-depot:hover,.capture-depot.actif{border-color:var(--green);color:var(--green-deep);background:#44af2b0f;border-style:solid}.tuto{background:var(--card);border-radius:var(--r-lg);width:80vw;max-width:100%;height:80vh;max-height:100%;box-shadow:var(--shadow-lg);animation:mg-pop .16s var(--ease) both;flex-direction:column;display:flex;position:relative;overflow:hidden}.tuto-entete{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:.8rem 1rem;display:flex}.tuto-titre{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.tuto-titre strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.tuto-titre input{border:1.5px solid var(--green);border-radius:var(--r-sm);background:var(--card);color:var(--text);flex:1;padding:.32rem .55rem;font-family:inherit;font-size:.92rem}.tuto-compteur{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem;font-weight:800}.tuto-scene{background:var(--ink);flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;min-height:0;padding:1rem;display:grid;position:relative;overflow:hidden}.tuto-scene img{object-fit:contain;border-radius:var(--r-sm);width:auto;max-width:100%;height:auto;max-height:100%}.tuto-scene .canvas-sub{color:var(--ink-muted)}.tuto-fleche{width:38px;height:38px;color:var(--ink);cursor:pointer;transition:all var(--dur) var(--ease);background:#ffffffe6;border:none;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.tuto-fleche.gauche{left:.7rem}.tuto-fleche.droite{right:.7rem}.tuto-fleche:hover:not(:disabled){background:#fff;transform:translateY(-50%)scale(1.06)}.tuto-fleche:disabled{opacity:.25;cursor:default}.tuto-pellicule{border-top:1px solid var(--line);background:var(--card-2);gap:.4rem;padding:.6rem .8rem;display:flex;overflow-x:auto}.tuto-vignette{border-radius:var(--r-xs);background:var(--sunken);cursor:pointer;width:62px;height:46px;transition:border-color var(--dur) var(--ease);border:2px solid #0000;flex-shrink:0;padding:0;position:relative;overflow:hidden}.tuto-vignette img{object-fit:cover;width:100%;height:100%;display:block}.tuto-vignette.active{border-color:var(--green)}.tuto-vignette-num{border-radius:var(--r-xs);color:#fff;background:#0c1d13b8;padding:0 .25rem;font-size:.6rem;font-weight:800;position:absolute;bottom:2px;left:2px}.tuto-pied{border-top:1px solid var(--line);align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.tuto-pied .btn-secondary{text-decoration:none}.tuto-pied .icon-btn{margin-left:auto}.capture-nom{border:1.5px solid var(--green);border-radius:var(--r-sm);background:var(--card);min-width:0;color:var(--text);flex:1;padding:.28rem .5rem;font-family:inherit;font-size:.86rem}.apercu-pastille{color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:.35rem;font-size:.72rem;font-weight:800;display:grid}.accueil-grille{grid-template-columns:1.5fr 1fr;align-items:start;gap:1.25rem;display:grid}.accueil-grille .panel{margin-top:0}.filtre-membre{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--text);cursor:pointer;padding:.42rem .7rem;font-family:inherit;font-size:.82rem;font-weight:600}.filtre-membre:focus{border-color:var(--green);outline:none}.dash-tache{border-bottom:1px solid var(--line);align-items:flex-start;gap:.8rem;padding:.7rem 0;display:flex}.dash-tache:last-child{border-bottom:none}.dash-tache-corps{flex:1;min-width:0}.dash-tache-titre{color:var(--text);overflow-wrap:anywhere;font-size:.94rem;font-weight:600;text-decoration:none;display:block}.dash-tache-titre:hover{color:var(--green-deep);text-decoration:underline}.activite{flex-direction:column;margin-top:.6rem;display:flex}.activite-ligne{border-radius:var(--r-sm);color:inherit;transition:background var(--dur) var(--ease);align-items:flex-start;gap:.6rem;padding:.55rem .4rem;text-decoration:none;display:flex}.activite-ligne:hover{background:var(--card-2)}.activite-avatar{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.62rem;font-weight:800;display:grid}.activite-corps{min-width:0}.activite-texte{color:var(--text-soft);font-size:.85rem;line-height:1.45;display:block}.activite-texte strong{color:var(--text)}.activite-texte em{color:var(--text);font-style:normal;font-weight:600}.activite-meta{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.72rem;display:block;overflow:hidden}@media (width<=1000px){.accueil-grille{grid-template-columns:1fr}}.garde-fermeture{border-top:1px solid var(--line);background:var(--card-2);animation:mg-fade-up .16s var(--ease) both;margin:1rem -1.6rem -1.5rem;padding:.85rem 1.6rem;position:sticky;bottom:0}.garde-fermeture p{color:var(--coral);margin-bottom:.6rem;font-size:.86rem;font-weight:700}.garde-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=560px){.garde-actions{flex-direction:column;align-items:stretch}}@media (width<=860px){.tuto{width:96vw;height:90vh}.tuto-vignette{width:52px;height:40px}}.bloc-copiable{border:1px solid var(--line);border-radius:var(--r-md);margin-top:.9rem;overflow:hidden}.bloc-copiable pre{background:var(--ink);color:var(--ink-text);margin:0;padding:.9rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.55;overflow-x:auto}.bloc-copiable .btn-primary{border-radius:0;width:100%}.champ-jeton{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.champ-jeton input{flex:1;min-width:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.etapes{flex-direction:column;gap:.6rem;margin:.6rem 0 0 1.1rem;padding:0;display:flex}.etapes li{color:var(--text-soft);font-size:.88rem;line-height:1.6}.etapes code,.modal-hint code{border-radius:var(--r-xs);background:var(--sunken);color:var(--text);padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84em}
