/* Scoped login styling; QR quiet zone must remain white in every theme. */
#tv-login { margin-top:24px; border-top:1px solid #64748b66; padding-top:20px; text-align:center; }
#tv-login p { font-size:14px; line-height:1.5; }
#tv-login [hidden], .device-approval-page [hidden] { display:none !important; }
#tv-login-details { margin-top:16px; }
#tv-login-qr { display:block; width:240px; height:240px; max-width:100%; margin:0 auto 12px; background:#fff; border-radius:8px; }
#tv-login-code { display:block; font:700 28px/1.5 ui-monospace,monospace; letter-spacing:4px; }
#tv-login-url { overflow-wrap:anywhere; user-select:all; }
#tv-login-status { min-height:2em; }
#tv-login-start, #tv-login-cancel { min-height:44px; }
.modal-login-box.tv-pairing-open { width:min(850px,96vw); max-width:850px; }
@media(min-width:720px) {
 .tv-pairing-open .modal-body { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
 .tv-pairing-open #tv-login { margin:0; border-top:0; padding-top:0; border-left:1px solid #64748b66; padding-left:28px; }
}
.device-approval-page { margin:0; padding:24px 16px; box-sizing:border-box; min-height:100vh; background:#080e1d; color:#e7edf8; font:16px/1.55 system-ui,sans-serif; }
.device-approval-card { max-width:520px; margin:4vh auto; padding:28px; border:1px solid #314057; border-radius:20px; background:#111b2d; box-shadow:0 20px 60px #0004; }
.device-approval-card header { display:flex; gap:16px; align-items:center; }
.device-approval-card header img { border-radius:12px; }
.device-eyebrow { font-size:11px; letter-spacing:1.5px; color:#8ebeff; font-weight:700; }
.device-approval-card h1 { font-size:26px; line-height:1.2; margin:6px 0; }
.device-approval-card h2 { font-size:20px; }
.device-approval-card p { color:#c5d0e3; }
.device-approval-card button,.device-action { box-sizing:border-box; display:inline-block; border:1px solid #559aff; border-radius:8px; padding:12px 16px; background:#165acb; color:#fff; font:600 15px system-ui,sans-serif; cursor:pointer; text-decoration:none; min-height:46px; }
.device-approval-card button:disabled { opacity:.5; cursor:not-allowed; }
.device-approval-card input:not([type=checkbox]) { box-sizing:border-box; display:block; width:100%; padding:12px; margin:8px 0 14px; border:1px solid #7690b5; border-radius:8px; color:#edf3ff; background:#080e1d; font:24px ui-monospace,monospace; letter-spacing:4px; }
.device-approval-card :focus-visible { outline:3px solid #83d9ff; outline-offset:3px; }
.device-confirm { display:flex; align-items:center; gap:12px; margin:20px 0; }
.device-confirm input { width:24px; height:24px; flex-shrink:0; }
.device-code-display { display:block; font:700 30px/1.6 ui-monospace,monospace; letter-spacing:4px; color:#fff; }
.device-actions { display:flex; flex-wrap:wrap; gap:12px; }
.device-approval-card .device-secondary { background:#25354c; border-color:#7385a2; }
.device-home { display:inline-block; margin-top:24px; color:#9bcaff; }
#device-status { padding:12px; border-radius:8px; background:#1b2b43; }
@media(max-width:400px) { .device-approval-card { padding:20px; margin:0 auto; } }
