.kanban-board{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.kanban-board.kanban-hscroll{gap:var(--space-4);padding-bottom:var(--space-2);align-items:flex-start;display:flex;overflow-x:auto}.kanban-board.kanban-hscroll .kanban-column{flex:1 0 260px;min-width:260px;max-width:300px}.kanban-column{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;min-height:120px;max-height:calc(100vh - 240px);display:flex;overflow:hidden}.kanban-column-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.kanban-column-header h3{font-size:var(--text-sm);color:var(--color-text);align-items:center;gap:8px;font-weight:600;display:flex}.kanban-count{background:var(--color-border);color:var(--color-text-secondary);font-size:var(--text-xs);border-radius:100px;padding:1px 8px;font-weight:600}.kanban-column-body{padding:var(--space-3);gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.kanban-column-scroll{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:1;min-height:0;padding-right:2px;overflow-y:auto}.kanban-column-scroll::-webkit-scrollbar{width:6px}.kanban-column-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.kanban-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs)}.kanban-card:hover{box-shadow:var(--shadow-sm);border-color:var(--color-primary-bg)}.kanban-card .kanban-card-title{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-2);font-weight:550}.kanban-card .kanban-card-meta{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.kanban-card.overdue{box-shadow:0 0 0 1px var(--color-danger)}.kanban-card .kanban-card-priority{align-items:center;gap:4px;display:inline-flex}.kanban-column.drop-target{outline:2px dashed var(--color-primary);outline-offset:-2px;background:var(--color-primary-soft)}.kanban-column-empty{padding:var(--space-3);text-align:center;color:var(--color-text-tertiary);border:1px dashed var(--color-border);border-radius:6px;margin:4px;font-size:12px}.kanban-card{cursor:grab}.kanban-card.overdue{border-left:3px solid var(--color-danger)}.kanban-card-title{margin-bottom:4px;font-weight:550}.kanban-card-meta{align-items:center;gap:6px;margin-bottom:4px;display:flex}.board-summary{gap:var(--space-3);margin-bottom:var(--space-3);align-items:center;display:flex}.stat-bar-row{align-items:center;gap:var(--space-2);margin-bottom:6px;display:flex}.stat-bar-label{flex-shrink:0;width:110px;font-size:13px}.stat-bar-track{background:var(--color-bg-muted);border-radius:5px;flex:1;height:10px;overflow:hidden}.stat-bar-fill{background:var(--color-primary);border-radius:5px;height:100%;transition:width .3s}.pagination-wrap{padding:var(--space-4) 0;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pagination-info{font-size:var(--text-sm);color:var(--color-text-secondary)}.pagination-controls{align-items:center;gap:2px;display:flex}.pagination-btn{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;min-width:32px;height:32px;font-family:inherit;font-size:var(--text-sm);color:var(--color-text);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:4px 8px;display:flex}.pagination-btn:hover:not(:disabled):not(.active){background:var(--color-surface-hover);border-color:var(--color-text-tertiary)}.pagination-btn.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);font-weight:600}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-ellipsis{min-width:32px;height:32px;color:var(--color-text-tertiary);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.pagination-size-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:32px;font-family:inherit;font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5l3 3 3-3' fill='none' stroke='%236b6b70' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;padding:4px 24px 4px 8px}.drawer-overlay{z-index:210;background:rgba(0,0,0,.3);animation:.2s fadeIn;position:fixed;inset:0}.drawer{background:var(--color-surface);width:480px;max-width:100vw;box-shadow:var(--shadow-lg);z-index:211;flex-direction:column;animation:.25s drawerSlideIn;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-header h2{font-size:var(--text-lg);color:var(--color-text);font-weight:650}.drawer-body{padding:var(--space-6);flex:1;overflow-y:auto}.drawer-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);flex-shrink:0;display:flex}.tree-view{font-size:var(--text-sm)}.tree-node{-webkit-user-select:none;user-select:none}.tree-node-row{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:4px;min-height:32px;padding:6px 8px;display:flex}.tree-node-row:hover{background:var(--color-surface-hover)}.tree-node-row.selected{background:var(--color-primary-bg)}.tree-node-row.drag-over{background:var(--color-primary-bg);outline:2px dashed var(--color-primary);outline-offset:-2px}.tree-node-row.dragging{opacity:.5}.tree-indent{flex-shrink:0}.tree-toggle{cursor:pointer;width:20px;height:20px;color:var(--color-text-tertiary);transition:transform var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;display:flex}.tree-toggle:hover{color:var(--color-text);background:var(--color-surface-hover)}.tree-toggle.expanded{transform:rotate(90deg)}.tree-toggle.leaf{visibility:hidden;pointer-events:none}.tree-checkbox{flex-shrink:0}.tree-node-icon{text-align:center;opacity:.7;flex-shrink:0;width:18px;font-size:14px}.tree-node-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree-node-label mark{background:var(--color-warning-bg);color:var(--color-text);border-radius:2px;padding:0 2px}.tree-node-actions{opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;gap:2px;display:flex}.tree-node-row:hover .tree-node-actions{opacity:1}.tree-drag-handle{cursor:grab;width:16px;height:20px;color:var(--color-text-tertiary);opacity:0;letter-spacing:-2px;transition:opacity var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.tree-node-row:hover .tree-drag-handle{opacity:.5}.tree-drag-handle:active{cursor:grabbing;opacity:1!important}.tree-node-children{transition:max-height var(--transition-slow) ease, opacity var(--transition-fast);overflow:hidden}.tree-node-children.collapsed{opacity:0;max-height:0}.tree-node-children.expanded{opacity:1;max-height:5000px}.tree-drop-indicator{position:relative}.tree-drop-indicator:before{content:"";background:var(--color-primary);z-index:1;border-radius:1px;height:2px;position:absolute;top:-1px;left:8px;right:8px}.project-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs);transition:all var(--transition);cursor:pointer;gap:var(--space-3);flex-direction:column;display:flex}.project-card:hover{box-shadow:var(--shadow);border-color:var(--color-primary-bg);transform:translateY(-2px)}.project-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.project-card-title{font-size:var(--text-base);color:var(--color-text);font-weight:600;line-height:1.3}.project-card-body{flex:1}.project-card-footer{padding-top:var(--space-3);border-top:1px solid var(--color-border-light);font-size:var(--text-xs);color:var(--color-text-tertiary);justify-content:space-between;align-items:center;display:flex}