2026.4.x creating border/blanks where conditional cards are

Install from 2026.3.4 > 2026.4.2
Everything else is also up to date

After the update I did a page refresh and all our dashboards have extra spaces that weren’t there before in places where there are conditional cards.

Before : 2026.3.4

After : 2026.4.2

Initially I thought it was card_mod, but the conditional gap between the tablet batteries and the Roborock button doesn’t use any css.

I did a search, but couldn’t find others having the same issue.

Also used in our dashboards:

kiosk mode
layout_card (33% 34% 33%)

Excerpt of the column code for reference:

square: false
columns: 1
type: grid
cards:
  - square: false
    columns: 1
    type: grid
    cards:
      - type: horizontal-stack
        cards:
          - type: custom:stack-in-card
            mode: vertical
            cards:
              - type: grid
                square: false
                columns: 1
                cards:
                  - type: horizontal-stack
                    cards:
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: toggle
                        entity: switch.smart_surge_strip_1_switch_5
                        name: USB
                        icon_height: 20px
                        icon: mdi:usb
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: none
                        entity: binary_sensor.myphone_new_is_charging
                        icon_height: 20px
                        name: " "
                      - type: custom:swipe-card
                        parameters:
                          effect: flip
                          spaceBetween: 1
                        start_card: 1
                        cards:
                          - type: button
                            show_icon: true
                            tap_action:
                              action: toggle
                            entity: switch.smart_surge_strip_4_switch_5
                            icon_height: 20px
                            show_state: false
                            name: Chi
                            icon: mdi:lightning-bolt-outline
                          - type: button
                            show_icon: true
                            tap_action:
                              action: toggle
                            entity: switch.smart_surge_strip_3_switch_4
                            icon_height: 20px
                            show_state: false
                            name: LR
                            icon: mdi:usb
                  - type: gauge
                    entity: sensor.myphone_new_battery_level
                    severity:
                      green: 25
                      yellow: 15
                      red: 0
                    min: 0
                    max: 100
                    needle: false
                    name: myphone Phone Batt
                    card_mod:
                      style: |
                        ha-card {
                          box-shadow: none;
                          margin: -15px -0px -17px 0px;
                        }
          - type: conditional
            conditions:
              - condition: state
                entity: sensor.myphone_old_battery_state
                state: charging
            card:
              type: custom:stack-in-card
              mode: vertical
              cards:
                - type: grid
                  square: false
                  columns: 1
                  cards:
                    - type: horizontal-stack
                      cards:
                        - show_name: true
                          show_icon: true
                          type: button
                          tap_action:
                            action: toggle
                          entity: switch.smart_surge_strip_1_switch_5
                          name: USB
                          icon_height: 20px
                          icon: mdi:usb
                        - show_name: true
                          show_icon: true
                          type: button
                          tap_action:
                            action: none
                          entity: binary_sensor.myphone_old_is_charging
                          icon_height: 20px
                          name: " "
                        - type: custom:swipe-card
                          parameters:
                            effect: flip
                            spaceBetween: 1
                          start_card: 1
                          cards:
                            - type: button
                              show_icon: true
                              tap_action:
                                action: toggle
                              entity: switch.smart_surge_strip_4_switch_5
                              icon_height: 20px
                              show_state: false
                              name: Chi
                              icon: mdi:lightning-bolt-outline
                            - type: button
                              show_icon: true
                              tap_action:
                                action: toggle
                              entity: switch.smart_surge_strip_3_switch_4
                              icon_height: 20px
                              show_state: false
                              name: LR
                              icon: mdi:usb
                    - type: gauge
                      entity: sensor.myphone_old_battery_level
                      severity:
                        green: 25
                        yellow: 15
                        red: 0
                      min: 0
                      max: 100
                      needle: false
                      name: S9 Phone Batt
                      card_mod:
                        style: |
                          ha-card {
                            box-shadow: none;
                            margin: -15px -0px -17px 0px;
                          }
          - type: conditional
            conditions:
              - condition: state
                entity: sensor.admin_watch_battery_level
                state_not: unavailable
            card:
              type: custom:stack-in-card
              mode: vertical
              cards:
                - type: grid
                  square: false
                  columns: 1
                  cards:
                    - type: horizontal-stack
                      cards:
                        - show_name: true
                          show_icon: true
                          type: button
                          tap_action:
                            action: toggle
                          entity: switch.smart_surge_strip_4_switch_4
                          icon_height: 20px
                          name: USB
                          icon: mdi:usb
                        - show_name: true
                          show_icon: true
                          type: button
                          tap_action:
                            action: perform-action
                            perform_action: script.cw_watch_recharge_all_in_one
                            target:
                              entity_id: timer.admin_watch_charge_timer
                          entity: timer.admin_watch_charge_timer
                          icon_height: 20px
                          name: " "
                          show_state: false
                        - show_name: true
                          show_icon: true
                          type: button
                          tap_action:
                            action: none
                          entity: binary_sensor.admin_watch_is_charging
                          icon_height: 20px
                          name: "~"
                    - type: gauge
                      entity: sensor.admin_watch_battery_level
                      min: 0
                      max: 100
                      severity:
                        green: 20
                        yellow: 10
                        red: 0
                      needle: false
                      name: myphone Watch Batt
                      card_mod:
                        style: |
                          ha-card {
                            box-shadow: none;
                            margin: -15px -0px -17px 0px;
                          }
      - type: horizontal-stack
        cards:
          - type: custom:stack-in-card
            mode: vertical
            cards:
              - type: grid
                square: false
                columns: 1
                cards:
                  - type: horizontal-stack
                    cards:
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: toggle
                        entity: switch.smart_surge_strip_5_switch_5
                        icon_height: 20px
                        name: USB
                        icon: mdi:usb
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: none
                        entity: binary_sensor.my_tablet2_is_charging
                        icon_height: 20px
                        name: "~"
                  - type: gauge
                    entity: sensor.my_tablet2_battery_level
                    min: 0
                    max: 100
                    severity:
                      green: 20
                      yellow: 10
                      red: 0
                    needle: false
                    name: Office Tab
                    card_mod:
                      style: |
                        ha-card {
                          box-shadow: none;
                          margin: -15px -0px -17px 0px;
                        }
          - type: custom:stack-in-card
            mode: vertical
            cards:
              - type: grid
                square: false
                columns: 1
                cards:
                  - type: horizontal-stack
                    cards:
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: toggle
                        entity: switch.plug_100555f5_1
                        icon_height: 20px
                        name: USB
                        icon: mdi:usb
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: none
                        entity: binary_sensor.my_tablet_is_charging
                        icon_height: 20px
                        name: "~"
                  - type: gauge
                    entity: sensor.my_tablet_battery_level
                    min: 0
                    max: 100
                    severity:
                      green: 20
                      yellow: 10
                      red: 0
                    needle: false
                    name: Kitchen Tab
                    card_mod:
                      style: |
                        ha-card {
                          box-shadow: none;
                          margin: -15px -0px -17px 0px;
                        }
          - type: custom:stack-in-card
            mode: vertical
            cards:
              - type: grid
                square: false
                columns: 1
                cards:
                  - type: horizontal-stack
                    cards:
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: toggle
                        entity: switch.smart_surge_strip_1_usb
                        name: USB
                        icon_height: 20px
                        icon: mdi:usb
                      - show_name: true
                        show_icon: true
                        type: button
                        tap_action:
                          action: none
                        entity: binary_sensor.myphone_guest_tablet_is_charging
                        icon_height: 20px
                        name: "~"
                  - type: gauge
                    entity: sensor.myphone_guest_tablet_battery_level
                    severity:
                      green: 25
                      yellow: 15
                      red: 0
                    min: 0
                    max: 100
                    needle: false
                    name: Guest Tab
                    card_mod:
                      style: |
                        ha-card {
                          box-shadow: none;
                          margin: -15px -0px -17px 0px;
                        }
  - type: horizontal-stack
    cards:
      - type: conditional
        conditions:
          - condition: or
            conditions:
              - condition: state
                entity: input_boolean.sleeping_myphone
                state: "on"
              - condition: state
                entity: input_boolean.sleeping_guest
                state: "on"
        card:
          show_name: true
          show_icon: true
          type: button
          tap_action:
            action: toggle
          entity: input_boolean.sleeping_myphone
          show_state: false
          name: CW Sleep
          icon_height: 30px
      - type: conditional
        conditions:
          - condition: or
            conditions:
              - condition: state
                entity: input_boolean.sleeping_myphone
                state: "on"
              - condition: state
                entity: input_boolean.sleeping_guest
                state: "on"
        card:
          show_name: true
          show_icon: true
          type: button
          tap_action:
            action: toggle
          entity: input_boolean.sleeping_guest
          show_state: false
          name: Guest Sleep
          icon_height: 30px
      - type: conditional
        conditions:
          - condition: or
            conditions:
              - condition: state
                entity: input_boolean.movie_lights
                state: "on"
              - condition: and
                conditions:
                  - condition: state
                    entity: switch.smart_surge_strip_2_socket_1
                    state: "on"
                  - condition: state
                    entity: switch.smart_surge_strip_2_socket_4
                    state: "on"
        card:
          show_name: true
          show_icon: true
          type: button
          tap_action:
            action: toggle
          entity: input_boolean.movie_lights
          show_state: false
          icon_height: 30px
          name: FilmLights
      - type: conditional
        conditions:
          - condition: state
            entity: switch.presence
            state: "on"
        card:
          show_name: true
          show_icon: true
          type: button
          tap_action:
            action: toggle
          entity: switch.presence
          show_state: false
          icon_height: 30px
          icon: mdi:account-group
  - type: custom:swipe-card
    parameters:
      spaceBetween: 1
      scrollbar:
        hide: false
        draggable: true
        snapOnRelease: true
    start_card: 1
    cards:
      - type: picture
        image: local/images/roborock.jpg
        tap_action:
          action: navigate
          navigation_path: ./robovac
        hold_action:
          action: none
      - type: conditional
        conditions:
          - condition: state
            entity: input_boolean.sage_switch_virtual
            state: "off"
          - condition: numeric_state
            entity: sensor.count_humans
            above: 0
        card:
          type: picture
          image:
            media_content_id: local/images/sagecoffee.jpg
          tap_action:
            action: perform-action
            confirmation:
              text: Start Sage. Are you sure?
            target: {}
            perform_action: script.calendar_insert_sage
      - type: conditional
        conditions:
          - condition: or
            conditions:
              - condition: state
                entity: input_boolean.sage_descale
                state: "on"
              - condition: state
                entity: switch.sage_outlet
                state: "on"
        card:
          show_name: true
          show_icon: true
          type: button
          tap_action:
            action: toggle
          entity: input_boolean.sage_descale
          show_state: false
          icon_height: 30px
          name: DB Descale

Hi, do you also see this behavior with standard HA (not custom) cards?

I’m testing it now with a standalone core install to see if it’s something else.

Would be surprised if we’re the only ones seeing it tbh as our dashboard isn’t that customised

I’m running the latest release and don’t see this.
Unless you modified your theme my wild guess would be custom cards but might be wrong.

That’s a good point.
I keep forgetting that we use a slightly modified mushroom theme because updates would remove the changes. Our changes compact the cards slightly so it fits on tablet screens better.
It’s only a small change, but I’ll test it on the separate install.

Our custom theme:

Mushroom Cust:
  ha-card-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.16)
  ha-card-border-width: 0
  mush-spacing: 6px
  mush-rgb-state-light: 255, 255, 255
  mush-title-padding: 12px 12px 6px
  modes:
    dark: {}

Trying my custom theme didn’t affect the backup system.

I think I’ll need to clone my live system then start stripping bits out until it formats as expected. I’ll give that a go tonight

I’m getting this too, before 2026.4 it would look like this

And now

I’ve fixed myself onto 2026.3, but would ideally like to find out what the issue is here