:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1c3433;background:#f2f5f2;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#103f39;color:white;display:flex;align-items:center;gap:24px;padding:20px 5vw}header button{margin-left:auto}.brand{font-size:22px;font-weight:750}main{max-width:1240px;margin:40px auto;padding:0 24px}.card{background:white;border:1px solid #d8e2dd;border-radius:16px;padding:26px;margin-bottom:24px;box-shadow:0 6px 20px #193b3310}.narrow{max-width:520px;margin:70px auto}h1{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:10px 0 20px}h2{font-size:21px;margin-top:0}p{line-height:1.6}label{display:block;margin:20px 0}input{display:block;width:100%;font:inherit;border:1px solid #9caca5;border-radius:8px;padding:12px;margin-top:8px}button{font:inherit;border:0;border-radius:8px;padding:12px 18px;background:#176b60;color:white;cursor:pointer;font-weight:650}button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:default}.secondary{background:#e5eee8;color:#234c43}.danger{background:#fff1ed;color:#9f351d;border:1px solid #e5bcad}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:#53786c}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:26px}.intro p{max-width:760px}.grid{display:grid;grid-template-columns:300px 1fr;gap:24px}#map{height:350px;border-radius:10px;background:#e3ebe6}.device{display:block;width:100%;text-align:left;margin-bottom:12px;background:#eaf1ec;color:#214b41}.device.selected{outline:2px solid #176b60}.device small{display:block;font-weight:400;margin-top:6px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.muted,footer{font-size:13px;color:#60766d}.report{padding:18px 0;border-top:1px solid #dce5df}.report p{white-space:pre-wrap;overflow-wrap:anywhere}.report time{font-size:13px;color:#60766d}#message:not(:empty){padding:16px;background:#fff2c8;border:1px solid #d4bf6c;border-radius:8px;margin-bottom:24px}#pair-code{font-size:20px;overflow-wrap:anywhere}footer{text-align:center;padding:24px}[hidden]{display:none!important}@media(max-width:800px){.grid{grid-template-columns:1fr}.intro{align-items:flex-start;flex-direction:column}header{flex-wrap:wrap}h1{font-size:30px}}
