/* Main Styles */ :root { --primary-color: #4a90e2; --secondary-color: #f5f5f5; --text-color: #333; --border-color: #ddd; } body { font-family: Arial, sans-serif; line-height: 1.6; margin: 0; padding: 0; color: var(--text-color); } .app-header { background: linear-gradient(135deg, var(--person-accent, #4a90e2) 0%, #2c5282 100%); } .persona-chip { min-height: 2.75rem; touch-action: manipulation; } .persona-chip.active { font-weight: 600; box-shadow: 0 0 0 0.15rem rgba(255, 255, 255, 0.35); } .family-hub-body .card { border-color: var(--border-color); } .chore-thumb { max-height: 180px; object-fit: cover; } .meal-hero { max-height: 320px; width: 100%; object-fit: cover; } .chore-card .card-body { display: flex; flex-direction: column; } .grocery-store-nav .nav-link { text-align: left; touch-action: manipulation; } .grocery-line-thumb { width: 56px; height: 56px; object-fit: cover; } .container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* Tab Styles */ .tabs { display: flex; border-bottom: 1px solid var(--border-color); margin-bottom: 20px; } .tab { padding: 10px 20px; cursor: pointer; border: 1px solid transparent; border-bottom: none; margin-right: 5px; } .tab.active { background: white; border-color: var(--border-color); border-bottom: 1px solid white; margin-bottom: -1px; } /* Mobile Responsive */ @media (max-width: 768px) { .container { padding: 10px; } .tabs { flex-direction: column; } .tab { margin-right: 0; margin-bottom: 5px; } }