@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-primary:#050816;--bg-secondary:#0a0e21;--bg-card:#ffffff08;--bg-card-hover:#ffffff0f;--bg-input:#ffffff0d;--border:#ffffff0f;--border-focus:#6366f180;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--accent-purple:#7c3aed;--accent-indigo:#6366f1;--accent-cyan:#06b6d4;--accent-pink:#ec4899;--accent-green:#10b981;--accent-yellow:#f59e0b;--accent-red:#ef4444;--gradient-main:linear-gradient(135deg, #7c3aed 0%, #06b6d4 100%);--gradient-hero:linear-gradient(135deg, #050816 0%, #1a0d40 50%, #0d1e2e 100%);--shadow-card:0 4px 24px #00000080;--shadow-glow:0 0 40px #7c3aed14;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--transition:all .25s cubic-bezier(.4,0,.2,1);--transition-bounce:all .35s cubic-bezier(.34,1.56,.64,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(at 15% 10%,#7c3aed0f 0%,#0000 50%),radial-gradient(at 85% 90%,#06b6d40a 0%,#0000 50%);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ai-pulse{0%,to{box-shadow:0 0 #7c3aed00}50%{box-shadow:0 0 12px 3px #7c3aed33}}@keyframes gradientFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes orb1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(100px,-80px)scale(1.2)}66%{transform:translate(-50px,60px)scale(.9)}}@keyframes orb2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-80px,60px)scale(.9)}66%{transform:translate(90px,-40px)scale(1.15)}}@keyframes counterPop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes ring-fill{0%{stroke-dashoffset:251px}}.app-layout{min-height:100vh;display:flex}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);z-index:100;background:#0a0e21f2;flex-direction:column;width:260px;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);padding:28px 22px}.sidebar-logo h2{letter-spacing:-.5px;background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:900}.sidebar-logo span{color:var(--text-muted);letter-spacing:.5px;margin-top:4px;font-size:11px;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:20px 14px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);border:1px solid #0000;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:#7c3aed0f;transform:translate(4px)}.nav-item.active{color:var(--text-primary);background:linear-gradient(135deg,#7c3aed26,#06b6d414);border-color:#7c3aed40}.nav-item.active:before{content:"";background:var(--gradient-main);border-radius:10px;width:3px;position:absolute;top:25%;bottom:25%;left:-1px}.nav-item .nav-icon{text-align:center;width:22px;font-size:18px}.sidebar-footer{border-top:1px solid var(--border);padding:16px 14px}.user-chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff08;align-items:center;gap:10px;padding:12px;display:flex}.user-avatar{background:var(--gradient-main);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:flex;box-shadow:0 2px 12px #7c3aed4d}.user-info{flex:1;overflow:hidden}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:var(--text-muted);font-size:11px}.logout-btn{color:var(--accent-red);transition:var(--transition);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:6px;font-size:16px}.logout-btn:hover{background:#ef44441f;transform:scale(1.1)}.main-content{flex:1;min-height:100vh;margin-left:260px;padding:36px 40px;animation:.35s fadeInUp}.page-header{margin-bottom:32px}.page-header h1{letter-spacing:-.8px;font-size:30px;font-weight:900}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:14px}.card{border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);background:#ffffff06;padding:24px}.card:hover{background:#ffffff0a}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition-bounce);background:#ffffff06;padding:22px;animation:.45s backwards fadeInUp;position:relative;overflow:hidden}.stat-card:first-child{animation-delay:40ms}.stat-card:nth-child(2){animation-delay:80ms}.stat-card:nth-child(3){animation-delay:.12s}.stat-card:nth-child(4){animation-delay:.16s}.stat-card:nth-child(5){animation-delay:.2s}.stat-card:nth-child(6){animation-delay:.24s}.stat-card:before{content:"";background:var(--gradient-main);opacity:0;height:2px;transition:var(--transition);position:absolute;top:0;left:0;right:0}.stat-card:hover:before{opacity:1}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0006,0 0 30px #7c3aed0f}.stat-icon{margin-bottom:14px;font-size:28px;display:block}.stat-value{background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:900;line-height:1;animation:.5s backwards counterPop}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:6px;font-size:11px;font-weight:700}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--gradient-main);color:#fff;box-shadow:0 4px 20px #7c3aed4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #7c3aed66}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);background:#ffffff0a}.btn-secondary:hover{background:#ffffff12;border-color:#ffffff1f}.btn-danger{color:var(--accent-red);background:#ef44441a;border:1px solid #ef444433}.btn-danger:hover{background:#ef44442e}.btn-sm{padding:7px 15px;font-size:13px}.btn-xs{padding:5px 12px;font-size:12px}.form-group{margin-bottom:18px}.form-label{color:var(--text-secondary);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition);padding:11px 14px;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-purple);outline:none;box-shadow:0 0 0 3px #7c3aed1a,0 0 20px #7c3aed0a}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-select option{background:var(--bg-secondary)}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:100px;align-items:center;gap:4px;padding:4px 11px;font-size:11px;font-weight:700;display:inline-flex}.badge-todo{color:#818cf8;background:#6366f11f;border:1px solid #6366f140}.badge-inprogress{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40}.badge-done{color:#34d399;background:#10b9811f;border:1px solid #10b98140}.badge-high{color:#f87171;background:#ef44441f;border:1px solid #ef444440}.badge-medium{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40}.badge-low{color:#34d399;background:#10b9811f;border:1px solid #10b98140}.badge-ai-done{color:#a78bfa;background:linear-gradient(135deg,#7c3aed26,#06b6d41a);border:1px solid #7c3aed4d;animation:2s ease-in-out infinite ai-pulse}.badge-ai-pending{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b33}.badge-ai-failed{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.task-cards-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.task-card{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);background:#ffffff06;padding:20px;animation:.4s backwards fadeInUp;position:relative;overflow:hidden}.task-card:nth-child(odd){animation-delay:50ms}.task-card:nth-child(2n){animation-delay:.1s}.task-card:hover{border-color:#7c3aed33;transform:translateY(-3px);box-shadow:0 8px 30px #0000004d,0 0 30px #7c3aed0a}.task-card:before{content:"";border-radius:10px 0 0 10px;width:3px;height:100%;position:absolute;top:0;left:0}.task-card.priority-HIGH:before{background:var(--accent-red)}.task-card.priority-MEDIUM:before{background:var(--accent-yellow)}.task-card.priority-LOW:before{background:var(--accent-green)}.task-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:15px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.task-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:14px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.task-card-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.task-card-actions{border-top:1px solid #ffffff0a;gap:6px;margin-top:12px;padding-top:12px;display:flex}.task-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border);background:#ffffff04;overflow-x:auto}.task-table{border-collapse:collapse;width:100%}.task-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);white-space:nowrap;background:#ffffff08;padding:14px 18px;font-size:11px;font-weight:700}.task-table td{vertical-align:middle;border-bottom:1px solid #ffffff08;padding:16px 18px;font-size:14px}.task-table tr{transition:var(--transition)}.task-table tr:last-child td{border-bottom:none}.task-table tr:hover td{background:#7c3aed06}.task-title-cell{max-width:280px;font-weight:500}.task-title-text{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.task-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.task-actions{justify-content:flex-end;gap:6px;display:flex}.ai-panel{border-radius:var(--radius-lg);background:linear-gradient(135deg,#7c3aed0d,#06b6d408);border:1px solid #7c3aed26;padding:24px;animation:.5s .15s backwards fadeInUp;position:relative;overflow:hidden}.ai-panel:before{content:"";background:linear-gradient(90deg, var(--accent-purple), var(--accent-cyan), var(--accent-pink), var(--accent-purple));background-size:300% 100%;height:2px;animation:3s infinite gradientFlow;position:absolute;top:0;left:0;right:0}.ai-panel-header{align-items:center;gap:10px;margin-bottom:18px;display:flex}.ai-panel-title{background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:800}.ai-summary{color:var(--text-primary);border-radius:var(--radius-sm);border-left:3px solid var(--accent-purple);background:#ffffff06;margin-bottom:16px;padding:14px 16px;font-size:14px;line-height:1.8}.ai-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ai-tag{color:var(--accent-cyan);transition:var(--transition);background:#06b6d40f;border:1px solid #06b6d42e;border-radius:100px;padding:5px 12px;font-size:12px;font-weight:500}.ai-tag:hover{background:#06b6d41f;transform:translateY(-1px)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.skeleton-line{height:14px;margin-bottom:10px}.skeleton-line.w-full{width:100%}.skeleton-line.w-three-quarter{width:75%}.skeleton-line.w-half{width:50%}.skeleton-line.w-quarter{width:25%}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-input-wrapper{flex:1;min-width:220px;position:relative}.search-icon{color:var(--text-muted);font-size:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input-wrapper:focus-within .search-icon{color:var(--accent-purple)}.search-input{padding-left:40px!important}.view-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.view-toggle-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:8px 14px;font-size:14px}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn.active{color:var(--accent-purple);background:#7c3aed26}.pagination{justify-content:center;align-items:center;gap:8px;margin-top:24px;display:flex}.page-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-bounce);background:#ffffff08;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.page-btn:hover{color:var(--text-primary);background:#ffffff0f}.page-btn.active{background:var(--gradient-main);color:#fff;border-color:#0000;box-shadow:0 2px 15px #7c3aed4d}.page-btn:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;padding:32px;animation:.25s slideUp;overflow-y:auto;box-shadow:0 24px 80px #000000b3}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-title{font-size:18px;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:22px}.modal-close:hover{color:var(--text-primary);background:var(--bg-card)}.auth-page{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";filter:blur(100px);border-radius:50%;position:absolute}.auth-page:before{background:#7c3aed26;width:600px;height:600px;animation:20s ease-in-out infinite orb1;top:-200px;left:-200px}.auth-page:after{background:#06b6d41f;width:500px;height:500px;animation:24s ease-in-out infinite orb2;bottom:-180px;right:-180px}.auth-card{-webkit-backdrop-filter:blur(30px)saturate(1.3);backdrop-filter:blur(30px)saturate(1.3);border-radius:var(--radius-xl);z-index:1;background:#0a0e21e6;border:1px solid #ffffff12;width:100%;max-width:440px;padding:44px;animation:.5s fadeInUp;position:relative;box-shadow:0 30px 100px #0009,inset 0 1px #ffffff0d}.auth-logo{text-align:center;margin-bottom:36px}.auth-logo-icon{margin-bottom:14px;font-size:48px;animation:3.5s ease-in-out infinite float;display:block}.auth-logo h1{letter-spacing:-.5px;background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:900}.auth-logo p{color:var(--text-muted);margin-top:6px;font-size:13px}.auth-switch{text-align:center;color:var(--text-muted);margin-top:28px;font-size:13px}.auth-switch a{color:var(--accent-purple);transition:var(--transition);font-weight:600}.auth-switch a:hover{color:var(--accent-cyan)}.auth-error{border-radius:var(--radius-sm);color:var(--accent-red);background:#ef444412;border:1px solid #ef444433;margin-bottom:18px;padding:11px 14px;font-size:13px;animation:.3s slideUp}.feature-pill-list{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;padding-top:20px;display:flex}.feature-pill{color:var(--text-muted);background:#7c3aed0f;border:1px solid #7c3aed1f;border-radius:100px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;display:inline-flex}.charts-grid{grid-template-columns:1fr 1.5fr;gap:18px;margin-bottom:24px;display:grid}.completion-ring-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.completion-ring{width:100px;height:100px;position:relative}.completion-ring svg{transform:rotate(-90deg)}.completion-ring-bg{fill:none;stroke:#ffffff0a;stroke-width:8px}.completion-ring-fill{fill:none;stroke:url(#ring-gradient);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1s}.completion-ring-text{background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;font-size:22px;font-weight:900;display:flex;position:absolute;inset:0}.status-btn-group{gap:6px;display:flex}.status-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition-bounce);text-transform:uppercase;letter-spacing:.3px;background:#ffffff08;border-radius:100px;padding:5px 12px;font-size:12px;font-weight:700}.status-btn:hover{transform:scale(1.05)}.status-btn.active-todo{color:#818cf8;background:#6366f11f;border-color:#6366f14d}.status-btn.active-progress{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b4d}.status-btn.active-done{color:#34d399;background:#10b9811f;border-color:#10b9814d}.ai-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#7c3aed0d,#06b6d408);border:1px solid #7c3aed1f;padding:24px;position:relative;overflow:hidden}.ai-banner:before{content:"";background:linear-gradient(90deg, var(--accent-purple), var(--accent-cyan), var(--accent-pink));background-size:200% 100%;height:2px;animation:4s infinite gradientFlow;position:absolute;top:0;left:0;right:0}.empty-state{text-align:center;color:var(--text-muted);padding:56px 24px}.empty-state-icon{margin-bottom:16px;font-size:56px;animation:4s ease-in-out infinite float;display:block}.empty-state h3{color:var(--text-secondary);margin-bottom:6px;font-size:17px;font-weight:600}.empty-state p{font-size:14px}.spinner{border:2px solid #7c3aed4d;border-top-color:var(--accent-purple);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.loading-full{min-height:240px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex}.toast-container{z-index:9999;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:10px;max-width:360px;padding:13px 20px;font-size:14px;font-weight:500;animation:.3s slideUp;display:flex}.toast-success{color:#34d399;background:#10b9811a;border:1px solid #10b98133}.toast-error{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.toast-info{color:#a78bfa;background:#7c3aed1a;border:1px solid #7c3aed33}@media (width<=900px){.charts-grid{grid-template-columns:1fr}.sidebar{transform:translate(-260px)}.main-content{margin-left:0;padding:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.task-cards-grid{grid-template-columns:1fr}}@media (width<=600px){.stats-grid{grid-template-columns:1fr}.toolbar{flex-direction:column}.grid-2{grid-template-columns:1fr}.auth-card{padding:28px}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.w-full{width:100%}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-bold{font-weight:700}.grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}
