:root{--bg: #0f0f0f;--bg-card: #1a1a1a;--bg-hover: #252525;--bg-column: #141414;--text: #e0e0e0;--text-muted: #888;--accent: #6c9bff;--accent-hover: #5a8af0;--border: #2a2a2a;--radius: 8px;--transition: .15s ease;--type-task: #6c9bff;--type-feature: #a78bfa;--type-epic: #f59e0b;--type-idea: #34d399;--type-bug: #f87171;--status-backlog: #555;--status-todo: #6c9bff;--status-doing: #f59e0b;--status-done: #34d399}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.1rem}.logo{font-size:1.4rem;color:var(--accent)}.navbar-views{display:flex;gap:.25rem;background:var(--bg-card);border-radius:var(--radius);padding:.25rem}.view-btn{background:none;border:none;color:var(--text-muted);padding:.4rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:var(--transition)}.view-btn:hover{color:var(--text)}.view-btn.active{background:var(--accent);color:#fff}.navbar-actions{display:flex;gap:.5rem;align-items:center}.btn{border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:none;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.btn-danger{background:none;color:var(--type-bug);font-size:.75rem}.btn-danger:hover{background:#f871711a}#app{padding:1.5rem;height:calc(100vh - 57px);overflow:auto}.kanban{display:flex;gap:1rem;height:100%;min-height:0}.kanban-column{flex:1;min-width:240px;background:var(--bg-column);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.kanban-column-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.kanban-column-count{font-size:.75rem;color:var(--text-muted);background:var(--bg-hover);padding:.1rem .5rem;border-radius:99px}.kanban-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;min-height:60px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;cursor:grab;transition:var(--transition)}.card:hover{border-color:var(--accent);background:var(--bg-hover)}.card.sortable-ghost{opacity:.4}.card-title{font-size:.9rem;font-weight:500;margin-bottom:.25rem}.card-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.card-type{padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.card-type[data-type=task]{background:#6c9bff26;color:var(--type-task)}.card-type[data-type=feature]{background:#a78bfa26;color:var(--type-feature)}.card-type[data-type=epic]{background:#f59e0b26;color:var(--type-epic)}.card-type[data-type=idea]{background:#34d39926;color:var(--type-idea)}.card-type[data-type=bug]{background:#f8717126;color:var(--type-bug)}.card-actions{display:none;margin-left:auto}.card:hover .card-actions{display:flex;gap:.25rem}#graph-container{width:100%;height:100%}.table-container{overflow:auto;height:100%}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{text-align:left;padding:.6rem .75rem;border-bottom:2px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;background:var(--bg)}.data-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.data-table tr:hover td{background:var(--bg-hover)}dialog{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:1.5rem;min-width:380px;box-shadow:0 16px 48px #00000080}dialog::backdrop{background:#0009}dialog h3{margin-bottom:1rem;font-size:1.1rem}dialog label{display:block;margin-bottom:.75rem;font-size:.85rem;color:var(--text-muted)}dialog input,dialog select{display:block;width:100%;margin-top:.25rem;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem}dialog input:focus,dialog select:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:.5rem}.empty-state-icon{font-size:2rem;opacity:.4}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:2rem}.login-page h1{font-size:2rem;display:flex;align-items:center;gap:.75rem}.login-page .logo{font-size:2.5rem}.login-page p{color:var(--text-muted);max-width:400px;text-align:center}.btn-github{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;background:#fff;color:#000;border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none;font-weight:500}.btn-github:hover{background:#e0e0e0}
