*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}#root{min-height:100vh}.auth-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem}.auth-box{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:3rem;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d}.auth-title{font-size:3rem;font-weight:700;color:#667eea;margin:0 0 .5rem;text-align:center}.auth-subtitle{text-align:center;color:#666;margin:0 0 2rem;font-size:1rem;font-weight:500}.auth-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#f5f5f5;padding:.5rem;border-radius:12px}.auth-tabs button{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;font-size:1rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s}.auth-tabs button.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #0000001a}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-error{padding:1rem;background:#ffe0e0;border:2px solid #ff4757;border-radius:10px;color:#c0392b;text-align:center;font-weight:500}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:600;color:#333}.form-group input{padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s;outline:none}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.auth-submit{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #667eea66}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:.5rem 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.divider span{padding:0 1rem;color:#999;font-size:.85rem;font-weight:600}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:#fff;color:#333;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0000001a}.google-login-btn:hover:not(:disabled){background:#f8f9fa;border-color:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.google-login-btn svg{width:24px;height:24px}@media(max-width:768px){.auth-container{padding:1rem}.auth-box{padding:2rem 1.5rem;border-radius:16px}.auth-title{font-size:2.25rem}.auth-subtitle{font-size:.95rem;margin-bottom:1.5rem}.auth-tabs{margin-bottom:1.5rem}.auth-tabs button{padding:.65rem .875rem;font-size:.95rem}.auth-form{gap:1.25rem}.form-group input{padding:.875rem;font-size:1rem}.auth-submit{padding:.875rem 1.5rem;font-size:1rem}.auth-error{padding:.875rem;font-size:.9rem}}@media(max-width:480px){.auth-box{padding:1.75rem 1.25rem}.auth-title{font-size:2rem}.auth-subtitle{font-size:.9rem}.auth-tabs button{padding:.6rem .75rem;font-size:.9rem}.form-group label{font-size:.85rem}.form-group input{padding:.75rem;font-size:.95rem}.auth-submit{padding:.8rem 1.25rem;font-size:.95rem}}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;overflow:hidden}.sidebar{width:280px;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:2px 0 20px #0000001a;display:flex;flex-direction:column;padding:1.5rem;overflow-y:auto}.sidebar-header{margin-bottom:2rem}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.sidebar-title{font-size:1.8rem;font-weight:700;color:#667eea;margin:0}.theme-toggle{width:36px;height:36px;border:none;border-radius:8px;background:#f5f5f5;font-size:1.2rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000001a}.theme-toggle:hover{background:#e5e5e5;transform:rotate(20deg) scale(1.1)}.user-info{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f5f5f5;border-radius:10px}.username{font-size:.9rem;font-weight:600;color:#666}.logout-btn{background:#ff4757;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.75rem;font-weight:600;box-shadow:0 2px 6px #ff475740}.logout-btn:hover{background:#ff3838;transform:translateY(-1px);box-shadow:0 3px 10px #ff475759}.logout-icon{font-size:1rem;font-weight:700}.logout-text{letter-spacing:.2px}.lists-container{flex:1;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.list-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border:2px solid #f0f0f0;border-radius:12px;cursor:pointer;transition:all .3s}.list-item:hover{border-color:#667eea;transform:translate(4px)}.list-item.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;box-shadow:0 4px 12px #667eea66}.list-info{display:flex;align-items:center;gap:.75rem;flex:1}.list-icon{font-size:1.5rem}.list-item.active .list-icon{filter:brightness(1.2)}.list-name{font-size:1rem;font-weight:600}.list-delete-btn{width:24px;height:24px;background:transparent;border:none;font-size:1.5rem;color:#999;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0}.list-delete-btn:hover{background:#ff47571a;color:#ff4757}.list-item.active .list-delete-btn{color:#ffffffb3}.list-item.active .list-delete-btn:hover{background:#fff3;color:#fff}.add-list-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #667eea4d}.add-list-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.new-list-form{display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto;padding:.5rem}.new-list-input{padding:.75rem;border:2px solid #667eea;border-radius:8px;font-size:.95rem;outline:none}.icon-picker-section{display:flex;flex-direction:column;gap:.5rem}.picker-label{font-size:.85rem;font-weight:600;color:#666}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.4rem}.icon-option{width:32px;height:32px;border:2px solid #e0e0e0;border-radius:6px;background:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.icon-option:hover{border-color:#667eea;transform:scale(1.1)}.icon-option.selected{border-color:#667eea;background:#667eea;box-shadow:0 2px 8px #667eea66;transform:scale(1.15)}.new-list-actions{display:flex;gap:.5rem}.new-list-save,.new-list-cancel{flex:1;padding:.75rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s}.new-list-save{background:#667eea;color:#fff}.new-list-save:hover{background:#5568d3}.new-list-cancel{background:#f0f0f0;color:#666}.new-list-cancel:hover{background:#e0e0e0}.main-content{flex:1;padding:2rem;overflow-y:auto;display:flex;flex-direction:column}.content-header{margin-bottom:2rem}.content-title{font-size:2.5rem;font-weight:700;color:#fff;margin:0;display:flex;align-items:center;gap:1rem;text-shadow:0 2px 10px rgba(0,0,0,.2)}.content-title span{font-size:3rem}.task-form{display:flex;gap:.75rem;margin-bottom:2rem}.task-input{flex:1;padding:1rem 1.25rem;border:2px solid rgba(255,255,255,.3);border-radius:12px;font-size:1rem;transition:all .3s;background:#fffffff2;color:#333}.task-input:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #fff3;background:#fff}.task-input::placeholder{color:#999}.add-button{padding:1rem 2rem;background:#fff;color:#667eea;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #0003}.add-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.add-button:disabled{opacity:.6;cursor:not-allowed}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#fff3;padding:.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filter-tabs button{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#fffc;cursor:pointer;transition:all .3s}.filter-tabs button.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #0003}.task-list{display:flex;flex-direction:column;gap:.75rem}.task-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:#fffffff2;border:2px solid transparent;border-radius:12px;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.task-item:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translate(4px)}.task-content{display:flex;align-items:center;gap:1rem;flex:1}.task-checkbox{width:24px;height:24px;cursor:pointer;accent-color:#667eea}.task-title{font-size:1rem;color:#333;font-weight:500;cursor:pointer;flex:1}.task-title:hover{color:#667eea}.task-item.completed .task-title{text-decoration:line-through;color:#999}.task-edit-input{flex:1;padding:.5rem;border:2px solid #667eea;border-radius:6px;font-size:1rem;font-weight:500;outline:none;background:#fff}.task-actions{display:flex;gap:.5rem}.edit-button,.save-button,.cancel-button,.delete-button{width:32px;height:32px;border:none;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.edit-button{background:#4facfe;color:#fff}.edit-button:hover{background:#3a9ae5;transform:scale(1.1)}.save-button{background:#43e97b;color:#fff}.save-button:hover{background:#32d66a;transform:scale(1.1)}.cancel-button{background:#feca57;color:#fff}.cancel-button:hover{background:#e5b14f;transform:scale(1.1)}.delete-button{background:#ff4757;color:#fff;font-size:1.5rem;font-weight:300}.delete-button:hover{background:#ff3838;transform:scale(1.1)}.empty-state{text-align:center;color:#fffc;padding:3rem 1rem;font-size:1rem;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.empty-state-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.empty-state-main h2{font-size:2rem;margin-bottom:.5rem}.empty-state-main p{font-size:1.1rem;opacity:.8}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:20px;padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{font-size:1.5rem;font-weight:700;color:#667eea;margin:0 0 1rem;text-align:center}.modal-message{font-size:1rem;color:#666;margin:0 0 2rem;text-align:center;line-height:1.6}.modal-actions{display:flex;gap:1rem}.modal-confirm-btn,.modal-cancel-btn{flex:1;padding:1rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.modal-confirm-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.modal-confirm-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.modal-cancel-btn{background:#f0f0f0;color:#666}.modal-cancel-btn:hover{background:#e0e0e0}.app.dark-mode{background:linear-gradient(135deg,#1a1a2e,#16213e)}.dark-mode .sidebar{background:#1e1e2efa;box-shadow:2px 0 20px #00000080}.dark-mode .sidebar-title{color:#8b9bea}.dark-mode .theme-toggle{background:#2a2a3e;color:gold}.dark-mode .theme-toggle:hover{background:#3a3a4e}.dark-mode .user-info{background:#2a2a3e}.dark-mode .username{color:#b0b0c0}.dark-mode .list-item{background:#2a2a3e;border-color:#3a3a4e;color:#e0e0e0}.dark-mode .list-item:hover{border-color:#8b9bea}.dark-mode .list-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dark-mode .list-delete-btn{color:#888}.dark-mode .list-delete-btn:hover{background:#ff475733;color:#ff6b7a}.dark-mode .new-list-input{background:#2a2a3e;border-color:#8b9bea;color:#e0e0e0}.dark-mode .picker-label{color:#b0b0c0}.dark-mode .icon-option{background:#2a2a3e;border-color:#3a3a4e}.dark-mode .icon-option:hover{border-color:#8b9bea}.dark-mode .icon-option.selected{background:#667eea;border-color:#667eea}.dark-mode .new-list-cancel{background:#2a2a3e;color:#b0b0c0}.dark-mode .new-list-cancel:hover{background:#3a3a4e}.dark-mode .main-content{background:#1e1e2ef2;box-shadow:0 0 30px #00000080}.dark-mode .content-title{color:#e0e0e0}.dark-mode .content-subtitle{color:#888}.dark-mode .task-input{background:#2a2a3e;border-color:#3a3a4e;color:#e0e0e0}.dark-mode .task-input:focus{border-color:#8b9bea}.dark-mode .task-input::placeholder{color:#666}.dark-mode .add-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dark-mode .add-button:hover:not(:disabled){background:linear-gradient(135deg,#7688f0,#8659b0)}.dark-mode .filter-tabs button{color:#888}.dark-mode .filter-tabs button.active{color:#8b9bea;border-bottom-color:#8b9bea}.dark-mode .filter-tabs button:hover{color:#b0b0c0}.dark-mode .task-item{background:#2a2a3e;border-color:#3a3a4e}.dark-mode .task-item:hover{border-color:#667eea;background:#323249}.dark-mode .task-title{color:#e0e0e0}.dark-mode .task-title:hover{color:#8b9bea}.dark-mode .task-item.completed .task-title{color:#666}.dark-mode .task-edit-input{background:#1a1a2e;color:#e0e0e0;border-color:#8b9bea}.dark-mode .empty-state,.dark-mode .empty-state-main{color:#888}.dark-mode .modal-overlay{background:#000000b3}.dark-mode .modal-content{background:#2a2a3e}.dark-mode .modal-title{color:#e0e0e0}.dark-mode .modal-message{color:#b0b0c0}.dark-mode .modal-cancel-btn{background:#1a1a2e;color:#b0b0c0}.dark-mode .modal-cancel-btn:hover{background:#252538}.mobile-menu-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;width:48px;height:48px;border:none;border-radius:12px;background:#fffffff2;color:#667eea;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s}.mobile-menu-toggle:hover{background:#fff;transform:scale(1.05)}.mobile-menu-toggle:active{transform:scale(.95)}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.mobile-close-btn{display:none;position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:none;border-radius:8px;background:#f5f5f5;color:#666;font-size:1.5rem;cursor:pointer;transition:all .3s;z-index:10}.mobile-close-btn:hover{background:#e5e5e5;transform:rotate(90deg)}.dark-mode .mobile-menu-toggle{background:#2a2a3ef2;color:#8b9bea}.dark-mode .mobile-menu-toggle:hover{background:#2a2a3e}.dark-mode .mobile-close-btn{background:#1a1a2e;color:#b0b0c0}.dark-mode .mobile-close-btn:hover{background:#252538}@media(max-width:768px){.app{flex-direction:column}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.mobile-overlay,.mobile-close-btn{display:block}.sidebar{position:fixed;top:0;left:-100%;width:85%;max-width:320px;height:100vh;z-index:1000;transition:left .3s ease;padding-top:4rem}.sidebar.mobile-open{left:0;box-shadow:4px 0 20px #0000004d}.main-content{width:100%;padding:5rem 1rem 1rem;margin-left:0}.content-header{flex-direction:column;align-items:flex-start;gap:1rem}.content-title{font-size:1.75rem}.content-title span{font-size:2rem}.task-form{flex-direction:column;gap:.75rem}.task-input{font-size:1rem}.add-button{width:100%;padding:.875rem;font-size:1rem}.filter-tabs{gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-tabs button{font-size:.875rem;padding:.5rem 1rem;white-space:nowrap}.tasks-list{gap:.75rem}.task-item{padding:1rem}.task-title{font-size:.95rem}.delete-button{width:32px;height:32px;font-size:1.25rem}.task-edit-buttons{gap:.5rem}.task-edit-buttons button{padding:.5rem .875rem;font-size:.875rem}.new-list-form{padding:1rem}.icon-grid{grid-template-columns:repeat(6,1fr);gap:.5rem}.icon-grid button{width:40px;height:40px;font-size:1.25rem}.modal-content{width:90%;max-width:360px;padding:1.5rem;margin:1rem}.modal-title{font-size:1.25rem}.modal-message{font-size:.95rem}.modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-actions button{width:100%;padding:.875rem}.empty-state,.empty-state-main{font-size:2rem;padding:2rem 1rem}.username{font-size:.85rem}.logout-btn{padding:.35rem .6rem;font-size:.7rem}.sidebar-title{font-size:1.5rem}.theme-toggle{width:32px;height:32px;font-size:1rem}.list-item{padding:.875rem}.list-icon{font-size:1.25rem}.list-name{font-size:.95rem}.list-delete-btn{width:28px;height:28px;font-size:1.25rem}.add-list-button{padding:.875rem;font-size:.95rem}}@media(max-width:480px){.mobile-menu-toggle{width:44px;height:44px;font-size:1.35rem}.sidebar{width:90%}.content-title{font-size:1.5rem}.content-title span{font-size:1.75rem}.icon-grid{grid-template-columns:repeat(5,1fr)}.modal-content{width:95%;padding:1.25rem}}@media(max-width:896px)and (orientation:landscape){.sidebar{max-width:280px}.main-content{padding:4rem 1.5rem 1rem}}
