/* Install help and deliberately inactive advertising reservations. */
.device-help-link { display:inline-flex; align-items:center; min-height:44px; padding:10px 12px; color:#9ee5e8; text-underline-offset:3px; line-height:1.5; overflow-wrap:anywhere; }
.device-help-link:focus-visible, .device-page a:focus-visible, .device-page button:focus-visible { outline:3px solid #56c7cf; outline-offset:3px; }
.device-install-status { margin:8px 0; font-size:13px; line-height:1.55; color:#c7dce5; }
[data-freda-install][hidden] { display:none!important; }
.ad-reservation { box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; gap:8px; min-height:128px; margin:24px 0 0; padding:18px; border:1px dashed #6c8798; border-radius:10px; background:#0c2941; color:#c7dce5; font:13px/1.5 system-ui,sans-serif; overflow-wrap:anywhere; }
.ad-reservation strong { font-size:12px; letter-spacing:.08em; text-transform:none; }
.ad-reservation p { margin:0; }
.device-page { box-sizing:border-box; margin:0; background:#edf3f6; color:#173044; font:17px/1.65 system-ui,sans-serif; }
.device-page * { box-sizing:border-box; }
.device-page .device-wrap { width:min(940px,100%); margin:auto; padding:28px 24px 48px; }
.device-page .device-nav { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.device-page a { color:#146368; text-underline-offset:3px; overflow-wrap:anywhere; }
.device-page .device-nav a, .device-page summary { min-height:44px; padding-block:10px; }
.device-page h1 { font-size:clamp(30px,5vw,46px); line-height:1.14; letter-spacing:-.035em; margin:32px 0 18px; }
.device-page h2 { font-size:23px; line-height:1.3; margin:0 0 12px; }
.device-page .device-card { background:white; padding:26px; margin:22px 0; border:1px solid #c8d9e2; border-radius:14px; }
.device-page .device-label { font-size:12px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; color:#146368; }
.device-page .device-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.device-page .device-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 17px; border:1px solid #126066; border-radius:8px; background:#126066; color:white; font:inherit; text-decoration:none; cursor:pointer; }
.device-page .device-install-status { color:#365468; }
.device-page details { border-top:1px solid #d4e0e7; padding:12px 0; }
.device-page summary { font-weight:700; cursor:pointer; }
.device-page li { margin:10px 0; }
.device-page .device-note { font-size:14px; color:#486273; }
.device-page .ad-reservation { background:#e4edf2; color:#486273; }
.device-page .skip { position:absolute; top:-100px; left:16px; background:white; padding:10px; z-index:1; }
.device-page .skip:focus { top:12px; }
@media(max-width:600px) { .device-page .device-wrap { padding:20px 16px 36px; } .device-page .device-card { padding:20px; } .device-page .device-actions { align-items:stretch; flex-direction:column; } .ad-reservation { min-height:96px; } }

.device-access-entry { margin:28px 0; padding:26px; border:1px solid #c8d9e2; border-radius:14px; background:#edf3f6; color:#173044; }
.device-access-entry h2 { margin-top:0; }
