@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s,color .3s,border-color .3s}:root{--primary: #4CAF50;--primary-dark: #388E3C;--primary-light: #C8E6C9;--background: #F5F5F5;--surface: #FFFFFF;--text: #333333;--text-secondary: #666666;--error: #F44336;--error-dark: #D32F2F;--border: #E0E0E0;--shadow: 0 2px 10px rgba(0, 0, 0, .08);--font-main: "Poppins", system-ui, -apple-system, sans-serif;--transition-speed: .3s}[data-theme=blue]{--primary: #2196F3;--primary-dark: #1976D2;--primary-light: #BBDEFB;--background: #E3F2FD;--surface: #FFFFFF;--text: #222222}[data-theme=dark]{--primary: #BB86FC;--primary-dark: #3700B3;--primary-light: #03DAC6;--background: #121212;--surface: #1E1E1E;--text: #EAEAEA;--text-secondary: #B0B0B0;--border: #333333;--shadow: 0 2px 10px rgba(0, 0, 0, .3)}[data-theme=pastel]{--primary: #FF6F61;--primary-dark: #FAD02E;--primary-light: #FFD3D0;--background: #FCEFEF;--surface: #FFFFFF;--text: #222222;--text-secondary: #FF9E7D;--error: #FF9E7D;--error-dark: #FF6F61;--border: #FFD3D0;--shadow: 0 4px 20px rgba(255, 111, 97, .1)}body{background-color:var(--background);color:var(--text);font-family:var(--font-main);line-height:1.6;min-height:100vh}h1,h2,h3{font-weight:600;letter-spacing:-.02em}h1{font-size:2.2rem;background:linear-gradient(90deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1.5rem;text-align:center;transition:all .3s ease}[data-theme=pastel] h1{background:linear-gradient(90deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 4px rgba(0,0,0,.1)}[data-theme=dark] h1{color:var(--primary-light);background:none;-webkit-background-clip:initial;background-clip:initial;text-shadow:0 0 10px rgba(3,218,198,.5)}.app{max-width:600px;margin:0 auto;padding:2rem 1rem;min-height:100vh}.todo-form{display:flex;gap:.75rem;margin-bottom:1.5rem}.todo-form input{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text);transition:all var(--transition-speed) ease}.todo-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.todo-form button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:1rem;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.todo-form button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.todo-select{width:100%;padding:.75rem 2rem .75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all var(--transition-speed) ease}.todo-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.todo-select option{padding:.5rem;background:var(--surface);color:var(--text)}.todo-select option:hover,.todo-select option:focus,.todo-select option:checked{background:var(--primary-light);color:var(--primary-dark)}.todo-select option:checked{background:var(--primary);color:#fff}.todo-list,.todo-list-container{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow)}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem}.todo-item{display:flex;align-items:center;padding:1rem;margin-bottom:.75rem;background:var(--surface);border-radius:8px;box-shadow:0 2px 4px #0000000d;transition:all var(--transition-speed) ease;animation:fadeIn .3s ease-out forwards}.todo-item.completed{opacity:.7}[data-theme=pastel] .todo-item{border-left:4px solid var(--primary-light);background:#ffffffe6}.select-group{position:relative;flex:1}.select-arrow{position:absolute;top:50%;right:1rem;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}[data-theme=pastel] .todo-select{border-left:3px solid var(--primary-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.todo-item input[type=checkbox]{width:1.2rem;height:1.2rem;margin-right:1rem;accent-color:var(--primary);cursor:pointer}[data-theme=pastel] input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--primary);border-radius:4px;position:relative}[data-theme=pastel] input[type=checkbox]:checked{background-color:var(--primary)}[data-theme=pastel] input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;left:50%;top:45%;transform:translate(-50%,-50%);font-size:12px}.todo-item span{flex:1;font-size:1rem;transition:all var(--transition-speed) ease}.todo-item.completed span{text-decoration:line-through;color:var(--text-secondary)}[data-theme=pastel] .todo-item.completed span{color:var(--primary-dark)}.todo-item button{padding:.5rem;background:none;border:none;color:var(--error);cursor:pointer;opacity:.7;transition:all .2s ease}.todo-item button:hover{opacity:1;transform:scale(1.1)}.todo-checkbox{width:1.2rem;height:1.2rem;margin-right:1rem;accent-color:var(--primary);cursor:pointer}.todo-content{flex:1;display:flex;flex-direction:column;gap:.3rem}.filter-buttons{display:flex;gap:.75rem;margin-bottom:1.5rem;justify-content:center}.filter-buttons button{padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:.9rem;transition:all .2s ease}.filter-buttons button.active{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=pastel] .filter-buttons button.active{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.filter-buttons button:hover{transform:translateY(-1px)}.filter-group{margin-bottom:1rem}.filter-group:last-child{margin-bottom:0}.filter-group h3{margin-bottom:.75rem;color:var(--text-secondary);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.filters-container{background:var(--surface);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.auth-page{max-width:400px;margin:2rem auto;padding:1rem}.auth-form{background:var(--surface);padding:2rem;border-radius:12px;box-shadow:var(--shadow)}[data-theme=pastel] .auth-form{background:#ffffffe6;border:1px solid var(--primary-light)}.auth-form h2{margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.auth-error{color:var(--error-dark);background-color:#f443361a;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.auth-switch{margin-top:1.5rem;text-align:center;color:var(--text-secondary)}.auth-switch a{color:var(--primary);text-decoration:none;font-weight:500}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.logout-btn{padding:.5rem 1rem;background:var(--error);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.logout-btn:hover{background:var(--error-dark);transform:translateY(-1px);box-shadow:0 2px 8px #f443364d}.theme-switcher{position:fixed;bottom:1.5rem;right:1.5rem;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);z-index:100;transition:all var(--transition-speed) ease}.theme-switcher:hover{transform:scale(1.1);background:var(--primary-dark)}.theme-icon{font-size:1.2rem;transition:transform .3s ease}.theme-switcher:hover .theme-icon{transform:rotate(20deg)}.theme-btn{width:28px;height:28px;border-radius:50%;border:2px solid var(--surface);cursor:pointer;transition:transform .2s}.theme-btn[data-theme=pastel]{background:linear-gradient(135deg,#ff6f61,#fad02e)}.theme-btn:hover{transform:scale(1.1)}[data-theme=pastel] .todo-item:hover{transform:translateY(-3px);box-shadow:0 4px 12px #ff6f6126}@keyframes pastelPulse{0%{box-shadow:0 0 #ff6f6166}70%{box-shadow:0 0 0 10px #ff6f6100}to{box-shadow:0 0 #ff6f6100}}.edit-container{display:flex;flex:1;gap:.5rem;align-items:center}.edit-input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text)}.edit-select{padding:.5rem;border:1px solid var(--border);border-radius:4px;min-width:100px;background:var(--surface);color:var(--text)}.save-btn{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer}.todo-actions{display:flex;gap:.5rem;margin-left:1rem}.todo-text{font-size:1rem;cursor:pointer}.todo-meta{display:flex;gap:.5rem;font-size:.8rem;color:var(--text-secondary)}.category-badge,.importance-badge{font-size:.7rem;padding:.2rem .6rem;border-radius:12px;text-transform:capitalize}.category-badge{background-color:var(--primary-light);color:var(--primary-dark)}.importance-badge{background-color:#e3f2fd;color:#1976d2}.importance-badge.high{background-color:#fff3e0;color:#e65100}.importance-badge.urgent{background-color:#ffebee;color:#c62828}.filter-dropdown{position:relative;margin-bottom:1rem}.filter-dropdown select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none}.filter-dropdown:after{content:"▼";position:absolute;top:50%;right:1rem;transform:translateY(-50%);pointer-events:none}.option-work{background-color:#4682b41a}.option-personal{background-color:#3cb3711a}.option-shopping{background-color:#ee82ee1a}.option-health{background-color:#ff63471a}.option-other{background-color:#a9a9a91a}@media (max-width: 480px){.app{padding:1.5rem 1rem}h1{font-size:1.8rem}.todo-form{flex-direction:column}.todo-form button{width:100%}.edit-container{flex-direction:column;align-items:stretch}.filter-buttons{overflow-x:auto;padding-bottom:.5rem}.filter-buttons button{white-space:nowrap}}
