Meeting room panel - static assets (320x240, RGB565)

Contents
  ui_assets.h / ui_assets.c  C arrays. Backgrounds + sprites: uint16_t RGB565 (native order).
                             Icons: uint8_t A8 alpha masks, tint with any UI_COL_* colour.
  bin/*_be.bin               Same RGB565 data, big-endian (SPI wire order, ILI9341/ST7789 style).
  bin/*_a8.bin               Icon alpha masks, 1 byte per pixel.
  png/                       Reference images.
  generate_assets.py         Regenerates everything (needs pillow + cairosvg).

Backgrounds (full screen, text and icons drawn on top at runtime)
  bg_meeting_inuse  bg_meeting_free  bg_lights (Meeting scene selected)  bg_climate

Sprites for state changes (blit over the background)
  spr_tab_active/inactive_107|106   tabs at x=0, 107, 213  y=193
  spr_btn_extend / _disabled / spr_btn_end   x=8, 112, 216  y=136
  spr_btn_start      x=8 y=136        spr_card_inuse / spr_card_free  x=8 y=32
  spr_tile_scene / _selected         x=8|164  y=32|116

Icon placement (top-left)            Colour
  ico_tab_calendar/bulb/thermo 18px  tab centre, left of label   TEXT active, MUTED inactive
  ico_presentation/meeting/video/power 26px   tile x+12, y+25     TEXT, or BG when tile selected
  ico_play 20px                       left of "Start meeting"      BG
  ico_minus x=24 y=68, ico_plus x=260 y=68 (32px)                  TEXT

Fixed lines: header divider y=23, tab bar divider y=192, both UI_COL_RAISED.
