body{margin:0;font-family:system-ui,sans-serif;color:#123d57;background:#f4f9fc;}body>header{display:flex;gap:10px;align-items:center;justify-content:center;padding:calc(14px + var(--vobix-safe-top,0px)) 16px 14px;background:#fff;border-bottom:1px solid #d7e8f3;}.deviceLinkTarget{box-sizing:border-box;width:min(100%,500px);margin:auto;padding:24px 20px calc(40px + var(--vobix-menu-safe-bottom,0px));}.deviceLinkTarget h1{font-size:22px;text-align:center;} .deviceLinkTarget ol{padding-left:22px;line-height:1.7;font-size:14px;}#deviceLinkQr{display:flex;justify-content:center;align-items:center;background:#fff;padding:18px;border-radius:16px;min-height:220px;}#deviceLinkQr img,#deviceLinkQr canvas{max-width:100%;height:auto;}#deviceLinkCode{display:block;text-align:center;letter-spacing:.3em;font-size:30px;font-weight:650;} .deviceLinkCodeLabel{text-align:center;font-size:13px;color:#52778e;} .deviceLinkTarget button,#vobixDeviceLinkDialog button.primary{box-sizing:border-box;background:#168dcc;color:white;border:0;border-radius:22px;padding:12px 18px;min-height:44px;font-size:15px;cursor:pointer;} .deviceLinkTarget button{width:100%;}.deviceLinkTarget>a{display:block;text-align:center;margin-top:18px;color:#168dcc;}#deviceLinkStatus{text-align:center;font-size:14px;min-height:24px;}#vobixDeviceLinkDialog{box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:calc(var(--vobix-menu-height,100dvh) - var(--vobix-safe-top,0px) - var(--vobix-menu-safe-bottom,0px) - 24px);overflow:auto;border:1px solid #d7e8f3;border-radius:20px;padding:20px;color:#123d57;background:#fff;}#vobixDeviceLinkDialog::backdrop{background:#123d5740;}#vobixDeviceLinkDialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;}#vobixDeviceLinkDialog h2{font-size:19px;margin:0;}#vobixDeviceLinkDialog p{font-size:14px;line-height:1.5;}#vobixDeviceLinkDialog button{min-height:44px;}#vobixDeviceLinkDialog button[data-link-close]{background:transparent;color:#123d57;border:0;font-size:25px;}#vobixDeviceLinkDialog input[type=text]{box-sizing:border-box;width:100%;font-size:22px;letter-spacing:.2em;min-height:48px;border:1px solid #d7e8f3;border-radius:12px;padding:10px;}#vobixDeviceLinkDialog .primary{width:100%;margin-top:12px;}#vobixDeviceLinkDialog label{display:block;font-size:14px;margin-bottom:6px;}#vobixDeviceLinkDialog .deviceLinkOther{text-align:center;border:1px solid #d7e8f3;border-radius:12px;padding:12px;}#vobixDeviceLinkDialog a{color:#168dcc;}#vobixDeviceLinkDialog [hidden]{display:none!important;}

/* Anchor approval to the visible area; native keyboards can cover a centered
   dialog without changing the layout viewport used by the browser's margins. */
#vobixDeviceLinkDialog{position:fixed;inset:calc(var(--vobix-menu-top,0px) + var(--vobix-safe-top,0px) + 12px) 12px auto;margin:0 auto;overscroll-behavior:contain;overflow-wrap:anywhere}
#vobixDeviceLinkDialog header h2{min-width:0}
#vobixDeviceLinkDialog button[data-link-close]{flex:0 0 44px;min-width:44px;width:44px}

/* Compact QR-link screen: keep the QR, confirmation code and actions visible
   together on common phone heights without sacrificing safe areas. */
@media (max-width: 600px){
 body>header{padding:calc(9px + var(--vobix-safe-top,0px)) 12px 9px;}
 .deviceLinkTarget{width:min(100%,440px);padding:12px 14px calc(18px + var(--vobix-menu-safe-bottom,0px));}
 .deviceLinkTarget h1{font-size:19px;line-height:1.2;margin:4px 0 7px;}
 .deviceLinkTarget ol{margin:6px 0 9px;padding-left:20px;line-height:1.4;font-size:12px;}
 #deviceLinkQr{padding:10px;border-radius:14px;min-height:170px;}
 #deviceLinkQr img,#deviceLinkQr canvas{width:min(100%,180px);max-height:180px;object-fit:contain;}
 .deviceLinkCodeLabel{margin:7px 0 3px;font-size:12px;}
 #deviceLinkCode{font-size:25px;line-height:1.15;}
 #deviceLinkStatus{margin:6px 0;font-size:12px;line-height:1.3;min-height:16px;}
 .deviceLinkTarget button{min-height:40px;padding:8px 14px;font-size:14px;}
 .deviceLinkTarget>a{margin-top:9px;font-size:13px;}
}
@media (max-height: 720px) and (max-width: 600px){
 body>header{padding:calc(6px + var(--vobix-safe-top,0px)) 10px 6px;}
 .deviceLinkTarget{padding-top:7px;padding-bottom:calc(10px + var(--vobix-menu-safe-bottom,0px));}
 .deviceLinkTarget h1{font-size:18px;margin:2px 0 5px;}
 .deviceLinkTarget ol{margin:4px 0 6px;line-height:1.25;font-size:11px;}
 #deviceLinkQr{min-height:145px;padding:7px;}
 #deviceLinkQr img,#deviceLinkQr canvas{width:min(100%,154px);max-height:154px;}
 .deviceLinkCodeLabel{margin:4px 0 2px;}
 #deviceLinkCode{font-size:22px;}
 #deviceLinkStatus{margin:4px 0;min-height:14px;}
 .deviceLinkTarget button{min-height:38px;padding-block:7px;}
 .deviceLinkTarget>a{margin-top:6px;}
}

/* Always-visible way back from the QR device-link page. */
body>header:has(.deviceLinkBack) {position:sticky;top:0;z-index:5;}
.deviceLinkBack {position:absolute;left:8px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#087fd4;text-decoration:none;border-radius:50%;}
.deviceLinkBack svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.deviceLinkBack:focus-visible {outline:3px solid #42acfa;outline-offset:2px;}
