    .item-checked {
      text-decoration: line-through;
      opacity: 0.4;
    }
    .hide-checked .item-row-checked {
      display: none !important;
    }
    .hide-checked .dept-section:not(:has(.item-row:not(.item-row-checked))) {
      display: none !important;
    }
    .touch-target {
      min-height: 44px;
    }
    html.is-authenticated #authScreen {
      display: none !important;
    }
    html.is-authenticated #mainDashboard {
      display: block !important;
    }

    /* Main planner layout container: wide meal schedule column + dedicated grocery checklist sidebar */
    #tabMealPlan {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 340px; /* Spacious schedule on left, clean grocery sidebar on right */
      gap: 1.5rem;
      align-items: start;
      max-width: 100%;
      min-width: 0;
    }

    #tabMealPlan.hidden {
      display: none !important;
    }

    @media (max-width: 1100px) {
      #tabMealPlan {
        grid-template-columns: minmax(0, 1fr) 320px;
      }
    }

    @media (max-width: 1024px) {
      #tabMealPlan {
        grid-template-columns: minmax(0, 1fr); /* Stack vertically on smaller screens, allowing full shrink */
        gap: 1.25rem;
        max-width: 100%;
        min-width: 0;
      }
      #weeklyGroceryListSlot {
        position: static !important;
        max-width: 100%;
        min-width: 0;
      }
    }

    /* Lock weekly grocery list into its position at the top */
    #weeklyGroceryListSlot {
      position: static;
      align-self: start;
      max-width: 100%;
      min-width: 0;
    }

    #weeklyScheduleSection {
      min-width: 0;
      max-width: 100%;
      overflow-x: hidden;
    }

    #planContainer {
      min-width: 0;
      max-width: 100%;
    }

    #tabMealPlan > #multiStoreSection,
    #tabMealPlan > section:last-of-type {
      grid-column: 1 / -1;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }

    .preferences-card,
    #tabMealPlan > section:first-of-type {
      align-self: start;
      height: fit-content;
      max-width: 100%;
      min-width: 0;
    }

    /* Macro badge container: horizontal row of macro badges */
    .day-macro-container, 
    .macro-badge-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.375rem;
      align-items: center;
      max-width: 100%;
      min-width: 0;
    }

    /* Meal card action buttons: clean flex grouping inside card */
    .meal-card-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.5rem;
      max-width: 100%;
      min-width: 0;
    }

    /* Dietary Restrictions Lock Styles */
    #dietaryTags.dietary-locked .tag-btn {
      cursor: default;
      opacity: 0.85;
      pointer-events: auto;
    }
    #dietaryTags.dietary-locked .tag-btn:hover {
      opacity: 0.85;
      filter: brightness(0.95);
      border-color: #334155;
    }
    #dietaryTags:not(.dietary-locked) .tag-btn {
      cursor: pointer;
    }
    #dietaryTags:not(.dietary-locked) .tag-btn:hover {
      border-color: #10b981;
      color: #e2e8f0;
    }
    .tag-lock-btn {
      cursor: pointer;
      user-select: none;
      transition: all 0.2s ease;
    }
    .tag-lock-btn:hover {
      transform: scale(1.08);
    }
