:root{--bg-primary: #0d0d0d;--bg-secondary: #161616;--bg-tertiary: #1e1e1e;--bg-elevated: #252525;--bg-hover: #2a2a2a;--text-primary: #f5f5f5;--text-secondary: #a0a0a0;--text-tertiary: #666666;--border-subtle: #2a2a2a;--border-default: #3a3a3a;--accent: #22d3ee;--accent-dim: rgba(34, 211, 238, .15);--accent-text: #0d0d0d;--success: #34d399;--warning: #fbbf24;--danger: #fb7185;--purple: #a78bfa}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8f8f6;--bg-tertiary: #f0f0ee;--bg-elevated: #e8e8e4;--bg-hover: #e0e0dc;--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #999999;--border-subtle: #e5e5e0;--border-default: #d0d0ca;--accent: #0891b2;--accent-dim: rgba(8, 145, 178, .1);--accent-text: #ffffff}[data-theme=terminal]{--bg-primary: #0a0a0a;--bg-secondary: #0f0f0f;--bg-tertiary: #141414;--bg-elevated: #1a1a1a;--bg-hover: #1f1f1f;--text-primary: #00ff00;--text-secondary: #00cc00;--text-tertiary: #008800;--border-subtle: #003300;--border-default: #005500;--accent: #00ff00;--accent-dim: rgba(0, 255, 0, .1);--accent-text: #0a0a0a}[data-theme=ebook-light]{--bg-primary: #f4f1ea;--bg-secondary: #ebe6dc;--bg-tertiary: #e2dcd0;--bg-elevated: #d9d2c4;--bg-hover: #d0c8b8;--text-primary: #5c4b37;--text-secondary: #7a6a56;--text-tertiary: #9a8a76;--border-subtle: #d4cdc0;--border-default: #c4baa8;--accent: #8b7355;--accent-dim: rgba(139, 115, 85, .15);--accent-text: #f4f1ea}[data-theme=ebook-dark]{--bg-primary: #2a2520;--bg-secondary: #332e28;--bg-tertiary: #3d3730;--bg-elevated: #474038;--bg-hover: #524a40;--text-primary: #d4c8b8;--text-secondary: #a89a88;--text-tertiary: #7c6f60;--border-subtle: #3d3730;--border-default: #524a40;--accent: #c4a574;--accent-dim: rgba(196, 165, 116, .15);--accent-text: #2a2520}[data-theme=greens]{--bg-primary: #1a1a0a;--bg-secondary: #252510;--bg-tertiary: #30301a;--bg-elevated: #3a3a20;--bg-hover: #45452a;--text-primary: #f5f5f0;--text-secondary: #b0b090;--text-tertiary: #707060;--border-subtle: #3a3a20;--border-default: #50503a;--accent: #ffd700;--accent-dim: rgba(255, 215, 0, .12);--accent-text: #1a1a0a;--success: #a0a0a0;--warning: #ff6600;--danger: #cc0000;--purple: #8b6f9a}[data-theme=kill-bill]{--bg-primary: #000000;--bg-secondary: #0d0d0d;--bg-tertiary: #1a1a1a;--bg-elevated: #222222;--bg-hover: #2a2a2a;--text-primary: #fcd612;--text-secondary: #f9c31a;--text-tertiary: #b8940d;--border-subtle: #333333;--border-default: #444444;--accent: #fcd612;--accent-dim: rgba(252, 214, 18, .12);--accent-text: #000000;--success: #f9c31a;--warning: #f8b71d;--danger: #d61a1f;--purple: #b8940d}[data-theme=wes-anderson-1]{--bg-primary: #2a1f1a;--bg-secondary: #352820;--bg-tertiary: #403228;--bg-elevated: #4a3a30;--bg-hover: #554438;--text-primary: #f5ebe0;--text-secondary: #d4b8a0;--text-tertiary: #a08060;--border-subtle: #4a3a30;--border-default: #5a4a3a;--accent: #e09b7e;--accent-dim: rgba(224, 155, 126, .15);--accent-text: #2a1f1a;--success: #9eae4c;--warning: #eabca8;--danger: #db8b69;--purple: #e8b59f}[data-theme=wes-anderson-2]{--bg-primary: #1a2010;--bg-secondary: #242a18;--bg-tertiary: #2e3420;--bg-elevated: #383e28;--bg-hover: #424830;--text-primary: #f0e8d0;--text-secondary: #c0b898;--text-tertiary: #8a8268;--border-subtle: #383e28;--border-default: #484e38;--accent: #f4a731;--accent-dim: rgba(244, 167, 49, .15);--accent-text: #1a2010;--success: #9eae4c;--warning: #ffc81d;--danger: #d6929c;--purple: #d8b87c}[data-theme=wes-anderson-3]{--bg-primary: #f5f0e8;--bg-secondary: #ebe5db;--bg-tertiary: #e0d9ce;--bg-elevated: #faf6f0;--bg-hover: #d6cfc2;--text-primary: #4a4540;--text-secondary: #708090;--text-tertiary: #9a9488;--border-subtle: #ddd6ca;--border-default: #c8c0b4;--accent: #daa520;--accent-dim: rgba(218, 165, 32, .15);--accent-text: #ffffff;--success: #b0e0e6;--warning: #daa520;--danger: #ffb6c1;--purple: #b0a0c0}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;height:100dvh;font-family:DM Sans,system-ui,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px}[data-theme=terminal] body{font-family:JetBrains Mono,monospace}.font-display{font-family:Bebas Neue,sans-serif;letter-spacing:.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px}.login-loading{text-align:center;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.login-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:16px;padding:40px;width:100%;max-width:380px}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:64px;height:64px;background:var(--accent-dim);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:Bebas Neue,sans-serif;font-size:32px;margin:0 auto 16px}.login-header h1{font-family:Bebas Neue,sans-serif;font-size:28px;letter-spacing:2px;margin-bottom:8px}.login-header p{color:var(--text-tertiary);font-size:13px}.login-error{background:#fb718526;color:var(--danger);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:13px;display:flex;align-items:center;gap:8px}.login-btn{width:100%;padding:14px;font-size:14px;margin-top:8px}.login-footer{margin-top:24px;text-align:center;color:var(--text-tertiary);font-size:11px}.app{display:flex;height:100%}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:16px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px}.logo{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0;background:var(--accent-dim);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:Bebas Neue,sans-serif;font-size:20px}.logo-text h1{font-size:13px;font-weight:600;letter-spacing:.5px}.logo-text p{font-size:10px;color:var(--text-tertiary)}.sidebar-content{flex:1;overflow-y:auto;padding:8px}.sidebar-section{margin-bottom:16px}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 4px}.sidebar-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary)}.add-space-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.add-space-btn:hover{background:var(--bg-tertiary);color:var(--accent)}.space-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;text-align:left;transition:all .15s;position:relative}.space-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.space-btn.active{background:var(--accent-dim);color:var(--accent)}.space-btn .space-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px}.space-btn .space-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-btn .count{font-size:11px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.space-btn .edit-space-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--bg-elevated);border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;opacity:0;transition:all .15s}.space-btn:hover .edit-space-btn{opacity:1}.space-btn .edit-space-btn:hover{color:var(--text-primary)}.space-btn.space-drop-target{background:var(--accent-dim);border:1px dashed var(--accent);color:var(--accent)}.space-move-row{display:flex;align-items:center;gap:8px}.space-move-current{font-size:12px;color:var(--text-secondary);flex-shrink:0;background:var(--bg-tertiary);padding:6px 10px;border-radius:6px}.sidebar-footer{padding:8px;border-top:1px solid var(--border-subtle)}.sidebar-footer button{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit;text-align:left;transition:all .15s}.sidebar-footer button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-footer button.danger{color:var(--danger)}.sidebar-footer button.danger:hover{background:#fb71851a}.sidebar-footer .kbd{margin-left:auto;font-size:10px;padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;color:var(--text-tertiary)}.sidebar-collapse-btn{margin-left:auto;width:28px;height:28px;border:none;background:transparent;color:var(--text-tertiary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.sidebar-collapse-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (min-width: 769px){.sidebar-collapsed .sidebar{width:56px;overflow:hidden}.sidebar-collapsed .sidebar .logo-text,.sidebar-collapsed .sidebar .space-name,.sidebar-collapsed .sidebar .count,.sidebar-collapsed .sidebar .edit-space-btn,.sidebar-collapsed .sidebar .sidebar-section-header,.sidebar-collapsed .sidebar .sidebar-footer button span:not(.kbd),.sidebar-collapsed .sidebar .recents-section{display:none}.sidebar-collapsed .sidebar .space-btn{justify-content:center;padding:8px}.sidebar-collapsed .sidebar .space-icon{margin:0}.sidebar-collapsed .sidebar .sidebar-footer button{justify-content:center;padding:8px}.sidebar-collapsed .sidebar .sidebar-header{flex-direction:column;justify-content:center;align-items:center;padding:12px 8px;gap:8px}.sidebar-collapsed .sidebar .sidebar-collapse-btn{margin-left:0}.sidebar-collapsed .main{transition:margin-left .2s}}.recents-section{margin-top:8px;padding:0 8px}.recents-header{width:100%;display:flex;align-items:center;gap:8px;padding:8px 8px 4px;border:none;background:none;color:var(--text-tertiary);cursor:pointer;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-family:inherit;transition:color .15s}.recents-header:hover{color:var(--text-secondary)}.recents-label{flex:1;text-align:left}.recents-empty{font-size:12px;color:var(--text-tertiary);padding:6px 8px}.recents-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s}.recents-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.recents-item-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;color:var(--text-tertiary)}.recents-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.recents-item-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recents-item-meta{display:flex;align-items:center;justify-content:space-between;gap:4px}.recents-item-space{font-size:10px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recents-item-time{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.header{padding:16px 20px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:12px}.header h1{font-size:24px;letter-spacing:1px;margin-bottom:4px;display:flex;align-items:center;gap:10px}.space-header-icon{display:flex;align-items:center}.header-meta{font-size:12px;color:var(--text-tertiary)}.header-right{display:flex;gap:8px}.toolbar{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-right{margin-left:auto}.toolbar-divider{width:1px;height:20px;background:var(--border-subtle);margin:0 4px}.view-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:all .15s}.view-btn:hover{border-color:var(--border-default);color:var(--text-primary)}.view-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.bulk-actions{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--accent-dim);border-radius:6px}.bulk-count{font-size:12px;font-weight:500;color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-elevated)}.btn-sm{padding:4px 10px;font-size:11px}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.1)}.danger-text{color:var(--danger)!important}.content{flex:1;overflow:auto}.table-container{min-width:100%}.table{width:100%;border-collapse:collapse}.table th{position:sticky;top:0;background:var(--bg-secondary);text-align:left;padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);white-space:nowrap;z-index:10;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table th:hover{color:var(--text-secondary)}.table th svg{margin-left:4px;vertical-align:middle}.sticky-header{position:sticky;top:0;z-index:10}.table th.col-title{min-width:300px}.table th.col-due{width:120px}.table th.col-status{width:130px}.table th.col-description{min-width:200px}.table th.col-labels{width:150px}.table th.col-assignees{width:120px}.table th.col-priority,.table th.col-actions{width:100px}.table td{padding:0;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tr:hover td{background:var(--bg-hover)}.table tr.selected td{background:var(--accent-dim)}.table tr.depth-0 td{background:var(--bg-tertiary)}.table tr.depth-0:hover td{background:var(--bg-elevated)}.table tr.depth-0 .task-title-text{font-weight:600;text-transform:uppercase;font-size:13px}.cell{padding:10px 12px;font-size:13px;min-height:44px;display:flex;align-items:center}.cell-title{display:flex;align-items:center;gap:8px}.drag-handle{color:var(--text-tertiary);cursor:grab;opacity:0;transition:opacity .15s}.table tr:hover .drag-handle{opacity:1}.row-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--border-default);border-radius:3px;cursor:pointer;transition:all .15s;flex-shrink:0}.row-checkbox:hover{border-color:var(--accent)}.row-checkbox:checked{background:var(--accent);border-color:var(--accent)}.expand-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.expand-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.expand-btn.expanded{transform:rotate(90deg)}.expand-btn.no-children{visibility:hidden}.task-title{flex:1;min-width:0}.task-title-text{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-title-text:hover{background:var(--bg-elevated)}.indent{display:inline-block;width:24px;flex-shrink:0}.inline-edit-input{background:var(--bg-primary);border:2px solid var(--accent);border-radius:4px;padding:4px 8px;font-size:13px;font-family:inherit;color:var(--text-primary);width:100%;outline:none}.inline-edit-textarea{resize:vertical;min-height:48px;line-height:1.4}.clickable{cursor:pointer}.clickable:hover{opacity:.8}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.status-badge:hover{filter:brightness(1.1)}.status-unstarted{background:#6663;color:#666}.status-in_progress{background:#22d3ee33;color:#22d3ee}.status-complete{background:#34d399e6;color:#fff}.status-deferred{background:#fbbf2433;color:#fbbf24}.status-cancelled{background:#fb718533;color:#fb7185}.labels{display:flex;flex-wrap:wrap;gap:4px}.label{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--purple);color:#fff}.priority-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;cursor:pointer}.priority-low{background:var(--bg-tertiary);color:var(--text-tertiary)}.priority-normal{background:var(--bg-tertiary);color:var(--text-secondary)}.priority-high{background:#fbbf2433;color:var(--warning)}.priority-urgent{background:#fb718533;color:var(--danger)}.assignee-text{font-size:12px;color:var(--text-secondary)}.due-date{font-size:12px;font-family:JetBrains Mono,monospace}.description-cell{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.row-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s}.table tr:hover .row-actions{opacity:1}.action-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.action-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.action-btn.delete:hover{background:#fb718526;color:var(--danger)}.quick-add-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-secondary)}.quick-add-icon{color:var(--text-tertiary)}.quick-add-input{flex:1;background:transparent;border:none;font-size:13px;font-family:inherit;color:var(--text-primary);outline:none}.quick-add-input::-moz-placeholder{color:var(--text-tertiary)}.quick-add-input::placeholder{color:var(--text-tertiary)}.drag-overlay{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-elevated);border:1px solid var(--accent);border-radius:8px;font-size:13px;box-shadow:0 8px 24px #0000004d}.kanban-toolbar{padding:12px 20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px}.kanban-toolbar label{font-size:12px;color:var(--text-secondary)}.sort-select{padding:6px 28px 6px 10px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.kanban{display:flex;gap:16px;padding:20px;overflow-x:auto;height:100%}.kanban-column{flex:0 0 280px;background:var(--bg-secondary);border-radius:12px;display:flex;flex-direction:column;max-height:100%}.kanban-header{padding:12px 16px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:8px}.kanban-header-dot{width:10px;height:10px;border-radius:50%}.kanban-header-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.kanban-header-count{margin-left:auto;font-size:11px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px}.kanban-cards{flex:1;overflow-y:auto;padding:8px}.kanban-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;padding:9px 11px;margin-bottom:6px;cursor:pointer;transition:all .15s}.kanban-card:hover{border-color:var(--border-default)}.kanban-card-title{font-size:13px;font-weight:500;margin-bottom:4px;line-height:1.4}.kanban-card-desc{font-size:11px;color:var(--text-secondary);line-height:1.45;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-subtasks{display:flex;flex-direction:column;gap:3px;margin-bottom:6px;padding:5px 7px;background:var(--bg-secondary);border-radius:5px}.kanban-card-subtask-row{display:flex;align-items:center;gap:5px}.kanban-card-subtask-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--text-tertiary)}.kanban-card-subtask-dot.status-dot-complete{background:var(--success)}.kanban-card-subtask-dot.status-dot-in_progress{background:var(--accent)}.kanban-card-subtask-dot.status-dot-deferred{background:var(--warning)}.kanban-card-subtask-dot.status-dot-cancelled{background:var(--danger)}.kanban-card-subtask-title{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card-subtask-more{font-size:10px;color:var(--text-tertiary);padding-top:1px}.kanban-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.kanban-card-due{font-size:11px;display:flex;align-items:center;gap:4px}.kanban-flat{flex-wrap:wrap}.kanban-flat .kanban-column{flex:1 1 100%;max-width:100%;background:transparent}.kanban-flat .kanban-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:0}.kanban-flat .kanban-card{margin-bottom:0}.hover-preview{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px;padding:16px;z-index:100;max-width:320px;box-shadow:0 8px 32px #0006;pointer-events:auto}.preview-breadcrumbs{font-size:10px;color:var(--text-tertiary);margin-bottom:8px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.preview-title{font-size:14px;font-weight:600;margin-bottom:8px}.preview-description{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.preview-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}.preview-activity{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.preview-activity:hover{text-decoration:underline}.popover{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px;padding:8px;z-index:1000;min-width:180px;box-shadow:0 8px 32px #0006}.popover-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.popover-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .15s}.popover-item:hover{background:var(--bg-hover);color:var(--text-primary)}.popover-item.active{background:var(--accent-dim);color:var(--accent)}.popover-divider{height:1px;background:var(--border-subtle);margin:4px 0}.status-dot{width:10px;height:10px;border-radius:50%}.status-change-option{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;border-radius:4px}.status-change-option:hover{background:var(--bg-hover);color:var(--text-primary)}.status-change-option input{accent-color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.modal-header-actions{display:flex;gap:8px;align-items:center}.modal-breadcrumbs{font-size:10px;color:var(--text-tertiary);margin-bottom:4px;display:flex;align-items:center;gap:4px}.modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:6px;transition:all .15s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto;max-height:calc(90vh - 130px)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-subtle)}.form-group{margin-bottom:16px}.form-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-family:inherit;transition:all .15s}.form-input:focus{outline:none;border-color:var(--accent);background-color:var(--bg-primary)}.form-input::-moz-placeholder{color:var(--text-tertiary)}.form-input::placeholder{color:var(--text-tertiary)}textarea.form-input{min-height:80px;resize:vertical}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-size:12px 12px;background-position:right 12px center;padding-right:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.icon-type-toggle{display:flex;gap:16px;margin-bottom:12px}.icon-type-toggle label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.icon-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:200px;overflow-y:auto;padding:4px;background:var(--bg-tertiary);border-radius:8px}.icon-option{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:18px;color:var(--text-secondary);transition:all .15s}.icon-option:hover{background:var(--bg-elevated);color:var(--text-primary)}.icon-option.selected{background:var(--accent-dim);outline:2px solid var(--accent);color:var(--accent)}.theme-options{display:grid;gap:8px}.theme-option{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s;width:100%;text-align:left;font-family:inherit;color:var(--text-primary)}.theme-option:hover{border-color:var(--border-default)}.theme-option.active{border-color:var(--accent);background:var(--accent-dim)}.theme-swatches{display:flex;gap:2px}.theme-swatch{width:20px;height:20px;border-radius:4px}.theme-swatch:first-child{border-radius:4px 0 0 4px}.theme-swatch:last-child{border-radius:0 4px 4px 0}.theme-name{flex:1;font-size:13px;font-weight:500}.theme-check{width:20px;height:20px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-text)}.column-toggle{display:grid;gap:4px}.column-toggle-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .15s;font-size:13px}.column-toggle-item:hover{background:var(--bg-tertiary)}.column-toggle-item input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--border-default);border-radius:3px;cursor:pointer;transition:all .15s}.column-toggle-item input:checked{background:var(--accent);border-color:var(--accent)}.column-toggle-item input:disabled{opacity:.5;cursor:not-allowed}.command-palette{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;width:90%;max-width:500px;overflow:hidden}.command-search{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-subtle)}.command-search svg{color:var(--text-tertiary)}.command-search input{flex:1;background:transparent;border:none;font-size:15px;font-family:inherit;color:var(--text-primary);outline:none}.command-search input::-moz-placeholder{color:var(--text-tertiary)}.command-search input::placeholder{color:var(--text-tertiary)}.command-list{max-height:300px;overflow-y:auto;padding:8px}.command-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text-secondary);width:100%;background:none;border:none;text-align:left;font-family:inherit;transition:all .15s}.command-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.command-empty{padding:20px;text-align:center;color:var(--text-tertiary)}.activity-task-title{font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.activity-loading{text-align:center;padding:40px}.activity-empty{text-align:center;padding:40px;color:var(--text-tertiary)}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;gap:12px;font-size:13px}.activity-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;margin-top:6px;flex-shrink:0}.activity-content{flex:1}.activity-user{font-weight:500;color:var(--text-primary)}.activity-time{font-size:11px;color:var(--text-tertiary);margin-top:4px}.reparent-text{margin-bottom:20px;font-size:14px;line-height:1.5}.reparent-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reparent-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:var(--bg-tertiary);border:2px solid var(--border-subtle);border-radius:12px;cursor:pointer;transition:all .15s;font-family:inherit;color:var(--text-primary)}.reparent-option:hover{border-color:var(--accent);background:var(--accent-dim)}.reparent-option span{font-weight:600}.reparent-option small{font-size:11px;color:var(--text-tertiary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary);text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state h3{font-size:16px;margin-bottom:8px;color:var(--text-secondary)}.empty-state p{font-size:13px}.text-muted{color:var(--text-tertiary)}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .3s}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40;opacity:0;visibility:hidden;transition:all .3s;pointer-events:none}.sidebar-backdrop.show{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu-btn{display:flex!important}.table th.col-description,.table td:nth-child(4),.table th.col-labels,.table td:nth-child(5){display:none}.bulk-actions{flex-wrap:wrap}}@media (min-width: 769px){.mobile-menu-btn,.sidebar-backdrop{display:none}}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;border-radius:6px}.mobile-menu-btn:hover{background:var(--bg-tertiary)}.dumps-view{max-width:860px;margin:0 auto;display:flex;flex-direction:column}.dumps-view-body{padding:16px 20px 24px;display:flex;flex-direction:column;gap:16px}.dump-capture{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:12px;padding:16px}.dump-capture-input{width:100%;background:transparent;border:none;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:15px;resize:none;outline:none;min-height:40px;line-height:1.5}.dump-capture-input::-moz-placeholder{color:var(--text-tertiary)}.dump-capture-input::placeholder{color:var(--text-tertiary)}.dump-capture-tags{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle)}.dump-capture-tags input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:13px;outline:none}.dump-capture-tags input::-moz-placeholder{color:var(--text-tertiary)}.dump-capture-tags input::placeholder{color:var(--text-tertiary)}.dump-capture-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}.dump-capture-actions button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;gap:4px;font-size:13px}.dump-capture-actions button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.dump-capture-actions button.dump-submit-btn{background:var(--accent);color:var(--accent-text, #000);padding:6px 14px;font-weight:500;border-radius:8px}.dump-capture-actions button.dump-submit-btn:hover{opacity:.9}.dump-capture-actions button.dump-submit-btn:disabled{opacity:.4;cursor:not-allowed}.dump-list{display:flex;flex-direction:column;gap:12px}.dump-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.dump-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:10px;padding:16px;transition:border-color .15s}.dump-card:hover{border-color:var(--border-default)}.dump-card-compact{padding:10px 12px}.dump-card-compact .dump-card-body{margin-bottom:8px}.dump-content-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.5}.dump-card-body{margin-bottom:12px}.dump-content{color:var(--text-primary);font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;cursor:pointer}.dump-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.dump-card-footer{display:flex;justify-content:space-between;align-items:center}.dump-timestamp{color:var(--text-tertiary);font-size:12px}.dump-actions{display:flex;gap:4px}.dump-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px 8px;border-radius:6px;display:flex;align-items:center;gap:4px;font-size:12px;transition:all .15s}.dump-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.dump-btn-convert:hover{color:var(--accent)}.dump-btn-delete:hover{color:var(--danger)}.dump-edit-container{display:flex;flex-direction:column;gap:8px}.dump-edit-textarea{width:100%;background:var(--bg-primary);border:1px solid var(--accent);border-radius:8px;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:14px;padding:10px;resize:vertical;min-height:60px;outline:none}.dump-edit-actions{display:flex;gap:6px;justify-content:flex-end}.dump-btn-confirm{color:var(--success)!important}.dump-btn-cancel{color:var(--danger)!important}.dump-empty-state{text-align:center;padding:48px 24px;color:var(--text-tertiary);font-size:15px}.dumps-tab-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 0;border-bottom:1px solid var(--border-subtle);gap:12px}.dumps-tabs{display:flex;gap:2px}.dumps-tab{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;background:none;color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.dumps-tab:hover{color:var(--text-primary)}.dumps-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.dumps-view-toggle{display:flex;gap:4px;padding-bottom:4px}.dumps-view-toggle .view-btn{padding:4px 8px}.card-drill-bar{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);font-size:12px;flex-wrap:wrap}.card-drill-back{display:flex;align-items:center;gap:4px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-primary);padding:3px 10px;border-radius:5px;font-size:11px;cursor:pointer}.card-drill-back:hover{background:var(--bg-elevated)}.card-drill-crumb{color:var(--text-secondary);cursor:default}.card-drill-crumb-root{cursor:pointer;color:var(--accent)}.card-drill-crumb-root:hover{text-decoration:underline}.card-drill-crumb-wrap{display:flex;align-items:center;gap:4px}.card-drill-crumb-link{color:var(--accent);cursor:pointer}.card-drill-crumb-link:hover{text-decoration:underline}.card-drill-crumb-current{color:var(--text-primary);font-weight:500}.card-drill-sep{color:var(--text-tertiary)}.kanban-card-parent{border-left:2px solid var(--accent)}.kanban-card-top{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px}.kanban-card-title{flex:1;font-size:13px;font-weight:500;line-height:1.4;color:var(--text-primary)}.kanban-card-btns{display:flex;gap:3px;flex-shrink:0;opacity:0;transition:opacity .15s}.kanban-card:hover .kanban-card-btns{opacity:1}.kanban-card-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer}.kanban-card-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.kanban-card-btn-drill{color:var(--accent)}.kanban-card-subtask-hint{display:flex;align-items:center;gap:2px;color:var(--accent);font-size:10px}.tree-pick-wrap{position:relative}.tree-pick-trigger{display:flex;align-items:center;width:100%;text-align:left;cursor:pointer;justify-content:space-between}.tree-pick-trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-pick-dropdown{position:absolute;z-index:300;left:0;right:0;top:calc(100% + 4px);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 8px 24px #0000004d;max-height:260px;overflow-y:auto}.tree-pick-item{display:flex;align-items:center;gap:4px;padding:6px 10px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .1s}.tree-pick-item:hover{background:var(--bg-tertiary)}.tree-pick-item-sel{background:var(--accent-muted, rgba(34,211,238,.1));color:var(--accent)}.tree-pick-chevron{width:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-tertiary);cursor:pointer}.tree-pick-chevron-vis{color:var(--text-secondary)}.tree-pick-chevron-vis:hover{color:var(--accent)}.tree-pick-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:6px;padding:6px;background:var(--bg-tertiary)}.dep-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .1s}.dep-item:hover{background:var(--bg-elevated)}.dep-item input[type=checkbox]{flex-shrink:0;accent-color:var(--accent)}.dep-item-title{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-label-hint{font-size:10px;color:var(--text-tertiary);font-weight:400;margin-left:4px}.table th{position:relative}.col-resize-handle{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:1;opacity:0;transition:opacity .15s}.col-resize-handle:after{content:"";position:absolute;right:1px;top:20%;bottom:20%;width:2px;background:var(--accent);border-radius:2px}.table th:hover .col-resize-handle{opacity:1}.table tr.row-focused td{background:#22d3ee0f!important;outline:1px solid var(--accent)!important;outline-offset:-1px}.search-filter-bar{padding:10px 20px 8px;border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);display:flex;flex-direction:column;gap:8px}.search-input-wrap{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;transition:border-color .15s}.search-input-wrap:focus-within{border-color:var(--accent);background:var(--bg-tertiary)}.search-icon{color:var(--text-tertiary);flex-shrink:0}.search-input{flex:1;background:transparent;border:none;outline:none;font-size:13px;font-family:inherit;color:var(--text-primary)}.search-input::-moz-placeholder{color:var(--text-tertiary)}.search-input::placeholder{color:var(--text-tertiary)}.search-clear{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;transition:all .15s}.search-clear:hover{color:var(--text-primary);background:var(--bg-elevated)}.search-filters{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.filter-chip:hover{border-color:var(--border-default);color:var(--text-primary)}.filter-chip.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.filter-chip-tag.active{background:#a78bfa26;border-color:var(--purple);color:var(--purple)}.search-result-info{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-tertiary)}.search-clear-filters{background:none;border:none;color:var(--accent);cursor:pointer;font-size:11px;font-family:inherit;padding:0;text-decoration:underline}.search-clear-filters:hover{opacity:.8}.modal-wide{max-width:600px!important}.modal-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle);padding:0 20px;background:var(--bg-secondary)}.modal-tab{display:flex;align-items:center;gap:6px;padding:10px 14px;border:none;background:transparent;color:var(--text-tertiary);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap}.modal-tab:hover{color:var(--text-primary)}.modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.comments-section{display:flex;flex-direction:column;gap:16px}.comments-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.comments-count{background:var(--bg-tertiary);padding:1px 8px;border-radius:10px;font-size:11px;color:var(--text-secondary)}.comments-loading{font-size:12px;color:var(--text-tertiary);padding:12px 0}.comments-empty{font-size:12px;color:var(--text-tertiary);padding:20px 0;text-align:center}.comments-list{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow-y:auto;padding-right:4px}.comment-item{display:flex;gap:10px;align-items:flex-start}.comment-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author{font-size:12px;font-weight:600;color:var(--text-primary)}.comment-time{font-size:11px;color:var(--text-tertiary)}.comment-delete{margin-left:auto;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;border-radius:3px;opacity:0;transition:all .15s;display:flex;align-items:center}.comment-item:hover .comment-delete{opacity:1}.comment-delete:hover{color:var(--danger);background:#fb71851a}.comment-content{font-size:13px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word;background:var(--bg-tertiary);padding:8px 12px;border-radius:8px}.comment-compose{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--border-subtle);padding-top:12px}.comment-compose-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.comment-compose-input-wrap{flex:1;display:flex;align-items:flex-end;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 10px;transition:border-color .15s}.comment-compose-input-wrap:focus-within{border-color:var(--accent)}.comment-compose-input{flex:1;background:transparent;border:none;outline:none;font-size:13px;font-family:inherit;color:var(--text-primary);resize:none;line-height:1.5;max-height:120px;overflow-y:auto}.comment-compose-input::-moz-placeholder{color:var(--text-tertiary)}.comment-compose-input::placeholder{color:var(--text-tertiary)}.comment-send-btn{background:var(--accent);border:none;color:var(--accent-text);padding:6px 8px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.comment-send-btn:hover:not(:disabled){filter:brightness(1.1)}.comment-send-btn:disabled{opacity:.4;cursor:not-allowed}.link-section{display:flex;flex-direction:column;gap:10px}.link-input-row{display:flex;gap:8px;align-items:center}.link-input-wrap{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 10px;transition:border-color .15s}.link-input-wrap:focus-within{border-color:var(--accent)}.link-input-icon{color:var(--text-tertiary);flex-shrink:0}.link-input{flex:1;background:transparent;border:none;outline:none;font-size:13px;font-family:inherit;color:var(--text-primary)}.link-input::-moz-placeholder{color:var(--text-tertiary)}.link-input::placeholder{color:var(--text-tertiary)}.link-spinner{color:var(--text-tertiary);animation:spin .8s linear infinite;flex-shrink:0}.link-error{font-size:12px;color:var(--danger);padding:0 4px}.link-empty{font-size:12px;color:var(--text-tertiary);text-align:center;padding:20px 0}.link-card{display:flex;gap:10px;align-items:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;padding:10px;transition:border-color .15s}.link-card:hover{border-color:var(--border-default)}.link-card-thumb{width:56px;height:40px;border-radius:4px;overflow:hidden;background:var(--bg-elevated);flex-shrink:0;display:flex;align-items:center;justify-content:center}.link-card-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.link-card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.link-card-body{flex:1;min-width:0}.link-card-title-row{display:flex;align-items:center;gap:5px;margin-bottom:3px}.link-favicon{width:14px;height:14px;border-radius:2px;flex-shrink:0}.link-type-icon{flex-shrink:0;color:var(--text-tertiary)}.link-type-youtube{color:red}.link-type-drive{color:#4285f4}.link-type-image{color:var(--accent)}.link-card-title{font-size:13px;font-weight:500;color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.link-card-title:hover{text-decoration:underline;color:var(--accent)}.link-external{color:var(--text-tertiary);text-decoration:none;display:flex;align-items:center;flex-shrink:0}.link-external:hover{color:var(--accent)}.link-card-domain{font-size:11px;color:var(--text-tertiary);margin-bottom:3px}.link-card-desc{font-size:11px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-card-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;transition:all .15s;margin-top:-2px}.link-card-remove:hover{color:var(--danger);background:#fb71851a}.undo-toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.undo-toast{position:relative;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:10px;min-width:260px;max-width:360px;box-shadow:0 8px 32px #0006;pointer-events:all}.undo-toast-progress{position:absolute;bottom:0;left:0;height:2px;background:var(--accent);transition:width .1s linear}.undo-toast-content{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 14px}.undo-toast-label{font-size:13px;color:var(--text-primary);flex:1}.undo-toast-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.undo-toast-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:12px;font-family:inherit;padding:4px 8px;border-radius:5px;transition:all .15s}.undo-toast-undo{color:var(--accent);font-weight:600}.undo-toast-undo:hover{background:var(--accent-dim)}.undo-toast-dismiss{color:var(--text-tertiary)}.undo-toast-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.app-toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);z-index:10000;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;pointer-events:all;cursor:pointer;white-space:nowrap;box-shadow:0 4px 16px #0006}.app-toast-error{background:var(--danger);color:#fff}.app-toast-success{background:var(--success);color:#000}.btn,.status-badge,.priority-badge,.filter-chip,.view-btn,.space-btn,.modal-tab,.action-btn,.popover-item,.dump-btn,.kanban-card{will-change:transform}.popover{transform-origin:top left;animation:popoverAppear .16s cubic-bezier(.175,.885,.32,1.275)}@keyframes popoverAppear{0%{opacity:0;transform:scale(.93) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.table td{transition:background .1s ease}@keyframes slideInSidebar{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.kanban-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.modal-overlay{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.import-dropzone{border:2px dashed var(--border);border-radius:10px;padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:12px;display:flex;flex-direction:column;align-items:center}.import-dropzone:hover{border-color:var(--accent);background:var(--accent-dim)}.import-dropzone p{margin:0;line-height:1.5}.import-dropzone code{background:var(--bg-secondary);padding:1px 5px;border-radius:4px;font-family:var(--font-mono, monospace);font-size:11px}.import-error{display:flex;align-items:flex-start;gap:8px;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);border-radius:8px;padding:10px 12px;font-size:13px;margin-top:8px}.import-preview{border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:200px;overflow-y:auto}.import-preview-row{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;font-size:13px;border-bottom:1px solid var(--border);gap:12px}.import-preview-row:last-child{border-bottom:none}.import-preview-row:nth-child(2n){background:var(--bg-secondary)}.import-preview-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-preview-meta{color:var(--text-secondary);font-size:11px;white-space:nowrap;flex-shrink:0}.header-right{display:flex;align-items:center;gap:8px}.ai-sort-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:16px;transition:border-color .2s}.ai-sort-panel:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.ai-sort-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ai-sort-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--accent);letter-spacing:.3px}.ai-sort-reset{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;padding:3px 8px;border-radius:5px;transition:background .12s,color .12s}.ai-sort-reset:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ai-sort-textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:7px;padding:10px 12px;color:var(--text-primary);font-family:inherit;font-size:13px;line-height:1.6;resize:vertical;transition:border-color .15s;box-sizing:border-box}.ai-sort-textarea:focus{outline:none;border-color:var(--accent)}.ai-sort-textarea::-moz-placeholder{color:var(--text-tertiary)}.ai-sort-textarea::placeholder{color:var(--text-tertiary)}.ai-sort-textarea:disabled{opacity:.5}.ai-sort-input-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.ai-sort-hint{font-size:11px;color:var(--text-tertiary)}.ai-sort-spinner{display:inline-block;width:13px;height:13px;border:2px solid var(--accent-dim);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-sort-loading{display:flex;align-items:center;gap:8px;padding:10px 0;color:var(--text-secondary);font-size:13px}.ai-sort-output{border-top:1px solid var(--border-subtle);padding-top:12px;margin-top:4px}.ai-output-lines{background:var(--bg-primary);border:1px solid var(--border);border-radius:7px;padding:10px 8px;font-family:JetBrains Mono,Fira Code,monospace;line-height:1.7;max-height:320px;overflow-y:auto}.ai-output-line{display:flex;align-items:baseline;gap:0;padding:1px 0}.ai-output-prefix{font-family:JetBrains Mono,monospace}.ai-sort-refine{display:flex;gap:8px;margin-top:10px}.ai-sort-refine-input{flex:1;font-size:13px;padding:7px 10px}.ai-sort-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.ai-sort-done{font-size:13px;color:var(--success);font-weight:600}.ai-sort-import-bar{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;background:var(--bg-tertiary);border-radius:7px;flex-wrap:wrap;overflow:hidden}.ai-sort-import-label{font-size:12px;color:var(--text-secondary);white-space:nowrap}.ai-sort-space-select{flex:1;min-width:120px;font-size:13px;padding:5px 8px}.ai-sort-error{margin-top:10px;padding:8px 12px;background:#fb718514;border:1px solid var(--danger);border-radius:6px;color:var(--danger);font-size:13px}.ai-mode-tabs{display:flex;gap:2px;background:var(--surface-2);border-radius:6px;padding:2px;margin-left:auto}.ai-mode-tab{padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.ai-mode-tab:hover{color:var(--text-primary)}.ai-mode-tab.active{background:var(--accent);color:#000}.ai-depth-selector{display:flex;gap:4px;align-items:center}.ai-depth-btn{padding:3px 8px;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;color:var(--text-tertiary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all .15s;font-family:inherit}.ai-depth-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.ai-depth-btn.active{background:var(--accent);color:#000;border-color:var(--accent)}.ai-chat-thread{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding:10px 0 4px;margin-bottom:8px;scrollbar-width:thin}.ai-chat-msg{display:flex;flex-direction:column;gap:3px}.ai-chat-msg--user{align-items:flex-end}.ai-chat-msg--assistant{align-items:flex-start}.ai-chat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:0 2px}.ai-chat-bubble{max-width:90%;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.ai-chat-msg--user .ai-chat-bubble{background:var(--accent);color:#000;border-radius:8px 8px 2px}.ai-chat-msg--assistant .ai-chat-bubble{background:var(--surface-2);color:var(--text-primary);border-radius:8px 8px 8px 2px;border-left:2px solid var(--border-subtle)}.ai-chat-thinking{display:flex;align-items:center;gap:8px;opacity:.7}.mobile-header,.mobile-week-view,.mobile-dashboard-view{display:none}@media (max-width: 640px){.app{flex-direction:column}.sidebar,.sidebar-collapsed .sidebar{display:none!important}.sidebar.open{display:flex!important;position:fixed;top:0;left:0;bottom:0;z-index:300;width:280px!important;max-width:85vw;transform:translate(0)!important}.sidebar.open .sidebar-section,.sidebar.open .recents-section{display:block!important}.header{display:none!important}.main{margin-left:0!important;flex:1;min-height:0;overflow:hidden;padding-bottom:0}.content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.mobile-header{display:flex;width:100%;flex-shrink:0;height:52px;padding:0 12px;align-items:center;gap:12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);position:relative;z-index:50}.mobile-menu-btn{width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-space-switcher{flex:1;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-primary);position:relative}.mobile-space-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;z-index:200;box-shadow:0 8px 24px #0000004d;max-height:60vh;overflow-y:auto}.mobile-space-dropdown button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background .1s}.mobile-space-dropdown button:hover{background:var(--bg-tertiary)}.mobile-space-dropdown button.active{color:var(--accent);background:var(--accent-dim)}.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-secondary);border-top:1px solid var(--border-subtle);z-index:100}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:transparent;color:var(--text-tertiary);font-size:10px;font-family:inherit;cursor:pointer;transition:color .15s;padding-bottom:0}.tab-btn.active{color:var(--accent)}.tab-btn span{font-size:10px}.mobile-fab{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));right:16px;width:52px;height:52px;border-radius:50%;background:var(--accent);border:none;color:#000;cursor:pointer;z-index:101;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 40%,transparent);transition:transform .15s,box-shadow .15s}.mobile-fab:hover{transform:scale(1.05)}.mobile-fab:active{transform:scale(.95)}.bottom-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-radius:20px 20px 0 0;padding:8px 16px 32px;z-index:201;max-height:80vh;overflow-y:auto}.bottom-sheet-handle{width:40px;height:4px;background:var(--border-subtle);border-radius:2px;margin:0 auto 16px}.bottom-sheet-tabs{display:flex;gap:8px;margin-bottom:16px}.bottom-sheet-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s}.bottom-sheet-tabs button.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.bottom-sheet-body{display:flex;flex-direction:column;gap:12px}.quick-dump-input{width:100%;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;resize:none;outline:none;line-height:1.5;box-sizing:border-box}.quick-dump-input:focus{border-color:var(--accent)}[data-mobile-tab=tasks] .mobile-tasks-dumps-view,[data-mobile-tab=dumps] .mobile-tasks-dumps-view{display:block}[data-mobile-tab=week] .mobile-tasks-dumps-view,[data-mobile-tab=dashboard] .mobile-tasks-dumps-view{display:none}[data-mobile-tab=week] .mobile-week-view{display:block}[data-mobile-tab=tasks] .mobile-week-view,[data-mobile-tab=dumps] .mobile-week-view,[data-mobile-tab=dashboard] .mobile-week-view{display:none}[data-mobile-tab=dashboard] .mobile-dashboard-view{display:block}[data-mobile-tab=tasks] .mobile-dashboard-view,[data-mobile-tab=dumps] .mobile-dashboard-view,[data-mobile-tab=week] .mobile-dashboard-view,[data-mobile-tab=week] .toolbar,[data-mobile-tab=dashboard] .toolbar,[data-mobile-tab=week] .header,[data-mobile-tab=dashboard] .header,[data-mobile-tab=week] .search-filter-bar,[data-mobile-tab=dashboard] .search-filter-bar{display:none}.coming-soon-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 180px);gap:12px;color:var(--text-tertiary)}.coming-soon-placeholder p{font-size:18px;font-weight:600;color:var(--text-secondary);margin:0}.coming-soon-placeholder span{font-size:13px}.toolbar{padding:8px 12px;gap:6px}.toolbar-left{gap:4px}.toolbar-right{gap:6px}.toolbar-divider,.toolbar .view-btn[title="Expand all"],.toolbar .view-btn[title="Collapse all"]{display:none}.col-description,.col-assignees{display:none!important}.task-row{cursor:pointer}.modal-overlay{align-items:flex-end!important;padding:0!important}.modal{width:100%!important;max-width:100%!important;border-radius:20px 20px 0 0!important;max-height:92vh!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.modal form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal .modal-body{flex:1!important;overflow-y:auto!important;max-height:none!important}.modal .modal-footer{flex-shrink:0!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}.kanban-board{flex-direction:column!important;gap:0!important}.kanban-column{width:100%!important;min-width:unset!important;max-width:100%!important}.search-filter-bar{padding:8px 12px 6px;background:var(--bg-primary)}.search-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;gap:6px}.filter-chip{white-space:nowrap;flex-shrink:0}.desktop-only{display:none!important}.view-toggle-group{display:none}.bulk-actions-bar{display:none!important}}@media (min-width: 641px){.mobile-tab-bar,.mobile-fab,.mobile-header,.bottom-sheet-backdrop,.bottom-sheet,.mobile-only,.mobile-week-view,.mobile-dashboard-view{display:none!important}}@media (min-width: 641px) and (max-width: 1024px){.sidebar{width:220px}.sidebar-collapsed .sidebar{width:56px}.space-btn{padding:12px;min-height:44px}.view-btn{padding:8px 12px;min-height:36px}.btn{min-height:36px}.table td,.table th{padding:10px}.task-row td{height:44px}@media (max-width: 860px){.col-description{display:none!important}}}.swipe-actions-left{display:flex;align-items:stretch;position:absolute;right:0;top:0;bottom:0}.swipe-actions-left button{width:60px;border:none;cursor:pointer;font-size:12px;font-weight:600;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.swipe-action-complete{background:var(--success)}.swipe-action-delete{background:var(--danger)}
