@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-fade-up .35s var(--ease) both;padding:2rem 2.4rem 3.5rem}.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;gap:.6rem;display:flex}.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}.roster{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);overflow:hidden}.roster-row{color:var(--text);border-bottom:1px solid var(--line);transition:background-color var(--dur) var(--ease);animation:mg-fade-up .35s var(--ease) both;grid-template-columns:44px 1.4fr 1.1fr .8fr auto 20px;align-items:center;gap:1.1rem;padding:.9rem 1.3rem;text-decoration:none;display:grid}.roster-row:last-child{border-bottom:none}.roster-row:hover{background:var(--card-2)}.roster-avatar{border-radius:var(--r-sm);color:#fff;background:linear-gradient(135deg, var(--green), var(--green-deep));justify-content:center;align-items:center;width:44px;height:44px;font-size:.86rem;font-weight:800;display:flex}.roster-row:nth-child(3n) .roster-avatar{background:linear-gradient(135deg, var(--pink), var(--pink-deep))}.roster-row:nth-child(3n+2) .roster-avatar{background:linear-gradient(135deg, var(--ink-3), var(--ink))}.roster-id{min-width:0}.roster-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.roster-email{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.roster-formation{color:var(--green-deep);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.84rem;font-weight:700;overflow:hidden}.roster-date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem;font-weight:600}.roster-chevron{color:var(--faint)}.roster-empty{text-align:center;color:var(--muted);padding:2.5rem 1.5rem;font-weight:600}.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)}.product-page{text-align:left;grid-template-columns:300px 1fr;align-items:start;gap:1.75rem;display:grid}.product-image-column{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);flex-direction:column;align-items:center;gap:.8rem;padding:1.25rem;display:flex;position:sticky;top:1.5rem}.product-image-frame{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.product-image-frame img{object-fit:cover;width:100%;height:100%}.product-image-placeholder{color:var(--faint);font-size:.88rem;font-weight:600}.profile-avatar{aspect-ratio:1;border-radius:var(--r-md);width:100%;max-width:220px;font-family:var(--font-display);color:#fff;background:var(--grad-brand);justify-content:center;align-items:center;font-size:3.4rem;font-weight:800;display:flex}.upload-label{cursor:pointer;color:var(--green-deep);text-align:center;transition:color var(--dur) var(--ease);font-size:.85rem;font-weight:700}.upload-label:hover{text-decoration:underline}.upload-label-danger{color:var(--coral);font-weight:800}.product-info-column{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow-xs);padding:1.75rem 2rem}.product-info-column h1{margin-bottom:.6rem}.product-info-table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r-md);width:100%;max-width:540px;margin:1.25rem 0;overflow:hidden}.product-info-table td{border-bottom:1px solid var(--line);padding:.7rem .95rem;font-size:.92rem}.product-info-table tr:last-child td{border-bottom:none}.product-info-table td:first-child{color:var(--muted);background:var(--card-2);width:150px;font-size:.8rem;font-weight:700}.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}.portal-error-toast{z-index:200;border-radius:var(--r-md);background:var(--coral);color:#fff;max-width:min(92vw,640px);box-shadow:var(--sh-lg);align-items:center;gap:.9rem;padding:.7rem .85rem .7rem 1.1rem;font-size:.88rem;font-weight:600;animation:.25s mg-slide-in;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.portal-error-toast button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;width:26px;height:26px;font-size:.8rem}.portal-error-toast button:hover{background:#ffffff59}.sign-attach-label{border:1.5px dashed var(--line-strong);border-radius:var(--r-sm);text-align:center;color:var(--muted);margin:0 0 .75rem;padding:.6rem .8rem;font-size:.8rem;font-weight:700;display:block}.sign-attach-label:hover{border-color:var(--green);color:var(--green-deep);text-decoration:none}.sign-attached{border-radius:var(--r-sm);color:var(--green-deep);background:#44af2b1f;margin:0 0 .75rem;padding:.55rem .8rem;font-size:.82rem;font-weight:700}.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,.session-form input,.session-form select{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,.session-form input:focus,.session-form select: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}.file-field{margin-bottom:.5rem}.file-field-label{color:var(--text-soft);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-top:.9rem;font-size:.8rem;font-weight:700;display:flex}.file-field-hint{color:var(--green-deep);white-space:nowrap;font-size:.72rem;font-weight:500}.file-field input[type=file],.edit-form input[type=file]{border:1.5px dashed var(--line-strong);border-radius:var(--r-sm);background:var(--card-2);width:100%;color:var(--muted);cursor:pointer;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);margin-top:.35rem;padding:.55rem;font-family:inherit;font-size:.82rem}.file-field input[type=file]:hover,.edit-form input[type=file]:hover{border-color:var(--green);background:#44af2b0d}.file-field input[type=file]::file-selector-button{border-radius:var(--r-xs);background:var(--ink);color:#fff;cursor:pointer;transition:background-color var(--dur) var(--ease);border:none;margin-right:.8rem;padding:.42rem .95rem;font-family:inherit;font-size:.78rem;font-weight:700}.edit-form input[type=file]::file-selector-button{border-radius:var(--r-xs);background:var(--ink);color:#fff;cursor:pointer;transition:background-color var(--dur) var(--ease);border:none;margin-right:.8rem;padding:.42rem .95rem;font-family:inherit;font-size:.78rem;font-weight:700}.file-field input[type=file]::file-selector-button:hover{background:var(--green-deep)}.edit-form input[type=file]::file-selector-button:hover{background:var(--green-deep)}.documents-section{border-top:1px solid var(--line);margin-top:1.9rem;padding-top:1.5rem}.documents-list{margin-top:.9rem;padding:0;list-style:none}.documents-list li{border-radius:var(--r-xs);border-bottom:1px solid var(--line);transition:background-color var(--dur) var(--ease);justify-content:space-between;align-items:center;padding:.65rem .6rem;display:flex}.documents-list li:hover{background:var(--card-2)}.document-name{cursor:pointer;color:var(--text);transition:color var(--dur) var(--ease);font-size:.9rem;font-weight:600}.document-name:hover{color:var(--green-deep);text-decoration:underline}.doc-delete-btn{color:#cf8285;cursor:pointer;border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;border:none;padding:.3rem .4rem;font-size:.95rem;line-height:1}.doc-delete-btn:hover{color:var(--danger);background:#d32f2f1a}.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}.timeline-section{border-top:1px solid var(--line);margin-top:1.9rem;padding-top:1.5rem}.timeline-section h2{margin-bottom:1.4rem}.timeline-vertical{flex-direction:column;display:flex}.timeline-row{gap:1rem;display:flex}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;width:30px;display:flex}.timeline-circle{border-radius:var(--r-sm);border:2px solid var(--line-strong);background:var(--card);width:30px;height:30px;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline-check{width:15px;height:15px}.timeline-a_venir{border-color:var(--line-strong);background:var(--card)}.timeline-needs-upload{border-color:var(--coral);background:var(--card)}.timeline-needs-upload:after{content:"";background:var(--coral);border-radius:3px;width:10px;height:10px}.timeline-en_retard{border-color:var(--danger);background:var(--card)}.timeline-en_retard:after{content:"";background:var(--danger);border-radius:3px;width:10px;height:10px}.timeline-envoye,.timeline-repondu{border-color:var(--amber);background:linear-gradient(135deg, #ffa92b, var(--amber))}.timeline-valide{border-color:var(--green-deep);background:linear-gradient(135deg, var(--green), var(--green-deep))}.timeline-refuse{border-color:var(--coral);background:linear-gradient(135deg, #ff6b4a, var(--coral))}.timeline-connector{background:var(--line-strong);border-radius:var(--r-pill);flex:1;width:2px;min-height:2.4rem;margin:3px 0}.timeline-connector-done{background:var(--grad-green)}.timeline-content{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.5rem;display:flex}.timeline-label-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.timeline-label{font-size:.95rem;font-weight:700}.timeline-sent-date{color:var(--green-deep);font-size:.79rem;font-weight:700}.timeline-muted{color:var(--faint);font-size:.81rem;font-weight:600}.timeline-action{padding:.38rem .9rem;font-size:.78rem}.timeline-action-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-responded{background:linear-gradient(135deg, #ffa92b, var(--amber));color:#fff;border-radius:var(--r-sm);cursor:pointer;transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);border:none;padding:.38rem .9rem;font-family:inherit;font-size:.78rem;font-weight:700}.btn-responded:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-review{background:linear-gradient(135deg, #ffa92b, var(--amber));color:#fff;border-radius:var(--r-sm);cursor:pointer;transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);border:none;padding:.38rem .9rem;font-family:inherit;font-size:.78rem;font-weight:700}.btn-review:hover{filter:brightness(1.05);transform:translateY(-1px)}.status-pill{border-radius:var(--r-pill);cursor:pointer;color:#fff;transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);border:none;padding:.34rem .85rem;font-family:inherit;font-size:.76rem;font-weight:800}.status-pill:hover{filter:brightness(1.05);transform:translateY(-1px)}.status-valide{background:linear-gradient(135deg, var(--green), var(--green-deep))}.status-refuse{background:linear-gradient(135deg, #ff6b4a, var(--coral))}.timeline-valide-label{color:var(--green-deep);font-size:.81rem;font-weight:800}.timeline-refuse-label{color:var(--coral);font-size:.81rem;font-weight:800}.pdf-viewer-review{background:var(--card);border-top:1px solid var(--line);justify-content:flex-end;gap:.6rem;padding:.75rem 1rem;display:flex}.btn-valider,.btn-refuser{border-radius:var(--r-sm);cursor:pointer;color:#fff;transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);border:none;padding:.55rem 1.3rem;font-family:inherit;font-size:.85rem;font-weight:800}.btn-valider{background:linear-gradient(135deg, var(--green), var(--green-deep))}.btn-refuser{background:linear-gradient(135deg, #ff6b4a, var(--coral))}.btn-valider:hover,.btn-refuser:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-valider:disabled,.btn-refuser:disabled{opacity:.6;cursor:default;transform:none}.btn-download-link{color:var(--text-soft);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0;font-family:inherit;font-size:.76rem;text-decoration:underline}.btn-download-link:hover{color:var(--green-deep)}.btn-download-icon{border:1.5px solid var(--line-strong);color:var(--text-soft);cursor:pointer;border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;justify-content:center;align-items:center;padding:.4rem;display:inline-flex}.btn-download-icon:hover{color:var(--green-deep);border-color:var(--green);background:#44af2b1a}.sessions-section{margin-top:1.9rem}.session-mode-toggle{background:var(--sunken);border-radius:var(--r-md);border:1px solid var(--line);gap:3px;margin-bottom:1rem;padding:4px;display:inline-flex}.session-mode-toggle button{border-radius:var(--r-sm);cursor:pointer;box-shadow:none;border:none;padding:.45rem 1.1rem;font-family:inherit;font-size:.84rem;font-weight:700}.session-mode-toggle .btn-secondary{color:var(--muted);background:0 0;border-color:#0000}.session-mode-toggle .btn-secondary:hover{background:var(--card);color:var(--text)}.session-form{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.session-form label{color:var(--text-soft);font-size:.84rem;font-weight:700}.session-duree-input{width:74px}.sessions-table{border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);width:100%;max-width:700px;overflow:hidden}.sessions-table td{border-bottom:1px solid var(--line);padding:.62rem .85rem;font-size:.89rem}.sessions-table tr:last-child td{border-bottom:none}.sessions-table tbody tr:hover{background:var(--card-2)}.sessions-table td:first-child{font-weight:700}.session-status{border-radius:var(--r-pill);padding:.24rem .7rem;font-family:inherit;font-size:.75rem;font-weight:700;display:inline-block}.session-pending{color:var(--green-deep);background:#44af2b21}.session-encours{color:#1c7a99;background:#dcebf0}.session-sent{color:#cf7a00;background:#ffe9cc}.session-signed{background:var(--grad-green);color:#fff;cursor:pointer;transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);border:none;font-family:inherit}.session-signed:hover{filter:brightness(1.05);transform:translateY(-1px)}.session-terminee{background:var(--sunken);color:var(--muted)}.chat-window{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);max-width:760px;height:calc(100vh - 210px);min-height:440px;box-shadow:var(--shadow-xs);text-align:left;flex-direction:column;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--line);background:var(--card-2);align-items:center;gap:.8rem;padding:1rem 1.25rem;display:flex}.chat-avatar{border-radius:var(--r-sm);background:var(--grad-brand);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.2rem;display:flex}.chat-title{font-family:var(--font-display);font-weight:700;line-height:1.2}.chat-subtitle{color:var(--green-deep);font-size:.75rem;font-weight:700}.chat-messages{flex-direction:column;flex:1;gap:.7rem;padding:1.35rem;display:flex;overflow-y:auto}.chat-bubble{border-radius:var(--r-md);overflow-wrap:anywhere;max-width:78%;animation:mg-pop .25s var(--ease) both;padding:.7rem 1rem;font-size:.92rem;line-height:1.5}.chat-bubble p{margin:0}.chat-bubble p+p{margin-top:.5rem}.chat-graciet{background:var(--sunken);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.chat-user{background:var(--ink);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-user a{color:#fff}.chat-typing{align-items:center;gap:4px;display:flex}.chat-typing span{background:var(--faint);border-radius:2px;width:7px;height:7px;animation:1.2s ease-in-out infinite chat-bounce}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat-input-bar{border-top:1px solid var(--line);background:var(--card-2);gap:.6rem;padding:.9rem 1rem;display:flex}.chat-input-bar input{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);outline:none;flex:1;padding:.7rem 1.1rem;font-family:inherit;font-size:.92rem}.chat-input-bar input:focus{border-color:var(--green);box-shadow:0 0 0 4px #44af2b1f}.chat-send-btn{background:var(--grad-green);color:#fff;border-radius:var(--r-sm);cursor:pointer;transition:transform var(--dur) var(--ease), filter var(--dur) var(--ease);border:none;padding:.7rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:700}.chat-send-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.5;cursor:default}.portal{background:var(--paper);min-height:100vh}.portal-topbar{background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.75rem;display:flex}.portal-topbar .logo img{width:auto;height:38px;display:block}.portal-topbar-right{align-items:center;gap:.8rem;display:flex}.portal-hero{background:radial-gradient(30rem 18rem at 90% -40%, #d6198a42, transparent 62%), radial-gradient(26rem 18rem at -5% 140%, #44af2b47, transparent 62%), var(--ink);color:#fff;padding:2.4rem 1.75rem 2.6rem;position:relative;overflow:hidden}.portal-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.8rem;right:2rem}.portal-hero-inner{max-width:880px;margin:0 auto}.portal-hero h1{color:#fff;margin:0 0 .4rem;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.3rem);font-weight:800}.portal-hero .client-formation{color:var(--ink-muted);margin:0;font-size:.95rem;font-weight:600}.portal-progress{border:1px solid var(--ink-line);border-radius:var(--r-pill);background:#ffffff14;align-items:center;gap:.6rem;margin-top:1.2rem;padding:.4rem .9rem;font-size:.8rem;font-weight:700;display:inline-flex}.portal-progress-bar{border-radius:var(--r-pill);background:#ffffff24;width:120px;height:6px;overflow:hidden}.portal-progress-fill{border-radius:var(--r-pill);background:var(--grad-brand);height:100%;transition:width .5s var(--ease)}.portal-body{max-width:880px;animation:mg-fade-up .4s var(--ease) both;flex-direction:column;gap:1.25rem;margin:-1.4rem auto 0;padding:0 1.75rem 3.5rem;display:flex;position:relative}.portal-body .timeline-section,.portal-body .sessions-section{background:var(--card);border-top:none;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:left;margin-top:0;padding:1.6rem 1.75rem}.pdf-viewer-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1100;animation:mg-fade-up .18s var(--ease) both;background:#0c1d1399;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.pdf-viewer-content{background:var(--card);border-radius:var(--r-lg);width:94vw;max-width:1200px;height:92vh;box-shadow:var(--shadow-lg);animation:mg-pop .24s var(--ease) both;flex-direction:column;display:flex;overflow:hidden}.pdf-viewer-header{border-bottom:1px solid var(--line);background:var(--card-2);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.pdf-viewer-title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.pdf-viewer-hint{color:var(--muted);font-size:.76rem;font-weight:600}.pdf-viewer-close{border:1.5px solid var(--line-strong);color:var(--text-soft);cursor:pointer;border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;flex-shrink:0;padding:.32rem .62rem;font-size:1rem}.pdf-viewer-close:hover{color:var(--pink-deep);border-color:var(--pink);background:#e84a9b14}.pdf-embed-container{flex:1;min-height:0}.pdf-viewer-error{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.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)}}@media (width<=960px){.product-page{grid-template-columns:1fr}.product-image-column{max-width:320px;position:static}.auth-split{grid-template-columns:1fr}.auth-brand{min-height:260px;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}.roster-row{grid-template-columns:44px 1.5fr auto 20px}.roster-formation,.roster-date{display:none}}@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%}.portal-body{padding:0 1rem 3rem}.portal-hero{padding:2rem 1rem 2.4rem}.portal-hero:after{display:none}}@media (prefers-reduced-motion:reduce){.chat-typing span,.loading-screen:before{animation:none}}.badge-dest-s{color:var(--green-deep);background:#44af2b24}.badge-dest-hr{color:var(--pink-deep);background:#e84a9b21}.modal-content-wide{max-width:960px}.doc-panels{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.doc-panel{border:1px solid var(--line);border-radius:var(--r-md,12px);background:var(--card-2);min-width:0;padding:.9rem}.doc-panel-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.doc-panel-head h3{margin:0;font-size:.95rem}.doc-panel-empty{color:var(--faint);margin:.2rem 0 .6rem;font-size:.8rem}.doc-panel .file-field{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem}.order-list{margin-bottom:1rem}.order-list-title{color:var(--text-soft);margin:.4rem 0 .5rem;font-size:.8rem;font-weight:700}.order-row{border:1px solid var(--line);background:var(--card);border-radius:9px;align-items:center;gap:.55rem;margin-bottom:.35rem;padding:.4rem .6rem;display:flex}.order-num{background:var(--sunken);width:22px;height:22px;color:var(--text-soft);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.order-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;font-weight:600;overflow:hidden}.order-arrows{flex-shrink:0;gap:.25rem;display:flex}.order-arrows button{border:1px solid var(--line-strong);background:var(--card);width:26px;height:26px;color:var(--text-soft);cursor:pointer;transition:all var(--dur) var(--ease);border-radius:7px;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:inline-flex}.order-arrows button:hover:not(:disabled){border-color:var(--green);color:var(--green-deep)}.order-arrows button:disabled{opacity:.35;cursor:default}.edit-form textarea,.modal-content textarea{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--text);resize:vertical;min-height:140px;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.62rem .75rem;font-family:inherit;font-size:.92rem}.edit-form textarea:focus,.modal-content textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 4px #44af2b21}.reminder-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.4rem 1.2rem;max-width:720px;display:grid}.reminder-check{color:var(--text-soft);align-items:center;gap:.5rem;margin-top:.9rem;font-size:.88rem;font-weight:600;display:flex}.reminder-preview{border:1px solid var(--line);background:var(--card-2);border-radius:12px;max-width:720px;margin-top:1rem;padding:.9rem 1.1rem}.reminder-preview h3{margin:0 0 .5rem;font-size:.92rem}.reminder-preview ul{margin:.3rem 0 .8rem;padding-left:1.2rem}.reminder-preview li{margin-bottom:.25rem;font-size:.85rem}.reminder-preview .reminder-to{color:var(--green-deep);font-size:.86rem;font-weight:700}.rh-stagiaire-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;padding:1.1rem 1.3rem}.rh-stagiaire-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.4rem;display:flex}.rh-stagiaire-head h3{margin:0;font-size:1.02rem}.rh-doc-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;padding:.45rem 0;display:flex}.rh-doc-row:last-child{border-bottom:none}.rh-doc-label{align-items:center;gap:.5rem;min-width:0;font-size:.9rem;font-weight:600;display:flex}@media (width<=760px){.doc-panels{grid-template-columns:1fr}}.seg-control{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-md);flex-wrap:wrap;gap:3px;padding:4px;display:inline-flex}.seg-control-btn{border-radius:var(--r-sm);color:var(--muted);cursor:pointer;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:0 0;border:none;padding:.45rem 1rem;font-family:inherit;font-size:.82rem;font-weight:700}.seg-control-btn:hover{color:var(--text)}.seg-control-btn.active{background:var(--card);color:var(--green-deep);box-shadow:var(--shadow-sm)}.field-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.field-row>div{flex-direction:column;min-width:0;display:flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem;display:grid}.settings-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);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);align-items:center;gap:1rem;padding:1.3rem 1.4rem;text-decoration:none;display:flex}.settings-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.settings-card-icon{border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.settings-card-icon.tone-green{color:var(--green-deep);background:#44af2b21}.settings-card-icon.tone-brand{color:var(--pink-deep);background:linear-gradient(135deg,#e84a9b26,#44af2b21)}.settings-card-icon.tone-ink{color:var(--ink);background:#0c1d1314}.settings-card-icon.tone-amber{color:var(--amber);background:#ed8b0026}.settings-card-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.settings-card-title{font-family:var(--font-display);font-size:1.02rem;font-weight:700}.settings-card-desc{color:var(--muted);font-size:.83rem}.settings-card-arrow{color:var(--faint);transition:color var(--dur) var(--ease), transform var(--dur) var(--ease);flex-shrink:0}.settings-card:hover .settings-card-arrow{color:var(--green-deep);transform:translate(2px)}.settings-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);max-width:520px;padding:1.6rem 1.75rem}.side-user.active{background:var(--ink-3)}.hero-alert{border-radius:var(--r-pill);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background-color var(--dur) var(--ease);background:#ffffff1f;border:1px solid #ffffff2e;align-items:center;gap:.5rem;margin-top:1.1rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.hero-alert:hover{background:#ffffff38}.hero-alert-dot{background:var(--amber);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #ed8b0047}.dash-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;margin:1.5rem 0;display:grid}.dash-grid .panel{padding:1.4rem 1.5rem}.dash-list{flex-direction:column;list-style:none;display:flex}.dash-list li{border-bottom:1px solid var(--line)}.dash-list li:last-child{border-bottom:none}.dash-row{color:var(--text);border-radius:var(--r-sm);transition:background-color var(--dur) var(--ease);align-items:center;gap:.85rem;padding:.7rem .4rem;text-decoration:none;display:flex}.dash-row:hover{background:var(--card-2)}.dash-avatar{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--green), var(--green-deep));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.76rem;font-weight:800;display:flex}.dash-list li:nth-child(3n) .dash-avatar{background:linear-gradient(135deg, var(--pink), var(--pink-deep))}.dash-list li:nth-child(3n+2) .dash-avatar{background:linear-gradient(135deg, var(--ink-3), var(--ink))}.dash-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.dash-row-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.dash-row-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.dash-row-cta{color:var(--green-deep);opacity:0;transition:opacity var(--dur) var(--ease);flex-shrink:0;font-size:.78rem;font-weight:800}.dash-row:hover .dash-row-cta{opacity:1}.dash-date-chip{border-radius:var(--r-sm);background:var(--sunken);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;line-height:1;display:flex}.dash-date-day{font-family:var(--font-display);color:var(--text);font-size:1.05rem;font-weight:800}.dash-date-mon{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin-top:2px;font-size:.6rem;font-weight:800}.dash-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.6rem;padding:1.9rem 1rem;font-size:.88rem;font-weight:600;display:flex}.dash-empty-check{width:46px;height:46px;color:var(--green-deep);background:#44af2b21;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:800;display:flex}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}.list-toolbar{flex-wrap:wrap;gap:.75rem;margin:0 0 1.1rem;display:flex}.search-bar{background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--r-md);width:100%;max-width:380px;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);align-items:center;gap:.6rem;padding:.6rem .95rem;display:flex}.search-bar:focus-within{border-color:var(--green);box-shadow:0 0 0 4px #44af2b21}.search-bar svg{color:var(--faint);flex-shrink:0}.search-bar input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.88rem}.search-bar input::placeholder{color:var(--faint)}.search-bar-clear{background:var(--sunken);color:var(--muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;display:flex}.search-bar-clear:hover{background:var(--line-strong);color:var(--text)}.roster-reminder-off{color:var(--coral);margin-top:.15rem;font-size:.72rem;font-weight:700;display:inline-block}.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}.detail-stack{flex-direction:column;gap:1.25rem;display:flex}.dash-grid{align-items:stretch}.dash-grid .panel{flex-direction:column;margin-top:0;display:flex}.dash-grid .dash-list,.dash-grid .dash-empty{flex:1}.dash-grid .dash-empty{justify-content:center}
