:root{--bg: #0f1117;--bg-surface: #1a1d27;--bg-hover: #252836;--border: #2e3140;--text: #e4e6ed;--text-muted: #8b8fa3;--accent: #22c55e;--accent-hover: #16a34a;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--radius: 8px;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--bg-surface);border-right:1px solid var(--border);padding:1rem 0;display:flex;flex-direction:column}.sidebar-logo{font-size:1.25rem;font-weight:700;padding:.5rem 1.25rem 1.5rem;color:var(--accent);letter-spacing:-.02em}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar nav a{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;color:var(--text-muted);text-decoration:none;font-size:.875rem;transition:background .15s,color .15s}.sidebar nav a:hover,.sidebar nav a.active{background:var(--bg-hover);color:var(--text);text-decoration:none}.sidebar-section{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:1rem 1.25rem .375rem}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--border);font-size:.813rem;color:var(--text-muted)}.main-content{flex:1;padding:2rem;overflow-y:auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:600}.tab-bar{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.tab-bar button{padding:.5rem 1rem;font-size:.813rem;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.tab-bar button:hover{color:var(--text)}.tab-bar button.active{color:var(--accent);border-bottom-color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);transition:background .15s}.btn:hover{background:var(--bg-hover)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:.25rem .625rem;font-size:.813rem}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.card+.card{margin-top:.75rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.813rem;font-weight:500;color:var(--text-muted);margin-bottom:.375rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}.form-group 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='%238b8fa3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tag{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}.tag-person{background:#3b82f622;color:#60a5fa}.tag-project{background:#22c55e22;color:#4ade80}.tag-task{background:#f59e0b22;color:#fbbf24}.tag-event{background:#ec489922;color:#f472b6}.tag-organisation{background:#6366f122;color:#818cf8}.tag-concept{background:#a855f722;color:#c084fc}.tag-confirmed{background:#22c55e22;color:#4ade80}.tag-candidate{background:#f59e0b22;color:#fbbf24}.tag-merged{background:#6b728022;color:#9ca3af}.tag-archived{background:#ef444422;color:#f87171}.tag-pending{background:#f59e0b22;color:#fbbf24}.tag-accepted{background:#22c55e22;color:#4ade80}.tag-rejected{background:#ef444422;color:#f87171}.tag-open{background:#3b82f622;color:#60a5fa}.tag-answered{background:#22c55e22;color:#4ade80}.tag-ignored{background:#6b728022;color:#9ca3af}.tag-started{background:#3b82f622;color:#60a5fa}.tag-succeeded{background:#22c55e22;color:#4ade80}.tag-failed{background:#ef444422;color:#f87171}.tag-partial{background:#f59e0b22;color:#fbbf24}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--border);font-size:.875rem}.table th{font-weight:500;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.table tr:hover td{background:var(--bg-hover)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.error-banner{background:#ef444422;border:1px solid var(--danger);border-radius:var(--radius);padding:.75rem 1rem;color:var(--danger);font-size:.875rem;margin-bottom:1rem}.error-text{color:var(--danger);font-size:.8125rem;margin-top:.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;width:100%;max-width:500px}.modal h2{margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;text-align:center}.login-card h1{font-size:1.75rem;font-weight:700;color:var(--accent);margin-bottom:.5rem}.login-card p{color:var(--text-muted);margin-bottom:2rem}.login-card .btn{width:100%;justify-content:center;padding:.75rem}.mono{font-family:var(--font-mono);font-size:.813rem}.muted{color:var(--text-muted);font-size:.813rem}.truncate-id{max-width:8ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom;font-family:var(--font-mono);font-size:.813rem;cursor:help}.actions{display:flex;gap:.5rem}
