:root{--bg: #f3f4f6;--surface: #ffffff;--surface-2: #f8f9fb;--border: #e1e4ea;--border-strong: #c9ced8;--text: #18212b;--muted: #566170;--faint: #8a93a0;--accent: #2f3337;--accent-hover: color-mix(in srgb, var(--accent) 82%, #000);--accent-weak: color-mix(in srgb, var(--accent) 12%, var(--surface));--accent-text: var(--accent);--btn: #2f3337;--btn-hover: color-mix(in srgb, var(--btn) 82%, #000);--btn-weak: color-mix(in srgb, var(--btn) 12%, var(--surface));--danger: #b42318;--danger-weak: #fdecea;--warn: #9a4b05;--warn-weak: #fef3e2;--ok: #067647;--ok-weak: #e6f6ee;--info: #175cd3;--info-weak: #e8f0fd;--side-bg: #13211f;--side-text: #c9d6d3;--side-active: color-mix(in srgb, var(--side-bg) 85%, #fff);--nav-highlight: #ef7c54;--font-size: 13.5px;--radius: 6px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .18);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--row-h: 34px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--font-size);line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;line-height:1.25}h1{font-size:20px;font-weight:650}h2{font-size:15px;font-weight:650}h3{font-size:13.5px;font-weight:650}p{margin:0 0 8px}:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;z-index:100;border-radius:4px}.skip-link:focus{left:8px}.app{display:grid;grid-template-columns:224px minmax(0,1fr);grid-template-rows:auto 1fr;height:100vh}.sidebar{grid-row:1 / 3;background:var(--side-bg);color:var(--side-text);display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;color:#fff;font-weight:700;font-size:16px;letter-spacing:.2px}.brand-mark{width:28px;height:28px;border-radius:7px;background:#2a7d76;display:grid;place-items:center}.nav{list-style:none;margin:0;padding:4px 8px;display:flex;flex-direction:column;gap:1px}.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;color:var(--side-text);font-weight:500}.nav a:hover{background:color-mix(in srgb,var(--nav-highlight) 10%,transparent);text-decoration:none;color:color-mix(in srgb,var(--side-text) 60%,#fff)}.nav a.active{background:color-mix(in srgb,var(--nav-highlight) 16%,transparent);color:color-mix(in srgb,var(--side-text) 40%,#fff);box-shadow:inset 3px 0 0 var(--nav-highlight)}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#7f9894;padding:14px 18px 4px}.sidebar-foot{margin-top:auto;padding:12px 16px;font-size:12px;color:#8ea7a3;border-top:1px solid #22322f}.topbar{display:flex;align-items:center;gap:12px;padding:8px 20px;background:var(--surface);border-bottom:1px solid var(--border);min-height:52px}.topbar .spacer{flex:1}.main{overflow:auto;padding:18px 22px 40px;min-width:0}.demo-banner{background:var(--warn-weak);color:var(--warn);border:1px solid #f6d7a8;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.page-head .sub{color:var(--muted);margin-top:3px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.breadcrumb{font-size:12.5px;color:var(--muted);margin-bottom:4px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.panel-body{padding:12px 14px}.panel+.panel{margin-top:14px}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.nowrap{white-space:nowrap}.right{text-align:right}.pre{white-space:pre-wrap}.mt{margin-top:12px}.kpi{padding:12px 14px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:22px;font-weight:650;margin-top:2px;font-variant-numeric:tabular-nums}.kpi .hint{font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:550;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--btn);border-color:var(--btn);color:#fff}.btn-primary:hover{background:var(--btn-hover);border-color:var(--btn-hover)}.btn-danger{color:var(--danger);border-color:#f1b8b2}.btn-danger:hover{background:var(--danger-weak)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:#eef0f3}.btn-sm{height:26px;padding:0 8px;font-size:12.5px}.icon-btn{width:28px;padding:0;justify-content:center}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.seg button{border:0;background:var(--surface);padding:0 11px;height:30px;font:inherit;font-weight:500;cursor:pointer;color:var(--muted)}.seg button+button{border-left:1px solid var(--border)}.seg button[aria-pressed=true]{background:var(--btn);color:#fff;font-weight:600}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field label,.field .label{font-size:12px;font-weight:600;color:#344051}.field .req{color:var(--danger)}.field .hint{font-size:11.5px;color:var(--muted)}.field .err{font-size:12px;color:var(--danger)}.input,select.input,textarea.input{height:32px;padding:0 9px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font:inherit;color:var(--text);width:100%;min-width:0}textarea.input{height:auto;min-height:72px;padding:7px 9px;resize:vertical}.input:focus{outline:2px solid #b8bcc2;border-color:var(--accent)}.input[aria-invalid=true]{border-color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.form-grid .full{grid-column:1 / -1}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.check{display:inline-flex;align-items:center;gap:6px;cursor:pointer}fieldset{border:0;padding:0;margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0}.filters .input{width:auto;height:30px}.filters .search{min-width:220px}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table th{position:sticky;top:0;background:var(--surface-2);text-align:left;font-weight:600;color:#3a4554;font-size:12px;padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.table th button.sort{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.table th button.sort:focus-visible{outline:2px solid var(--info)}.table td{padding:6px 10px;border-bottom:1px solid #eef0f3;vertical-align:middle;height:var(--row-h)}.table tbody tr:hover td{background:#f7faf9}.table tr.is-overdue td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.table tr.is-done td{color:var(--faint)}.table tr.group-row td{background:#eef1f4;font-weight:600;font-size:12px;color:#3a4554}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table select.input{height:26px;width:auto;padding:0 4px;font-size:12.5px}.cell-title{font-weight:550}.cell-sub{font-size:12px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:4px;height:21px;padding:0 7px;border-radius:999px;font-size:11.5px;font-weight:600;background:#eef0f3;color:#3a4554;white-space:nowrap}.badge.ok{background:var(--ok-weak);color:var(--ok)}.badge.warn{background:var(--warn-weak);color:var(--warn)}.badge.danger{background:var(--danger-weak);color:var(--danger)}.badge.info{background:var(--info-weak);color:var(--info)}.badge.accent{background:var(--accent-weak);color:var(--accent-text)}.badge.outline{background:transparent;border:1px solid var(--border-strong)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.strike{text-decoration:line-through}.alert{display:flex;gap:10px;padding:10px 12px;border-radius:var(--radius);border:1px solid;font-size:13px;align-items:flex-start}.alert.warn{background:var(--warn-weak);border-color:#f6d7a8;color:#6f3603}.alert.danger{background:var(--danger-weak);border-color:#f5c2bd;color:#7a1a12}.alert.info{background:var(--info-weak);border-color:#c5d8fb;color:#12408f}.alert.ok{background:var(--ok-weak);border-color:#b5e3cb;color:#05503a}.alert ul{margin:4px 0 0;padding-left:18px}.empty{text-align:center;padding:30px 16px;color:var(--muted)}.empty .title{font-weight:600;color:var(--text);margin-bottom:4px}.loading{padding:24px;color:var(--muted);display:flex;gap:8px;align-items:center}.spinner{width:14px;height:14px;border:2px solid #cfd5dd;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.list-plain{list-style:none;margin:0;padding:0}.list-plain>li{padding:8px 0;border-bottom:1px solid #eef0f3;display:flex;gap:10px;align-items:flex-start}.list-plain>li:last-child{border-bottom:0}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow-x:auto}.tabs button{all:unset;cursor:pointer;padding:9px 12px;color:var(--muted);font-weight:550;border-bottom:2px solid transparent;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.tabs button[aria-selected=true]{color:var(--accent-text);border-bottom-color:var(--accent)}.tabs button:focus-visible{outline:2px solid var(--info);outline-offset:-2px}.tabs .count{font-size:11px;background:#eef0f3;border-radius:999px;padding:0 6px;color:var(--muted)}dialog.modal{border:0;padding:0;border-radius:10px;box-shadow:var(--shadow-lg);width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px)}dialog.modal.wide{width:min(980px,calc(100vw - 32px))}dialog.modal.narrow{width:min(460px,calc(100vw - 32px))}dialog.modal::backdrop{background:#10182873}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:2}.modal-body{padding:16px 18px}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:1000;max-width:380px}.toast{background:#1d2733;color:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--shadow-lg);font-size:13px;display:flex;gap:10px;align-items:flex-start}.toast.ok{border-left:4px solid #3ccf8e}.toast.error{border-left:4px solid #f97066}.toast.warn{border-left:4px solid #fdb022}.toast button{all:unset;cursor:pointer;opacity:.7;margin-left:auto}.gsearch{position:relative;width:min(440px,46vw)}.gsearch .input{padding-left:30px;background:var(--surface-2)}.gsearch svg.lead{position:absolute;left:9px;top:9px;color:var(--faint)}.gsearch kbd{position:absolute;right:8px;top:7px;font-size:11px;color:var(--faint);border:1px solid var(--border);border-radius:4px;padding:0 4px;background:var(--surface)}.gsearch-results{position:absolute;top:36px;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:50;max-height:420px;overflow-y:auto;padding:4px;margin:0;list-style:none}.gsearch-results li{padding:7px 10px;border-radius:6px;cursor:pointer;display:flex;gap:10px;align-items:baseline}.gsearch-results li[aria-selected=true],.gsearch-results li:hover{background:var(--accent-weak)}.gsearch-results .type{font-size:11px;color:var(--muted);width:74px;flex:none}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px;align-items:start}.kcol{background:#eceff3;border-radius:8px;padding:8px;min-height:120px}.kcol.drop{outline:2px dashed var(--accent);background:var(--accent-weak)}.kcol-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 8px;font-weight:650;font-size:12.5px}.kcard{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin-bottom:8px;box-shadow:var(--shadow);cursor:grab}.kcard:active{cursor:grabbing}.kcard .title{font-weight:600;margin-bottom:4px}.kcard .meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted)}.kcard select{margin-top:6px}.cal-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--border)}.cal-title{font-weight:650;font-size:15px;min-width:180px;text-transform:capitalize}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-month .dow{padding:6px 8px;font-size:11.5px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2);text-transform:capitalize}.cal-day{min-height:112px;border-right:1px solid #eef0f3;border-bottom:1px solid #eef0f3;padding:4px;display:flex;flex-direction:column;gap:2px;min-width:0}.cal-day.other{background:#fafbfc}.cal-day.other .num{color:var(--faint)}.cal-day.today .num{background:var(--accent);color:#fff;border-radius:999px;padding:0 6px}.cal-day .num{font-size:12px;font-weight:600;align-self:flex-start;margin-bottom:2px}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-week .cal-day{min-height:360px}.ev{display:block;font-size:11.5px;padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-weight:550;text-decoration:none!important}.ev.meeting{background:var(--surface);color:var(--info);border:1px solid #b9cdf5}.ev.task{background:var(--surface);color:var(--warn);border:1px dashed #f0c27a}.ev.cancelled{opacity:.55;text-decoration:line-through!important}.ev.option{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.25) 0 6px,transparent 6px 12px)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:8px 12px;border-top:1px solid var(--border)}.planner{display:grid;grid-template-columns:250px 1fr;gap:12px;min-height:0}.pool{max-height:calc(100vh - 190px);overflow-y:auto}.pool-group{font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:8px 10px 4px;background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.pool-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid #f0f2f5;cursor:grab;background:var(--surface)}.pool-item:hover{background:#f6faf9}.pool-item[aria-pressed=true]{background:var(--accent-weak);box-shadow:inset 3px 0 0 var(--accent)}.pool-item .grip{color:var(--faint)}.pool-item .who{flex:1;min-width:0}.pool-item .who .n{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pool-item .who .r{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl{overflow:auto;max-height:calc(100vh - 190px)}.tl-grid{min-width:760px}.tl-head,.tl-row{display:grid;grid-template-columns:220px 1fr}.tl-head{position:sticky;top:0;z-index:3;background:var(--surface-2);border-bottom:1px solid var(--border)}.tl-head .label{padding:8px 10px;font-size:12px;font-weight:600;color:var(--muted);border-right:1px solid var(--border)}.tl-cols{display:grid}.tl-col-h{padding:6px 4px;font-size:11.5px;text-align:center;border-right:1px solid #eceff3;color:#3a4554;font-weight:600;text-transform:capitalize}.tl-col-h.today{color:var(--accent);background:var(--accent-weak)}.tl-col-h.weekend{background:#f0f2f5}.tl-row{border-bottom:1px solid #eceff3;min-height:44px}.tl-row .label{padding:6px 10px;border-right:1px solid var(--border);background:var(--surface);position:sticky;left:0;z-index:2;min-width:0}.pool-item,.chip{user-select:none;-webkit-user-select:none}[data-drag-handle]{touch-action:none}.pool-item .grip{display:inline-flex;padding:4px 2px;cursor:grab}body.is-dragging,body.is-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.drag-ghost{position:fixed;z-index:2000;pointer-events:none;background:var(--accent);color:#fff;padding:5px 10px;border-radius:6px;font-size:12.5px;font-weight:600;box-shadow:var(--shadow-lg);white-space:nowrap}.tl-row .label.drop{background:var(--accent-weak);box-shadow:inset 0 0 0 2px var(--accent)}.tl-row .label .n{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.tl-row .label .s{font-size:11.5px;color:var(--muted)}.tl-row.cancelled .lane-area{background-image:repeating-linear-gradient(135deg,#fde8e7 0 8px,transparent 8px 16px)}.lane-area{position:relative}.tl-cells{position:absolute;top:0;right:0;bottom:0;left:0;display:grid}.tl-cell{border-right:1px solid #f0f2f5;background:transparent;border-top:0;border-bottom:0;border-left:0;padding:0;cursor:pointer}.tl-cell.weekend{background:#fafbfc}.tl-cell.today{background:#f2faf8}.tl-cell:hover,.tl-cell.drop{background:var(--accent-weak)}.tl-cell:focus-visible{outline:2px solid var(--info);outline-offset:-2px}.chip{position:absolute;height:22px;border-radius:4px;font-size:11.5px;padding:0 6px;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#102a26;background:#d7ece9;border:1px solid #9fcfc8;border-left:3px solid var(--accent);cursor:pointer;font-weight:550;z-index:1}.chip:hover{filter:brightness(.97);z-index:2}.chip.prevu{background:var(--surface);border-style:dashed}.chip.team{background:#e6effc;border-color:#b4caf2;border-left-color:var(--info)}.chip.conflict{background:var(--danger-weak);border-color:#f1a9a1;border-left-color:var(--danger);color:#7a1a12}.chip.unav{background:repeating-linear-gradient(135deg,#f3f4f6 0,#f3f4f6 6px,#e5e7eb 6px,#e5e7eb 12px);border:1px solid #d0d5dd;border-left:3px solid #98a2b3;color:#475467;cursor:default}.chip.vehicle{background:#fff7e8;border-color:#f2d19b;border-left-color:#b54708}.tl-total{font-size:11.5px;text-align:center;padding:4px;color:var(--muted);border-right:1px solid #eceff3}.dl{display:grid;grid-template-columns:170px 1fr;gap:6px 14px;margin:0}.dl dt{color:var(--muted);font-size:12.5px}.dl dd{margin:0;white-space:pre-wrap;min-width:0;overflow-wrap:anywhere}.bar-row{display:grid;grid-template-columns:160px 1fr 70px;gap:10px;align-items:center;font-size:12.5px;padding:3px 0}.bar-track{background:#eef0f3;border-radius:3px;height:14px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:3px}.cols-chart{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:150px;padding-top:10px}.cols-chart .c{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px;font-size:11px;color:var(--muted)}.cols-chart .stackbar{width:70%;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden}.avatar{width:26px;height:26px;border-radius:50%;background:var(--accent-weak);color:var(--accent-text);display:grid;place-items:center;font-weight:700;font-size:11px;flex:none}.file-row .name{font-weight:550;overflow-wrap:anywhere}.drop-zone{border:2px dashed var(--border-strong);border-radius:8px;padding:14px;text-align:center;color:var(--muted)}.drop-zone.over{border-color:var(--accent);background:var(--accent-weak)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#13211f,#1f3a36)}.login-card{width:min(460px,100%);background:var(--surface);border-radius:12px;box-shadow:var(--shadow-lg);padding:26px}.profile-btn{display:flex;width:100%;text-align:left;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;font:inherit;margin-bottom:8px}.profile-btn:hover{border-color:var(--accent);background:var(--accent-weak)}.doc{background:var(--surface);max-width:920px;margin:0 auto;padding:28px 34px;border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow)}.doc h1{font-size:22px}.doc h2{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-text);border-bottom:2px solid var(--accent);padding-bottom:4px;margin:22px 0 10px}.doc table.table td,.doc table.table th{position:static}.doc .missing{color:var(--danger);font-style:italic}.sign-box{border:1px solid var(--border-strong);border-radius:6px;height:70px;padding:6px 8px;font-size:12px;color:var(--muted)}.menu-toggle{display:none}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.planner{grid-template-columns:200px 1fr}}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;z-index:60;transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.menu-toggle{display:inline-flex}.grid-2,.grid-3{grid-template-columns:1fr}.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.planner{grid-template-columns:1fr}.pool{max-height:220px}.main{padding:14px}.gsearch kbd{display:none}.dl{grid-template-columns:1fr}}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}}@media print{@page{size:A4;margin:12mm}body{background:var(--surface);font-size:11.5px}.app{display:block;height:auto}.sidebar,.topbar,.no-print,.toasts{display:none!important}.main{overflow:visible;padding:0}.doc{border:0;box-shadow:none;padding:0;max-width:none}.panel{box-shadow:none}.table th{position:static}a{color:inherit}h2{break-after:avoid}tr,.avoid-break{break-inside:avoid}.print-only{display:inline!important}}.chip{font-family:inherit}.table .center{text-align:center}.grid-2>.span-2{grid-column:1 / -1}.grid>.panel+.panel{margin-top:0}.table tbody tr.clickable{cursor:pointer}.table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.table input[type=checkbox]:disabled{cursor:not-allowed}.contracts-box{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px 10px;margin-top:14px}.contracts-box legend{font-size:12px;font-weight:600;color:#344051;padding:0 4px}.contracts-box .table th{position:static}.cost-input{display:inline-flex;align-items:center;gap:4px}.cost-input .input{width:90px;height:26px;text-align:right}.table tfoot td{position:static}.steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 14px;flex-wrap:wrap}.steps li{padding:4px 10px;border-radius:999px;background:#eef0f3;color:var(--muted);font-size:12px;font-weight:600}.steps li.current{background:var(--accent);color:#fff}.brand-logo{display:block;padding:18px 16px 4px;text-align:center}.brand-logo img{width:112px;height:auto;display:inline-block}.brand.with-logo{justify-content:center;padding-top:4px}.doc-head{display:flex;gap:18px;align-items:flex-start;border-bottom:2px solid var(--accent);padding-bottom:12px;margin-bottom:4px}.doc-logo{width:92px;height:auto;flex:none}.login-logo{width:110px;height:auto;display:block;margin:0 auto 6px}.sheet-table th,.sheet-table td{position:static;vertical-align:top;border:1px solid var(--border)}.sheet-table{border:0}.sheet-table .sheet-group{width:120px;background:#eef1f4;font-weight:700;color:var(--text);font-size:12.5px;vertical-align:middle}.sheet-table .sheet-label{width:180px;background:var(--surface-2);color:#344051;font-size:12.5px;white-space:normal}.sheet-table td{white-space:normal}.sheet-table .input{height:30px}.sheet-table textarea.input{min-height:60px}.sheet-plan{display:block;max-width:100%;max-height:520px;margin:0 auto;border:1px solid var(--border);border-radius:4px}@media print{.sheet-plan{max-height:120mm}.sheet-table th{background:#f1f3f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.schedule-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.schedule-form .input{height:30px}.table tr.edit-row td{background:#f6faf9}.mt-xs{margin-top:6px}.lookup{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface-2)}.lookup-results{margin-top:8px;max-height:300px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:0 10px}.lookup-results>li{align-items:center}.picker-list{border:1px solid var(--border);border-radius:6px;max-height:200px;overflow-y:auto;padding:0 8px}.picker-list>li{padding:2px 0}.pager{display:flex;justify-content:center;align-items:center;gap:12px;padding:10px;border-top:1px solid var(--border)}.people{padding:0 14px}.people>li{align-items:center;flex-wrap:wrap}.timeline{padding:0 14px;max-height:360px;overflow-y:auto}.timeline>li>span:first-child{min-width:118px}dialog.drawer{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(520px,100vw);border:0;padding:0;box-shadow:var(--shadow-lg)}dialog.drawer::backdrop{background:#10182859}dialog.drawer.drawer-task{width:min(600px,100vw)}.users-picker{border:0;padding:0;margin:0}.users-picker legend{padding:0;margin-bottom:4px}.task-blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.task-block .panel-head h2{display:flex;gap:8px;align-items:center}.task-line{display:flex;gap:10px;align-items:flex-start;padding:8px 14px;border-bottom:1px solid #eef0f3}.task-line:last-child{border-bottom:0}.task-line .title-btn{all:unset;cursor:pointer;font-weight:600}.task-line .title-btn:hover{text-decoration:underline}.task-line .title-btn:focus-visible{outline:2px solid var(--accent)}.notif-pop{position:fixed;right:16px;top:64px;z-index:80;width:min(360px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;box-shadow:var(--shadow-lg);padding:10px 12px}.notif-pop .row{justify-content:space-between}.drawer-inner{display:flex;flex-direction:column;height:100%}.drawer-body{padding:14px 18px 24px;overflow-y:auto;flex:1}.h3{font-size:13px;font-weight:650;margin:0 0 6px}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--accent-text, var(--accent));cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip-btn{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:3px 10px;cursor:pointer;font:inherit;font-size:12px}.chip-btn[aria-pressed=true]{background:var(--btn);border-color:var(--btn);color:#fff}.bulk-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;background:var(--accent-weak);border-top:1px solid var(--border)}.pkanban{grid-auto-columns:minmax(250px,1fr)}.pkanban .kcol{min-height:260px}.pcard{cursor:pointer;touch-action:pan-y}.pcard.selected{outline:2px solid var(--accent)}.pcard-top{display:flex;align-items:flex-start;gap:6px}.pcard-top .link-btn{flex:1;min-width:0;color:inherit}.grip{cursor:grab;color:var(--muted);padding:2px 4px 2px 0;touch-action:none;display:inline-flex}.grip svg{stroke-width:3.2}.subform{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px 12px;margin:0}.subform legend{font-size:12px;font-weight:650;padding:0 4px}.quick-actions{gap:6px}.prospect-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:14px}.my-actions .panel-body{max-height:320px;overflow-y:auto}.pkanban{grid-auto-columns:minmax(200px,1fr)}@media(max-width:640px){.pkanban{grid-auto-columns:minmax(240px,85vw)}}.counter{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:15px;vertical-align:middle}.session-progress{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:12px}.seg-dot{width:14px;height:8px;border-radius:3px;border:0;padding:0;background:#dfe3e8;cursor:pointer}.seg-dot.traite{background:var(--ok, #16a34a)}.seg-dot.passe{background:var(--warn, #d97706)}.seg-dot.current{outline:2px solid var(--accent);outline-offset:1px}.session-nav{position:sticky;bottom:0;display:flex;gap:8px;align-items:center;padding:10px 0;margin-top:12px;background:var(--bg, #f5f6f8);border-top:1px solid var(--border)}.session-nav .btn{height:40px;padding:0 16px}.btn-lg{height:42px;padding:0 16px;font-size:14px}.session-actions{gap:8px}.contact-card{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface-2)}.resume{align-items:center}.pipe-board{-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(205px,1fr);max-height:calc(100vh - 270px);overflow:auto}.pipe-nav{gap:6px;margin:-4px 0 12px;flex-wrap:wrap}.kcol.pipe-late{background:#fbe9e7}.pipe-board .kcol{min-height:300px}.pipe-leads{position:sticky;left:0;z-index:2;background:#e3e8ee;box-shadow:4px 0 6px -4px #00000026}.kcol.past{background:#f1f1f1}.pipe-totals{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;margin-bottom:8px;line-height:1.45}.warn-text{color:var(--warn, #b45309)}.dcard{cursor:pointer;touch-action:pan-y}.dcard.late{border-left:3px solid var(--danger)}.deal-amounts{display:flex;justify-content:space-between;gap:6px;margin-top:4px}.deal-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;align-items:start}@media(max-width:900px){.deal-layout{grid-template-columns:1fr}}.bell{position:relative}.bell-count{position:absolute;top:-2px;right:-4px;background:var(--danger);color:#fff;border-radius:999px;font-size:10px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px}.bell-menu{position:absolute;right:0;top:36px;width:min(360px,90vw);max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:60}.bell-menu .list-plain>li{padding:8px 10px}.bell-menu li.unread{background:var(--accent-weak)}.audit-list{list-style:none;margin:0;padding:0}.audit-list>li{padding:8px 0;border-bottom:1px solid #eef0f3;overflow-wrap:anywhere}.audit-list>li:last-child{border-bottom:0}.nav-sub a{padding-left:34px;font-size:13px}.nav-collapse{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;margin:8px;padding:7px 10px;border-radius:6px;color:var(--side-text);font-size:12.5px}.nav-collapse:hover{background:#ef7c541a;color:#fff}.nav-collapse:focus-visible{outline:2px solid #ef7c54}@media(min-width:901px){.app.nav-collapsed{grid-template-columns:60px minmax(0,1fr)}.app.nav-collapsed .nav-label,.app.nav-collapsed .nav-section,.app.nav-collapsed .sidebar-foot,.app.nav-collapsed .brand{display:none}.app.nav-collapsed .nav a,.app.nav-collapsed .nav-collapse{justify-content:center;padding:8px 0}.app.nav-collapsed .nav-sub a{padding-left:0}.app.nav-collapsed .brand-logo img{max-width:40px}}.create-menu{position:relative}.create-list{position:absolute;top:38px;left:0;min-width:270px;list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:70}.create-list .link-btn{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;border-radius:6px;color:var(--text);text-align:left}.create-list .link-btn:hover,.create-list .link-btn:focus-visible{background:var(--surface-2)}.create-list kbd{font-size:11px;color:var(--faint);border:1px solid var(--border);border-radius:4px;padding:0 4px}@media(max-width:600px){.hide-sm{display:none!important}.topbar{gap:6px;padding:8px 10px}.gsearch{flex:1;min-width:0;width:auto}.page-head>*{min-width:0;max-width:100%}.page-head .actions,.page-head>div:last-child{flex-wrap:wrap}}.cockpit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.cockpit-block.wide{grid-column:1 / -1}.cockpit-block .panel-head h2{display:flex;gap:6px;align-items:center}.cockpit-edit{align-items:flex-start}@media(max-width:900px){.cockpit{grid-template-columns:1fr}}.shortcut-row{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:10px;align-items:center;padding:8px 14px;border-bottom:1px solid #eef0f3}.shortcut-row:last-child{border-bottom:0}.shortcut-key{font-family:inherit;text-align:center}.shortcut-key.capturing{outline:2px solid var(--accent);background:var(--accent-weak)}@media(max-width:600px){.shortcut-row{grid-template-columns:1fr}}.table-dense td,.table-dense th{padding:5px 8px}.cell-edit{all:unset;cursor:text;display:block;min-height:20px;min-width:40px;padding:1px 4px;border-radius:4px}.cell-edit:hover{background:var(--surface-2);outline:1px dashed var(--border)}.cell-edit:focus-visible{outline:2px solid var(--accent)}.input-sm{height:28px;padding:2px 6px;font-size:13px}.crm-table tr.is-selected td{background:var(--accent-weak)}.bulk-bar{background:var(--surface-2);border-radius:6px;padding:4px 8px}.dictation{display:grid;gap:6px;background:var(--surface-2);border-radius:8px;padding:10px;margin-bottom:12px}.batch-task{border:1px solid var(--border);border-radius:8px;padding:8px;margin-bottom:8px;background:var(--surface)}.xp-banner{padding:8px 12px;margin-bottom:12px}.xp-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.xp-level{display:flex;gap:10px;align-items:center;min-width:220px}.xp-badge{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:#ef7c54}.xp-bar{height:6px;background:#eceff3;border-radius:3px;overflow:hidden;min-width:120px}.xp-bar span{display:block;height:100%;background:#ef7c54;transition:width .4s}.xp-goals{display:flex;gap:14px;flex:1;flex-wrap:wrap}.xp-goal{min-width:150px}.xp-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.mfa-qr{width:200px;height:200px;align-self:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px}.mfa-key{font-size:13px;letter-spacing:1px;word-break:break-all}.otp-input{font-size:22px;letter-spacing:6px;text-align:center}.recovery-codes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.recovery-codes code{display:block;text-align:center;padding:6px;background:var(--surface-2);border-radius:6px;font-size:14px;letter-spacing:1px}[data-density=compacte]{--row-h: 28px}[data-density=compacte] .btn{height:28px;padding:0 9px}[data-density=compacte] .input{height:28px}[data-density=compacte] .table td{padding:3px 8px}[data-density=compacte] .panel-body{padding:8px 10px}[data-density=compacte] .panel-head{padding:7px 10px}[data-density=compacte] .main{padding:12px 16px 32px}[data-density=aeree]{--row-h: 42px}[data-density=aeree] .btn{height:38px;padding:0 16px}[data-density=aeree] .input{height:38px}[data-density=aeree] .table td{padding:10px 12px}[data-density=aeree] .panel-body{padding:18px 20px}[data-density=aeree] .panel-head{padding:14px 20px}[data-density=aeree] .main{padding:24px 30px 48px}@media(min-width:901px){[data-nav=droite] .app{grid-template-columns:minmax(0,1fr) 224px}[data-nav=droite] .app.nav-collapsed{grid-template-columns:minmax(0,1fr) 60px}[data-nav=droite] .sidebar{grid-column:2;grid-row:1 / 3}[data-nav=droite] .topbar,[data-nav=droite] .main{grid-column:1}[data-nav=droite] .topbar{grid-row:1}[data-nav=droite] .main{grid-row:2}[data-nav=droite] .nav a.active{box-shadow:inset -3px 0 0 var(--nav-highlight)}}@media(max-width:900px){[data-nav=droite] .sidebar{inset:0 0 0 auto;transform:translate(100%)}[data-nav=droite] .sidebar.open{transform:none}}[data-actions=gauche] .page-head{flex-direction:column;align-items:flex-start}[data-actions=gauche] .page-head .actions{justify-content:flex-start}[data-toasts=haut_droite] .toasts{top:64px;bottom:auto}[data-toasts=bas_gauche] .toasts{left:16px;right:auto}.create-menu.floating{position:fixed;right:20px;bottom:20px;z-index:900}.create-menu.floating>.btn{height:48px;padding:0 18px;border-radius:999px;box-shadow:var(--shadow-lg)}.create-menu.floating .create-list{top:auto;bottom:56px;left:auto;right:0}[data-create=flottant][data-toasts=bas_droite] .toasts{bottom:80px}.appearance-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.color-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.color-row:last-child{border-bottom:0}.color-row input[type=color]{width:44px;height:30px;padding:2px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer}.color-row .hex{width:90px;font-family:ui-monospace,Consolas,monospace}.appearance-preview{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:12px;background:var(--bg)}.appearance-bar{position:sticky;bottom:0;z-index:5;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}@media(max-width:900px){.appearance-grid{grid-template-columns:1fr}}
