.device-page [hidden]{display:none!important}
.device-page{min-height:100dvh;font-size:14px}
.device-header{height:72px;padding:0 24px;max-width:1020px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:16px}
.device-nav-actions{display:flex;gap:18px;align-items:center;font-size:12px;color:var(--soft)}
.device-nav-actions select{max-width:125px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--soft);padding:5px 8px;font-size:11px}
.device-page .device-main{max-width:900px;padding:34px 24px 50px}
.device-heading{margin-bottom:24px}.device-heading h1{font-size:28px;margin:8px 0}.device-heading p,.device-card p{font-size:13px;color:var(--soft);line-height:1.65}
.device-card{padding:22px;margin-top:16px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}
.device-card h2{font-size:17px;margin:0;font-weight:600}.device-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.device-card form{margin-top:16px}.device-card label{display:block;font-size:12px;color:var(--soft);margin-bottom:7px}
.device-card input{box-sizing:border-box;width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);background:var(--bg);font-size:14px;min-height:42px}
.device-card input:focus{border-color:var(--accent)}
.device-page button,.device-page .device-primary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;padding:9px 13px;min-height:38px;background:var(--raised);color:var(--text);font-size:12px;font-weight:550;text-decoration:none}
.device-page button:disabled{opacity:.45}.device-page button:hover:not(:disabled){border-color:var(--soft)}
.device-page .device-primary{background:var(--accent);color:#06251e;border-color:transparent;font-weight:650}
.device-page .device-danger{color:var(--negative);background:transparent}
.device-page .device-tag{font-size:10px;font-weight:500;letter-spacing:0;color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:4px 7px;white-space:nowrap}
.device-page .device-row-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:12px}
.device-page .device-note{font-size:11px;line-height:1.6;color:var(--muted);margin-top:9px}
.device-page .device-footnote{font-size:12px;line-height:1.8;color:var(--muted);margin-top:20px}
.device-page .device-message{position:sticky;top:12px;z-index:2;box-shadow:0 4px 20px #0002;border-radius:9px;padding:12px 14px;border:1px solid var(--border);background:var(--raised);font-size:13px;line-height:1.6;color:var(--accent)}
.device-page .device-message.error{color:var(--negative)}
.claim-card{border-color:var(--accent)}.claim-card h2{margin:12px 0 8px}.claim-card form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.claim-card form label{grid-column:1/-1}.claim-card form button{min-width:100px}
.invite-output{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}
.invite-qr{padding:12px;background:#fff;border-radius:10px}.invite-qr svg{display:block;width:100%;height:auto;fill:#000;stroke:none;image-rendering:pixelated}
.invite-details strong{display:block;font-size:14px}.invite-details p{font-size:12px;margin:9px 0}.invite-details input{font-size:11px}
.device-list{margin-top:12px}.device-list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--border-subtle)}
.device-list-name{min-width:0}.device-list-name strong{display:block;font-size:14px;font-weight:550;overflow-wrap:anywhere;line-height:1.5}.device-list-name small{display:block;margin-top:4px;font-size:11px;line-height:1.5;color:var(--muted)}.device-list-item button{flex-shrink:0}
.device-list-empty{padding:12px 0;font-size:12px;color:var(--muted)}
@media(max-width:600px){.device-header{height:64px;padding:0 16px}.device-header .brand{font-size:17px}.device-nav-actions{gap:10px}.device-nav-actions select{max-width:90px}.device-page .device-main{padding:24px 14px 36px}.device-heading h1{font-size:25px}.device-card{padding:17px;margin-top:13px}.device-card h2{font-size:16px}.invite-output{grid-template-columns:1fr;gap:16px}.invite-qr{width:206px;max-width:100%;box-sizing:border-box;margin:auto}.device-card-top{gap:10px}.device-card-top .device-tag{font-size:9px}.device-card-top button{font-size:11px;padding:7px 9px}.claim-card form{grid-template-columns:1fr}.claim-card form label{grid-column:auto}.device-row-actions{gap:8px}.device-page .device-footnote{font-size:11px}}
