    /* CSS domain: overlays */
    .doorbell-overlay {
      position: fixed;
      inset: 0;
      background: #000;
      z-index: 9999;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.12s ease;
    }

    .doorbell-overlay.is-visible {
      opacity: 1;
      pointer-events: auto;
    }

    .doorbell-frame {
      position: absolute;
      inset: 0;
      width: 100vw;
      height: 100vh;
      border: 0;
      background: #000;
    }


    .doorbell-badge {
      position: absolute;
      top: var(--dashboard-overlay-control-offset);
      left: var(--dashboard-overlay-control-offset);
      z-index: 10000;
      padding: var(--dashboard-overlay-badge-padding);
      border-radius: 999px;
      background: var(--dashboard-overlay-badge-bg);
      color: #fff;
      font-size: var(--dashboard-overlay-control-size);
      font-weight: var(--dashboard-value-weight);
      backdrop-filter: var(--dashboard-overlay-blur);
    }

    .doorbell-close {
      position: absolute;
      top: var(--dashboard-overlay-control-offset);
      right: var(--dashboard-overlay-control-offset);
      z-index: 10000;
      min-width: var(--dashboard-overlay-control-min-width);
      padding: var(--dashboard-overlay-control-padding);
      border: 0;
      border-radius: 999px;
      background: var(--dashboard-overlay-control-bg);
      color: #fff;
      font-size: var(--dashboard-overlay-control-size);
      font-weight: var(--dashboard-value-weight);
      cursor: pointer;
    }

    .insight-embed-overlay {
      position: fixed;
      inset: 0;
      background: #000;
      z-index: 10800;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.12s ease, visibility 0.12s ease;
    }

    .insight-embed-overlay.is-visible {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .insight-embed-layout {
      position: absolute;
      inset: 0;
      display: grid;
      grid-template-rows: minmax(0, 1fr) minmax(0, 0.52fr);
      gap: 0;
      background: #000;
    }

    .insight-embed-viewport {
      position: relative;
      overflow: hidden;
      background: #000;
    }

    .insight-embed-viewport-secondary {
      margin-top: -16vh;
    }

    .insight-embed-frame {
      position: absolute;
      top: 0;
      left: 0;
      width: 122vw;
      height: 122vh;
      border: 0;
      background: #000;
      transform: scale(0.82);
      transform-origin: top left;
    }

    .insight-embed-close {
      position: absolute;
      top: var(--dashboard-overlay-control-offset);
      right: var(--dashboard-overlay-control-offset);
      z-index: 10801;
      min-width: var(--dashboard-overlay-control-min-width);
      padding: var(--dashboard-overlay-control-padding);
      border: 0;
      border-radius: 999px;
      background: var(--dashboard-overlay-control-bg);
      color: #fff;
      font-size: var(--dashboard-overlay-control-size);
      font-weight: var(--dashboard-value-weight);
      cursor: pointer;
      backdrop-filter: var(--dashboard-overlay-blur);
    }

    .doorbell-test-icon {
      position: fixed;
      top: 16px;
      right: 16px;
      z-index: 9000;
      width: 48px;
      height: 48px;
      border: 0;
      border-radius: 999px;
      background: rgba(28,28,30,0.88);
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: 0 6px 16px rgba(0,0,0,0.28);
      backdrop-filter: blur(8px);
      -webkit-tap-highlight-color: transparent;
    }

    .doorbell-test-icon svg {
      width: 24px;
      height: 24px;
      display: block;
    }

    .doorbell-test-icon:active {
      transform: scale(0.96);
    }

    .screen-clean-overlay {
      position: fixed;
      inset: 0;
      z-index: 11000;
      background:
        radial-gradient(circle at 50% 28%, rgba(47,124,246,0.22), transparent 36%),
        rgba(0,0,0,0.92);
      color: var(--text);
      display: grid;
      place-items: center;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.12s ease, visibility 0.12s ease;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
    }

    .screen-clean-overlay.is-visible {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .screen-clean-content {
      text-align: center;
      display: grid;
      gap: var(--dashboard-screen-clean-content-gap);
      padding: var(--dashboard-screen-clean-content-padding);
    }

    .screen-clean-label {
      font-size: var(--dashboard-screen-clean-label-size);
      font-weight: var(--dashboard-value-weight);
      letter-spacing: -0.03em;
    }

    .screen-clean-countdown {
      font-size: var(--dashboard-screen-clean-countdown-size);
      font-weight: var(--dashboard-strong-weight);
      line-height: var(--dashboard-screen-clean-countdown-line-height);
      letter-spacing: var(--dashboard-screen-clean-countdown-letter-spacing);
    }

    .screen-clean-subtitle {
      font-size: var(--dashboard-home-momentary-size);
      color: var(--muted);
    }
