:root{--bg:#0f1420;--bg2:#171e2e;--card:#1c2435;--line:#2a3346;--txt:#e6eaf2;--mut:#9aa6bd;--boulot:#3b82f6;--perso:#22c55e;--conges:#f59e0b;--off:#64748b;--dim:#475569;--accent:#8b5cf6}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--txt);font-size:14px}a{color:var(--boulot)}h1,h2,h3{margin:0 0 .3em}.wrap{max-width:1180px;margin:0 auto;padding:18px}header.app{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;justify-content:space-between;margin-bottom:14px}header.app .sub{color:var(--mut);font-size:13px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.tabs button{background:var(--bg2);color:var(--mut);border:1px solid var(--line);padding:8px 14px;border-radius:9px;cursor:pointer;font-size:14px;transition:.15s}.tabs button:hover{color:var(--txt)}.tabs button.on{background:var(--boulot);color:#fff;border-color:var(--boulot)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}.kpi .v{font-size:26px;font-weight:700}.kpi .l{color:var(--mut);font-size:12px;margin-top:3px}.kpi small{color:var(--mut);font-weight:400;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:820px){.grid2{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--line)}th{color:var(--mut);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;background:var(--card)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:hover td{background:#202a3e}.tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.tag.BOULOT{background:#3b82f62e;color:#93c5fd}.tag.PERSO{background:#22c55e2e;color:#86efac}.tag.atelier{background:#34d3992e;color:#6ee7b7}.tag.pause{background:#f871712e;color:#fca5a5}.pill{font-size:10px;padding:1px 6px;border-radius:6px;background:#2a3346;color:var(--mut);margin-left:4px}.pill.ret{background:#ef444433;color:#fca5a5}.pill.go{background:#f59e0b33;color:#fcd34d}.bar{height:11px;border-radius:6px;background:var(--boulot)}.legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--mut);font-size:12px;margin-top:8px}.dot{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;margin-right:5px}.scroll{max-height:560px;overflow:auto;border-radius:8px}input,select{background:var(--bg2);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:7px 9px;font-size:13px}.muted{color:var(--mut)}.btn{background:var(--bg2);color:var(--txt);border:1px solid var(--line);padding:8px 12px;border-radius:9px;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--boulot)}.btn.lock{border-color:#f59e0b80}.locked-card{background:repeating-linear-gradient(45deg,var(--card),var(--card) 10px,#1a2233 10px,#1a2233 20px);border:1px dashed var(--line);border-radius:12px;padding:16px;margin-top:14px;color:var(--mut)}.note{background:#8b5cf61f;border:1px solid rgba(139,92,246,.35);border-radius:10px;padding:12px 14px;font-size:13px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal .h{color:var(--mut);font-size:11px;text-align:center;padding:2px}.cal .d{aspect-ratio:1;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;border:1px solid transparent;cursor:default}.cal .d.travail{background:#3b82f6d9;color:#fff}.cal .d.off{background:#2a3346;color:var(--mut)}.cal .d.dimanche{background:#222c3f;color:#54607a}.cal .d.conges{background:#f59e0bcc;color:#3a2a05}.cal .d.ferie{background:#8b5cf68c;color:#fff}.cal .d.pose{background:#8b5cf647;color:#cbb6f7}.cal .d.empty{background:transparent}.cal .d b{font-size:13px}.cal .d span{font-size:9px;opacity:.85}@media (max-width:640px){.wrap{padding:12px 12px 28px}h1{font-size:19px;line-height:1.25}header.app{gap:8px;margin-bottom:10px}header.app .sub{font-size:12px}.tabs{flex-wrap:nowrap;overflow-x:auto;gap:7px;margin:12px -12px;padding:0 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto;padding:9px 13px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:11px}.kpi .v{font-size:21px}.kpi .l,.kpi small{font-size:11px}.card{padding:13px;margin-top:12px}.legend{gap:10px;font-size:11px}table{font-size:12px}th,td{padding:6px 7px}}.months.svelte-77ppk9{display:grid;grid-template-columns:1fr;gap:34px;margin-top:18px}.mhead.svelte-77ppk9{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:8px}.mname.svelte-77ppk9{font-weight:600;font-size:17px;text-transform:capitalize}.mtot.svelte-77ppk9{font-size:13px}.days.svelte-77ppk9{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.dow.svelte-77ppk9{text-align:center;font-size:12px;color:var(--mut);padding-bottom:4px}.cell.svelte-77ppk9{min-height:92px;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;line-height:1.3;overflow:hidden;background:#1a2233;border:1px solid transparent;cursor:default}.cell.travail.svelte-77ppk9{background:#3b82f638;border-color:#3b82f680;cursor:pointer}.cell.conges.svelte-77ppk9{background:#f59e0b38;border-color:#f59e0b73}.cell.dimanche.svelte-77ppk9{background:#161d2c}.cell.svelte-77ppk9 .top:where(.svelte-77ppk9){display:flex;justify-content:space-between;align-items:center}.cell.svelte-77ppk9 .num:where(.svelte-77ppk9){font-size:16px;font-weight:700;color:var(--mut)}.cell.travail.svelte-77ppk9 .num:where(.svelte-77ppk9){color:var(--txt)}.cell.svelte-77ppk9 .meal:where(.svelte-77ppk9){font-size:16px}.cell.svelte-77ppk9 .h:where(.svelte-77ppk9){margin-top:auto;font-weight:700;font-size:20px;color:#93c5fd;font-variant-numeric:tabular-nums}.cell.svelte-77ppk9 .km:where(.svelte-77ppk9){color:var(--mut);font-size:13px}.cell.svelte-77ppk9 .cg:where(.svelte-77ppk9){margin-top:auto;color:var(--conges);font-size:12px}@media (max-width: 640px){.months.svelte-77ppk9{gap:22px}.days.svelte-77ppk9{gap:4px}.dow.svelte-77ppk9{font-size:10px}.cell.svelte-77ppk9{min-height:52px;border-radius:8px;padding:4px 3px}.cell.svelte-77ppk9 .num:where(.svelte-77ppk9){font-size:13px}.cell.svelte-77ppk9 .meal:where(.svelte-77ppk9){font-size:12px}.cell.svelte-77ppk9 .h:where(.svelte-77ppk9){font-size:13px;letter-spacing:-.3px}.cell.svelte-77ppk9 .km:where(.svelte-77ppk9){display:none}.cell.svelte-77ppk9 .cg:where(.svelte-77ppk9){font-size:10px}.mname.svelte-77ppk9{font-size:15px}.mtot.svelte-77ppk9{font-size:11px}}.wk-cards.svelte-19ojewv{display:none}@media (max-width: 640px){.wk-table.svelte-19ojewv{display:none}.wk-cards.svelte-19ojewv{display:flex;flex-direction:column;gap:9px;margin-top:4px}.wk.svelte-19ojewv{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.wk.has-supp.svelte-19ojewv{border-color:#fbbf2473}.wk-total.svelte-19ojewv{background:#3b82f614;border-color:#3b82f64d}.wk-top.svelte-19ojewv{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.wk-date.svelte-19ojewv{font-size:13px;font-weight:600}.wk-row.svelte-19ojewv{display:flex;align-items:baseline;gap:8px}.wk-hours.svelte-19ojewv{font-size:21px;font-weight:700}.wk-days.svelte-19ojewv{font-size:12px}.wk-supp.svelte-19ojewv{margin-left:auto;font-size:15px;font-weight:700;color:#fbbf24;white-space:nowrap}.wk-ecart.svelte-19ojewv{margin-left:auto;font-size:12px;white-space:nowrap}.wk-track.svelte-19ojewv{position:relative;height:9px;background:#0e1422;border-radius:5px;margin-top:9px}.wk-fill.svelte-19ojewv{height:100%;border-radius:5px}.wk-seuil.svelte-19ojewv{position:absolute;top:-2px;bottom:-2px;width:2px;background:#fff;opacity:.6}.wk-foot.svelte-19ojewv{font-size:11px;margin-top:6px}}.overlay.svelte-wgngjf{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal.svelte-wgngjf{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;max-width:660px;width:100%;max-height:86vh;overflow:auto}.chips.svelte-wgngjf{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.chips.svelte-wgngjf span:where(.svelte-wgngjf){background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-size:12px}.timeline.svelte-wgngjf{margin-top:16px}.tl.svelte-wgngjf{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}.tl-time.svelte-wgngjf{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums;text-align:right;padding-top:2px}.tl-body.svelte-wgngjf{position:relative;padding-left:22px;padding-bottom:15px;border-left:2px solid var(--line)}.tl-body.last.svelte-wgngjf{border-left-color:transparent;padding-bottom:0}.tl-body.svelte-wgngjf:before{content:"";position:absolute;left:-8px;top:1px;width:14px;height:14px;border-radius:50%;background:var(--card);border:2px solid var(--mut)}.tl.drive.svelte-wgngjf .tl-body:where(.svelte-wgngjf):before{border-color:var(--boulot)}.tl.stop.svelte-wgngjf .tl-body:where(.svelte-wgngjf):before{border-color:var(--conges)}.tl.stop.meal.svelte-wgngjf .tl-body:where(.svelte-wgngjf):before{border-color:#f87171}.tl.stop.atelier.svelte-wgngjf .tl-body:where(.svelte-wgngjf):before{border-color:#34d399}.tl.home.svelte-wgngjf .tl-body:where(.svelte-wgngjf):before{background:#fff;border-color:#fff}.tl-legend.svelte-wgngjf{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 2px;font-size:11px;color:var(--mut)}.tl-legend.svelte-wgngjf i:where(.svelte-wgngjf){display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid;vertical-align:-1px;margin-right:5px;box-sizing:border-box}.tl-legend.svelte-wgngjf .d-trip:where(.svelte-wgngjf){border-color:var(--boulot)}.tl-legend.svelte-wgngjf .d-client:where(.svelte-wgngjf){border-color:var(--conges)}.tl-legend.svelte-wgngjf .d-meal:where(.svelte-wgngjf){border-color:#f87171}.tl-legend.svelte-wgngjf .d-atelier:where(.svelte-wgngjf){border-color:#34d399}.tl-main.svelte-wgngjf{font-size:13.5px;line-height:1.5}.chip.svelte-wgngjf{display:inline-block;font-size:11px;padding:1px 8px;border-radius:20px;background:var(--bg2);color:var(--mut);margin-left:6px}.chip.go.svelte-wgngjf{background:#f59e0b33;color:#fcd34d}.chip.ret.svelte-wgngjf{background:#ef444433;color:#fca5a5}.chip.amber.svelte-wgngjf{background:#f59e0b26;color:#fcd34d}.chip.food.svelte-wgngjf{background:#f59e0b38;color:#fde68a}.chip.green.svelte-wgngjf{background:#34d3992e;color:#6ee7b7}.tl-link.svelte-wgngjf{font-size:11px;margin-left:8px;color:var(--boulot);text-decoration:none}.tl-link.svelte-wgngjf:hover{text-decoration:underline}.mois-bar.svelte-1958j0z{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 10px;margin-bottom:14px}.lbl.svelte-1958j0z{color:var(--mut);font-size:12px;font-weight:600;padding-left:4px;flex:0 0 auto}.strip.svelte-1958j0z{display:flex;gap:7px;overflow-x:auto;flex:1 1 auto;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px;scroll-padding:40px}.strip.svelte-1958j0z::-webkit-scrollbar{display:none}.chip.svelte-1958j0z{flex:0 0 auto;background:var(--bg2);color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;cursor:pointer;white-space:nowrap;transition:.15s;text-transform:capitalize;min-height:38px}.chip.svelte-1958j0z:hover{color:var(--txt);border-color:var(--boulot)}.chip.on.svelte-1958j0z{background:var(--boulot);color:#fff;border-color:var(--boulot);font-weight:600}.nav.svelte-1958j0z{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:var(--bg2);color:var(--txt);border:1px solid var(--line);font-size:22px;line-height:1;cursor:pointer;transition:.15s}.nav.svelte-1958j0z:hover:not(:disabled){border-color:var(--boulot);color:var(--boulot)}.nav.svelte-1958j0z:disabled{opacity:.35;cursor:default}@media (max-width: 640px){.mois-bar.svelte-1958j0z{gap:6px;padding:7px 8px;border-radius:12px}.lbl.svelte-1958j0z{display:none}.chip.svelte-1958j0z{padding:9px 13px;font-size:14px}}
