:root{--bg:#0f1115;--panel:#171a21;--panel-2:#1e2229;--border:#2a2f3a;--text:#e6e8ec;--text-dim:#9aa1ad;--accent:#6c8cff;--accent-2:#4ecb8f;--danger:#e5636f;--radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:20px 14px}.sidebar h1{color:var(--text);margin:0 0 24px 4px;font-size:15px}.sidebar nav a{border-radius:var(--radius);color:var(--text-dim);margin-bottom:2px;padding:8px 10px;font-size:14px;display:block}.sidebar nav a.active,.sidebar nav a:hover{background:var(--panel-2);color:var(--text)}.main{flex:1;max-width:1100px;padding:28px 36px}.page-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h2{margin:0;font-size:20px}button,.btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:8px 14px;font-size:13px;font-weight:500}button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);width:100%;padding:8px 10px;font-size:13px}label{color:var(--text-dim);margin-bottom:4px;font-size:12px;display:block}.field{margin-bottom:12px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:8px 10px;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}tr:hover td{background:var(--panel-2)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px 20px}.badge{background:var(--panel-2);color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-success{color:var(--accent-2);background:#4ecb8f1f;border-color:#4ecb8f4d}.badge-danger{color:var(--danger);background:#e5636f1f;border-color:#e5636f4d}.grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:480px;max-height:85vh;padding:24px;overflow-y:auto}.modal h3{margin-top:0}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tabs button{color:var(--text-dim);background:0 0;border-bottom:2px solid #0000;border-radius:0;margin-right:16px;padding:8px 4px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.error-text{color:var(--danger);margin:8px 0;font-size:13px}.dim{color:var(--text-dim)}.mt-0{margin-top:0}.kanban-board{gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.kanban-column{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;width:240px;padding:10px}.kanban-column.drag-over{border-color:var(--accent)}.kanban-column-header{color:var(--text-dim);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 4px 8px;font-size:12px;font-weight:600;display:flex}.kanban-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;margin-bottom:8px;padding:10px;font-size:13px}.kanban-card:hover{border-color:var(--accent)}.kanban-card-name{margin-bottom:2px;font-weight:600}
