:root{--navy: #1f4e78;--slate: #44546a;--bg: #f4f6f9;--card: #ffffff;--border: #dde3ea;--text: #1f2937;--muted: #6b7280;--danger: #dc2626;--ok: #059669;--hover: #f1f4f8;--line: #eef1f5;--subtle: #f8fafc;--selected: #e3edf7;--selected-text: #1f4e78;--note: #fff8c4;--note-line: #f0e08a;--link: #0563c1;--c-ponctuel: #2563eb;--c-recurrent: #0d9488;--c-arbitrage: #7c3aed;--c-docs: #ea580c;color-scheme:light;font-family:Calibri,Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;color:var(--text)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--navy: #2b6cb0;--slate: #26364d;--bg: #0f172a;--card: #1e293b;--border: #334155;--text: #e5e7eb;--muted: #94a3b8;--hover: #273449;--line: #2a3647;--subtle: #172234;--selected: #1e3a5f;--selected-text: #bfdbfe;--note: #3a3216;--note-line: #6b5e1f;--link: #7cb7ff;color-scheme:dark}}:root[data-theme=dark]{--navy: #2b6cb0;--slate: #26364d;--bg: #0f172a;--card: #1e293b;--border: #334155;--text: #e5e7eb;--muted: #94a3b8;--hover: #273449;--line: #2a3647;--subtle: #172234;--selected: #1e3a5f;--selected-text: #bfdbfe;--note: #3a3216;--note-line: #6b5e1f;--link: #7cb7ff;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3{margin:0 0 6px}h2{font-size:1.4rem}h3{font-size:1.05rem}code{background:var(--line);padding:1px 5px;border-radius:4px}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.ok-text{color:var(--ok)}.row{display:flex;align-items:center}.gap{gap:10px}.wrap{flex-wrap:wrap}.spacer{flex:1}.center-screen{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:28px}.card.narrow{max-width:460px;width:100%}.card p{line-height:1.45}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 14px;border-radius:6px;cursor:pointer;font:inherit}.btn:hover{background:var(--hover)}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.btn.primary:hover{background:#18405f}.btn.small{padding:4px 10px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:default}.icon{border:none;background:none;cursor:pointer;padding:2px 6px;color:var(--muted);font-size:.95rem;border-radius:4px}.icon:hover:not(:disabled){background:var(--line);color:var(--text)}.icon:disabled{opacity:.25;cursor:default}.icon.danger:hover{color:var(--danger)}.link-btn{border:none;background:none;color:var(--link);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.topbar{display:flex;align-items:center;gap:24px;padding:0 20px;height:52px;background:var(--slate);color:#fff;position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:1.15rem;white-space:nowrap}.brand .team{font-weight:400;opacity:.8;margin-left:6px}.topbar nav{display:flex;gap:4px;flex:1}.topbar .tab{color:#dfe6ee}.topbar .tab.active{background:#ffffff29;color:#fff}.topbar .user{display:flex;align-items:center;gap:10px}.topbar .user .muted{color:#cfd8e3}.tab{border:none;background:none;padding:8px 14px;border-radius:6px;cursor:pointer;font:inherit}.tab:hover{background:#7f7f7f1f}main{padding:20px;max-width:1400px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;flex-wrap:wrap}.head-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field.inline{flex-direction:row;align-items:center;gap:8px;margin:0}.field span{font-size:.85rem;color:var(--muted)}input,select,textarea{font:inherit;color:inherit}input[type=text],input:not([type]),input[type=date],select,textarea{border:1px solid var(--border);border-radius:5px;padding:5px 8px;background:var(--card);width:100%}.field.inline input[type=date]{width:auto}input:focus,select:focus,textarea:focus{outline:2px solid #9cc3e6;outline-offset:-1px;border-color:#9cc3e6}.notice{padding:10px 14px;border-radius:6px;margin-bottom:14px;background:#fff7e6;border:1px solid #f5d48a}.notice.ok{background:#ecfdf5;border-color:#a7f3d0}.notice.error{background:#fef2f2;border-color:#fecaca;color:var(--danger)}.block{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:18px;overflow:hidden}.block>p,.block>.status-list,.block>.add-row,.block>button{margin:14px}.block.form{padding:18px;max-width:560px}.block-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--navy);color:#fff}.block-head h3{margin:0}.block-head .btn{background:#ffffff1f;border-color:#ffffff59;color:#fff}.grid{width:100%;border-collapse:collapse}.grid th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border);background:var(--subtle)}.grid td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}.grid.readonly td{padding:9px 10px}.grid tr:last-child td{border-bottom:none}.grid textarea{resize:vertical;min-height:32px;field-sizing:content}.grid td.empty{padding:14px 10px}.col-label{width:30%}.col-date{width:150px}.col-status{width:170px}.col-actions{width:96px}td.actions{white-space:nowrap;text-align:right}tr.locked td{background:var(--subtle)}tr.locked textarea,tr.locked input,tr.locked select{opacity:.75}.hint{font-size:.75rem;color:var(--muted);margin-top:3px;font-style:italic}select{font-weight:600;cursor:pointer}.links{margin:12px 0;padding-left:32px}.links a{color:var(--link)}.subtabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border)}.subtabs .tab{border-radius:6px 6px 0 0}.subtabs .tab.active{background:var(--card);border:1px solid var(--border);border-bottom-color:var(--card);margin-bottom:-1px;font-weight:600}.status-list{display:flex;flex-direction:column;gap:10px}.status-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.status-card.inactive{opacity:.55}.status-card .sub{margin-top:8px}.status-card input[type=color]{width:34px;height:30px;padding:0;border:1px solid var(--border);border-radius:5px;background:none;cursor:pointer}.status-label{max-width:200px}.pill{padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.check{display:inline-flex;align-items:center;gap:4px;font-size:.9rem;cursor:pointer}.chip{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:2px 10px;font:inherit;font-size:.82rem;cursor:pointer}.chip.on{font-weight:600}.add-row input{max-width:280px}@media (max-width: 760px){main{padding:12px}}.new-status{margin:14px;padding:14px 16px;border:2px solid #9cc3e6;border-radius:8px;background:var(--subtle)}.new-status h3{margin-bottom:10px}.new-status h4{margin:16px 0 6px;font-size:.95rem}.new-status .grid{background:var(--card);border:1px solid var(--border);border-radius:6px;margin-bottom:8px}.new-status>.row:last-child{margin-top:12px}.grid.compact td{padding:6px 10px;vertical-align:middle}.grid .center,.grid th.center{text-align:center}.tag{font-size:.75rem;padding:1px 8px;border-radius:4px;background:var(--subtle);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.tag.warn{background:#fff7e6;color:#92400e;border:1px solid #f5d48a}.tag.create{background:#e0f2fe;color:#075985;border-color:#bae6fd}.tag.update{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.tag.ok{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.topbar{justify-content:flex-start;gap:14px;padding:0 14px}.topbar .page-title{margin-left:auto;opacity:.85;font-size:.95rem}.burger{width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 9px;background:none;border:none;border-radius:6px;cursor:pointer;flex:none}.burger:hover{background:#ffffff24}.burger span{display:block;height:2px;background:#fff;border-radius:2px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:30}.drawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:88vw;z-index:40;background:var(--card);border-right:1px solid var(--border);box-shadow:4px 0 18px #0000001f;display:flex;flex-direction:column;transform:translate(-105%);transition:transform .2s ease,visibility .2s;visibility:hidden}.drawer.open{transform:translate(0);visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 14px;background:var(--slate);color:#fff}.drawer-head .close{color:#fff}.drawer nav{display:flex;flex-direction:column;padding:10px 8px;gap:2px;flex:1}.drawer-item{display:flex;align-items:center;gap:12px;text-align:left;border:none;background:none;padding:10px 12px;border-radius:6px;font:inherit;cursor:pointer;color:var(--text)}.drawer-item:hover{background:var(--hover)}.drawer-item.active{background:var(--selected);color:var(--selected-text);font-weight:600}.drawer-icon{width:20px;text-align:center}.drawer-foot{border-top:1px solid var(--border);padding:14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.sticky-input{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:18px;box-shadow:0 2px 6px #0000000f}.sticky-input textarea{width:100%;min-height:130px;border:none;background:transparent;resize:vertical;font:inherit;font-size:1rem;line-height:1.45;outline:none;padding:0}.sticky-input textarea:focus{outline:none}.sticky-actions{margin-top:6px}.note-card{display:grid;grid-template-columns:minmax(220px,1fr) 2.2fr;background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:18px;overflow:hidden}.note-text{background:var(--note);padding:12px 14px;border-right:1px solid var(--note-line)}.note-text pre{white-space:pre-wrap;font:inherit;margin:8px 0 0;line-height:1.4}.note-proposals{padding:12px 14px}.note-proposals .summary{margin:0 0 10px;font-style:italic}.proposal{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.proposal.off{opacity:.45}.proposal-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.proposal-fields{display:grid;grid-template-columns:1fr 150px 200px;gap:8px}.proposal textarea{min-height:32px;resize:vertical;field-sizing:content}.proposal .reason,.proposal .before{font-style:italic}.inline-select{width:auto;padding:2px 6px;font-weight:400}.note-actions{margin-top:12px}.note-history{list-style:none;margin:0;padding:6px 14px}.note-history li{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line)}.note-history li:last-child{border-bottom:none}.note-excerpt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.topbar{flex-wrap:nowrap;height:52px;padding:0 10px}.topbar .page-title{display:none}.note-card{grid-template-columns:1fr}.note-text{border-right:none;border-bottom:1px solid var(--note-line)}.proposal-fields{grid-template-columns:1fr}}.weekbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:16px}.weekbar select{width:auto;min-width:240px;font-weight:600}.weekbar .icon.nav{font-size:1.4rem;line-height:1;padding:2px 10px;color:var(--navy)}.h-sub{font-weight:400;font-size:1rem}.empty-week{text-align:center;padding:30px}.empty-week p{margin-top:0}.col-check{width:36px;text-align:center}td.col-check{vertical-align:middle}.col-check input{width:16px;height:16px;cursor:pointer}tr.excluded td:not(.col-check){opacity:.45}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--card)}.segmented button{border:none;background:none;padding:6px 12px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--muted)}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--selected);color:var(--selected-text);font-weight:600}.head-check{color:#fff;font-size:.85rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:12px}.empty-cards{padding:14px;margin:0}.card-item{background:var(--card);border:1px solid var(--border);border-top:4px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 3px #0000000d}.card-item.excluded{opacity:.5}.card-item.locked{background:var(--subtle)}.card-top{display:flex;gap:8px;align-items:flex-start}.card-top .check{margin-top:7px}.card-label{flex:1;min-width:0}.card-label textarea{font-weight:600;resize:vertical;field-sizing:content;min-height:32px}.card-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}.card-item>textarea{resize:vertical;field-sizing:content;min-height:48px;font-size:.92rem}.card-actions{display:flex;align-items:center;gap:2px}.section-block{border-radius:14px;border-color:color-mix(in srgb,var(--accent) 22%,var(--border));box-shadow:0 2px 10px #0f172a0d}.section-head{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#0f172a));padding:10px 14px}.section-head h3{display:flex;align-items:center;gap:8px;font-size:1.08rem}.section-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff3;font-size:1rem}.count-badge{font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:999px;background:#ffffffeb;color:var(--accent)}.section-head .add-btn{background:#fff;color:var(--accent);border-color:#fff;font-weight:700;border-radius:999px;padding:4px 14px;transition:transform .15s}.section-head .add-btn:hover{transform:scale(1.06);background:#fff}.drag-handle{border:none;background:none;cursor:grab;color:#94a3b8;font-size:1.15rem;line-height:1;padding:4px 3px;border-radius:6px;touch-action:none}.drag-handle:hover{color:var(--accent, var(--navy));background:var(--subtle)}.drag-handle:active{cursor:grabbing}.col-handle{width:30px;text-align:center}td.col-handle{vertical-align:middle}.export-check{accent-color:var(--accent, var(--navy));width:17px;height:17px;cursor:pointer}.list-row{position:relative;background:var(--card);transition:background .15s,box-shadow .15s}.list-row td:first-child{box-shadow:inset 4px 0 0 var(--status)}.list-row:hover{background:color-mix(in srgb,var(--accent, #2563eb) 4%,var(--card))}.list-row.dragging{z-index:5;background:var(--card);box-shadow:0 10px 24px #0f172a2e;opacity:.95}.list-row .due-chip{margin-top:4px}.status-select{border-radius:999px;border:none;padding:5px 12px;box-shadow:inset 0 0 0 1px #0000000f}.cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;padding:14px;background:color-mix(in srgb,var(--accent, #2563eb) 3%,var(--subtle))}.card-item{border-radius:14px;border:1px solid var(--border);border-top:5px solid var(--status);padding:10px 12px 12px;box-shadow:0 2px 6px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease;gap:8px}.card-item:hover{transform:translateY(-3px);box-shadow:0 10px 22px #0f172a1a}.card-item.dragging{z-index:5;box-shadow:0 18px 36px #0f172a38;rotate:1.5deg;opacity:.96}.card-top{align-items:center;gap:6px}.card-top .check{margin-top:0}.card-label textarea{font-size:1.02rem;border-color:transparent;background:transparent;padding-left:2px}.card-label textarea:hover:not(:disabled){border-color:var(--border)}.card-item>textarea{background:var(--subtle);border-color:transparent;border-radius:8px}.card-item>textarea:focus{background:var(--card)}.due-chip{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.due-chip.late{background:#fee2e2;color:#b91c1c}.due-chip.today{background:#ffedd5;color:#c2410c}.due-chip.soon{background:#fef9c3;color:#a16207}.due-chip.later{background:#e0f2fe;color:#0369a1}.empty-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:22px;color:var(--muted);flex-wrap:wrap}.empty-icon{font-size:1.3rem}@media (prefers-reduced-motion: reduce){.card-item,.card-item:hover,.section-head .add-btn{transition:none;transform:none}}.docs-block.drag-over{outline:3px dashed var(--accent);outline-offset:3px}.doc-list{list-style:none;margin:0;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.doc-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;transition:background .15s}.doc-item:hover{background:color-mix(in srgb,var(--accent) 6%,var(--card))}.doc-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--card));font-size:1.2rem;flex:none}.doc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.doc-name{font-weight:600;color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.doc-name:hover{color:var(--accent);text-decoration:underline}.doc-actions{display:flex;gap:2px;flex:none}.doc-actions a.icon{text-decoration:none}.progress{height:6px;border-radius:999px;background:var(--subtle);overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .2s}.drop-hint{margin:0;padding:10px 14px 14px;text-align:center;cursor:pointer;border-top:1px dashed var(--border)}.drop-hint:hover{color:var(--accent)}.theme-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.theme-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;cursor:pointer;font:inherit;font-weight:600;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--card);color:var(--text);transition:transform .15s,box-shadow .15s,background .15s}.theme-tab:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.theme-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}.theme-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--card))}.theme-tab.active .theme-icon{background:#ffffff38}.theme-count{font-size:.75rem;font-weight:700;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--card));color:var(--accent)}.theme-tab.active .theme-count{background:var(--card)}@media (max-width: 760px){.theme-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.theme-tab{flex:none}}@media (prefers-reduced-motion: reduce){.theme-tab,.theme-tab:hover{transition:none;transform:none}}.resync-btn{border-color:#fdba74;background:#fff7ed;color:#9a3412;font-weight:600}.resync-btn:hover{background:#ffedd5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade .15s ease}.modal{width:100%;max-width:440px;background:var(--card);border-radius:16px;padding:24px 24px 18px;box-shadow:0 24px 60px #0f172a4d;text-align:center;animation:modal-pop .18s ease}.modal-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:999px;background:var(--selected);font-size:1.6rem;margin-bottom:10px}.modal.danger .modal-icon{background:#fee2e2}.modal h3{font-size:1.2rem;margin-bottom:8px}.modal-message{color:var(--muted);line-height:1.45}.modal-message p{margin:0 0 8px}.modal-copy{width:100%;margin-top:10px;font-size:.85rem}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}.modal-actions .btn{min-width:120px;border-radius:999px}.danger-btn{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.danger-btn:hover{background:#b91c1c}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}}@media (prefers-reduced-motion: reduce){.modal-backdrop,.modal{animation:none}}.view-picker{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;color:var(--muted)}.view-picker select{width:auto;min-width:200px;font-weight:600;color:var(--text);border-radius:999px;padding:5px 12px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.02em}.owner{display:inline-flex;align-items:center;gap:6px;min-width:0}.owner-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-select{width:auto;max-width:150px;font-size:.85rem;padding:3px 6px}.col-owner{width:170px}.card-owner{margin:6px 0}.loader{display:flex;align-items:center;justify-content:center;padding:40px 0}.loader-dots{display:inline-flex;gap:8px}.loader-dots span{width:12px;height:12px;border-radius:50%;animation:loader-bounce 1s ease-in-out infinite}.loader-dots span:nth-child(1){background:var(--c-ponctuel)}.loader-dots span:nth-child(2){background:var(--c-recurrent);animation-delay:.15s}.loader-dots span:nth-child(3){background:var(--c-arbitrage);animation-delay:.3s}@keyframes loader-bounce{0%,80%,to{transform:translateY(0) scale(.8);opacity:.5}40%{transform:translateY(-10px) scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.loader-dots span{animation-duration:2.4s}}.theme-switch{margin-bottom:8px}.theme-switch button{padding:5px 9px;font-size:.82rem}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:8px 0 12px}.color-field{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card))}.color-field input[type=color]{width:38px;height:32px;padding:0;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer;flex:none}.color-field span{flex:1;font-weight:600}.drawer-head .brand{min-width:0;overflow:hidden;text-overflow:ellipsis}.drawer-item{min-width:0}.drawer-item>:last-child{overflow-wrap:anywhere}.drawer-foot{align-items:stretch}.drawer-foot>div{max-width:100%;overflow-wrap:anywhere}.drawer-foot>.btn{align-self:flex-start}.drawer-foot>.drawer-signout{max-width:none}.theme-switch{display:flex;width:100%}.theme-switch button{flex:1;white-space:nowrap}.topbar .brand{min-width:0;overflow:hidden;text-overflow:ellipsis}.export-recap{display:grid;gap:6px;text-align:left;margin:4px 0 2px;padding:10px 12px;border-radius:10px;background:var(--subtle);border:1px solid var(--border)}.export-recap div{display:flex;justify-content:space-between;gap:12px}.export-recap strong{text-align:right;overflow-wrap:anywhere}.list-row textarea{resize:none;overflow:hidden}:root{--viz-1: #2a78d6;--viz-1-soft: #86b6ef;--viz-2: #eb6834;--viz-neutral: #a8a7a1;--st-critical: #d03b3b;--st-warning: #fab219;--chart-grid: #e1e0d9;--chart-base: #c3c2b7}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--viz-1: #3987e5;--viz-1-soft: #1c5cab;--viz-2: #d95926;--viz-neutral: #5d5c57;--chart-grid: #2c2c2a;--chart-base: #383835}}:root[data-theme=dark]{--viz-1: #3987e5;--viz-1-soft: #1c5cab;--viz-2: #d95926;--viz-neutral: #5d5c57;--chart-grid: #2c2c2a;--chart-base: #383835}.stats-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}.stats-filters .view-picker{margin-bottom:0}.stats-body.reloading{opacity:.55;transition:opacity .2s}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:8px 0 18px}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px;background:var(--card);border:1px solid var(--border)}.stat-tile.critical{border-color:color-mix(in srgb,var(--st-critical) 45%,var(--border))}.stat-label{font-size:.85rem;color:var(--muted)}.stat-value{font-size:1.9rem;font-weight:600;line-height:1.1;color:var(--text)}.stat-delta{font-size:.78rem;color:var(--muted)}.stat-delta.up-good{color:var(--ok)}.stat-delta.up-bad{color:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px;margin-bottom:18px}.stats-grid .block{margin-bottom:0}.chart-card{padding:14px 16px;overflow:visible}.chart-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.chart-card-head h3{margin:0}.chart-card-head p{margin:2px 0 0}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1}.chart-base,.chart-cross{stroke:var(--chart-base);stroke-width:1}.chart-tick{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chart-value{fill:var(--text);font-size:12px;font-weight:600}.chart-dot{stroke:var(--card);stroke-width:2}.chart-col.hover path{filter:brightness(1.12)}.chart rect:focus{outline:none}.chart rect:focus-visible{stroke:var(--chart-base);stroke-width:1}.chart-tip{position:absolute;top:0;transform:translate(-50%);pointer-events:none;z-index:5;min-width:150px;padding:8px 10px;border-radius:8px;background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:0 8px 20px #0f172a26;font-size:.82rem}.chart-tip-title{color:var(--muted);margin-bottom:4px;white-space:nowrap}.chart-tip-row{display:flex;align-items:center;gap:6px;white-space:nowrap}.chart-tip-row.total{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.chart-key-line{display:inline-block;width:12px;height:2px;border-radius:1px;background:var(--muted)}.chart-key{display:inline-block;width:10px;height:10px;border-radius:3px}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.82rem;color:var(--muted);margin-bottom:6px}.chart-legend>span{display:inline-flex;align-items:center;gap:6px}.chart-table{max-height:260px;overflow:auto}.grid td.num,.grid th.num{text-align:right;font-variant-numeric:tabular-nums}.bar-list{display:grid;gap:8px;padding:6px 0}.bar-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;align-items:center;gap:10px;font-size:.88rem}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{display:block;height:12px;border-radius:4px;background:var(--subtle);overflow:hidden}.bar-track.inline{width:120px}.bar-fill{display:block;height:100%;border-radius:0 4px 4px 0;min-width:2px}.bar-value{font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.people-table td{vertical-align:middle}.block.form.backlog-new{padding:14px 16px;max-width:none}.backlog-new h3{margin-bottom:10px}.backlog-new textarea{width:100%;margin:8px 0}.backlog-fields{display:grid;grid-template-columns:1fr 200px 160px;gap:8px}@media (max-width: 700px){.backlog-fields{grid-template-columns:1fr}}.count-badge.plain{background:#ffffffeb;color:var(--navy)}.backlog-list{list-style:none;margin:0;padding:8px;display:grid;gap:8px}.backlog-item{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;background:var(--card);padding:10px 12px}.backlog-main{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:start}@media (max-width: 800px){.backlog-main{grid-template-columns:auto 1fr}.backlog-meta,.backlog-actions{grid-column:2}}.backlog-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--accent) 14%,var(--card))}.backlog-text{display:grid;gap:6px;min-width:0}.backlog-label{font-weight:600}.backlog-text textarea{resize:vertical;field-sizing:content;min-height:32px;font-size:.9rem}.backlog-meta{display:grid;gap:6px;width:170px}.backlog-actions{display:flex;gap:6px;align-items:center}.backlog-assign{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,var(--subtle));border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--border))}.backlog-assign label{display:grid;gap:3px;font-size:.82rem;color:var(--muted)}.backlog-assign select{min-width:170px;color:var(--text)}.list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 12px;padding:8px 10px;border-radius:10px;background:var(--card);border:1px solid var(--border)}.status-chips{display:flex;flex-wrap:wrap;gap:6px}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font:inherit;font-size:.82rem;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer}.status-chip:hover{background:var(--hover)}.status-chip.on{border-color:var(--status);background:color-mix(in srgb,var(--status) 16%,var(--card));font-weight:600}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--status);flex:none}.due-filter{display:inline-flex;align-items:center;gap:6px;margin-left:4px}.due-filter select{width:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.brand{display:inline-flex;align-items:center;gap:8px}.emblem{display:block;flex:none}.brand-logo{display:block;max-width:100%;margin:0 auto 6px}.brand-logo img{display:block;width:100%;height:auto}.brand-logo .logo-dark{display:none}:root[data-theme=dark] .brand-logo .logo-light{display:none}:root[data-theme=dark] .brand-logo .logo-dark{display:block}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .brand-logo .logo-light{display:none}:root:not([data-theme=light]) .brand-logo .logo-dark{display:block}}.login-sub{text-align:center;margin-top:0}.loader.center-screen{flex-direction:column;gap:18px}.loader.center-screen .emblem{animation:emblem-pulse 1.6s ease-in-out infinite}@keyframes emblem-pulse{0%,to{transform:scale(.94)}50%{transform:scale(1.04)}}@media (prefers-reduced-motion: reduce){.loader.center-screen .emblem{animation:none}}.print-only{display:none}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.topbar,.drawer,.drawer-backdrop,.no-print,.stats-filters,.chart-card-head .btn,.chart-tip{display:none!important}.print-only{display:block}main,.page{padding:0!important;margin:0!important;max-width:none!important}.print-header{display:flex;align-items:center;gap:18px;padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid #c9a55a}.print-header .brand-logo{margin:0}.print-header h1{font-size:1.35rem;margin:0 0 4px;color:#14223a}.print-header p{margin:0;color:#52514e;font-size:.85rem}.stats-page .page-head{display:none}.stat-tiles{grid-template-columns:repeat(6,1fr);gap:8px}.stat-tile{padding:8px 10px}.stat-value{font-size:1.4rem}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.chart-card,.stat-tiles,.stat-tile{break-inside:avoid;page-break-inside:avoid}.block{box-shadow:none}.people-table thead{display:table-header-group}.people-table tr{break-inside:avoid}}.drawer-signout{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.app-version{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}@media print{.people-section{break-before:page;page-break-before:always}}.login-btn{display:block;margin:16px auto 0}.card.narrow .error,.card.narrow .notice{text-align:center}.link-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.link-add input{flex:1 1 180px;width:auto}.list-row td{vertical-align:middle}.list-row .col-handle,.list-row .col-check,.list-row td.actions{text-align:center}.sort-btn{display:inline-flex;align-items:center;gap:5px;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.sort-btn:hover,.sort-btn.active{color:var(--text)}.sort-arrow{font-size:.7rem;opacity:.45}.sort-btn.active .sort-arrow{opacity:1;color:var(--accent, var(--navy))}.sort-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;font-size:.82rem;color:var(--muted);background:var(--subtle);border-bottom:1px solid var(--line)}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}.section-head{flex-wrap:wrap;gap:8px}.section-head h3{min-width:0}.block-head{flex-wrap:wrap;gap:8px}.block{overflow-x:auto;-webkit-overflow-scrolling:touch}.chart-card{overflow:visible}@media (max-width: 1024px){main{padding:14px}.grid.readonly,.users-table,.services-table{min-width:640px}.section-block .grid{min-width:820px}.stats-grid{grid-template-columns:1fr}.subtabs{overflow-x:auto;flex-wrap:nowrap}.subtabs .tab{flex:none;white-space:nowrap}}@media (pointer: coarse){.icon{min-width:36px;min-height:36px}.drag-handle{min-width:32px;min-height:32px;font-size:1.3rem}.status-chip,.btn.small{padding:6px 12px}}@media (max-width: 640px){input,select,textarea{font-size:16px}main{padding:10px}h2{font-size:1.2rem}.h-sub{display:block;font-size:.9rem}.topbar{gap:8px}.topbar .brand{flex:1 1 auto;font-size:1.02rem}.topbar .brand .team{display:none}.page-head{align-items:stretch}.page-head>*{width:100%}.head-actions{width:100%}.head-actions .btn.primary,.page-head>.btn{width:100%}.view-picker{display:flex;width:100%}.view-picker select{flex:1;min-width:0;width:100%}.weekbar{padding:8px;gap:6px}.weekbar select{flex:1 1 0;min-width:0}.weekbar .spacer{display:none}.resync-btn{width:100%}.list-filters{padding:8px}.status-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px}.status-chip{flex:none}.due-filter{width:100%;margin-left:0}.due-filter select{flex:1}.cards{padding:10px;gap:10px}.card-fields{grid-template-columns:1fr}.card-item:hover{transform:none}.doc-item{flex-wrap:wrap}.link-add input{flex-basis:100%}.link-add .btn{width:100%}.sticky-actions{flex-wrap:wrap}.sticky-actions .btn{width:100%}.note-actions{flex-wrap:wrap}.note-actions .btn{flex:1}.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-tile{padding:10px 12px}.stat-value{font-size:1.5rem}.stats-filters .segmented{width:100%}.stats-filters .segmented button{flex:1;padding:6px 4px}.chart-card{padding:12px}.bar-row{grid-template-columns:minmax(80px,110px) 1fr auto;gap:8px}.backlog-meta{width:100%}.backlog-actions .btn{flex:1}.backlog-assign label,.backlog-assign select{width:100%}.backlog-assign .btn{flex:1}.color-grid{grid-template-columns:1fr}.block.form{max-width:none}.modal{padding:20px 16px 14px;border-radius:14px}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1}.export-recap div{flex-direction:column;gap:0}.export-recap strong{text-align:left}.card{padding:20px}}
