.z911lab2__lens-button {
      position: fixed !important;
      right: calc(24px + env(safe-area-inset-right, 0px));
      bottom: calc(24px + env(safe-area-inset-bottom, 0px));
      z-index: 17;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      width: 224px;
      min-width: 0;
      max-width: calc(100% - 48px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
      min-height: 72px;
      padding: 12px 22px 12px 18px;
      color: #FCF9F9;
      border: 1px solid #EA3628;
      border-radius: 999px;
      background: #102835;
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3), 0 0 20px rgba(234, 54, 40, 0.14);
      cursor: pointer;
      font-family: Inter, system-ui, sans-serif;
      letter-spacing: 0;
      text-align: left;
      transition: transform 160ms ease, box-shadow 160ms ease;
    }

    .z911lab2__lens-button:hover {
      box-shadow: 0 14px 34px rgba(0, 0, 0, 0.34), 0 0 24px rgba(234, 54, 40, 0.22);
      transform: translateY(-2px);
    }

    .z911lab2__lens-button:focus-visible {
      outline: 2px solid #FCF9F9;
      outline-offset: 4px;
    }

    .z911lab2__lens-button:active {
      transform: scale(0.98);
    }

    .z911lab2__lens-isotipo {
      flex: 0 0 auto;
      width: 30px;
      height: 40px;
      object-fit: contain;
    }

    .z911lab2__lens-label {
      display: grid;
      gap: 3px;
    }

    .z911lab2__lens-kicker {
      color: #d1dde3;
      font-size: 11px;
      font-weight: 500;
      line-height: 1.3;
    }

    .z911lab2__lens-name {
      font-size: 22px;
      font-weight: 700;
      line-height: 1.1;
    }

    @media (prefers-reduced-motion: reduce) {
      .z911lab2__lens-button { transition: none; }
      .z911lab2__lens-button:hover,
.z911lab2__lens-button:active { transform: none; }
    }

    .z911lab2__lens-window {
      position: fixed !important;
      inset: 0;
      z-index: 50000;
      display: grid !important;
      place-items: end;
      padding: calc(24px + env(safe-area-inset-top, 0px)) calc(24px + env(safe-area-inset-right, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) calc(24px + env(safe-area-inset-left, 0px));
      background: rgba(2, 6, 23, 0.12);
      backdrop-filter: none;
    }

    .z911lab2__lens-window--inactive,
.z911lab2__lens-window[hidden] {
      display: none !important;
    }

    .z911lab2__lens-dialog {
      position: relative;
      width: min(420px, 100%);
      max-height: min(640px, calc(100dvh - 48px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
      overflow: auto;
      overscroll-behavior: contain;
      padding: 18px;
      border: 1px solid var(--z911lab2-border-strong);
      border-radius: 8px;
      background: rgba(7, 17, 31, 0.98);
      box-shadow: var(--z911lab2-shadow);
    }

    .z911lab2__lens-dialog::after {
      content: "";
      position: absolute;
      right: 18px;
      bottom: 12px;
      left: 18px;
      height: 2px;
      border-radius: 999px;
      background: linear-gradient(90deg, transparent, var(--z911lab2-danger), transparent);
      opacity: 0.72;
      pointer-events: none;
    }

    .z911lab2__lens-heading {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 12px;
    }

    .z911lab2__lens-title {
      margin: 0;
      color: var(--z911lab2-text);
      font-size: 24px;
      line-height: 1.1;
      letter-spacing: 0;
    }

    .z911lab2__lens-subtitle {
      margin: 6px 0 0;
      color: var(--z911lab2-muted);
      font-size: 13px;
      line-height: 1.4;
    }

    .z911lab2__lens-close {
      flex: 0 0 auto;
      width: 42px;
      height: 42px;
      color: var(--z911lab2-text);
      border: 1px solid var(--z911lab2-border);
      border-radius: 8px;
      background: rgba(15, 27, 45, 0.92);
      cursor: pointer;
      font-size: 24px;
      line-height: 1;
    }

    .z911lab2__lens-close:hover,
.z911lab2__lens-close:focus-visible {
      border-color: var(--z911lab2-cyan);
      outline: none;
    }

    .z911lab2__lens-notice {
      margin: 0 0 12px;
      padding: 11px 12px;
      color: #dbeafe;
      border: 1px solid rgba(56, 189, 248, 0.22);
      border-radius: 8px;
      background: rgba(56, 189, 248, 0.08);
      font-size: 13px;
      line-height: 1.45;
    }

    .z911lab2__lens-frame {
      display: block;
      width: 100%;
      height: 620px;
      border: 0;
      border-radius: 8px;
      background: #020617;
    }

    .z911lab2__lens-fallback {
      margin: 12px 0 8px;
      color: var(--z911lab2-muted);
      font-size: 12px;
      line-height: 1.4;
    }

    .z911lab2__lens-link {
      color: var(--z911lab2-cyan);
      text-decoration: none;
      font-weight: 800;
    }

    .z911lab2__lens-link:hover,
.z911lab2__lens-link:focus-visible {
      text-decoration: underline;
      outline: none;
    }

    @media (max-width: 767px) {

      .z911lab2__lens-button {
        right: calc(20px + env(safe-area-inset-right, 0px));
        bottom: calc(20px + env(safe-area-inset-bottom, 0px));
        width: 208px;
        max-width: calc(100% - 40px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
        min-height: 64px;
        padding: 10px 18px;
      }

      .z911lab2__lens-window {
        padding: calc(16px + env(safe-area-inset-top, 0px)) calc(16px + env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) calc(16px + env(safe-area-inset-left, 0px));
      }

      .z911lab2__lens-dialog {
        width: 100%;
        max-height: calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
        padding: 14px;
      }

      .z911lab2__lens-heading {
        gap: 10px;
      }

      .z911lab2__lens-title {
        font-size: 21px;
      }

      .z911lab2__lens-subtitle,
.z911lab2__lens-notice {
        font-size: 12px;
      }

      .z911lab2__lens-close {
        width: 46px;
        height: 46px;
        font-size: 26px;
      }

      .z911lab2__lens-frame {
        height: calc(100svh - 160px);
        min-height: 360px;
      }
    }
.z911lab2__lens-dialog { box-sizing: border-box; min-width: 0; max-width: 100%; max-height: min(840px, calc(100dvh - 48px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))); }
.z911lab2__lens-heading > div { min-width: 0; }
.z911lab2__lens-subtitle,
.z911lab2__lens-heading .z911lab2__panel-kicker,
.z911lab2__lens-notice,
.z911lab2__lens-fallback { overflow-wrap: anywhere; }
.z911lab2__lens-frame-shell,
.z911lab2__lens-frame-shell > div { display: block; width: 100%; min-width: 0; max-width: 100%; }
@media (max-width: 767px) {
  .z911lab2__lens-dialog { max-height: calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); }
}

/* Keep the existing Lens launcher visible over the inherited LAB hide rule. */
#z911lab2-root [data-z911lab2-lens-open]:not([hidden]) {
  display: inline-flex !important;
}
