.app{display:flex;flex-direction:column;min-height:100vh;background:#f3f4f6}.app-header{background:linear-gradient(135deg,#3B82F6 0%,#1F2937 100%);color:#fff;padding:1rem;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.app-header h1{font-size:1.5rem;margin:0;flex:1}.user-info{display:flex;align-items:center;gap:1rem}.user-name{font-weight:500}.logout-btn{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;transition:all .2s}.logout-btn:hover{background:rgba(255,255,255,.3)}.app-main{flex:1;padding:1rem;max-width:1200px;margin:0 auto;width:100%;padding-bottom:80px;overflow-y:auto}@media (max-width: 768px){.app-header{flex-direction:column;gap:.5rem;text-align:center}.app-header h1{font-size:1.25rem}.user-info{width:100%;justify-content:center}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3B82F6 0%,#1F2937 100%);padding:1rem}.login-card{background:white;border-radius:1rem;padding:2rem;box-shadow:0 20px 25px #0000001a;max-width:400px;width:100%}.login-card h1{text-align:center;font-size:2rem;margin-bottom:.5rem;color:#1f2937}.login-card h2{text-align:center;color:#6b7280;font-size:1.25rem;margin-bottom:1.5rem;font-weight:500}.login-card p{text-align:center;color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500;font-size:.875rem}.form-group select,.form-group input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.login-btn{width:100%;padding:.75rem;background:#3B82F6;color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.login-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.login-btn:disabled{opacity:.6;cursor:not-allowed}.init-btn{width:100%;padding:.75rem;background:#10b981;color:#fff;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.init-btn:hover:not(:disabled){background:#059669;transform:translateY(-2px)}.init-info{background:#f0fdf4;padding:1rem;border-radius:.375rem;margin-top:1rem;color:#166534;font-family:monospace;font-size:.875rem;line-height:1.8}.dashboard{animation:fadeIn .3s ease-in}.dashboard h2{font-size:1.875rem;color:#1f2937;margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:white;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px #00000012;display:flex;align-items:center;gap:1rem;transition:all .3s;border-left:4px solid}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 16px #0000001a}.stat-card.shopping{border-left-color:#f59e0b}.stat-card.tasks{border-left-color:#10b981}.stat-card.status{border-left-color:#8b5cf6}.stat-icon{font-size:2.5rem;min-width:60px;text-align:center}.stat-content h3{font-size:.875rem;color:#6b7280;text-transform:uppercase;margin-bottom:.5rem;font-weight:600}.stat-number{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.stat-label{font-size:.75rem;color:#9ca3af;margin:0}.info-section{background:white;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 6px #00000012}.members{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.member{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:.5rem;background:#f9fafb}.member.flo{border:2px solid #3B82F6}.member.micha{border:2px solid #EC4899}.member-icon{font-size:1.5rem}.member-info h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}.member-info p{margin:0;font-size:.75rem;color:#6b7280}.shopping-list{animation:fadeIn .3s ease-in}.shopping-list h2{font-size:1.875rem;color:#1f2937;margin-bottom:1.5rem}.input-text:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-number,.input-select{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-family:inherit;min-width:100px;transition:all .2s}.input-number:focus,.input-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-add{padding:.75rem 1.5rem;background:#3B82F6;color:#fff;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add:hover{background:#2563eb;transform:translateY(-2px)}.items-section{margin-bottom:2rem}.items-section h3{font-size:1.125rem;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.items-list{list-style:none;padding:0;margin:0}.item{background:white;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-bottom:.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.item:hover{box-shadow:0 4px 6px #00000012}.item.pending{border-left:4px solid #3B82F6}.item.completed{opacity:.7;background:#f9fafb;border-left:4px solid #10b981}.item-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#3B82F6}.item.completed .item-checkbox{accent-color:#10b981}.item-content{flex:1}.item-title{display:block;font-weight:500;color:#1f2937;margin-bottom:.25rem}.item.completed .item-title{text-decoration:line-through;color:#9ca3af}.item-meta{display:block;font-size:.875rem;color:#6b7280}.btn-delete{background:#ef4444;color:#fff;border:none;border-radius:.375rem;width:32px;height:32px;cursor:pointer;font-size:1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}@media (max-width: 640px){.form-row{flex-direction:column}.input-text,.input-number,.input-select{width:100%;min-width:unset}.item{flex-wrap:wrap}.item-content{width:100%;min-width:0}}.task-list{animation:fadeIn .3s ease-in}.task-list h2{font-size:1.875rem;color:#1f2937;margin-bottom:1.5rem}.add-form{background:white;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px #00000012;margin-bottom:2rem}.form-row{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.form-row:last-child{margin-bottom:0}.input-text{flex:1;min-width:200px;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;font-family:inherit;transition:all .2s}.input-text:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.input-select{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-family:inherit;min-width:120px;transition:all .2s}.input-select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.btn-add{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add:hover{background:#059669;transform:translateY(-2px)}.tasks-section{margin-bottom:2rem}.tasks-section h3{font-size:1.125rem;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.tasks-list{list-style:none;padding:0;margin:0}.task{background:white;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-bottom:.5rem;display:flex;align-items:flex-start;gap:1rem;transition:all .2s}.task:hover{box-shadow:0 4px 6px #00000012}.task.pending{border-left:4px solid #10b981}.task.completed{opacity:.7;background:#f9fafb;border-left:4px solid #6b7280}.task-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#10b981;margin-top:.25rem;flex-shrink:0}.task.completed .task-checkbox{accent-color:#6b7280}.task-content{flex:1;min-width:0}.task-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.task-title{font-weight:500;color:#1f2937;word-break:break-word}.task.completed .task-title{text-decoration:line-through;color:#9ca3af}.task-category{display:inline-block;background:#f3f4f6;color:#6b7280;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.task-assigned{font-size:.875rem;color:#6b7280;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.user-badge{display:inline-block;color:#fff;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;white-space:nowrap}.btn-delete{background:#ef4444;color:#fff;border:none;border-radius:.375rem;width:32px;height:32px;cursor:pointer;font-size:1rem;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-delete:hover{background:#dc2626;transform:scale(1.1)}.info-section h3{margin-bottom:1rem;color:#1f2937}.info-section p{color:#6b7280;line-height:1.6}@media (max-width: 640px){.form-row{flex-direction:column}.input-text,.input-select{width:100%;min-width:unset}.task-header{flex-direction:column;align-items:flex-start}.task-category{width:100%;justify-content:flex-start}}.household-status{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.household-status h2{font-size:1.875rem;color:#1f2937;margin-bottom:1.5rem}.status-section{margin-bottom:2rem}.status-section h3{font-size:1.125rem;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.empty{color:#9ca3af;text-align:center;padding:2rem 1rem;background:#f9fafb;border-radius:.5rem}.status-list{list-style:none;padding:0;margin:0}.status-item{background:white;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.status-item:hover{box-shadow:0 4px 6px #00000012}.status-item.active{border-left:4px solid #ef4444;background:#fef2f2}.status-item.inactive{border-left:4px solid #e5e7eb}.status-toggle{width:48px;height:48px;border-radius:50%;border:2px solid;background:white;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-toggle.active{border-color:#ef4444;color:#ef4444;background:#fef2f2}.status-toggle.inactive{border-color:#d1d5db;color:#d1d5db}.status-toggle:hover{transform:scale(1.1)}.status-toggle.active:hover{background:#fee2e2;border-color:#dc2626;color:#dc2626}.status-toggle.inactive:hover{border-color:#9ca3af;color:#9ca3af}.status-content{flex:1}.status-content h4{margin:0 0 .5rem;color:#1f2937;font-size:1rem}.status-info{margin:0;font-size:.875rem;color:#6b7280}.status-time{margin:.25rem 0 0;font-size:.75rem;color:#9ca3af}.info-section{background:white;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px #00000012;margin-top:2rem}.info-section h3{margin-bottom:1rem;color:#1f2937;border:none;padding-bottom:0}.info-section p{color:#6b7280;line-height:1.6;margin:0}.error-message{background:#fee2e2;color:#991b1b;padding:.75rem;border-radius:.375rem;margin-bottom:1rem;font-size:.875rem;border-left:4px solid #dc2626}.loading{text-align:center;color:#6b7280;padding:2rem}.navigation{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #e5e7eb;display:flex;justify-content:space-around;padding:.5rem 0;z-index:50;box-shadow:0 -2px 10px #0000000d}.nav-btn{flex:1;background:none;border:none;padding:.75rem .5rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:#9ca3af;transition:all .2s;font-size:.75rem}.nav-btn:hover{color:#6b7280}.nav-btn.active{color:#3b82f6}.nav-icon{font-size:1.5rem;display:block}.nav-label{font-size:.625rem;font-weight:500;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.navigation{bottom:auto;top:0;left:0;width:200px;height:100vh;flex-direction:column;padding:1rem 0;border:none;border-right:1px solid #e5e7eb;justify-content:flex-start}.nav-btn{padding:1rem;border-radius:.375rem;margin:0 .5rem;flex-direction:row;gap:.75rem}.nav-label{font-size:.875rem;text-align:left}.nav-icon{font-size:1.25rem}.app-main{margin-left:200px}}@media (max-width: 640px){.nav-label{display:none}.nav-btn{padding:.5rem .25rem;gap:.125rem}.nav-icon{font-size:1.25rem}}
