*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg: #0d0f14;--bg-2: #13161d;--bg-3: #1a1e28;--bg-4: #222636;--border: #2a2f3f;--border-light: #333a50;--text: #e8eaf0;--text-2: #8b91a8;--text-3: #555d78;--accent: #5b6af0;--accent-2: #7c8af5;--accent-glow: rgba(91,106,240,.15);--pink: #ec4899;--green: #10b981;--yellow: #f59e0b;--red: #ef4444;--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--card-bg: #1a1e28;--nav-bg: #13161d}[data-theme=light]{--bg: #f0f2f7;--bg-2: #ffffff;--bg-3: #f5f6fa;--bg-4: #ebedf5;--border: #dde1ed;--border-light: #c8cde0;--text: #1a1e2e;--text-2: #5a6080;--text-3: #9299b8;--accent: #5b6af0;--accent-2: #4455e0;--accent-glow: rgba(91,106,240,.1);--pink: #db2777;--green: #059669;--yellow: #d97706;--red: #dc2626;--shadow: 0 4px 24px rgba(0,0,0,.08);--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--card-bg: #ffffff;--nav-bg: #ffffff}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}button{font-family:DM Sans,sans-serif;cursor:pointer;border:none;background:none}input,textarea,select{font-family:DM Sans,sans-serif;font-size:14px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-2);transform:translateY(-1px)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover{color:var(--text);background:var(--bg-3)}.btn-danger{background:#ef44441f;color:var(--red)}.btn-danger:hover{background:#ef444438}.btn-success{background:#10b98126;color:var(--green)}.btn-success:hover{background:#10b98140}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease}.modal{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:100%;max-width:560px;box-shadow:var(--shadow);animation:slideUp .2s ease;max-height:90vh;overflow-y:auto}.modal-wide{max-width:720px}.modal-title{font-size:16px;font-weight:600;margin-bottom:20px}.form-group{margin-bottom:14px}.form-label{display:block;font-size:11px;font-weight:600;color:var(--text-2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.6px}.form-input{width:100%;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;color:var(--text);outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-input::placeholder{color:var(--text-3)}textarea.form-input{resize:vertical;min-height:80px}select.form-input{cursor:pointer}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.tab-bar{display:flex;gap:2px;background:var(--bg-3);border-radius:var(--radius-sm);padding:3px;margin-bottom:20px}.tab{flex:1;text-align:center;padding:7px 12px;border-radius:5px;font-size:12px;font-weight:500;color:var(--text-2);cursor:pointer;transition:all .15s}.tab.active{background:var(--bg-2);color:var(--text);box-shadow:var(--shadow-sm)}.kanban-column{min-width:272px;max-width:272px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;max-height:calc(100vh - 120px)}.kanban-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;cursor:pointer;transition:all .15s}.kanban-card:hover{border-color:var(--border-light);background:var(--bg-4);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}
