      /* ------------------------------------------------------------------
         The signed-in user's menu: the QR card it opens, and the links that
         used to sit in the sidebar. The card lives outside #root, so it
         carries its own colours instead of inheriting the app theme.
         ------------------------------------------------------------------ */
      dialog.ob-qr {
        position: fixed; inset: 0; margin: auto;
        width: min(430px, 92vw); max-height: 92vh; overflow: auto;
        border: 1px solid rgba(90, 160, 255, 0.55);
        border-radius: 18px;
        background: rgba(6, 16, 40, 0.97);
        color: #ffffff;
        padding: 26px 24px 22px;
        font-size: 17px;
        box-shadow: 0 0 44px rgba(60, 130, 255, 0.4);
      }
      dialog.ob-qr::backdrop { background: rgba(2, 8, 22, 0.72); }
      dialog.ob-qr h2 {
        margin: 0 0 8px; font-size: 23px; color: #ffffff;
        text-shadow: 0 0 7px rgba(255, 218, 120, 1), 0 0 18px rgba(255, 145, 0, 0.9),
                     0 0 36px rgba(255, 75, 0, 0.65);
      }
      dialog.ob-qr p { font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, 0.88); margin: 0 0 18px; }
      .ob-qr-box {
        width: 224px; height: 224px; margin: 0 auto 14px;
        background: #ffffff; border-radius: 12px; padding: 10px; box-sizing: border-box;
      }
      .ob-qr-box svg { width: 100%; height: 100%; display: block; }
      .ob-qr-url { font-size: 13px; word-break: break-all; text-align: center; color: rgba(255, 255, 255, 0.72); margin: 0 0 18px; }
      .ob-qr-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
      .ob-qr-btn {
        border: 0; border-radius: 10px; padding: 10px 16px;
        font: inherit; font-size: 16px; cursor: pointer; text-decoration: none;
      }
      .ob-qr-btn.primary { background: rgb(40, 150, 255); color: #ffffff; }
      .ob-qr-btn.ghost { background: transparent; border: 1px solid rgba(90, 160, 255, 0.55); color: #ffffff; }
      .ob-qr-close {
        position: absolute; top: 10px; right: 12px; background: transparent;
        border: 0; color: #ffffff; font-size: 19px; line-height: 1; cursor: pointer; padding: 6px;
      }
    