@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";html,body{width:100%;height:100%;margin:0;padding:0}:root{--bg-primary:#0a0c10;--bg-secondary:#121620;--card-bg:#161c2d66;--card-border:#ffffff14;--card-border-glow:#6366f133;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f166;--success:#10b981;--success-hover:#059669;--success-glow:#10b98133;--warning:#f59e0b;--danger:#ef4444;--danger-hover:#dc2626;--danger-glow:#ef444433}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(at 0 0,#6366f126 0,#0000 50%),radial-gradient(at 100% 100%,#10b9811a 0,#0000 50%);background-attachment:fixed;min-height:100vh;padding:2rem}.app-container{flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;animation:.6s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.app-header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;padding-bottom:1.5rem;display:flex}.header-greeting h1{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:700}.current-date{color:var(--text-secondary);margin-top:.25rem;font-size:.95rem}.header-logo{background:#6366f11a;border:1px solid #6366f133;border-radius:50px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.logo-icon{color:var(--primary);font-size:1.2rem;font-weight:700}.logo-text{letter-spacing:-.5px;font-size:1.1rem;font-weight:700}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);border-radius:16px;flex-direction:column;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.stat-card:hover{border-color:var(--card-border-glow);transform:translateY(-5px);box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #6366f11a}.stat-value{margin-bottom:.25rem;font-size:2.5rem;font-weight:700;line-height:1}.text-green{color:var(--success)}.text-purple{color:#8b5cf6}.stat-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.stat-progress-bar{width:100%;height:4px;position:absolute;bottom:0;left:0}.bg-blue{background:var(--primary)}.bg-green{background:var(--success);transition:width .5s ease-out}.bg-purple{background:#8b5cf6}.circular-card{flex-direction:row;justify-content:center;align-items:center;gap:1rem;padding:1rem 1.5rem}.circular-progress{width:70px;height:70px}.circular-chart{max-width:100%;max-height:100%;display:block}.circle-bg{fill:none;stroke:#ffffff0d;stroke-width:3px}.circle{fill:none;stroke:var(--success);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .5s ease-out}.percentage{fill:var(--text-primary);text-anchor:middle;font-family:inherit;font-size:8px;font-weight:700}.error-banner{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.5rem;animation:.3s ease-out slideDown;display:flex}.error-icon{font-size:1.2rem}.error-banner p{flex-grow:1;font-size:.95rem}.error-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.5rem;line-height:1}.main-content{grid-template-columns:1fr 2fr;gap:2rem;display:grid}@media (width<=900px){.main-content{grid-template-columns:1fr}}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(16px);border-radius:20px;padding:2rem;box-shadow:0 4px 30px #0003}.glass-card h2{color:#fff;margin-bottom:1.5rem;font-size:1.4rem;font-weight:600}.task-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--card-border);color:var(--text-primary);background:#ffffff08;border-radius:12px;outline:none;padding:.85rem 1rem;font-size:.95rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);background:#ffffff0d;box-shadow:0 0 0 3px #6366f126}.btn{cursor:pointer;border:none;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px 0 var(--primary-glow)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 6px 20px 0 var(--primary-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--text-primary);border:1px solid var(--card-border);background:#ffffff0f}.btn-secondary:hover{background:#ffffff1a}.list-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.search-box{border:1px solid var(--card-border);background:#0003;border-radius:12px;flex-grow:1;align-items:center;gap:.5rem;min-width:200px;max-width:400px;padding:.5rem 1rem;transition:all .3s;display:flex}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.search-icon{color:var(--text-muted);font-size:.95rem}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:.95rem}.filter-buttons{border:1px solid var(--card-border);background:#0003;border-radius:10px;padding:.25rem;display:flex}.filter-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.filter-btn.active{background:var(--primary);color:#fff}.todo-list{flex-direction:column;gap:1rem;display:flex}.todo-item{align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.todo-item:hover{border-color:var(--card-border-glow);transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.todo-checkbox-wrapper{cursor:pointer;padding-top:.2rem}.todo-checkbox{border:2px solid var(--text-muted);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.todo-item:hover .todo-checkbox{border-color:var(--primary)}.checkmark{color:#fff;font-size:.8rem;font-weight:700}.todo-item.completed .todo-checkbox{background:var(--success);border-color:var(--success);box-shadow:0 0 10px var(--success-glow)}.todo-details{cursor:pointer;flex-direction:column;flex-grow:1;gap:.35rem;display:flex}.todo-title{color:#fff;font-size:1.1rem;font-weight:600;transition:all .2s}.todo-item.completed .todo-title{color:var(--text-muted);text-decoration:line-through}.todo-description{color:var(--text-secondary);white-space:pre-wrap;font-size:.9rem;line-height:1.4}.todo-item.completed .todo-description{color:var(--text-muted)}.todo-time{color:var(--text-muted);font-size:.75rem}.todo-actions{opacity:.2;align-self:center;gap:.5rem;transition:opacity .2s;display:flex}.todo-item:hover .todo-actions{opacity:1}.action-btn{border:1px solid var(--card-border);cursor:pointer;background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;transition:all .2s;display:flex}.action-btn:hover{background:#ffffff1a;transform:scale(1.05)}.btn-delete:hover{border-color:var(--danger);box-shadow:0 0 10px var(--danger-glow);background:#ef44441a}.btn-edit:hover{border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow);background:#6366f11a}.loading-spinner-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.loading-spinner{border:3px solid #6366f11a;border-top:3px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-icon{margin-bottom:1rem;font-size:3rem}.empty-state h3{margin-bottom:.5rem;font-size:1.25rem}.empty-state p{color:var(--text-secondary);max-width:320px;font-size:.95rem}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{width:90%;max-width:500px;animation:.3s cubic-bezier(.16,1,.3,1) slideDown}.modal-header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.modal-header h2{margin:0;font-size:1.3rem}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.8rem;transition:color .2s}.close-btn:hover{color:#fff}.form-group-checkbox{align-items:center;margin-top:.5rem;display:flex}.checkbox-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.checkbox-label input{cursor:pointer;width:18px;height:18px;accent-color:var(--primary)}.modal-actions{border-top:1px solid var(--card-border);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}
