:root{--bg:#07070f;--panel:#0f0f19cc;--accent:#8b5cf6;--accent2:#ec4899;--text:#f1f5f9;--muted:#64748b;--border:#ffffff0f;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}html{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}body{background:var(--bg);color:var(--text);background-image:radial-gradient(at 15% 0,#8b5cf62e 0%,#0000 55%),radial-gradient(at 85% 100%,#ec48991f 0%,#0000 55%);min-height:100vh;overflow-x:hidden}.app-container{min-height:100vh;display:flex}.main-content{flex:1;min-width:0;padding:2rem 2.5rem 2rem 2rem;overflow-y:auto}.glass{background:var(--panel);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius)}.glass-hover{transition:transform .2s,border-color .2s,box-shadow .2s}.glass-hover:hover{border-color:#8b5cf633;transform:translateY(-2px);box-shadow:0 12px 30px #0006}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:11px;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.875rem;font-weight:700;transition:opacity .2s,transform .15s;display:inline-flex}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}h1{background:linear-gradient(90deg,#fff 30%,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:2rem;font-weight:800;line-height:1.2}h2{font-size:1.15rem;font-weight:700}.text-gradient{background:linear-gradient(to right, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#8b5cf680}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out both fadeIn}@keyframes spin{to{transform:rotate(360deg)}}input,textarea,select{color:var(--text);font-family:inherit;font-size:.9rem}input::placeholder,textarea::placeholder{color:var(--muted)}select option{color:#fff;background:#1a1a2e}.sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);background:#0f0f19cc;border-radius:20px;flex-direction:column;width:230px;min-width:230px;height:calc(100vh - 2rem);margin:1rem 0 1rem 1rem;padding:1.5rem 1rem;display:flex;position:sticky;top:1rem}.logo{align-items:center;gap:.75rem;margin-bottom:2rem;padding:.25rem .5rem;display:flex}.logo-icon{background:linear-gradient(135deg, var(--accent), var(--accent2));border:1px solid #ffffff1a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 8px 20px #8b5cf666}.logo-name{letter-spacing:-.02em;color:#fff;font-size:1.1rem;font-weight:800}.logo-sub{color:var(--muted);margin-top:-2px;font-size:.7rem;font-weight:600}.nav-grid{flex-direction:column;flex:1;gap:.75rem;display:flex}.nav-btn{background:#ffffff05;border:1px solid #ffffff0d;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.15rem .5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;color:#94a3b8!important;text-decoration:none!important}.nav-btn:hover{background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-3px);box-shadow:0 10px 25px #0000004d;color:#fff!important}.nav-btn.active{background:linear-gradient(135deg,#8b5cf62e,#ec48992e);border-color:#8b5cf680;box-shadow:0 12px 28px #00000059;color:#e9d5ff!important}.nav-icon-box{background:#ffffff08;border:1px solid #ffffff08;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;transition:all .3s;display:flex}.nav-btn.active .nav-icon-box{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#fff;box-shadow:0 0 20px #8b5cf680}.nav-btn-label{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:.7rem;font-weight:800}.nav-btn:hover .nav-btn-label,.nav-btn.active .nav-btn-label{opacity:1}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.db-status{align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.db-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.db-label{color:#78716c;font-size:.72rem;font-weight:500}.sidebar-stats{margin:1.5rem 0;padding:0 .5rem}.stat-card{text-align:center;border:1px solid var(--border);border-radius:14px;padding:1rem}.stat-val{color:var(--accent);margin-bottom:.1rem;font-size:1.5rem;font-weight:800}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:700}.kanban-board{flex:1;align-items:flex-start;gap:1.25rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.kanban-col{border:1px solid var(--border);background:#ffffff04;border-radius:16px;flex-direction:column;flex:1;min-width:300px;max-height:calc(100vh - 220px);padding:1.25rem;display:flex}.col-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;flex-direction:row!important;display:flex!important}.col-title-row{align-items:center;gap:.65rem;flex-direction:row!important;display:flex!important}.col-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.col-header h3{color:var(--text);margin:0;font-size:.9rem;font-weight:700}.col-count{border:1px solid var(--border);color:var(--muted);background:#ffffff12;border-radius:999px;padding:.15rem .65rem;font-size:.75rem;font-weight:700}.btn-icon-sm{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.btn-icon-sm:hover{color:var(--accent);background:#8b5cf626;border-color:#8b5cf64d}.col-body{flex-direction:column;flex:1;gap:1rem;display:flex;overflow-y:auto}.empty-col{color:var(--muted);border:1px dashed var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;font-size:.85rem;display:flex}.empty-add{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:700}.skeleton-card{background:#ffffff08;border-radius:12px;height:120px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}
