body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#f0f2f5;--surface:#fff;--border:#e5e7eb;--text:#111827;--text-muted:#6b7280;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#ede9fe;--danger:#ef4444;--danger-hover:#dc2626;--success:#10b981;--priority-low:#10b981;--priority-medium:#f59e0b;--priority-high:#ef4444;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);--radius:10px;--radius-sm:6px;--transition:0.2s ease}body.dark{--bg:#0f172a;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--primary:#818cf8;--primary-hover:#6366f1;--primary-light:#1e1b4b;--danger:#f87171;--danger-hover:#ef4444;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 6px rgba(0,0,0,.4)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f0f2f5;background:var(--bg);color:#111827;color:var(--text);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;min-height:100vh;transition:background .2s ease,color .2s ease;transition:background var(--transition),color var(--transition)}.navbar{background:#4f46e5;background:var(--primary);box-shadow:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);box-shadow:var(--shadow-md);height:56px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{color:#fff;font-size:1.2rem;font-weight:700;gap:8px;letter-spacing:.3px}.brand-check{background:hsla(0,0%,100%,.2);border-radius:8px;display:inline-flex;font-size:.9rem;font-weight:800;height:28px;width:28px}.brand-check,.dark-toggle{align-items:center;justify-content:center}.dark-toggle{background:hsla(0,0%,100%,.15);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;transition:background .2s ease;transition:background var(--transition);width:36px}.dark-toggle:hover{background:hsla(0,0%,100%,.28)}.todo-container{flex:1 1;margin:32px auto;max-width:600px;padding:0 16px 48px;width:100%}.todo-input-form{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);box-shadow:var(--shadow-md);margin-bottom:20px;overflow:hidden}.todo-input-row{display:flex}.todo-input{background:transparent;border:none;color:#111827;color:var(--text);flex:1 1;font-size:.975rem;outline:none;padding:14px 16px}.todo-input::-webkit-input-placeholder{color:#6b7280;color:var(--text-muted)}.todo-input:-ms-input-placeholder{color:#6b7280;color:var(--text-muted)}.todo-input::placeholder{color:#6b7280;color:var(--text-muted)}.todo-add-btn{background:#4f46e5;background:var(--primary);border:none;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:0 22px;transition:background .2s ease,opacity .2s ease;transition:background var(--transition),opacity var(--transition);white-space:nowrap}.todo-add-btn:hover:not(:disabled){background:#4338ca;background:var(--primary-hover)}.todo-add-btn:disabled{cursor:not-allowed;opacity:.5}.todo-input-extras{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;padding:10px 16px 14px}.extras-label{color:#6b7280;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-right:4px;text-transform:uppercase}.priority-group{align-items:center;display:flex;gap:6px}.priority-chip{background:transparent;border:1.5px solid #e5e7eb;border:1.5px solid var(--border);border-radius:20px;color:#6b7280;color:var(--text-muted);cursor:pointer;font-size:.78rem;font-weight:600;padding:4px 12px;text-transform:capitalize;transition:all .2s ease;transition:all var(--transition)}.priority-chip.priority-low.selected{background:color-mix(in srgb,#10b981 12%,transparent);background:color-mix(in srgb,var(--priority-low) 12%,transparent);border-color:#10b981;border-color:var(--priority-low);color:#10b981;color:var(--priority-low)}.priority-chip.priority-medium.selected{background:color-mix(in srgb,#f59e0b 12%,transparent);background:color-mix(in srgb,var(--priority-medium) 12%,transparent);border-color:#f59e0b;border-color:var(--priority-medium);color:#f59e0b;color:var(--priority-medium)}.priority-chip.priority-high.selected{background:color-mix(in srgb,#ef4444 12%,transparent);background:color-mix(in srgb,var(--priority-high) 12%,transparent);border-color:#ef4444;border-color:var(--priority-high);color:#ef4444;color:var(--priority-high)}.priority-chip:hover:not(.selected){border-color:#6b7280;border-color:var(--text-muted);color:#111827;color:var(--text)}.date-label{align-items:center;display:flex;gap:6px}.date-input{background:transparent;border:1.5px solid #e5e7eb;border:1.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#111827;color:var(--text);cursor:pointer;font-size:.83rem;padding:4px 10px;transition:border-color .2s ease;transition:border-color var(--transition)}.date-input:focus{border-color:#4f46e5;border-color:var(--primary);outline:none}.todo-stats{margin-bottom:16px}.stats-row{align-items:baseline;display:flex;font-size:.83rem;justify-content:space-between;margin-bottom:6px}.stats-main{color:#6b7280;color:var(--text-muted);font-weight:500}.stats-high-priority{color:#ef4444;color:var(--priority-high);font-weight:600;margin-left:4px}.stats-pct{color:#4f46e5;color:var(--primary);font-size:.85rem;font-weight:700}.progress-bar{background:#e5e7eb;background:var(--border);border-radius:99px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4f46e5,#10b981);background:linear-gradient(90deg,var(--primary),var(--success));border-radius:99px;height:100%;transition:width .4s ease}.todo-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{font-size:.85rem;left:12px;opacity:.6;pointer-events:none;position:absolute}.search-input{background:#fff;background:var(--surface);border:1.5px solid #e5e7eb;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#111827;color:var(--text);font-size:.9rem;outline:none;padding:10px 36px;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.search-input:focus{border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,#4f46e5 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.search-input::-webkit-input-placeholder{color:#6b7280;color:var(--text-muted)}.search-input:-ms-input-placeholder{color:#6b7280;color:var(--text-muted)}.search-input::placeholder{color:#6b7280;color:var(--text-muted)}.search-input::-webkit-search-cancel-button{display:none}.search-clear{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;color:var(--text-muted);cursor:pointer;display:flex;font-size:.75rem;justify-content:center;line-height:1;padding:4px;position:absolute;right:10px;transition:color .2s ease;transition:color var(--transition)}.search-clear:hover{color:#111827;color:var(--text)}.filter-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.filter-tabs{background:#fff;background:var(--surface);border:1.5px solid #e5e7eb;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);display:flex;overflow:hidden}.filter-tab{background:none;border:none;color:#6b7280;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:500;padding:7px 16px;transition:background .2s ease,color .2s ease;transition:background var(--transition),color var(--transition)}.filter-tab:not(:last-child){border-right:1.5px solid #e5e7eb;border-right:1.5px solid var(--border)}.filter-tab.active{background:#4f46e5;background:var(--primary);color:#fff}.filter-tab:hover:not(.active){background:#ede9fe;background:var(--primary-light);color:#4f46e5;color:var(--primary)}.sort-select{background:#fff;background:var(--surface);border:1.5px solid #e5e7eb;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#111827;color:var(--text);cursor:pointer;font-size:.85rem;outline:none;padding:7px 10px;transition:border-color .2s ease;transition:border-color var(--transition)}.sort-select:focus{border-color:#4f46e5;border-color:var(--primary)}.filter-actions{display:flex;justify-content:flex-end}.clear-completed-btn{background:none;border:none;color:#6b7280;color:var(--text-muted);cursor:pointer;font-size:.82rem;padding:4px 2px;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease;transition:color var(--transition)}.clear-completed-btn:hover{color:#ef4444;color:var(--danger)}.todo-list{display:flex;flex-direction:column;gap:8px;list-style:none}.todo-item{align-items:center;-webkit-animation:slideIn .18s ease;animation:slideIn .18s ease;background:#fff;background:var(--surface);border:1.5px solid #e5e7eb;border:1.5px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.06);box-shadow:var(--shadow-sm);display:flex;gap:10px;padding:13px 14px;transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease;transition:opacity var(--transition),border-color var(--transition),box-shadow var(--transition)}.todo-item:hover{box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);box-shadow:var(--shadow)}.todo-item.completed{opacity:.55}.todo-item.overdue{border-color:#ef4444;border-color:var(--danger)}@-webkit-keyframes slideIn{0%{opacity:0;-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.priority-indicator{border-radius:99px;flex-shrink:0;height:36px;width:4px}.todo-checkbox{accent-color:#4f46e5;accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:18px;width:18px}.todo-content{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.todo-text{color:#111827;color:var(--text);cursor:default;font-size:.95rem;line-height:1.4;word-break:break-word}.todo-item.completed .todo-text{color:#6b7280;color:var(--text-muted);text-decoration:line-through}.todo-edit-input{background:transparent;border:none;border-bottom:2px solid #4f46e5;border-bottom:2px solid var(--primary);color:#111827;color:var(--text);font-size:.95rem;outline:none;padding:2px 0;width:100%}.due-badge{color:#6b7280;color:var(--text-muted);font-size:.75rem;font-weight:500}.due-badge.overdue{color:#ef4444;color:var(--danger);font-weight:600}.due-badge.today{color:#f59e0b;color:var(--priority-medium);font-weight:600}.todo-delete-btn{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#e5e7eb;color:var(--border);cursor:pointer;flex-shrink:0;font-size:.8rem;line-height:1;padding:4px 6px;transition:color .2s ease,background .2s ease;transition:color var(--transition),background var(--transition)}.todo-delete-btn:hover{background:color-mix(in srgb,#ef4444 10%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);color:#ef4444;color:var(--danger)}.todo-empty{color:#6b7280;color:var(--text-muted);padding:48px 24px;text-align:center}.empty-icon{font-size:2.4rem;margin-bottom:12px;opacity:.6}.todo-empty p{font-size:.95rem}.footer{background:#fff;background:var(--surface);border-top:1px solid #e5e7eb;border-top:1px solid var(--border);color:#6b7280;color:var(--text-muted);font-size:.82rem;padding:16px;text-align:center}@media (max-width:480px){.todo-container{margin:16px auto}.filter-row{align-items:stretch;flex-direction:column}.filter-tabs{justify-content:center}.sort-select{width:100%}}
/*# sourceMappingURL=main.82be277c.css.map*/