:root{--ink:#0d1426;--ink-2:#141d35;--ink-3:#1e2a4a;--ink-line:#26335a;--ink-fg:#e4e8f4;--ink-muted:#8f9abb;--bg:#f3f4f8;--surface:#ffffff;--surface-2:#eef0f5;--line:#e1e4ec;--line-2:#d3d8e3;--fg:#10162a;--muted:#5b6479;--faint:#8a92a6;--on-acc:#ffffff;--ok:#1d7a4b;--ok-soft:#e1f3e9;--warn:#9a6300;--warn-soft:#fcf0d5;--bad:#b3242d;--bad-soft:#fbe4e5;--info:#3a4ab0;--info-soft:#e6e9fb;--shadow:0 1px 2px rgba(16,22,42,.05),0 6px 20px -10px rgba(16,22,42,.18);--f-display:"Unbounded","Arial Black",system-ui,sans-serif;--f-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--side-w:268px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg:#0a0f1d;--surface:#111a2d;--surface-2:#172139;--line:#222e4c;--line-2:#2d3a5e;--fg:#e8ebf5;--muted:#9aa3bd;--faint:#6f7a97;--on-acc:#0d1426;--ok:#5fd29a;--ok-soft:#10301f;--warn:#f0bd55;--warn-soft:#352a0e;--bad:#ff858c;--bad-soft:#3b1519;--info:#9ba7ff;--info-soft:#1c2250;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 24px -12px rgba(0,0,0,.6);color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--ink)}h1,h2,h3{text-wrap:balance;margin:0}h1{font:600 22px/1.2 var(--f-display);letter-spacing:-.015em}h2{font:600 15.5px/1.3 var(--f-display)}h3{font:600 15px/1.35 var(--f-body)}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.login{min-height:100vh;display:grid;grid-template-columns:1fr}@media(min-width:960px){.login{grid-template-columns:1.05fr 1fr}}.lg-brand{position:relative;overflow:hidden;background:var(--ink);color:var(--ink-fg);padding:36px max(24px,env(safe-area-inset-right,0px)) 40px max(24px,env(safe-area-inset-left,0px));display:grid;align-content:space-between;gap:28px;min-height:300px}.lg-brand canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.lg-brand>*:not(canvas){position:relative}.lg-mark{display:flex;align-items:center;gap:10px;font:600 14px var(--f-display)}.lg-mark .ava{width:34px;height:34px;border-radius:10px}.lg-hero{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap}.lg-logo{width:132px;height:132px;border-radius:28px;flex:none;background:var(--ink-3);border:1px solid var(--ink-line);display:grid;place-items:center}.lg-logo svg{width:84px;height:84px}.lg-hero h1{font:700 clamp(30px,5vw,46px)/1.02 var(--f-display);letter-spacing:-.03em;color:#fff;max-width:12ch}.lg-hero p{color:var(--ink-muted);margin-top:10px;max-width:38ch}.lg-facts{display:flex;gap:22px;flex-wrap:wrap;color:var(--ink-muted);font-size:13px}.lg-facts b{display:block;color:#fff;font:600 17px var(--f-display)}.lg-form{display:grid;align-content:center;justify-items:center;padding:32px max(20px,env(safe-area-inset-right,0px)) 48px max(20px,env(safe-area-inset-left,0px))}.lg-card{width:100%;max-width:420px;display:grid;gap:18px}.lg-card h2{font-size:20px}.link{border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer;padding:6px;justify-self:center}.fine{font-size:12px;color:var(--faint);text-align:center}.side{display:none}.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--ink);color:var(--ink-fg);display:flex;align-items:center;gap:12px;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}.bar .t{flex:1;min-width:0}.bar .t small{display:block;color:var(--ink-muted);font-size:12px}.bar .t b{display:block;font:600 15px var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ico-btn{border:0;background:var(--ink-3);color:var(--ink-fg);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer;flex:none;font-weight:700;font-size:12px}.ico-btn svg{width:20px;height:20px}.bottom{position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);display:grid;padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.bottom button{border:0;background:transparent;color:var(--faint);display:grid;justify-items:center;gap:3px;padding:9px 2px 8px;font-size:11px;font-weight:600;cursor:pointer;position:relative}.bottom button svg{width:22px;height:22px}.bottom button[aria-current=page]{color:var(--accent)}.bottom button[aria-current=page]:before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}.dot{position:absolute;top:6px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--bad);color:#fff;font-size:10px;line-height:16px}main{max-width:1120px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-right,0px)) 104px max(16px,env(safe-area-inset-left,0px));display:grid;gap:18px}@media(min-width:960px){.bar,.bottom{display:none}.side{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:var(--side-w);background:var(--ink);color:var(--ink-fg);padding:calc(18px + env(safe-area-inset-top,0px)) 14px calc(14px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));gap:16px;z-index:20;overflow-y:auto}.app{padding-left:var(--side-w)}main{padding:32px max(40px,env(safe-area-inset-right,0px)) 60px 40px}}.s-brand{display:flex;align-items:center;gap:12px;padding:4px 6px}.s-brand b{display:block;font:600 14.5px/1.2 var(--f-display)}.s-brand small{color:var(--ink-muted);font-size:12px}.ava{width:42px;height:42px;border-radius:13px;flex:none;overflow:hidden;display:grid;place-items:center;background:var(--ink-3);border:1px solid var(--ink-line)}.ava svg{width:28px;height:28px}.s-nav{display:grid;gap:2px}.s-nav button{border:0;background:transparent;color:var(--ink-muted);display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;text-align:left}.s-nav button svg{width:19px;height:19px;flex:none}.s-nav button:hover{color:var(--ink-fg);background:var(--ink-2)}.s-nav button[aria-current=page]{color:#fff;background:var(--ink-3);box-shadow:inset 3px 0 0 var(--glow)}.cnt{margin-left:auto;min-width:20px;padding:0 6px;border-radius:10px;background:var(--bad);color:#fff;font-size:11px;line-height:20px;text-align:center;font-weight:700}.s-foot{margin-top:auto;display:grid;gap:10px;border-top:1px solid var(--ink-line);padding-top:14px}.me{display:flex;align-items:center;gap:10px;padding:2px 4px}.me>span:last-child{display:grid;line-height:1.3;min-width:0;flex:1}.me b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me small{color:var(--ink-muted);font-size:12px}.link-btn{border:0;background:transparent;color:var(--ink-muted);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 4px;text-decoration:none}.link-btn:hover{color:#fff}.link-btn svg{width:17px;height:17px}.pi{border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;color:#fff;letter-spacing:.02em}.view{display:grid;gap:18px}@media(prefers-reduced-motion:no-preference){.view{animation:vin .22s ease-out}@keyframes vin{0%{opacity:.4;transform:translateY(6px)}}}.hero{position:relative;overflow:hidden;border-radius:20px;background:var(--ink);color:var(--ink-fg);padding:22px;display:grid;gap:16px}.hero:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--glow) 34%,transparent),transparent);pointer-events:none}.hero>*{position:relative}.hero-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.hero h1{color:#fff;font-size:clamp(22px,3.4vw,30px)}.hero p{color:var(--ink-muted)}.hero .ava{width:56px;height:56px;border-radius:16px}.hero-stats{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.hs{background:var(--ink-2);border:1px solid var(--ink-line);border-radius:14px;padding:12px 14px;display:grid;gap:2px}.hs span{font-size:12.5px;color:var(--ink-muted)}.hs b{font:600 22px/1.2 var(--f-display);color:#fff;font-variant-numeric:tabular-nums}.hs small{font-size:12px;color:var(--ink-muted)}.hero .btn{background:var(--ink-3);border-color:var(--ink-line);color:var(--ink-fg)}.hero .btn.pri{background:var(--glow);border-color:var(--glow);color:var(--ink)}.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.head p{color:var(--muted);font-size:14px;max-width:68ch;margin-top:4px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}.kpis{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.kpi{background:var(--surface-2);border-radius:12px;padding:11px 13px;display:grid;gap:2px}.kpi span{font-size:12.5px;color:var(--muted)}.kpi b{font:600 19px/1.25 var(--f-display);font-variant-numeric:tabular-nums}.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:12px;min-width:0;align-content:start;box-shadow:var(--shadow)}.panel-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.list{display:grid}.row{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);min-width:0;flex-wrap:wrap}.row:first-child{border-top:0}.row .grow{flex:1 1 220px;min-width:0}.row .grow>*{overflow-wrap:anywhere}.row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.tag{font-size:12.5px;color:var(--faint);font-weight:600}.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}td.wrap{min-width:190px}th{font-size:12.5px;color:var(--muted);font-weight:600;background:var(--surface-2);white-space:nowrap}tr:last-child td{border-bottom:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font:600 12.5px/1.5 var(--f-body);white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.p-ok{background:var(--ok-soft);color:var(--ok)}.p-warn{background:var(--warn-soft);color:var(--warn)}.p-bad{background:var(--bad-soft);color:var(--bad)}.p-info{background:var(--info-soft);color:var(--info)}.p-mute{background:var(--surface-2);color:var(--muted)}.p-acc{background:var(--accent-soft);color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-2);background:var(--surface);color:var(--fg);padding:8px 14px;border-radius:11px;cursor:pointer;white-space:nowrap;font:600 13.5px var(--f-body);transition:border-color .15s,transform .1s;text-decoration:none}.btn:hover{border-color:var(--accent)}.btn:active{transform:scale(.98)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-acc)}.btn.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:var(--ok-soft)}.btn.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.btn.sm{padding:5px 11px;font-size:12.5px;border-radius:9px}.btn.lg{padding:12px 18px;font-size:15px;border-radius:13px;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:18px;height:18px;flex:none}.spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:sp .7s linear infinite;vertical-align:-2px}@keyframes sp{to{transform:rotate(360deg)}}input,select,textarea{font:inherit;font-size:16px;color:var(--fg);background:var(--surface);border:1px solid var(--line-2);border-radius:11px;padding:10px 12px;width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}textarea{min-height:80px;resize:vertical}label.f{display:grid;gap:6px;font-size:13px;color:var(--muted);font-weight:600}.hint{font-weight:500;color:var(--faint)}.fgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px}.chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}.note{font-size:13px;color:var(--muted);border-left:3px solid var(--line-2);padding-left:11px}.note.warn{border-color:var(--warn)}.note.bad{border-color:var(--bad);color:var(--bad)}.legal{background:var(--warn-soft);border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.55}.legal b{color:var(--warn)}.empty{padding:22px 12px;text-align:center;color:var(--muted);font-size:14px}.seg{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.seg button{flex:none;border:1px solid var(--line-2);background:var(--surface);color:var(--fg);padding:8px 13px;border-radius:12px;font-weight:700;font-size:13.5px;cursor:pointer}.seg button span{color:var(--muted);font-weight:600;margin-left:4px}.seg button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-acc)}.seg button[aria-pressed=true] span{color:inherit;opacity:.8}.next{display:grid;gap:10px;border-radius:16px;padding:16px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.next h3{font:600 17px/1.3 var(--f-display)}.file-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;border:2px dashed var(--line-2);border-radius:14px;padding:16px;font-weight:700;color:var(--accent);cursor:pointer;background:var(--surface-2)}.file-btn svg{width:22px;height:22px}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.ov{position:fixed;inset:0;z-index:50;background:#080c188c;display:flex;align-items:flex-end;justify-content:center}.modal{background:var(--surface);color:var(--fg);width:100%;max-width:640px;max-height:92vh;overflow:auto;border-radius:22px 22px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom,0px));display:grid;gap:16px}@media(min-width:720px){.ov{align-items:center}.modal{border-radius:22px}}.modal-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.x{border:0;background:var(--surface-2);color:var(--fg);width:34px;height:34px;border-radius:50%;cursor:pointer;flex:none;font-size:18px;line-height:1}.modal-f{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}@media(prefers-reduced-motion:no-preference){.modal{animation:up .22s cubic-bezier(.2,.8,.2,1)}@keyframes up{0%{transform:translateY(24px);opacity:.5}}}.menu{display:grid;gap:4px}.menu button{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--fg);padding:12px 10px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;text-align:left}.menu button:hover,.menu button[aria-current=page]{background:var(--surface-2)}.menu button svg{width:20px;height:20px;color:var(--accent)}.toast-zone{position:fixed;left:0;right:0;bottom:calc(84px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;pointer-events:none;z-index:60}.toast{background:var(--ink);color:#fff;padding:11px 18px;border-radius:14px;font-size:14px;font-weight:600;max-width:calc(100% - 32px);display:flex;gap:10px;align-items:center;box-shadow:0 10px 30px #0000004d}.toast i{width:8px;height:8px;border-radius:50%;background:var(--glow);flex:none}@media(min-width:960px){.toast-zone{bottom:28px;left:var(--side-w)}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.center{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}.periode{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.periode-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.periode-nav b{font:600 16px/1.3 var(--f-display);min-width:12ch;text-align:center}.periode .ico-btn{border:1px solid var(--line-2);background:var(--surface);color:var(--fg);width:38px;height:38px;border-radius:11px;display:grid;place-items:center;cursor:pointer}.periode .ico-btn svg{width:18px;height:18px}.jours{display:grid;gap:12px}.jour{display:grid;gap:8px}.jour h3{display:flex;gap:8px;align-items:center;font:600 14px/1.3 var(--f-body);color:var(--muted)}.jour.auj h3{color:var(--accent)}.jour-l{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.mi{display:grid;gap:5px;justify-items:start;text-align:left;border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);color:var(--fg);border-radius:14px;padding:12px 14px;cursor:pointer;font:inherit;box-shadow:var(--shadow);min-width:0}.mi:hover{border-color:var(--accent)}.mi b{font-size:15px;overflow-wrap:anywhere}.mi-a_confirmer{border-left-color:var(--warn)}.mi-refusee{border-left-color:var(--bad)}.mi-annulee{border-left-color:var(--line-2);opacity:.65}.mi-h,.mi-l{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted);min-width:0;overflow-wrap:anywhere}.mi-h svg,.mi-l svg{width:15px;height:15px;flex:none}.mi-add{display:flex;gap:6px;align-items:center;justify-content:center;border:1px dashed var(--line-2);background:transparent;color:var(--muted);border-radius:14px;padding:10px;cursor:pointer;font:600 13px var(--f-body)}.mi-add:hover{color:var(--accent);border-color:var(--accent)}.mi-add svg{width:16px;height:16px}.mi-etat{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mi-detail{display:grid;gap:6px}.mi-detail p{display:flex;gap:8px;align-items:center}.mi-detail svg{width:18px;height:18px;color:var(--accent);flex:none}.reponse{display:grid;gap:12px}.mention{display:flex;gap:12px;align-items:flex-start;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:14px;padding:14px;font-size:14px;line-height:1.55}.mention svg{width:22px;height:22px;color:var(--accent);flex:none;margin-top:1px}.duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.duo .btn{width:100%}.preuve{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;padding:12px 14px}.preuve blockquote{margin:0;border-left:3px solid var(--accent);padding:4px 0 4px 12px;font-size:13.5px;line-height:1.55}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.imprimable{display:grid;gap:12px}button.carte{text-align:left;font:inherit;color:inherit;cursor:pointer}button.carte:hover{border-color:var(--accent)}fieldset{border:0;padding:0;margin:0;min-width:0}.legal ul{margin:6px 0 0 18px}@media print{body *{visibility:hidden}.imprimable,.imprimable *{visibility:visible}.imprimable{position:absolute;left:0;top:0;width:100%;color:#000}.ov{background:none}}@media(min-width:1360px){.jours.semaine{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:10px}.jours.semaine .jour-l{grid-template-columns:1fr}.jours.semaine .jour h3{font-size:13px;min-height:38px;align-items:flex-start;flex-direction:column;gap:4px}.jours.semaine .mi{padding:10px 11px;overflow:hidden}.jours.semaine .mi .pill{white-space:normal;font-size:11.5px}}.assist-btn{position:fixed;right:14px;bottom:calc(86px + env(safe-area-inset-bottom,0px));z-index:40;display:grid;justify-items:center;gap:2px;border:0;background:transparent;cursor:pointer;padding:0}.assist-btn img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:3px solid var(--surface);box-shadow:0 8px 24px #080c1847,0 0 0 2px var(--accent);background:var(--surface-2)}.assist-btn span{font:700 11.5px var(--f-body);color:var(--on-acc);background:var(--accent);border-radius:999px;padding:1px 8px;margin-top:-10px;position:relative}@media(min-width:960px){.assist-btn{bottom:24px;right:24px}}.assist{position:fixed;z-index:55;right:0;left:0;bottom:0;max-height:min(78vh,640px);display:grid;grid-template-rows:auto 1fr auto;background:var(--surface);color:var(--fg);border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #080c184d;padding-bottom:env(safe-area-inset-bottom,0px)}@media(min-width:720px){.assist{left:auto;right:24px;bottom:24px;width:400px;border-radius:22px}}@media(prefers-reduced-motion:no-preference){.assist{animation:up .22s cubic-bezier(.2,.8,.2,1)}}.assist-h{display:flex;align-items:flex-end;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--accent-soft),transparent)}.assist-h div{flex:1;display:grid;padding-bottom:8px}.assist-h small{color:var(--muted);font-size:12.5px}.assist-h .x{align-self:flex-start}.assist-ava{width:88px;height:88px;border-radius:20px;object-fit:cover;object-position:50% 15%;background:var(--surface-2);flex:none}.assist-fil{overflow-y:auto;padding:14px 16px;display:grid;gap:10px;align-content:start;min-height:120px}.bulle{display:grid;gap:8px;justify-items:start;max-width:88%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.5}.bulle.lui{background:var(--surface-2);border-bottom-left-radius:5px}.bulle.moi{justify-self:end;background:var(--accent);color:var(--on-acc);border-bottom-right-radius:5px}.puces{display:flex;flex-wrap:wrap;gap:6px}.puces button{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:var(--surface);color:var(--accent);border-radius:999px;padding:6px 11px;font:600 13px var(--f-body);cursor:pointer;text-align:left}.assist-saisie{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line)}.assist-saisie input{border-radius:999px;padding:10px 15px}.rond{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);color:var(--fg);display:grid;place-items:center;cursor:pointer}.rond svg{width:20px;height:20px}.rond.pri{background:var(--accent);border-color:var(--accent);color:var(--on-acc)}.rond.actif{background:var(--bad);border-color:var(--bad);color:#fff;animation:pulse 1.2s ease-in-out infinite}.rond:disabled{opacity:.45}.surbrillance{position:relative;z-index:30;outline:3px solid var(--glow);outline-offset:3px;border-radius:12px;animation:pulse 1.1s ease-in-out 4}@keyframes pulse{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--glow) 25%,transparent)}}@media(prefers-reduced-motion:reduce){.surbrillance,.rond.actif{animation:none}}.installer{display:flex;gap:14px;align-items:center;border-radius:16px;padding:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.installer img{width:72px;height:72px;border-radius:16px;object-fit:cover;object-position:50% 15%;flex:none;background:var(--surface-2)}.installer div{display:grid;gap:6px;font-size:14px}.rappel-ava{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:14px;padding:10px 12px}.rappel-ava img{width:64px;height:64px;border-radius:14px;object-fit:cover;object-position:50% 15%;flex:none}.rappel-ava p{font-size:14px}@media print{.assist,.assist-btn{display:none}}.encours{background:linear-gradient(160deg,var(--ink),color-mix(in srgb,var(--accent) 35%,var(--ink)))}.encours h1{font-size:clamp(20px,3vw,26px)}.enc-pulse{width:14px;height:14px;border-radius:50%;background:var(--ok);flex:none;box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent)}@media(prefers-reduced-motion:no-preference){.enc-pulse{animation:enc 1.8s ease-out infinite}@keyframes enc{to{box-shadow:0 0 0 12px transparent}}}.actions-terrain{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.actions-terrain button{display:grid;justify-items:center;gap:6px;border:1px solid var(--ink-line);background:var(--ink-2);color:#fff;border-radius:16px;padding:14px 4px;font:700 13px var(--f-body);cursor:pointer}.actions-terrain button svg{width:26px;height:26px}.actions-terrain button.fin{background:#fff;color:var(--ink)}.encours-bandeau{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-radius:16px;padding:14px 16px;background:var(--ink);color:#fff;cursor:pointer;font:inherit}.encours-bandeau>span:nth-child(2){flex:1;display:grid;line-height:1.35}.encours-bandeau small{color:var(--ink-muted)}.sos{display:grid;gap:10px;border-radius:16px;padding:12px;background:var(--surface);border:1px solid var(--line)}.sos.actif{background:var(--bad-soft);border-color:var(--bad);color:var(--fg)}.sos.actif>b{color:var(--bad)}.sos-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:14px;padding:15px;background:var(--bad);color:#fff;font:800 16px var(--f-body);letter-spacing:.02em;cursor:pointer}.sos-btn svg{width:22px;height:22px}.alerte-l{display:grid;gap:8px}.alerte-l+.alerte-l{border-top:1px solid color-mix(in srgb,var(--bad) 30%,transparent);padding-top:10px}details.panel summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}details.panel summary:after{content:"\ff0b";color:var(--muted)}details.panel[open] summary:after{content:"\ff0d"}.tl{list-style:none;margin:0;padding:0;display:grid}.tl li{display:grid;grid-template-columns:62px 1fr;column-gap:14px;position:relative;break-inside:avoid}.tl li:before{content:"";position:absolute;left:75px;top:0;bottom:0;width:2px;background:var(--line)}.tl li:last-child:before{bottom:auto;height:22px}.tl-jour{grid-column:1/-1;margin:6px 0 8px;font:700 12px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);position:relative;z-index:1;background:var(--surface);padding:4px 0}.tl time{font:700 13px var(--f-body);font-variant-numeric:tabular-nums;color:var(--fg);padding-top:12px;text-align:right}.tl-corps{position:relative;margin:0 0 10px 18px;padding:10px 12px 11px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:grid;gap:6px;justify-items:start;min-width:0}.tl-dot{position:absolute;left:-31px;top:9px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;box-shadow:0 0 0 3px var(--surface)}.tl-ok .tl-dot{background:var(--ok)}.tl-bad .tl-dot{background:var(--bad)}.tl-info .tl-dot{background:color-mix(in srgb,var(--accent) 75%,var(--ink))}.tl-bad .tl-corps{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:color-mix(in srgb,var(--bad-soft) 55%,var(--surface))}.tl-tete{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.tl-tete b{font-size:14.5px}.tl-bad .tl-tete b{color:var(--bad)}.tl-point{font:600 12.5px var(--f-body);padding:2px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}.tl-texte{margin:0;white-space:pre-wrap;line-height:1.5;font-size:14.5px}.tl-kv{display:flex;flex-wrap:wrap;gap:6px;margin:0}.tl-kv div{display:grid;padding:4px 10px;border-radius:10px;background:var(--surface-2)}.tl-kv dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tl-kv dd{margin:0;font-weight:700;font-size:13.5px}.tl-photo{border:0;padding:0;background:none;cursor:zoom-in;border-radius:10px;overflow:hidden;display:block}.tl-photo img{display:block;width:180px;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.tl-photo.vide{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--muted);padding:6px 10px;background:var(--surface-2)}.tl-lieu{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--muted)}.tl-lieu svg{flex:none}.tl-lieu.ok>span:first-of-type{color:var(--ok);font-weight:700}.tl-lieu.warn>span:first-of-type{color:var(--warn,#b45309);font-weight:700}.tl-coord{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.tl-carte{color:var(--accent);font-weight:600;text-decoration:none}.tl-carte:hover{text-decoration:underline}.modal-l{max-width:860px}.rapport{display:grid;gap:14px}.rp-tete{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:16px;background:var(--ink);color:#fff}.rp-marque{display:flex;align-items:center;gap:12px;min-width:0}.rp-logo{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:#ffffff14}.rp-logo svg{width:26px;height:26px}.rp-marque div{display:grid;min-width:0}.rp-marque b{font-size:16px}.rp-marque small,.rp-ref small{color:var(--ink-muted);font-size:11.5px}.rp-ref{display:grid;text-align:right;flex:none}.rp-ref b{font-size:17px}.rp-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}.rp-info div{background:var(--surface);padding:9px 12px;display:grid;gap:2px}.rp-info dt{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.rp-info dd{margin:0;font-weight:700;font-size:14px}.rp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.rp-stats div{display:grid;justify-items:center;padding:10px 6px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.rp-stats b{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.rp-stats span{font-size:12px;color:var(--muted)}.rp-stats .bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.rp-stats .bad b{color:var(--bad)}.rp-alerte{display:flex;gap:8px;align-items:center;margin:0;padding:9px 12px;border-radius:12px;background:var(--warn-soft);color:var(--warn);font-size:13.5px;font-weight:600}.rp-h{margin:4px 0 0;font-size:15px;letter-spacing:.02em}.rp-pied{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:4px}.rp-visa{display:none;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;break-inside:avoid}.rp-visa div{border:1px solid var(--line-2);border-radius:10px;height:70px;padding:6px 10px;font-size:11px;color:var(--muted)}.rp-pied p{margin:0;font-size:11.5px;color:var(--muted);line-height:1.5}@media(max-width:560px){.rp-info{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-tete{flex-direction:column;align-items:flex-start}.rp-ref{text-align:left}.tl li{grid-template-columns:52px 1fr;column-gap:10px}.tl li:before{left:61px}}@media print{@page{size:A4;margin:14mm 12mm}html,body{background:#fff!important}.rp-visa{display:grid!important}.imprimable{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ov,.modal{position:static!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;padding:0!important}.modal-h,.modal-f{display:none!important}.tl-carte{display:none}.tl-corps,.rp-info,.rp-stats div{break-inside:avoid}}.circuit{list-style:none;margin:0;padding:0;display:grid;gap:6px}.circuit li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface-2);flex-wrap:wrap}.circuit li>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:13px;border:2px solid var(--line-2);color:var(--muted);background:var(--surface)}.circuit li>div:not(.row-actions){display:grid;line-height:1.3;flex:1;min-width:140px}.circuit small{color:var(--muted);font-size:12.5px}.circuit .c-ok>span{background:var(--ok);border-color:var(--ok);color:#fff}.circuit .c-ano{background:var(--bad-soft)}.circuit .c-ano>span{background:var(--bad);border-color:var(--bad);color:#fff}.lives{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}.live{border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:16px;padding:14px;display:grid;gap:8px;background:var(--surface)}.live-warn{border-left-color:var(--warn)}.live-bad{border-left-color:var(--bad);background:var(--bad-soft)}.live-top{display:flex;gap:12px;align-items:center}.live-top .grow{flex:1;min-width:0}.pulse{width:10px;height:10px;border-radius:50%;background:var(--ok);flex:none}.live-warn .pulse{background:var(--warn)}.live-bad .pulse{background:var(--bad)}.livetag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ok)}.livetag i{width:8px;height:8px;border-radius:50%;background:var(--ok)}@media(prefers-reduced-motion:no-preference){.pulse,.livetag i{animation:pl 1.8s ease-in-out infinite}@keyframes pl{50%{opacity:.35}}}.acte-entete{display:flex;align-items:center;gap:10px}.acte-entete .ava{width:36px;height:36px;border-radius:10px;background:var(--ink)}.acte-entete b{flex:1}.acte-texte{white-space:pre-wrap;font-size:13.5px;line-height:1.6;background:var(--surface-2);border-radius:14px;padding:16px;overflow-wrap:anywhere}.acte-texte.defile{max-height:46vh;overflow:auto}.sig-img{max-width:240px;background:#fff;border:1px solid var(--line);border-radius:10px}.etapes{display:flex;gap:6px;list-style:none;margin:0;padding:0;counter-reset:e}.etapes li{flex:1;text-align:center;font:700 12.5px var(--f-body);color:var(--faint);border-bottom:3px solid var(--line);padding-bottom:6px;counter-increment:e}.etapes li:before{content:counter(e) ". "}.etapes li[aria-current=step]{color:var(--accent);border-color:var(--accent)}.pad{position:relative;border:2px dashed var(--line-2);border-radius:14px;background:#fff;height:170px}.pad canvas{width:100%;height:100%;display:block;touch-action:none;border-radius:12px}.pad-aide{position:absolute;inset:0;display:grid;place-items:center;color:#9aa1b2;pointer-events:none;font-weight:600}.pad .btn{position:absolute;right:8px;top:8px}input.code{font:700 26px/1 var(--f-body);letter-spacing:10px;text-align:center}button.link{border:0;background:transparent;color:var(--accent);font:600 14px var(--f-body);cursor:pointer;padding:4px 0;justify-self:start}.next.attention{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.mention-r{margin:0;border-left:3px solid var(--accent);padding:6px 0 6px 12px;font-size:13.5px;line-height:1.55;color:var(--fg)}.chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chips legend{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:8px;padding:0}.chips label{position:relative}.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}.chips span{display:inline-block;padding:11px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);font-weight:600;font-size:14px}.chips input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chips input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}@media print{.acte-texte.defile{max-height:none}}
