@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-gradient:linear-gradient(135deg, #f5f7fa 0%, #e4e8f0 100%);--bg-app:#fff6;--glass-bg:#ffffffa6;--glass-border:#fff6;--glass-shadow:0 8px 32px 0 #1f268714;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0cc;--primary:#4f46e5;--primary-glow:#4f46e526;--todo-color:#3b82f6;--todo-bg:#3b82f61a;--todo-border:#3b82f633;--progress-color:#f59e0b;--progress-bg:#f59e0b1a;--progress-border:#f59e0b33;--review-color:#a855f7;--review-bg:#a855f71a;--review-border:#a855f733;--done-color:#10b981;--done-bg:#10b9811a;--done-border:#10b98133;--danger-color:#ef4444;--danger-bg:#ef44441a;--card-bg:#fffc;--input-bg:#ffffffe6;--header-bg:#fffc}[data-theme=dark]{--bg-gradient:radial-gradient(circle at top right, #1e1b4b 0%, #0f172a 60%, #020617 100%);--bg-app:#0f172a4d;--glass-bg:#0f172a8c;--glass-border:#ffffff14;--glass-shadow:0 8px 32px 0 #0000005e;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#33415580;--primary:#818cf8;--primary-glow:#818cf840;--todo-color:#60a5fa;--todo-bg:#60a5fa26;--todo-border:#60a5fa40;--progress-color:#fbbf24;--progress-bg:#fbbf2426;--progress-border:#fbbf2440;--review-color:#c084fc;--review-bg:#c084fc26;--review-border:#c084fc40;--done-color:#34d399;--done-bg:#34d39926;--done-border:#34d39940;--danger-color:#f87171;--danger-bg:#f8717126;--card-bg:#1e293bb3;--input-bg:#0f172acc;--header-bg:#0f172abf}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;transition:background .3s,color .3s;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#94a3b880}.app-container{flex-direction:column;gap:1.5rem;max-width:1400px;min-height:100vh;margin:0 auto;padding:1.5rem;display:flex}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:1rem;transition:background .3s,border-color .3s}.app-header{z-index:10;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.brand-section{align-items:center;gap:.75rem;display:flex}.brand-logo{background:linear-gradient(135deg, var(--primary) 0%, #a855f7 100%);color:#fff;border-radius:.75rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex;box-shadow:0 4px 12px #4f46e54d}.brand-title h1{letter-spacing:-.025em;background:linear-gradient(135deg, var(--text-primary) 30%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.35rem;font-weight:700}.brand-title p{color:var(--text-secondary);font-size:.75rem;font-weight:500}.control-section{align-items:center;gap:1rem;display:flex}.user-selector{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:.75rem;outline:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.user-selector:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.icon-btn{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:all .2s;display:flex}.icon-btn:hover{background:var(--border-color);color:var(--primary);transform:translateY(-2px)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.stat-card{align-items:center;gap:1.25rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.stat-card:after{content:"";background:var(--accent-gradient,var(--primary));opacity:.7;height:3px;position:absolute;bottom:0;left:0;right:0}.stat-icon{width:3.25rem;height:3.25rem;color:var(--stat-color,var(--primary));background:var(--stat-bg,var(--primary-glow));border-radius:.75rem;justify-content:center;align-items:center;display:flex}.stat-info h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem}.stat-value{font-size:1.75rem;font-weight:700;line-height:1}.dashboard-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.card-header{justify-content:space-between;align-items:center;display:flex}.card-header h2{align-items:center;gap:.5rem;font-size:1.15rem;font-weight:600;display:flex}.chart-container{justify-content:center;align-items:center;height:220px;display:flex;position:relative}.donut-label{text-align:center;flex-direction:column;display:flex;position:absolute}.donut-value{font-size:1.75rem;font-weight:700}.donut-title{color:var(--text-secondary);text-transform:uppercase;font-size:.75rem}.chart-legends{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.legend-item{align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.legend-dot{border-radius:50%;width:.75rem;height:.75rem}.member-progress-list{flex-direction:column;gap:1.25rem;max-height:220px;padding-right:.25rem;display:flex;overflow-y:auto}.member-progress-item{flex-direction:column;gap:.35rem;display:flex}.member-meta{justify-content:space-between;font-size:.9rem;font-weight:500;display:flex}.progress-bar-bg{background:var(--border-color);border-radius:9999px;height:.6rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary) 0%, #10b981 100%);border-radius:9999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.btn{cursor:pointer;border:1px solid #0000;border-radius:.75rem;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);color:#fff;box-shadow:0 4px 12px #4f46e540}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #4f46e559}.btn-secondary{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.table-panel{padding:1.5rem}.table-controls{flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;display:flex}.search-input-wrapper{flex:1;min-width:250px;position:relative}.search-icon{color:var(--text-muted);width:1.1rem;height:1.1rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.input-field{background:var(--input-bg);border:1px solid var(--border-color);width:100%;font-family:var(--font-sans);color:var(--text-primary);border-radius:.75rem;outline:none;padding:.55rem 1rem .55rem 2.35rem;font-size:.9rem;transition:all .2s}.input-fieldWithoutIcon{background:var(--input-bg);border:1px solid var(--border-color);width:100%;font-family:var(--font-sans);color:var(--text-primary);border-radius:.75rem;outline:none;padding:.55rem 1rem;font-size:.9rem;transition:all .2s}.input-field:focus,.input-fieldWithoutIcon:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.filter-select{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:.75rem;outline:none;padding:.55rem 1rem;font-size:.9rem}.table-wrapper{border:1px solid var(--border-color);border-radius:.75rem;width:100%;overflow-x:auto}.task-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.task-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#94a3b814;padding:.85rem 1.25rem;font-weight:600}.task-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:1rem 1.25rem}.task-table tr:last-child td{border-bottom:none}.task-table tr:hover td{background:#94a3b80a}.badge{text-transform:uppercase;letter-spacing:.02em;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-todo{background:var(--todo-bg);color:var(--todo-color);border:1px solid var(--todo-border)}.badge-progress{background:var(--progress-bg);color:var(--progress-color);border:1px solid var(--progress-border)}.badge-review{background:var(--review-bg);color:var(--review-color);border:1px solid var(--review-border)}.badge-done{background:var(--done-bg);color:var(--done-color);border:1px solid var(--done-border)}.badge-overdue{background:var(--danger-bg);color:var(--danger-color);border:1px solid #ef444433;animation:2s infinite pulse-glow}@keyframes pulse-glow{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.kanban-container{flex-direction:column;gap:1rem;display:flex}.kanban-header-actions{justify-content:space-between;align-items:center;padding:0 .5rem;display:flex}.kanban-grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:1rem;display:grid}@media (width<=1024px){.kanban-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.kanban-grid{grid-template-columns:1fr}}.kanban-column{background:#94a3b80a;border:1px solid #0000;border-radius:1rem;flex-direction:column;gap:1rem;min-height:500px;padding:1.25rem 1rem;transition:all .2s;display:flex}.kanban-column.drag-over{border:1px dashed var(--primary);background:#4f46e50a;transform:scale(1.01)}.column-header{color:var(--text-primary);border-bottom:2px solid var(--column-color,var(--primary));justify-content:space-between;align-items:center;margin-bottom:.25rem;padding-bottom:.5rem;font-size:.95rem;font-weight:600;display:flex}.column-count{color:var(--text-secondary);background:#94a3b826;border-radius:9999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.cards-container{flex-direction:column;gap:.75rem;min-height:400px;display:flex}.task-card{background:var(--card-bg);border:1px solid var(--border-color);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:.85rem;flex-direction:column;gap:.75rem;padding:1.15rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #00000005}.task-card:active{cursor:grabbing}.task-card.dragging{opacity:.4;box-shadow:none;transform:scale(.95)}.task-card:hover{border-color:var(--column-color,var(--primary));transform:translateY(-2px)scale(1.01);box-shadow:0 8px 16px #0000000d}.card-title-section{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.card-title-section h4{font-size:.95rem;font-weight:600;line-height:1.4}.card-edit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.25rem;align-items:center;padding:.15rem;transition:all .15s;display:flex}.card-edit-btn:hover{color:var(--primary);background:#94a3b81a}.card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.825rem;line-height:1.5;display:-webkit-box;overflow:hidden}.card-dates{color:var(--text-muted);border-top:1px solid var(--border-color);flex-direction:column;gap:.25rem;padding-top:.65rem;font-size:.75rem;display:flex}.date-row{align-items:center;gap:.35rem;display:flex}.date-label{width:55px;font-weight:500}.card-footer{justify-content:space-between;align-items:center;padding-top:.25rem;display:flex}.assignee-avatar{background:linear-gradient(135deg, #a855f7 0%, var(--primary) 100%);color:#fff;border:1px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.75rem;font-weight:700;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background:#0f172a66;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.modal-content{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);width:100%;max-width:500px;box-shadow:var(--glass-shadow);border-radius:1.25rem;flex-direction:column;gap:1.5rem;padding:1.75rem;animation:.2s cubic-bezier(.34,1.56,.64,1) scale-up;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:1.2rem;font-weight:700}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;transition:all .2s;display:flex}.modal-close:hover{background:var(--border-color);color:var(--danger-color)}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.textarea-field{background:var(--input-bg);border:1px solid var(--border-color);width:100%;font-family:var(--font-sans);color:var(--text-primary);resize:vertical;border-radius:.75rem;outline:none;min-height:100px;padding:.65rem 1rem;font-size:.9rem;transition:all .2s}.textarea-field:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.avatar-wrapper{justify-content:center;align-items:center;display:inline-flex}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.empty-state svg{opacity:.6}.empty-state p{font-size:.9rem}
