@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap);:root{--bg-body:#f8fafc;--bg-gradient:linear-gradient(135deg,#eff6ff,#f1f5f9 50%,#e0e7ff);--card-bg:#fff;--card-border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--input-bg:#f8fafc;--input-border:#cbd5e1;--accent-primary:#3b82f6;--accent-gradient:linear-gradient(135deg,#3b82f6,#2563eb);--accent-hover:#1d4ed8;--overdue:#ef4444;--overdue-bg:#ef44441a;--soon:#f59e0b;--soon-bg:#f59e0b1a;--success:#10b981;--success-bg:#10b9811a;--radius-lg:20px;--radius-md:12px;--radius-sm:8px;--shadow-sm:0 2px 8px #0f172a0a;--shadow-md:0 10px 30px #0f172a0f;--shadow-lg:0 20px 40px #0f172a1a;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}[data-theme=dark]{--bg-body:#0f172a;--bg-gradient:radial-gradient(ellipse at top,#1e293b 0%,#0f172a 100%);--card-bg:#1e293b;--card-border:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--input-bg:#0f172a;--input-border:#334155;--accent-primary:#60a5fa;--accent-gradient:linear-gradient(135deg,#3b82f6,#6366f1);--accent-hover:#60a5fa;--shadow-sm:0 2px 8px #0003;--shadow-md:0 10px 30px #00000059;--shadow-lg:0 20px 40px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#eff6ff,#f1f5f9 50%,#e0e7ff);background:var(--bg-gradient);background-attachment:fixed;color:#0f172a;color:var(--text-primary);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;min-height:100vh;padding:2rem 1rem;transition:background .3s ease,color .3s ease}.app{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 20px 40px #0f172a1a;box-shadow:var(--shadow-lg);margin:0 auto;max-width:900px;padding:2.5rem;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.app-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--card-border);flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:2rem}.app-header,.header-brand{align-items:center;display:flex}.header-brand{gap:1rem}.logo-icon{align-items:center;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 8px 16px #3b82f640;color:#fff;display:flex;font-size:2rem;height:52px;justify-content:center;width:52px}.header-brand h1,.logo-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--accent-gradient)}.header-brand h1{-webkit-text-fill-color:#0000;-webkit-background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:-.5px;margin:0}.subtitle{color:#94a3b8;color:var(--text-muted);font-size:.88rem;font-weight:500}.header-right{flex-wrap:wrap;gap:1rem}.header-right,.stats-pill{align-items:center;display:flex}.stats-pill{background:#f8fafc;background:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:999px;color:#475569;color:var(--text-secondary);font-size:.85rem;gap:.5rem;padding:.4rem .9rem}.stat-item strong{color:#3b82f6;color:var(--accent-primary)}.stat-divider{color:#94a3b8;color:var(--text-muted)}.theme-toggle-pill{align-items:center;background:#f8fafc;background:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:999px;cursor:pointer;display:inline-flex;gap:.6rem;padding:.35rem .75rem .35rem .4rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.theme-toggle-pill:hover{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 12px #3b82f626}.pill-track{align-items:center;background:#e2e8f0;background:var(--card-border);border-radius:999px;display:flex;height:24px;justify-content:space-between;padding:0 4px;position:relative;transition:background .3s ease;width:48px}.theme-toggle-pill.dark .pill-track{background:#3b82f6}.pill-icon{font-size:11px;-webkit-user-select:none;user-select:none;z-index:1}.pill-thumb{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:20px;left:2px;position:absolute;top:2px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:20px}.theme-toggle-pill.dark .pill-thumb{background:#0f172a;transform:translateX(24px)}.pill-label{color:#475569;color:var(--text-secondary);font-size:.82rem;font-weight:600}.notif-bell-btn{align-items:center;background:#f8fafc;background:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:50%;cursor:pointer;display:flex;font-size:1.1rem;height:40px;justify-content:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:40px}.notif-bell-btn:hover{background:#e2e8f0;background:var(--card-border);transform:scale(1.05)}.notif-bell-btn.has-unread{animation:pulse 2s infinite;border-color:#3b82f6;border-color:var(--accent-primary)}@keyframes pulse{0%{box-shadow:0 0 0 0 #3b82f666}70%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 0 0 #3b82f600}}.notif-badge{background:#ef4444;background:var(--overdue);border:2px solid #fff;border:2px solid var(--card-bg);border-radius:999px;color:#fff;font-size:.72rem;font-weight:700;padding:2px 6px;position:absolute;right:-4px;top:-4px}.add-task-form{background:#f8fafc;background:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);margin-bottom:2.5rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.form-title{align-items:center;color:#0f172a;color:var(--text-primary);display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;margin-bottom:1.2rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.2rem}.field{display:flex;flex-direction:column;gap:.4rem}.field-full{grid-column:1/-1}.label{color:#475569;color:var(--text-secondary);font-size:.85rem;font-weight:600}.required{color:#ef4444;color:var(--overdue)}.input,.select-input,.textarea{background:#fff;background:var(--card-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.input:focus,.select-input:focus,.textarea:focus{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f62e;outline:none}.textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--accent-gradient);border:none;border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 4px 12px #3b82f640;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.8rem 1.8rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-primary:hover{box-shadow:0 6px 20px #3b82f659;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.task-controls{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2rem}.search-box{position:relative;width:100%}.search-icon{color:#94a3b8;color:var(--text-muted);font-size:1rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:#f8fafc;background:var(--input-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.8rem 2.8rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.search-input:focus{background:#fff;background:var(--card-bg);border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f62e;outline:none}.clear-search{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:.9rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.filters{background:#f8fafc;background:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);padding:.3rem}.filter-btn,.filters{display:flex;gap:.4rem}.filter-btn{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);cursor:pointer;font-size:.88rem;font-weight:600;padding:.5rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.filter-btn.active{background:#fff;background:var(--card-bg);box-shadow:0 2px 8px #0f172a0a;box-shadow:var(--shadow-sm);color:#3b82f6;color:var(--accent-primary)}.filter-badge{background:#94a3b833;border-radius:999px;font-size:.75rem;padding:.1rem .45rem}.filter-btn.active .filter-badge{background:#3b82f626}.priority-filter{align-items:center;display:flex;gap:.6rem}.priority-label{color:#475569;color:var(--text-secondary);font-size:.88rem;font-weight:600}.priority-select{background:#f8fafc;background:var(--input-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-family:inherit;font-size:.88rem;padding:.5rem .9rem}.task-cards-list{display:flex;flex-direction:column;gap:1rem}.task-card{background:#fff;background:var(--card-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--card-border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0f172a0a;box-shadow:var(--shadow-sm);padding:1.3rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.task-card:hover{border-color:#3b82f64d;box-shadow:0 10px 30px #0f172a0f;box-shadow:var(--shadow-md);transform:translateY(-3px)}.task-card.is-completed{opacity:.78}.task-card.is-overdue{border-left:4px solid #ef4444;border-left:4px solid var(--overdue)}.title-row{gap:1rem;justify-content:space-between;margin-bottom:.6rem}.title-container,.title-row{align-items:center;display:flex}.title-container{flex:1 1;gap:.9rem}.checkbox-wrapper{align-items:center;cursor:pointer;display:inline-flex;position:relative}.checkbox-input{cursor:pointer;opacity:0;position:absolute}.custom-checkbox{align-items:center;background:#fff;background:var(--card-bg);border:2px solid #cbd5e1;border:2px solid var(--input-border);border-radius:6px;display:flex;height:22px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:22px}.checkbox-input:checked~.custom-checkbox,.checkbox-wrapper:hover .custom-checkbox{border-color:#3b82f6;border-color:var(--accent-primary)}.checkbox-input:checked~.custom-checkbox{background:#3b82f6;background:var(--accent-primary)}.checkbox-input:checked~.custom-checkbox:after{color:#fff;content:"✓";font-size:14px;font-weight:700}.title-heading-group{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.task-title{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:700;transition:color .3s ease}.task-title.completed{color:#94a3b8;color:var(--text-muted);text-decoration:line-through}.priority-badge{border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.5px;padding:.25rem .65rem;text-transform:uppercase}.priority-badge.priority-high{background:#ef44441a;background:var(--overdue-bg);border:1px solid #ef444433;color:#ef4444;color:var(--overdue)}.priority-badge.priority-medium{background:#f59e0b1a;background:var(--soon-bg);border:1px solid #f59e0b33;color:#f59e0b;color:var(--soon)}.priority-badge.priority-low{background:#10b9811a;background:var(--success-bg);border:1px solid #10b98133;color:#10b981;color:var(--success)}.task-actions{align-items:center;display:flex;gap:.3rem}.action-btn{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;padding:.4rem .6rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.action-btn:hover{background:#f8fafc;background:var(--input-bg);transform:scale(1.15)}.delete-btn:hover{background:#ef44441a;background:var(--overdue-bg)}.task-body{padding-left:2.3rem}.description-text{color:#475569;color:var(--text-secondary);font-size:.93rem;margin-bottom:.8rem;white-space:pre-wrap}.task-meta-bar{align-items:center;display:flex;flex-wrap:wrap;font-size:.84rem;gap:.8rem;justify-content:space-between;padding-top:.4rem}.due-date-tag{background:#f8fafc;background:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);font-weight:600;padding:.25rem .6rem}.due-date-tag.overdue-tag{background:#ef44441a;background:var(--overdue-bg);border-color:#ef444433;color:#ef4444;color:var(--overdue)}.status-indicator{align-items:center;color:#475569;color:var(--text-secondary);display:flex;font-size:.82rem;font-weight:600;gap:.4rem}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.active{background:#3b82f6;background:var(--accent-primary)}.status-dot.completed{background:#10b981;background:var(--success)}.status-dot.overdue{background:#ef4444;background:var(--overdue)}.editable-title{font-size:1.05rem;font-weight:600}.editable-text{font-size:.9rem;margin-bottom:.8rem}.edit-fields-row{align-items:center;display:flex;gap:.5rem}.date-input,.priority-select-input{font-size:.85rem;padding:.4rem .7rem}.empty-state{background:#f8fafc;background:var(--input-bg);border:2px dashed #e2e8f0;border:2px dashed var(--card-border);border-radius:12px;border-radius:var(--radius-md);padding:4rem 2rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{color:#0f172a;color:var(--text-primary);font-size:1.2rem;margin-bottom:.5rem}.empty-state p{font-size:.92rem}.app-footer,.empty-state p{color:#94a3b8;color:var(--text-muted)}.app-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--card-border);font-size:.85rem;margin-top:3rem;padding-top:1.5rem;text-align:center}@media (max-width:768px){.app{border-radius:0;padding:1.5rem}.app-header{align-items:flex-start;flex-direction:column}.header-right{justify-content:space-between;width:100%}.filter-row{align-items:stretch;flex-direction:column}.filters{justify-content:space-between;width:100%}.task-body{margin-top:.8rem;padding-left:0}}
/*# sourceMappingURL=main.c5a96e8e.css.map*/