:root{color-scheme:light;--brand:#101741;--brand-600:#0b1030;--brand-50:#e9eaf2;--on-accent:#fff;--bg:#f7f8fa;--surface:#fff;--surface-2:#f1f3f5;--border:#e6e8eb;--border-strong:#d0d4d9;--text:#1a1d21;--text-2:#5c636e;--text-3:#8a919c;--slate:#868e96;--slate-bg:#f1f3f5;--blue:#3b82f6;--blue-bg:#e7f0ff;--violet:#7c53d6;--violet-bg:#f0e9ff;--red:#e03131;--red-bg:#ffe9e9;--amber:#f08c00;--amber-bg:#fff4e0;--yellow:#ca8a04;--yellow-bg:#fdf6c9;--yellow-strong:#a16207;--orange:#e8590c;--orange-bg:#ffe8d5;--green:#2f9e44;--green-bg:#e6f6ea;--hue-1:#4263eb;--hue-2:#12b886;--hue-3:#e8590c;--hue-4:#ae3ec9;--hue-5:#1098ad;--hue-6:#e64980;--hue-7:#2f9e44;--hue-8:#e03131;--hue-9:#7048e8;--hue-10:#1c7ed6;--hue-11:#5c940d;--hue-12:#495057;--danger-border:#f5c2c2;--success-border:#b7e4c2;--banner-warn-bg:#fff8e1;--banner-warn-border:#ffe08a;--banner-warn-text:#7a5b00;--overlay:rgba(16,24,40,.35);--scrollbar-thumb:#c4c9d0;--scrollbar-track:transparent;--radius:10px;--radius-sm:7px;--shadow-sm:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.05);--shadow-md:0 4px 12px rgba(16,24,40,.1);--shadow-lg:-8px 0 30px rgba(16,24,40,.15);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}:root[data-theme=dark]{color-scheme:dark;--brand:#3f5bd9;--brand-600:#7a90ef;--brand-50:#232a45;--on-accent:#fff;--bg:#14161a;--surface:#1c1f24;--surface-2:#24282e;--border:#2b3037;--border-strong:#3a4048;--text:#e6e8eb;--text-2:#a8b0ba;--text-3:#838b96;--slate:#aeb6c0;--slate-bg:#2a2f36;--blue:#7bb0ff;--blue-bg:#182740;--violet:#c19bf7;--violet-bg:#2a2340;--red:#ff9090;--red-bg:#3a2225;--amber:#ffb454;--amber-bg:#382a12;--yellow:#e8c34f;--yellow-bg:#332c12;--yellow-strong:#fde68a;--orange:#ff9a5a;--orange-bg:#3a2413;--green:#5ed67f;--green-bg:#15301e;--hue-1:#5468e8;--hue-2:#0f9268;--hue-3:#d9530b;--hue-4:#b649cf;--hue-5:#12889f;--hue-6:#e0457c;--hue-7:#279a45;--hue-8:#e04343;--hue-9:#8163f0;--hue-10:#2183d1;--hue-11:#5f911a;--hue-12:#6b7480;--danger-border:#5a2a2a;--success-border:#1f4a2e;--banner-warn-bg:#33290f;--banner-warn-border:#5c4a18;--banner-warn-text:#f0ce7a;--overlay:rgba(0,0,0,.6);--scrollbar-thumb:#3a4048;--scrollbar-track:transparent;--shadow-sm:0 1px 2px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.35);--shadow-md:0 4px 14px rgba(0,0,0,.5);--shadow-lg:-8px 0 30px rgba(0,0,0,.55)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--brand:#3f5bd9;--brand-600:#7a90ef;--brand-50:#232a45;--on-accent:#fff;--bg:#14161a;--surface:#1c1f24;--surface-2:#24282e;--border:#2b3037;--border-strong:#3a4048;--text:#e6e8eb;--text-2:#a8b0ba;--text-3:#838b96;--slate:#aeb6c0;--slate-bg:#2a2f36;--blue:#7bb0ff;--blue-bg:#182740;--violet:#c19bf7;--violet-bg:#2a2340;--red:#ff9090;--red-bg:#3a2225;--amber:#ffb454;--amber-bg:#382a12;--yellow:#e8c34f;--yellow-bg:#332c12;--yellow-strong:#fde68a;--orange:#ff9a5a;--orange-bg:#3a2413;--green:#5ed67f;--green-bg:#15301e;--hue-1:#5468e8;--hue-2:#0f9268;--hue-3:#d9530b;--hue-4:#b649cf;--hue-5:#12889f;--hue-6:#e0457c;--hue-7:#279a45;--hue-8:#e04343;--hue-9:#8163f0;--hue-10:#2183d1;--hue-11:#5f911a;--hue-12:#6b7480;--danger-border:#5a2a2a;--success-border:#1f4a2e;--banner-warn-bg:#33290f;--banner-warn-border:#5c4a18;--banner-warn-text:#f0ce7a;--overlay:rgba(0,0,0,.6);--scrollbar-thumb:#3a4048;--scrollbar-track:transparent;--shadow-sm:0 1px 2px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.35);--shadow-md:0 4px 14px rgba(0,0,0,.5);--shadow-lg:-8px 0 30px rgba(0,0,0,.55)}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px;border:3px solid var(--bg);background-clip:padding-box}.shell{display:flex;flex-direction:column;min-height:100vh}.topbar{gap:20px;padding:0 20px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:20}.brandmark,.topbar{display:flex;align-items:center}.brandmark{gap:10px;font-weight:700;letter-spacing:-.01em}.brandmark .dot{width:22px;height:22px;border-radius:6px;background:var(--brand);display:inline-block}.nav{display:flex;gap:4px;margin-left:8px}.nav a{padding:7px 12px;border-radius:8px;color:var(--text-2);font-weight:500}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{background:var(--brand-50);color:var(--brand-600)}.spacer{flex:1 1}.userswitch{display:flex;align-items:center;gap:8px}.userswitch label{color:var(--text-3);font-size:12px}.userswitch select{border:1px solid var(--border-strong);border-radius:8px;padding:6px 8px;background:var(--surface);color:var(--text);font-size:13px}.page{padding:20px}.page-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.page-head h1{font-size:20px;margin:0;letter-spacing:-.01em}.page-head .count{color:var(--text-3);font-size:13px}.viewswitch{margin-left:auto;align-self:center;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:2px}.viewswitch,.viewswitch-btn{display:inline-flex;align-items:center}.viewswitch-btn{gap:6px;border:none;background:transparent;color:var(--text-2);font:inherit;font-size:12.5px;font-weight:600;line-height:1;padding:5px 10px;border-radius:7px;cursor:pointer}.viewswitch-btn:hover{color:var(--text)}.viewswitch-btn.active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.viewswitch-ic{font-size:13px;line-height:1}@media (max-width:560px){.viewswitch-label{display:none}}.demo-banner{background:var(--banner-warn-bg);border:1px solid var(--banner-warn-border);color:var(--banner-warn-text);text-align:center}.demo-banner,.write-banner{padding:8px 14px;font-size:12.5px}.write-banner{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--red-bg);border:1px solid var(--danger-border);color:var(--red);font-weight:600}.write-banner-x{border:none;background:transparent;color:inherit;font-size:16px;line-height:1;padding:0 2px}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.column{flex:0 0 288px;width:288px;background:var(--surface-2);border-radius:12px;padding:8px}.column.drop-active{outline:2px dashed var(--brand);outline-offset:-2px;background:var(--brand-50)}.column-head{display:flex;align-items:center;gap:8px;padding:6px 8px 10px}.column-head .name{font-weight:600;font-size:13px}.column-head .n{color:var(--text-3);font-size:12px}.column-dot{width:8px;height:8px;border-radius:50%}.column-list{display:flex;flex-direction:column;gap:8px;min-height:12px}.intake-column{background:var(--amber-bg);border:1px dashed var(--amber)}.intake-dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.intake-empty{color:var(--text-3);font-size:12.5px;padding:4px 8px 8px}.request-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px}.request-card-title{font-weight:600;font-size:13px;line-height:1.35}.request-card-tags{display:flex;flex-wrap:wrap;gap:4px}.request-tag{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}.request-tag.client{background:var(--brand-50);color:var(--brand)}.request-tag.status{background:var(--violet-bg);color:var(--violet)}.request-card-line{font-size:12px;color:var(--text-2);line-height:1.35}.request-card-label,.request-card-sub{color:var(--text-3)}.request-card-sub{font-size:11.5px}.request-card-actions{display:flex;gap:6px;margin-top:2px}.btn-sm{padding:5px 10px;font-size:12px}.intake-collapse{margin-left:auto;border:none;background:transparent;color:var(--text-3);font-size:14px;line-height:1;padding:2px 6px;border-radius:6px;cursor:pointer}.intake-collapse:hover{background:var(--surface);color:var(--text)}.intake-column.intake-collapsed{flex:0 0 46px;width:46px;min-height:140px;padding:12px 6px;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer}.intake-column.intake-collapsed:hover{background:var(--amber-bg);border-style:solid}.intake-collapsed-icon{position:relative;font-size:20px;line-height:1}.intake-badge{position:absolute;top:-7px;right:-11px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--amber-bg)}.intake-collapsed-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:600;color:var(--text-2);letter-spacing:.02em;white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:11px 12px;box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .12s ease,transform .04s ease}.card:hover{box-shadow:var(--shadow-md)}.card:active{cursor:-webkit-grabbing;cursor:grabbing}.card.dragging{opacity:.4}.card .title{font-weight:550;line-height:1.35;margin-bottom:9px}.card .meta{gap:8px;flex-wrap:wrap}.card .foot,.card .meta{display:flex;align-items:center}.card .foot{justify-content:space-between;margin-top:10px}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge .tick{width:6px;height:6px;border-radius:50%;background:currentColor}.client-chip{display:inline-block;height:20px;line-height:20px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.02em;vertical-align:middle;background:var(--surface-2);border:1px solid var(--border);max-width:160px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.client-chip,.due{color:var(--text-2)}.due{font-size:12px;display:inline-flex;align-items:center;gap:5px}.due.overdue{color:var(--red);font-weight:600}.due.today{color:var(--amber);font-weight:600}.avatar{width:24px;height:24px;border-radius:50%;color:var(--on-accent);font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.avatar.sm{width:20px;height:20px;font-size:9.5px}.avatar.none{background:var(--surface-2);color:var(--text-3);border:1px dashed var(--border-strong)}.tablewrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}table.tasks{width:100%;border-collapse:collapse}table.tasks th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-weight:600;padding:10px 14px;background:var(--surface)}table.tasks td,table.tasks th{border-bottom:1px solid var(--border)}table.tasks td{padding:11px 14px;vertical-align:middle}table.tasks tr:last-child td{border-bottom:none}table.tasks tbody tr{cursor:pointer}.group-row td,table.tasks tbody tr:hover{background:var(--surface-2)}.group-row td{font-weight:700;font-size:12px;color:var(--text-2);padding:8px 14px}.td-title{font-weight:550}.td-title .task-name{margin-bottom:4px}.assoc-chip{display:inline-flex;align-items:center;gap:4px;height:19px;padding:0 7px;border-radius:6px;font-size:10.5px;font-weight:600;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.assoc-project{background:var(--violet-bg);color:var(--violet)}.assoc-service{background:var(--blue-bg);color:var(--blue)}.assoc-direct{background:var(--surface-2);color:var(--text-3);border:1px dashed var(--border-strong)}.card .meta .assoc-chip{max-width:160px}.project-row td{background:var(--surface-2)}.project-row .chevron{display:inline-block;width:14px;color:var(--text-3);font-size:11px}.project-row .project-name{font-weight:700;color:inherit;text-decoration:none}.project-row .project-name:hover{text-decoration:underline}.project-row .project-count{margin-left:8px;font-weight:600;font-size:11px;color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 7px}.td-title.td-indent{padding-left:34px}.td-title.td-indent-2{padding-left:58px}.project-empty td{color:var(--text-3);font-size:12.5px;font-style:italic}.td-title.td-nest{padding-left:46px}.drawer-scrim{position:fixed;inset:0;background:var(--overlay);z-index:40}.drawer{position:fixed;top:0;right:0;height:100vh;width:440px;max-width:92vw;background:var(--surface);z-index:50;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.drawer-resizer{width:8px;z-index:2;cursor:col-resize;touch-action:none}.drawer-resizer,.drawer-resizer:after{position:absolute;top:0;left:0;height:100%;background:transparent}.drawer-resizer:after{content:"";width:2px;transition:background .12s ease}.drawer-resizer:active:after,.drawer-resizer:hover:after{background:var(--brand)}.drawer-head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:flex-start}.drawer-head h2{font-size:16px;margin:0;line-height:1.35;flex:1 1}.drawer-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1 1 auto}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;background:var(--surface);color:var(--text)}.field textarea{min-height:90px;resize:vertical}.iconbtn{border:none;background:transparent;color:var(--text-3);font-size:20px;line-height:1;padding:2px 6px;border-radius:6px}.iconbtn:hover{background:var(--surface-2);color:var(--text)}.link-out{font-size:12.5px;color:var(--brand-600);font-weight:600}.empty{color:var(--text-3);font-size:13px;padding:24px;text-align:center}.usermenu{display:flex;align-items:center;gap:10px}.usermenu .name{font-weight:600;font-size:13px}.logout{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;padding:6px 10px;font-size:12.5px}.logout:hover{background:var(--surface-2);color:var(--text)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);padding:36px 34px;width:380px;max-width:92vw;text-align:center}.login-card .logo{width:44px;height:44px;border-radius:12px;background:var(--brand);margin:0 auto 16px}.login-card h1{font-size:20px;margin:0 0 6px;letter-spacing:-.01em}.login-card p{color:var(--text-2);font-size:13.5px;margin:0 0 24px;line-height:1.5}.btn-notion{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--brand);color:var(--on-accent);border:none;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.btn-notion:hover{background:var(--brand-600)}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.btn-google:hover{background:var(--surface-2)}.btn-google .g{width:18px;height:18px;flex:0 0 auto}.login-note{margin-top:16px;color:var(--text-3);font-size:11.5px}.refresh-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600}.refresh-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.refresh-btn:disabled{opacity:.6;cursor:default}.refresh-btn .ic{display:inline-block}.refresh-btn .ic.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.synced{color:var(--text-3);font-size:11.5px;white-space:nowrap}.theme-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600}.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.theme-toggle svg{flex:0 0 auto}.theme-toggle-label{line-height:1}.drawer-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.btn-archive{border:1px solid var(--border-strong);background:var(--surface);color:var(--red);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.btn-archive:hover{background:var(--red-bg)}.notion-content{white-space:pre-wrap;font-size:13px;line-height:1.5;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;max-height:300px;overflow:auto}.content-loading{color:var(--text-3);font-size:12.5px}.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filterbar input,.filterbar select{border:1px solid var(--border-strong);border-radius:8px;padding:7px 9px;font-size:13px;background:var(--surface);color:var(--text);font-family:inherit}.filterbar .f-search{min-width:200px;flex:0 1 260px}.filterbar .f-date{width:140px}.filterbar .f-date-sep{color:var(--text-3);align-self:center}.filterbar .f-clear{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;padding:7px 10px;font-size:12.5px;font-weight:600}.filterbar .f-clear:hover{background:var(--surface-2);color:var(--text)}table.tasks th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}table.tasks th.sortable:hover{color:var(--text)}table.tasks th .arrow{margin-left:4px;color:var(--text-3);font-size:10px}.route-select{display:flex;gap:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px}.route-select button{flex:1 1;border:none;background:transparent;color:var(--text-2);font-weight:600;font-size:13px;padding:7px 10px;border-radius:7px;cursor:pointer;font-family:inherit}.route-select button:hover{color:var(--text)}.route-select button.active{background:var(--surface);color:var(--brand-600);box-shadow:var(--shadow-sm)}.newtask-btn{background:var(--brand);color:var(--on-accent);border:none;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600}.newtask-btn:hover{background:var(--brand-600)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:460px;max-width:92vw;max-height:88vh;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-md);z-index:50;display:flex;flex-direction:column}.modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:16px}.modal-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.btn-primary{background:var(--brand);color:var(--on-accent);border:none;border-radius:9px;padding:9px 16px;font-size:13.5px;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--brand-600)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{background:var(--surface);color:var(--text-2);border:1px solid var(--border-strong);border-radius:9px;padding:9px 16px;font-size:13.5px;font-weight:600}.btn-secondary:hover{background:var(--surface-2);color:var(--text)}.form-error{color:var(--red);font-size:12.5px;background:var(--red-bg);border:1px solid var(--danger-border);border-radius:8px;padding:8px 10px}.cascade-scrim{position:fixed;inset:0;background:var(--overlay);z-index:55}.cascade-modal{width:400px;z-index:56}.cascade-msg{margin:0;font-size:14px;line-height:1.5;color:var(--text)}.nudge-box{display:flex;flex-direction:column;gap:8px}.nudge-box input{border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;background:var(--surface);color:var(--text)}.nudge-actions{display:flex;justify-content:flex-end;gap:8px}.nudge-actions .btn-primary,.nudge-actions .btn-secondary{padding:7px 12px;font-size:13px}.nudge-sent{color:var(--green);font-size:13px;font-weight:600;background:var(--green-bg);border-radius:8px;padding:8px 10px}.comments{display:flex;flex-direction:column;gap:12px}.comments-note{color:var(--amber);font-size:12px;background:var(--amber-bg);border-radius:8px;padding:6px 10px}.comments-note.subtle{color:var(--text-3);background:var(--surface-2)}.comment-thread{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface)}.comment-thread.resolved{background:var(--surface-2);opacity:.72}.comment-resolved-tag{align-self:flex-start;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:1px 8px}.comment{display:flex;gap:8px;align-items:flex-start}.comment.pending{opacity:.6}.comment-avatar{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:var(--brand-50);color:var(--brand-600);font-size:9.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.comment-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.comment-meta{display:flex;align-items:baseline;gap:8px}.comment-author{font-weight:600;font-size:12.5px;color:var(--text)}.comment-time{font-size:11px;color:var(--text-3)}.comment-text{font-size:13px;line-height:1.45;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.comment-reply-btn{align-self:flex-start;border:none;background:transparent;color:var(--brand-600);font-size:12px;font-weight:600;padding:2px 0}.comment-reply-btn:hover{text-decoration:underline}.comment-reply{display:flex;flex-direction:column;gap:8px}.comment-reply input{border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;background:var(--surface);color:var(--text)}.comment-reply-actions{display:flex;justify-content:flex-end;gap:8px}.comment-reply-actions .btn-primary,.comment-reply-actions .btn-secondary{padding:6px 12px;font-size:12.5px}.comment-new{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px}.comment-new textarea{border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;background:var(--surface);color:var(--text);min-height:56px;resize:vertical}.comment-new-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.comment-new-actions .btn-primary{padding:7px 14px;font-size:13px}.comment-hint{font-size:11px;color:var(--text-3);line-height:1.35}.mention-anchor{position:relative}.mention-anchor,.mention-menu{display:flex;flex-direction:column}.mention-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:4px;max-height:210px;overflow-y:auto;gap:2px}.mention-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;text-align:left;padding:6px 8px;border-radius:7px;font-size:13px;color:var(--text)}.mention-item.active,.mention-item:hover{background:var(--surface-2)}.field-hint{font-size:11px;color:var(--text-3);line-height:1.35}.btn-attach{align-self:flex-start;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.btn-attach:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-attach:disabled{opacity:.5;cursor:default}.file-chips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.file-chip{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 8px 6px 10px;font-size:12.5px;color:var(--text)}.file-chip.status-error{background:var(--red-bg);border-color:var(--danger-border)}.file-chip.status-uploaded{background:var(--green-bg);border-color:var(--success-border)}.file-chip-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.file-chip-size{color:var(--text-3);font-size:11.5px;flex:0 0 auto}.file-chip-status{color:var(--text-2);font-size:11.5px;margin-left:auto}.file-chip-status.ok{color:var(--green);font-weight:700}.file-chip-error{color:var(--red);font-size:11.5px;margin-left:auto}.file-chip-remove{flex:0 0 auto;border:none;background:transparent;color:var(--text-3);font-size:16px;line-height:1;padding:0 2px;cursor:pointer}.file-chip-remove:hover:not(:disabled){color:var(--red)}.file-chip-remove:disabled{opacity:.4;cursor:default}.attach-controls{display:flex;flex-direction:column;gap:8px;margin-top:8px}.attach-controls .btn-primary{align-self:flex-start;padding:7px 14px;font-size:13px}.attachment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.attachment-item{display:flex;align-items:center}.attachment-item.pending{opacity:.6}.attachment-item.pending .attachment-thumb,.attachment-link{display:flex;align-items:center;gap:8px}.attachment-link{color:var(--brand-600);text-decoration:none;font-size:13px;font-weight:500;border:1px solid var(--border);border-radius:8px;padding:5px 8px;background:var(--surface);width:100%}.attachment-link:hover{background:var(--surface-2)}.attachment-item.pending{gap:8px;font-size:13px;color:var(--text-2)}.attachment-thumb{width:28px;height:28px;flex:0 0 auto;border-radius:6px;object-fit:cover;background:var(--surface-2);border:1px solid var(--border)}.attachment-thumb.placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:14px;border:none}.attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-status{color:var(--text-3);font-size:11.5px;margin-left:auto}table.tasks td.td-editable{cursor:pointer;border-radius:6px;outline-offset:-2px}table.tasks tr:hover td.td-editable{background:transparent}table.tasks td.td-editable:hover{background:var(--surface-2)}table.tasks td.td-editable:focus-visible{outline:2px solid var(--brand)}table.tasks td.td-editable.editing{padding:7px 10px;cursor:default}table.tasks td.td-editable.editing:hover{background:transparent}.inline-date,.inline-select{width:100%;max-width:172px;border:1px solid var(--border-strong);border-radius:7px;padding:5px 7px;font-family:inherit;font-size:13px;background:var(--surface);color:var(--text)}.due-empty{color:var(--text-3);font-size:12px;font-style:italic}.inline-saving{margin-left:6px;color:var(--text-3);font-size:11px;letter-spacing:.04em}.inline-error{margin-top:4px;color:var(--red);font-size:11px;font-weight:600;max-width:180px}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cal-nav{gap:6px}.cal-nav,.cal-navbtn{display:inline-flex;align-items:center}.cal-navbtn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;width:30px;height:30px;font-size:16px;line-height:1;justify-content:center}.cal-navbtn:hover{background:var(--surface-2);color:var(--text)}.cal-today{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;padding:0 12px;height:30px;font-size:12.5px;font-weight:600}.cal-today:hover{background:var(--surface-2);color:var(--text)}.cal-month{font-size:15px;font-weight:700;letter-spacing:-.01em}.calendar{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.cal-week,.cal-weekhead{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-weekhead{border-bottom:1px solid var(--border)}.cal-wd{padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-weight:600;text-align:left}.cal-week{border-bottom:1px solid var(--border)}.cal-week:last-child{border-bottom:none}.cal-cell{min-height:108px;padding:6px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:5px;overflow:hidden}.cal-cell:last-child{border-right:none}.cal-cell.out{background:var(--surface-2)}.cal-cell.out .cal-daynum{color:var(--text-3)}.cal-cell.today{background:var(--brand-50)}.cal-daynum{font-size:12px;font-weight:600;color:var(--text-2);padding:1px 2px}.cal-cell.today .cal-daynum{color:var(--on-accent);background:var(--brand);border-radius:999px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.cal-daylist{display:flex;flex-direction:column;gap:4px;overflow-y:auto}.cal-chip{display:flex;align-items:center;gap:5px;width:100%;text-align:left;border:none;border-radius:6px;padding:3px 6px;font-size:11.5px;font-weight:600;cursor:pointer}.cal-chip:hover{filter:brightness(.97)}.cal-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-undated{margin-top:16px}.cal-undated-head{font-size:12px;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.cal-undated-list{display:flex;flex-wrap:wrap;gap:6px}.cal-undated-list .cal-chip{width:auto;max-width:260px;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.timeline{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto;overflow-y:hidden}.tl-inner{position:relative}.tl-head{display:flex;border-bottom:1px solid var(--border)}.tl-rowlabel{flex:0 0 auto;position:-webkit-sticky;position:sticky;left:0;z-index:3;background:var(--surface);border-right:1px solid var(--border);padding:0 12px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-corner{height:46px}.tl-axis{position:relative;flex:0 0 auto}.tl-months{display:flex;height:22px;border-bottom:1px solid var(--border)}.tl-month{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--text-2);padding:0 8px;display:flex;align-items:center;border-right:1px solid var(--border)}.tl-days{display:flex;height:24px}.tl-day{flex:0 0 34px;width:34px;font-size:10.5px;color:var(--text-3);display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border)}.tl-day.weekend{background:var(--surface-2)}.tl-day.today{color:var(--on-accent);background:var(--brand);font-weight:700}.tl-nowline{position:absolute;top:46px;bottom:0;width:2px;background:var(--brand);z-index:1;pointer-events:none}.tl-grouprow,.tl-taskrow{display:flex}.tl-grouplabel{height:30px;font-weight:700;font-size:12px;color:var(--text-2);text-transform:uppercase;letter-spacing:.03em}.tl-grouplabel,.tl-grouprow .tl-lane{background:var(--surface-2)}.tl-tasklabel{height:38px;font-size:13px;color:var(--text);cursor:pointer}.tl-tasklabel:hover{color:var(--brand-600)}.tl-lane{position:relative;flex:0 0 auto;height:38px;border-bottom:1px solid var(--border)}.tl-grouprow .tl-lane{height:30px}.tl-pill{position:absolute;top:6px;height:26px;max-width:240px;display:inline-flex;align-items:center;border:none;border-radius:7px;padding:0 9px;font-size:11.5px;font-weight:600;cursor:pointer;z-index:2;box-shadow:var(--shadow-sm)}.tl-pill:hover{filter:brightness(.97)}.tl-pill.overdue{outline:1.5px solid var(--red);outline-offset:-1.5px}.tl-pill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quickadd{display:flex;gap:8px;margin-bottom:14px}.quickadd-name{flex:1 1;min-width:0;border:1px solid var(--border-strong);border-radius:8px;padding:9px 11px;font-size:13.5px;background:var(--surface);color:var(--text);font-family:inherit}.quickadd-name::placeholder{color:var(--text-3)}.quickadd-client{border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;font-size:13px;background:var(--surface);color:var(--text);font-family:inherit}.quickadd-btn{padding:9px 16px}.quickadd-err{margin:-6px 0 14px}.bulkbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--brand-50);border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin-bottom:12px}.bulkbar-count{font-weight:700;font-size:12.5px;color:var(--brand-600);margin-right:4px}.bulkbar-select{padding:6px 8px;color:var(--text);font-family:inherit}.bulkbar-archive,.bulkbar-clear,.bulkbar-select{border:1px solid var(--border-strong);border-radius:8px;font-size:12.5px;background:var(--surface)}.bulkbar-archive,.bulkbar-clear{padding:6px 10px;font-weight:600}.bulkbar-archive{color:var(--red)}.bulkbar-archive:hover{background:var(--red-bg)}.bulkbar-clear{color:var(--text-2);margin-left:auto}.bulkbar-clear:hover{background:var(--surface-2);color:var(--text)}table.tasks td.td-check,table.tasks th.th-check{width:40px;padding-left:14px;padding-right:0;text-align:center}table.tasks td.td-check input,table.tasks th.th-check input{width:15px;height:15px;cursor:pointer;accent-color:var(--brand)}table.tasks tbody tr.row-selected,table.tasks tbody tr.row-selected:hover{background:var(--brand-50)}.kbd-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;width:32px;height:30px;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.kbd-btn:hover{background:var(--surface-2);color:var(--text)}.shortcuts-modal{width:360px}.shortcuts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.shortcuts-list li{display:flex;align-items:center;gap:14px}.shortcuts-list kbd{flex:0 0 auto;min-width:64px;text-align:center;background:var(--surface-2);border:solid var(--border-strong);border-width:1px 1px 2px;border-radius:6px;padding:4px 8px;font-family:var(--font);font-size:12px;font-weight:700;color:var(--text)}.shortcuts-list span{font-size:13.5px;color:var(--text-2)}.subtask-chip{display:inline-flex;align-items:center;gap:3px;height:19px;padding:0 7px;border-radius:6px;font-size:10.5px;font-weight:700;white-space:nowrap;vertical-align:middle;margin-left:6px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.subtask-chip-btn{font-family:inherit;cursor:pointer}.subtask-chip-btn:hover{border-color:var(--border-strong)}.subtask-of-badge{display:inline-flex;align-items:center;gap:3px;height:19px;padding:0 7px;margin-left:6px;border-radius:6px;font-size:10.5px;font-weight:700;white-space:nowrap;vertical-align:middle;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.subtask-toggle{display:inline-block;width:14px;margin-right:4px;border:none;background:transparent;color:var(--text-3);font-size:11px;font-family:inherit;cursor:pointer;padding:0;vertical-align:middle}.subtask-toggle:hover{color:var(--text)}.subtask-toggle-spacer{display:inline-block;width:14px;margin-right:4px}.drawer-back-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;max-width:100%;background:var(--brand);color:var(--on-accent);border:none;border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.drawer-back-btn:hover:not(:disabled){background:var(--brand-600)}.drawer-back-btn:disabled{opacity:.55;cursor:default}.drawer-back-arrow{font-size:15px;line-height:1;flex:0 0 auto}.drawer-back-label{display:inline-flex;align-items:baseline;gap:4px;min-width:0;overflow:hidden}.drawer-back-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.subtask-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.subtask-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.subtask-check{width:15px;height:15px;flex:0 0 auto;cursor:pointer;accent-color:var(--green)}.subtask-order-btns{display:flex;flex-direction:column;gap:1px;flex:0 0 auto}.subtask-order-btn{width:15px;height:12px;padding:0;border:1px solid var(--border);border-radius:3px;background:var(--surface-2);color:var(--text-3);font-size:9px;line-height:1;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer}.subtask-order-btn:hover:not(:disabled){background:var(--border);color:var(--text)}.subtask-order-btn:disabled{opacity:.4;cursor:default}.subtask-name{flex:1 1;min-width:0;border:none;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subtask-name:hover:not(:disabled){color:var(--brand-600)}.subtask-name:disabled{cursor:default}.subtask-add{display:flex;gap:8px}.subtask-add input{flex:1 1;min-width:0;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;background:var(--surface);color:var(--text)}.subtask-add .btn-primary{padding:8px 14px;font-size:13px}.project-progress{display:inline-flex;align-items:center;gap:8px;margin-left:12px;vertical-align:middle}.progress-bar{width:90px;height:6px;border-radius:999px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.progress-fill{display:block;height:100%;background:var(--green);border-radius:999px}.progress-label{font-size:11px;font-weight:600;color:var(--text-3);white-space:nowrap}.milestone-badge{border-radius:6px;background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber)}.blocked-badge,.milestone-badge{display:inline-flex;align-items:center;height:19px;padding:0 7px;margin-left:6px;font-size:10.5px;font-weight:700;white-space:nowrap;vertical-align:middle}.blocked-badge{gap:3px;border-radius:6px;background:var(--red-bg);color:var(--red);border:1px solid var(--danger-border)}.internal-badge{border-radius:6px;background:var(--yellow-bg);color:var(--yellow);border:1px solid var(--yellow)}.internal-badge,.recurring-badge{display:inline-flex;align-items:center;height:19px;padding:0 7px;margin-left:6px;font-size:10.5px;font-weight:700;white-space:nowrap;vertical-align:middle}.recurring-badge{gap:3px;border-radius:6px;background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue)}.milestone-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--amber);align-self:flex-start;padding:2px 0}.milestone-toggle input{width:15px;height:15px;accent-color:var(--amber);cursor:pointer}.internal-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--yellow);align-self:flex-start;padding:2px 0}.internal-toggle input{width:15px;height:15px;accent-color:var(--yellow);cursor:pointer}.recurring-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--blue);align-self:flex-start;padding:2px 0}.recurring-toggle input{width:15px;height:15px;accent-color:var(--blue);cursor:pointer}.hide-from-client-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--red);align-self:flex-start;padding:2px 0}.hide-from-client-toggle input{width:15px;height:15px;accent-color:var(--red);cursor:pointer}.hide-from-client-hint{font-size:11.5px;color:var(--text-3);padding:0 0 2px 23px}.client-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.client-field-row select{flex:1 1 auto;min-width:0}.dep-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.dep-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.dep-item.blocked{border-left:3px solid var(--red)}.dep-item.blocking{border-left:3px solid var(--blue)}.dep-tag{flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-3)}.dep-name{flex:1 1;min-width:0;border:none;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-name:hover:not(:disabled){color:var(--brand-600)}.dep-name:disabled{cursor:default}.dep-remove{flex:0 0 auto;border:none;background:transparent;color:var(--text-3);font-size:16px;line-height:1;padding:0 2px;cursor:pointer}.dep-remove:hover{color:var(--red)}.dep-add{border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;background:var(--surface);color:var(--text)}.cal-chip-diamond,.tl-pill-diamond{flex:0 0 auto;color:var(--amber)}.tl-pill-diamond{margin-right:4px}.cal-chip.internal,.tl-pill.internal{outline:1.5px dashed var(--yellow-strong);outline-offset:-1.5px}.cal-chip.milestone,.tl-pill.milestone{outline:1.5px solid var(--amber);outline-offset:-1.5px}.cal-chip-recur,.tl-pill-recur{flex:0 0 auto;color:var(--blue)}.tl-pill-recur{margin-right:4px}.cal-chip-parent,.cal-chip-subtask{flex:0 0 auto;color:var(--slate)}.tl-pill-parent,.tl-pill-subtask{flex:0 0 auto;margin-right:4px;color:var(--slate)}.close-parent-prompt{display:flex;flex-direction:column;gap:8px;margin-top:8px;background:var(--green-bg);border:1px solid var(--success-border);border-radius:8px;padding:10px;font-size:13px;color:var(--text);font-weight:500}.close-parent-actions{display:flex;justify-content:flex-end;gap:8px}.close-parent-actions .btn-primary,.close-parent-actions .btn-secondary{padding:6px 12px;font-size:12.5px}.followers-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.follower-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 8px 3px 3px;font-size:12.5px}.follower-name{font-weight:500;color:var(--text)}.follower-remove{border:none;background:transparent;color:var(--text-3);font-size:15px;line-height:1;padding:0 2px;cursor:pointer}.follower-remove:hover{color:var(--red)}.followers-actions{display:flex;gap:8px;align-items:center}.follow-btn.following{color:var(--green);border-color:var(--success-border);background:var(--green-bg)}.follower-add{border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;background:var(--surface);color:var(--text)}.apps{position:relative}.apps-btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.apps-btn:hover{background:var(--surface-2);color:var(--text)}.apps-btn .caret{font-size:10px}.apps-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;min-width:210px;display:flex;flex-direction:column;gap:2px}.apps-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--text)}.apps-item:hover{background:var(--surface-2)}.apps-item .ico{font-size:15px}.apps-item .ext{margin-left:auto;color:var(--text-3);font-size:11px}.mobile-newtask,.mobile-sheet,.mobile-sheet-scrim,.mobile-tabbar{display:none}.filterbar-controls{display:contents}.filterbar-toggle{display:none}@media (max-width:768px){body,html{overflow-x:hidden}.topbar{gap:8px;padding:0 12px}.topbar .apps,.topbar .kbd-btn,.topbar .nav,.topbar .newtask-btn,.topbar .refresh-btn,.topbar .spacer,.topbar .theme-toggle,.topbar .usermenu,.topbar .userswitch{display:none}.mobile-newtask{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:44px;height:44px;font-size:22px;line-height:1;border-radius:var(--radius-sm);background:var(--brand);color:#fff;border:none;flex:none}.filterbar{flex-direction:column;align-items:stretch}.filterbar .f-search{width:100%;flex:0 0 auto;min-width:0}.filterbar-toggle{display:inline-flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:600}.filterbar-controls{display:none}.filterbar-controls.open{display:flex;flex-direction:column;gap:8px}.filterbar-controls>.f-clear,.filterbar-controls>.f-date,.filterbar-controls>select{width:100%;min-height:44px}.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-tabbar .mobile-tab,.mobile-tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;font-size:11px;font-weight:600;color:var(--text-2);background:none;border:none;text-decoration:none}.mobile-tabbar .mobile-tab[aria-current=page],.mobile-tabbar a[aria-current=page]{color:var(--brand)}.mobile-tabbar .tab-ic{font-size:20px;line-height:1}.page{padding-bottom:72px}.mobile-sheet-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:60}.mobile-sheet{display:flex;flex-direction:column;gap:4px;position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--surface);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:var(--shadow-lg);padding:44px 16px calc(16px + env(safe-area-inset-bottom, 0));max-height:80dvh;overflow-y:auto}.mobile-sheet-close{position:absolute;top:8px;right:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--text-2);background:none;border:none;border-radius:var(--radius-sm)}.mobile-sheet-close:hover{background:var(--surface-2);color:var(--text)}.mobile-sheet .sheet-action,.mobile-sheet a{min-height:48px;display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font:inherit;font-size:14px;font-weight:600;background:none;border:none;width:100%;text-align:left;padding:0 4px;border-radius:var(--radius-sm)}.mobile-sheet .sheet-action:hover:not(:disabled),.mobile-sheet a:hover{background:var(--surface-2)}.mobile-sheet a.active{color:var(--brand)}.mobile-sheet .sheet-divider{height:1px;background:var(--border);margin:8px 0}.mobile-sheet .theme-toggle{min-height:48px;width:100%;justify-content:flex-start;gap:10px;background:none;border:none;color:var(--text);font-size:14px;font-weight:600;padding:0 4px;border-radius:var(--radius-sm)}.mobile-sheet .theme-toggle:hover{background:var(--surface-2)}.mobile-sheet .apps{width:100%}.mobile-sheet .apps-btn{min-height:48px;width:100%;justify-content:flex-start;gap:10px;background:none;border:none;color:var(--text);font-size:14px;font-weight:600;padding:0 4px;border-radius:var(--radius-sm)}.mobile-sheet .apps-btn:hover{background:var(--surface-2)}.mobile-sheet .apps-menu{position:static;box-shadow:none;border:none;padding:0 0 0 12px;min-width:0}.mobile-sheet .usermenu,.mobile-sheet .userswitch{padding:0 4px;min-height:48px}}@media (max-width:640px){.drawer{width:100vw!important;max-width:100vw!important;height:100dvh}.drawer-resizer{display:none}.modal{top:0;left:0;transform:none;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.modal.cascade-modal,.modal.shortcuts-modal{top:50%;left:50%;transform:translate(-50%,-50%);width:92vw;max-width:92vw;height:auto;max-height:88dvh;border-radius:14px}.modal-body{flex:1 1 auto;min-height:0}.board{scroll-snap-type:x mandatory}.column{flex:0 0 86vw;width:86vw;scroll-snap-align:start}.intake-column.intake-collapsed{flex:0 0 46px;width:46px;scroll-snap-align:none}.cal-week .cal-chip-name{display:none}.cal-week .cal-chip{padding:2px 3px}.cal-cell{min-height:56px}.tablewrap{overflow:visible;background:none;border:none;border-radius:0}table.tasks,table.tasks tbody,table.tasks td,table.tasks tr{display:block;width:auto}table.tasks thead{display:none}table.tasks tbody tr{border:1px solid var(--border);border-radius:10px;margin:0 0 10px;padding:8px 12px;background:var(--surface)}table.tasks td{border:none;padding:3px 0;display:flex;gap:8px;align-items:center;white-space:normal;border-radius:0}table.tasks td[data-label]:before{content:attr(data-label);flex:0 0 82px;color:var(--text-2);font-size:11px;font-weight:600;line-height:1.7}table.tasks td.td-title{display:block;width:auto;padding:2px 0 6px;font-size:15px;font-weight:650}table.tasks td.td-title.td-indent,table.tasks td.td-title.td-indent-2,table.tasks td.td-title.td-nest{padding-left:0}table.tasks td.td-check{width:auto;padding:3px 0;text-align:left}table.tasks tbody tr.group-row{border:none;background:none;margin:14px 0 6px;padding:0}table.tasks tbody tr.group-row td{padding:0;background:none}table.tasks tbody tr.group-row.project-row td:not(.td-title){display:none}table.tasks tbody tr.group-row .td-title{padding:0;font-size:13px}table.tasks tbody tr.project-empty{border:none;background:none;margin:0 0 8px;padding:0 2px}table.tasks tbody tr.project-empty td{padding:2px 0}}