[hidden] { display:none !important; }
:root { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#181817; background:#f7f7f5; line-height:1.5; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:grid; grid-template-rows:auto 1fr auto; }
a { color:inherit; }
header,main,footer { width:min(980px,calc(100% - 40px)); margin-inline:auto; }
header { min-height:72px; display:flex; align-items:center; gap:12px; border-bottom:1px solid #d9d9d4; }
.brand { font-weight:700; text-decoration:none; letter-spacing:-.02em; }
.product { color:#71716c; padding-left:12px; border-left:1px solid #c9c9c4; }
.text-button { margin-left:auto; border:0; background:transparent; color:#5f5f5a; cursor:pointer; font:inherit; }
main { padding:54px 0 80px; }
.signin-card { width:min(620px,100%); padding-top:20px; }
.label { margin:0 0 8px; color:#666660; text-transform:uppercase; letter-spacing:.12em; font-size:.74rem; font-weight:700; }
h1 { margin:0 0 14px; font-size:clamp(2.4rem,6vw,4rem); line-height:1; letter-spacing:-.045em; font-weight:650; }
h2 { margin:0; font-size:1.3rem; letter-spacing:-.02em; }
.intro { margin:0; color:#51514c; font-size:1.05rem; }
.page-heading { margin-bottom:32px; }
.card { background:#fff; border:1px solid #d4d4cf; border-radius:12px; padding:24px; }
.card + .card { margin-top:18px; }
.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.pill { white-space:nowrap; padding:5px 9px; border-radius:999px; background:#f0f0ed; color:#5d5d58; font-size:.8rem; }
.device-list { border-top:1px solid #e3e3df; }
.device-card { border-bottom:1px solid #e3e3df; }
.device-summary { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:16px 0; }
.device-identity { min-width:0; }
.device-identity > strong { display:block; font-size:1.02rem; }
.device-metrics { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:7px; color:#74746e; font-size:.84rem; }
.device-metric { position:relative; }
.device-metric + .device-metric::before { content:"·"; position:absolute; left:-9px; color:#b0b0aa; }
.device-metric.online { color:#28683b; font-weight:650; }
.device-metric.offline { color:#74746e; }
.manage-button { flex:0 0 auto; border:1px solid #cfcfca; border-radius:7px; background:#fff; color:#30302d; padding:8px 12px; font:inherit; font-size:.84rem; font-weight:600; cursor:pointer; }
.manage-button:hover { background:#f7f7f4; }
.device-manage { margin:0 0 18px; padding:18px; border-radius:9px; background:#f7f7f4; }
.device-facts { display:grid; grid-template-columns:130px minmax(0,1fr); gap:9px 18px; margin:0; font-size:.86rem; }
.device-facts dt { color:#777771; }
.device-facts dd { margin:0; color:#30302d; min-width:0; }
.device-facts code { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; color:#55554f; }
.device-note { max-width:650px; margin:18px 0 0; color:#686862; font-size:.83rem; }
.danger-button { margin-top:18px; border:1px solid #d8b8b8; border-radius:7px; background:#fff; color:#8c3333; padding:9px 12px; font:inherit; font-size:.84rem; font-weight:600; cursor:pointer; }
.danger-button:disabled { opacity:.5; cursor:wait; }
.empty-state { margin:18px 0 2px; color:#666660; }
.license-card { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.license-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; }
.muted { margin:.35rem 0 0; color:#666660; }
.button { display:inline-flex; margin-top:26px; min-height:46px; align-items:center; justify-content:center; padding:0 18px; border:0; border-radius:8px; background:#1b1b1a; color:white; text-decoration:none; font:inherit; font-weight:650; cursor:pointer; }
.button.secondary { border:1px solid #c9c9c3; background:#fff; color:#252523; }
.button.compact { margin-top:0; min-height:40px; font-size:.88rem; }
.button:disabled { opacity:.55; cursor:wait; }
.note { max-width:650px; margin:20px 0 0; color:#777771; font-size:.88rem; }
.small-link { color:#71716c; font-size:.82rem; }
footer { min-height:84px; display:flex; align-items:center; border-top:1px solid #d9d9d4; }
footer a { color:#6d6d67; font-size:.9rem; }
@media (max-width:680px) {
  header,main,footer { width:min(100% - 28px,980px); }
  main { padding-top:40px; }
  .card { padding:19px; }
  .device-summary { align-items:flex-start; }
  .device-facts { grid-template-columns:1fr; gap:2px; }
  .device-facts dd { margin-bottom:8px; }
  .license-card { align-items:flex-start; flex-direction:column; }
  .license-actions { justify-content:flex-start; }
}
