.auth-header{text-align:center;margin-bottom:30px}.auth-header a{text-decoration:none;color:inherit}.auth-header h1{font-size:2.5rem;margin:0;color:var(--text-color)}.auth-header p{margin:5px 0 0;color:var(--text-color-light)}.auth-container{max-width:400px;margin:80px auto;padding:30px;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-background);box-shadow:var(--box-shadow)}.auth-form .form-group{margin-bottom:20px}.auth-form label{display:block;margin-bottom:5px;font-weight:700;color:var(--text-color-light)}.auth-form button{width:100%;padding:12px 15px;font-size:1.1em}.auth-link{text-align:center;margin-top:20px}.loading-state,.empty-state{text-align:center;color:var(--text-color-light);padding:40px;font-style:italic}.task-list-section h2{border-bottom:1px solid var(--border-color);padding-bottom:10px;margin-bottom:10px}.task-item{display:flex;gap:15px;align-items:center;padding:15px 5px;border-bottom:1px solid var(--border-color)}.task-item[data-completed=true] .task-title{text-decoration:line-through;color:var(--text-color-light)}.task-details{display:flex;flex-direction:column;gap:6px;flex-grow:1;min-width:0}.task-title{font-weight:500;color:var(--text-color)}.task-description{font-size:.9em;color:var(--text-color-light);margin:0}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8em;color:var(--text-color-light)}.tag-pill{background-color:#e0e0e0;border-radius:12px;padding:2px 8px;font-size:.9em;white-space:nowrap}.task-actions{display:flex;gap:8px;padding-top:2px}.filter-container{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:15px;margin-bottom:25px;box-shadow:var(--box-shadow)}.filter-bar{display:flex;align-items:center;gap:15px}.current-filters{margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color)}.filter-button{padding:8px 15px;border-radius:5px;border:1px solid var(--border-color);background-color:#fff;cursor:pointer;font-weight:500}.filter-button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filter-pill{display:inline-block;background-color:#e9ecef;border-radius:15px;padding:5px 12px;margin:0 5px 5px 0;font-size:.9em;font-weight:500}.filter-pill button{background:none;border:none;color:var(--text-color-light);margin-left:8px;cursor:pointer;font-weight:700}.menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:10px 15px;cursor:pointer}.menu-item:hover{background-color:#f0f0f0}.add-task-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;gap:15px;align-items:flex-end}.form-group{display:flex;flex-direction:column;gap:5px;flex-grow:1}.form-group label{font-size:.9em;font-weight:500;color:var(--text-color-light)}.recurrence-inputs{display:flex;gap:10px}.recurrence-inputs input{width:70px}@media (max-width: 768px){.form-row{flex-direction:column;align-items:stretch;gap:20px}}.tag-search-container{position:relative;width:250px}.tag-search-dropdown{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 5px 5px;list-style-type:none;padding:0;margin:0;max-height:150px;overflow-y:auto;z-index:100}.tag-search-dropdown li{padding:8px 12px;cursor:pointer}.tag-search-dropdown li:hover{background-color:#f0f0f0}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:20px 30px;border-radius:8px;box-shadow:0 5px 15px #0000004d;position:relative;min-width:400px}.modal-close{position:absolute;top:10px;right:10px;border:none;background:transparent;font-size:1.5rem;cursor:pointer}@media (max-width: 768px){.modal-content{min-width:0;width:90vw;padding:20px}}.fab{position:fixed;bottom:30px;right:30px;width:60px;height:60px;border-radius:50%;background-color:#007bff;color:#fff;font-size:2rem;border:none;box-shadow:0 4px 8px #0003;cursor:pointer;display:flex;justify-content:center;align-items:center;z-index:999}.custom-checkbox{display:block;position:relative;cursor:pointer;font-size:22px;-webkit-user-select:none;user-select:none;width:28px;height:28px;flex-shrink:0}.custom-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:25px;width:25px;background-color:var(--card-background);border:2px solid var(--border-color);border-radius:50%;transition:all .2s ease-in-out}.custom-checkbox:hover input~.checkmark{background-color:#eee}.custom-checkbox input:checked~.checkmark{background-color:var(--primary-color);border-color:var(--primary-color)}.checkmark:after{content:"";position:absolute;display:none}.custom-checkbox input:checked~.checkmark:after{display:block}.custom-checkbox .checkmark:after{left:9px;top:5px;width:5px;height:10px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg);animation:pop .2s ease-in-out}@keyframes pop{0%{transform:scale(0) rotate(45deg)}to{transform:scale(1) rotate(45deg)}}.kebab-menu{position:relative}.kebab-toggle{background:transparent;border:none;cursor:pointer;padding:5px;border-radius:50%;display:flex;align-items:center}.kebab-toggle:hover{background-color:#f0f0f0}.kebab-dropdown{position:absolute;top:100%;right:0;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);z-index:10;padding:5px 0;min-width:150px}.skeleton{background-color:#e0e0e0;border-radius:4px;position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#e0e0e0,#f0f0f0,#e0e0e0);animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.card h3{margin-top:0;border-bottom:1px solid var(--border-color);padding-bottom:10px;color:var(--text-color)}.card ul{list-style-type:none;padding:0}.list-item{display:flex;justify-content:space-between;align-items:center;padding:15px 5px;border-bottom:1px solid var(--border-color)}.item-details{flex-grow:1;display:flex;flex-direction:column;gap:4px}.list-item:last-child{border-bottom:none}.item-name{font-weight:500}.item-meta{font-size:.85em;color:var(--text-color-light)}.item-actions{display:flex;gap:10px}.card-form{display:flex;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.card-form input{flex-grow:1}.personal-household-info{text-align:center;padding:20px;color:var(--text-color-light);font-style:italic}.personal-household-info p{margin:5px 0}.item-details.clickable{cursor:pointer}.list-item.active{background-color:#e7f5ff;border-left:3px solid var(--primary-color);padding-left:10px}.user-menu{position:relative}.user-menu-toggle{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--border-radius);color:var(--text-color-light);font-weight:500}.user-menu-toggle:hover{background-color:#f0f0f0;color:var(--text-color)}.user-menu-dropdown{position:absolute;top:calc(100% + 5px);right:0;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);z-index:100;padding:8px 0;min-width:200px;display:flex;flex-direction:column}.user-menu-dropdown .dropdown-item{background:none;border:none;width:100%;text-align:left;padding:10px 15px;cursor:pointer;font-size:.9em;color:var(--text-color);text-decoration:none}.user-menu-dropdown .dropdown-item:hover{background-color:#f0f0f0}.navbar{display:flex;justify-content:space-between;align-items:center;padding:0 25px;background-color:var(--card-background);border-bottom:1px solid var(--border-color);height:60px}.navbar-section{display:flex;align-items:center;gap:20px}.navbar-brand{font-weight:700;font-size:1.5rem;color:var(--text-color);text-decoration:none}.nav-links{display:flex;gap:20px}.nav-link{text-decoration:none;color:var(--text-color-light);font-weight:500;padding:5px 0;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}.nav-link:hover{color:var(--text-color)}.nav-link.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.navbar-actions{display:flex;align-items:center;gap:15px}.user-email{color:var(--text-color-light);font-size:.9em}.logout-button{background-color:transparent;border:1px solid var(--border-color);padding:8px 15px;border-radius:5px;cursor:pointer}@media (max-width: 768px){.navbar-brand{display:none}}.main-content{max-width:960px;margin:20px auto;padding:0 20px}.landing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;background-color:var(--background-color)}.landing-header h1{font-size:4rem;margin-bottom:0}.landing-header p{font-size:1.2rem;color:var(--text-color-light);margin-top:5px}.landing-main{max-width:500px;margin-top:30px}.landing-actions{margin-top:40px;display:flex;gap:15px;justify-content:center}.btn{display:inline-block;padding:12px 25px;border-radius:var(--border-radius);text-decoration:none;font-weight:700;border:1px solid var(--border-color);background-color:#fff;color:var(--text-color)}.btn.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}:root{--primary-color: #007bff;--primary-hover-color: #0056b3;--danger-color: #dc3545;--danger-hover-color: #c82333;--background-color: #f4f5f7;--card-background: #ffffff;--text-color: #212529;--text-color-light: #6c757d;--border-color: #dee2e6;--border-radius: 8px;--box-shadow: 0 2px 5px rgba(0, 0, 0, .05)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color)}h1,h2,h3{color:#333}ul{list-style-type:none;padding:0}.card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px 25px;margin-bottom:25px;box-shadow:var(--box-shadow)}button{padding:8px 15px;border-radius:5px;border:1px solid var(--border-color);background-color:#f8f9fa;cursor:pointer;font-size:.9em;transition:all .2s ease-in-out}button:hover{border-color:#999;background-color:#e2e6ea}button.primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}button.primary:hover{background-color:var(--primary-hover-color);border-color:var(--primary-hover-color)}button.danger{background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}button.danger:hover{background-color:var(--danger-hover-color);border-color:var(--danger-hover-color)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select{padding:8px 12px;border:1px solid var(--border-color);border-radius:5px;font-size:1em;width:100%;box-sizing:border-box}.truncate-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
