:root{color:#263a3d;font-synthesis:none;--teal:#007e73;--dark:#102d32;--muted:#7c898b;--border:#e4eae7;background:#f7f9f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,input,select{outline-offset:4px}a{color:var(--teal);text-decoration:none}button{border:0}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:10px;font-size:30px;font-weight:590}h2{letter-spacing:-.35px;margin:0;font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}p{line-height:1.65}small{font-size:11px}.muted{color:var(--muted);font-size:12px}.eyebrow{letter-spacing:1.7px;color:#8b9898;margin-bottom:9px;font-size:10px;font-weight:600}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--dark);color:#d9e4e2;flex-direction:column;flex-shrink:0;width:250px;padding:32px 19px 20px;display:flex;position:fixed;top:0;bottom:0}.brand{letter-spacing:-.7px;color:inherit;white-space:nowrap;align-items:center;gap:9px;font-size:24px;font-weight:650;display:flex}.brand-icon{color:#7fe0cb;display:flex}.brand-light{font-weight:350}.brand small{letter-spacing:2.3px;color:#7e9b9e;margin-top:5px;font-size:8px;font-weight:500;display:block}.workspace{border:1px solid #345056;border-radius:8px;align-items:center;gap:9px;margin:38px 0 30px;padding:13px 9px;font-size:11px;display:flex}.workspace small{color:#8ba4a6;margin-top:5px;font-size:9px;display:block}.workspace-icon{background:#23434a;border-radius:6px;padding:8px}.workspace>svg{color:#9aafb0;margin-left:auto}.nav-label{letter-spacing:1.7px;color:#749296;margin:0 12px 13px;font-size:9px}.nav-item{color:#9eb5b7;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:11px;width:100%;margin-bottom:6px;padding:13px 12px;font-size:12px;display:flex}.nav-item:hover{background:#1e4045}.nav-item.active{color:#baf3de;background:#214c4b;box-shadow:inset 2px 0 #85d8bb}.count{background:#2b4b50;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:32px}.research-note{border:1px solid #2c4a50;border-radius:8px;margin-bottom:22px;padding:16px}.research-note svg{color:#83b9ad;margin-bottom:9px}.research-note strong{font-size:11px;display:block}.research-note p{color:#87a4a7;margin:8px 0 0;font-size:10px;line-height:1.6}.user{border-top:1px solid #29494e;align-items:center;gap:9px;padding-top:20px;font-size:11px;display:flex}.user small{color:#7f9ea1;text-overflow:ellipsis;max-width:132px;margin-top:4px;font-size:9px;display:block;overflow:hidden}.avatar{color:#1f5350;background:#bad6cc;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;display:grid}.icon-button{color:inherit;background:0 0;border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;display:inline-flex}.icon-button:hover{background:#9dadad20}.user .icon-button{margin-left:auto}.main-wrap{width:calc(100% - 250px);margin-left:250px}.topbar{border-bottom:1px solid var(--border);color:#8a9696;background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 36px;font-size:11px;display:flex}.topbar strong{color:#33474a;font-weight:500}.slash{color:#c4cecd;padding:0 13px}.topbar-right{align-items:center;gap:20px;display:flex}.region{align-items:center;gap:7px;display:flex}.pill{color:#517a64;letter-spacing:1.1px;background:#eff7f1;border:1px solid #d6e7df;border-radius:4px;padding:6px 8px;font-size:8px;font-weight:650}main{max-width:1540px;margin:auto;padding:35px 36px 22px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:7px 0 28px;display:flex}.page-heading p{color:var(--muted);margin:0;font-size:12px}.button{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-size:11px;font-weight:550;line-height:1.35;display:inline-flex}.primary{background:var(--teal);color:#fff;box-shadow:0 2px 3px #005c4d15}.primary:hover{background:#006b62}.secondary{color:#435d5b;background:#fff;border:1px solid #dce5e1}.danger{color:#ad4f36;background:#fcf0ec;border:1px solid #f2d1c6}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:9px;padding:20px 19px 16px}.stat-card>span{color:#758687;justify-content:space-between;gap:7px;font-size:11px;display:flex}.stat-card svg{color:#9caeaa}.stat-card>strong{letter-spacing:-1.1px;font-variant-numeric:tabular-nums;margin:15px 0 12px;font-size:31px;font-weight:540;display:block}.stat-card strong small{letter-spacing:0;color:#8c9b99;margin-left:8px;font-size:12px;font-weight:400}.stat-card p{color:#91a09e;align-items:center;gap:6px;margin:0;font-size:9px;display:flex}.status-dot{background:#4ca37c;border-radius:50%;width:5px;height:5px;display:inline-block}.section-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-bar>div,.section-bar>span{align-items:center;gap:9px;display:flex}.section-icon{color:#4b7773}.section-bar select{color:#344d4b;background:0 0;border:0;max-width:100%;padding:6px 5px 6px 0;font-size:12px;font-weight:550}.section-bar .muted{white-space:nowrap;font-size:10px}.monitor-grid{grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:20px;display:grid}.card{border:1px solid var(--border);background:#fff;border-radius:9px;padding:23px}.card-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:23px;display:flex}.card-heading p{margin:7px 0 0}.card-heading>svg{color:#7c9790}.card-heading select{color:#728884;background:#fff;border:1px solid #e0e7e4;border-radius:5px;padding:7px 9px;font-size:10px}.signal-card{min-height:365px;padding-bottom:18px}.signal-card h2{font-size:17px}.signal-card .eyebrow{font-size:8px}.chart-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.segmented{border:1px solid var(--border);background:#f9fbfa;border-radius:6px;padding:3px;display:flex;overflow:hidden}.segmented button{color:#889994;background:0 0;border-radius:4px;padding:6px 9px;font-size:9px}.segmented button.active{color:#216a5f;background:#fff;box-shadow:0 1px 4px #18362c13}.chart-unit{color:#91a19c;font-size:8px}.signal-chart{width:100%;margin-top:20px;display:block}.signal-chart text{fill:#9aaba5;letter-spacing:.3px;font-size:10px}.grid-line{stroke:#eaf0ed;stroke-dasharray:3 5;stroke-width:1px}.chart-footer{color:#8a9b95;border-top:1px solid #f1f4f2;justify-content:space-between;gap:10px;margin-top:15px;padding-top:14px;font-size:9px;display:flex}.chart-footer>span{align-items:center;gap:5px;display:flex}.legend{border-radius:50%;width:6px;height:6px;margin-left:9px;display:inline-block}.legend:first-child{margin-left:0}.ir{background:#008d82}.red{background:#dc806c}.device-detail h2{font-size:14px}.device-detail>.card-heading{margin-bottom:5px}.device-art{justify-content:center;align-items:center;height:110px;margin-bottom:14px;display:flex;position:relative}.board{color:#c0cbb8;background:#20433e;border:3px solid #56796d;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;width:91px;height:85px;display:flex;position:relative;transform:rotate(-9deg);box-shadow:7px 8px 15px #2e5e4f10}.board small{margin-top:4px;font-family:monospace;font-size:7px}.board:before,.board:after{content:"";background:repeating-linear-gradient(#bdbfa3 0 4px,#0000 4px 8px);width:4px;position:absolute;top:8px;bottom:8px}.board:before{left:-6px}.board:after{right:-6px}.board-led{background:#b3e181;border-radius:50%;width:4px;height:4px;position:absolute;top:6px;right:7px;box-shadow:0 0 5px #bbef82}.sensor{color:#e89583;background:#354a4d;border:2px solid #587071;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;width:50px;height:48px;display:flex;position:absolute;bottom:15px;right:22px;transform:rotate(7deg)}.sensor small{color:#d8e2db;margin-top:3px;font-family:monospace;font-size:6px}.device-detail h3{margin-bottom:6px;font-size:13px}.device-id{color:#8d9b97;margin-bottom:11px;font-size:10px;display:block}.badge{color:#83918d;white-space:nowrap;background:#f1f4f3;border-radius:4px;align-items:center;gap:6px;padding:5px 7px;font-size:9px;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:5px;height:5px}.badge.online{color:#478a62;background:#edf7f0}.badge.blocked{color:#a37551;background:#fff2ec}dl{margin:18px 0 14px}dl>div{justify-content:space-between;padding:6px 0;font-size:10px;display:flex}dt{color:#8a9a95}dd{color:#4a645b;margin:0}.text-button{color:#388479;background:0 0;border-top:1px solid #ecf0ee;justify-content:space-between;align-items:center;width:100%;padding:13px 0 0;font-size:10px;display:flex}.info-strip{color:#7a9585;background:#f1f5f1;border:1px solid #e2e9e4;border-radius:7px;align-items:center;gap:13px;margin-top:22px;padding:18px 19px;display:flex}.info-strip strong{color:#567b65;font-size:11px;font-weight:550}.info-strip p{color:#82988a;margin:5px 0 0;font-size:10px}.tag{white-space:nowrap;letter-spacing:.8px;border:1px solid #d9e5dc;border-radius:3px;margin-left:auto;padding:5px 7px;font-size:8px}.info-strip>svg{flex-shrink:0}footer{color:#9daba6;border-top:1px solid #e6ece8;justify-content:space-between;gap:20px;margin:30px 0 0;padding:19px 0 0;font-size:9px;display:flex}.footer-dot{color:#b8c4bd;margin:0 8px}.demo-banner{color:#927445;background:#fff7e5;border:1px solid #f2e6c9;border-radius:5px;align-items:center;gap:9px;margin-bottom:24px;padding:9px 12px;font-size:10px;display:flex}.demo-banner span{margin-left:4px}.error,.error-banner{color:#a14736;background:#fff1ed;border-radius:6px;padding:12px;font-size:12px}.error-banner{justify-content:space-between;gap:15px;margin-bottom:20px;display:flex}.error-banner button{color:inherit;background:0 0;text-decoration:underline}.notice{color:#2c7b57;background:#e9f5ef;border-radius:6px;margin-bottom:15px;padding:10px;font-size:12px}.empty-state,.empty-chart{color:#8b9c95;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:55px 20px;font-size:13px;display:flex}.empty-chart{min-height:255px}.empty-chart h3,.empty-state h3{color:#536f64;margin:5px 0 0}.empty-state p,.empty-chart p{margin:0;font-size:11px}.device-row{border-top:1px solid #edf1ef;align-items:center;gap:18px;padding:20px 0;display:flex}.device-row:first-child{border-top:0}.device-row>div:first-of-type{flex-direction:column;gap:5px;display:flex}.device-row strong{font-size:13px}.device-row code{color:#6d877a;font-size:10px}.device-row small{color:#94a299;font-size:10px}.device-row-icon{color:#678c78;background:#edf5ef;border-radius:8px;padding:14px}.row-status{flex-direction:column;align-items:flex-start;gap:8px;margin-left:auto;display:flex}.integration-grid{grid-template-columns:1.6fr 1fr;gap:22px;display:grid}.integration-grid h3{margin-top:25px}.integration-grid .muted{line-height:1.8}.copy-field{margin-bottom:19px}.copy-field>span{color:#73887b;margin-bottom:7px;font-size:11px;display:block}.copy-field>div{background:#f5f8f5;border:1px solid #e5ece6;border-radius:5px;justify-content:space-between;align-items:center;gap:6px;padding:9px;display:flex}.copy-field code{overflow-wrap:anywhere;font-size:11px;line-height:1.8}.copy-field button{flex-shrink:0}.hardware-tags{color:#63806e;flex-wrap:wrap;gap:8px;font-size:10px;display:flex}.hardware-tags span{background:#eff5f1;border-radius:4px;padding:7px}.spaced{margin:12px 0;display:flex}hr{border:0;border-top:1px solid var(--border);margin:24px 0}.feature-list{padding:0;list-style:none}.feature-list li{color:#6f8578;align-items:center;gap:9px;padding:9px 0;font-size:11px;line-height:1.6;display:flex}.about{max-width:850px}.about h2{margin-bottom:20px}.about h3{margin-top:30px}.about p{color:#708277;font-size:13px}.about a{align-items:center;gap:8px;font-size:12px;display:flex}.modal{color:#344e42;border:1px solid #dbe6df;border-radius:12px;width:min(470px,100vw - 32px);padding:30px;box-shadow:0 20px 80px #17362a30}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a272c88}.modal .card-heading{margin-bottom:12px}.modal label{color:#607b6c;margin-top:18px;font-size:12px;display:block}.modal input{color:#345345;background:#fbfdfb;border:1px solid #d7e3da;border-radius:5px;width:100%;margin-top:8px;padding:11px;font-size:13px;display:block}.modal-actions{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{background:var(--dark);color:#e8f3ec;flex-direction:column;padding:46px 11% 38px;display:flex}.login-story>.brand{margin-bottom:60px}.login-story>small{color:#708e8e;margin-top:auto;font-size:10px}.login-intro{margin:auto 0}.login-intro .pill{color:#a5c8b1;background:#20413e;border-color:#395e50;font-size:9px}.login-intro h1{letter-spacing:-3px;margin:30px 0 24px;font-size:64px;font-weight:450;line-height:1.08}.login-intro>p{color:#9bb6b2;max-width:335px;font-size:15px;font-weight:350;line-height:1.9}.login-wave{color:#67b9a3;opacity:.75;margin:50px -20px}.login-features{color:#a4bdb5;gap:25px;margin-bottom:70px;font-size:11px;display:flex}.login-features>span{align-items:center;gap:8px;display:flex}.login-panel{background:#fafcf9;justify-content:center;align-items:center;padding:35px;display:flex}.login-card{width:100%;max-width:350px}.login-shield{color:#588670;background:#e6f1e9;border-radius:12px;place-items:center;width:56px;height:56px;margin-bottom:28px;display:grid}.login-card h2{letter-spacing:-.8px;margin-bottom:15px;font-size:24px}.login-card>p{color:#80928a;margin-bottom:30px;font-size:13px;line-height:1.8}.google-button{color:#365748;background:#fff;border:1px solid #d7e2da;border-radius:7px;justify-content:center;align-items:center;gap:14px;width:100%;padding:15px 18px;font-size:12px;display:flex;box-shadow:0 2px 4px #1e40210a}.google-button>svg{color:#9baba0;margin-left:auto}.google-g{color:#4285f4;margin-right:12px;font-size:20px;font-weight:700}.login-permission{color:#9aaa9f;justify-content:center;gap:7px;margin-top:18px;font-size:10px;display:flex}.login-card>.setup-note{color:#a48b5b;margin:14px 0 0;font-size:11px}.login-card>.login-disclaimer{color:#a0aea3;border-top:1px solid #e4ebe3;max-width:350px;margin:34px 0 10px;padding-top:24px;font-size:10px;line-height:1.8}.demo-link{justify-content:center;align-items:center;gap:8px;margin-top:28px;font-size:11px;display:flex}.privacy-link{color:#7f9989;font-size:10px}.privacy{color:#456556;max-width:740px;margin:80px auto;padding:0 25px}.privacy>.brand{color:#244a40;margin-bottom:45px}.privacy p{font-size:14px;line-height:1.9}.privacy a{font-size:13px}@media (width>=1600px){main{padding-top:50px}.monitor-grid{grid-template-columns:minmax(0,1fr) 290px}.signal-chart{margin-top:35px}}@media (width<=1200px){.sidebar{width:215px;padding-left:13px;padding-right:13px}.main-wrap{width:calc(100% - 215px);margin-left:215px}main{padding:28px 24px}.topbar{padding:0 24px}.monitor-grid{grid-template-columns:minmax(0,1fr) 225px;gap:14px}.card{padding:18px}.stat-card{padding:17px 14px}.stat-card>strong{font-size:27px}.chart-unit,.tag{display:none}.page-heading h1{font-size:25px}.page-heading .button{padding:10px;font-size:10px}.stats-grid{gap:10px}.workspace{gap:5px;font-size:10px}.user small{max-width:110px}}@media (width<=980px){.sidebar{width:76px;padding:25px 12px}.sidebar .brand>span:last-child,.workspace,.nav-label,.nav-item .count,.research-note,.user>div,.user>.avatar{display:none}.sidebar .brand{justify-content:center}.sidebar nav{margin-top:45px}.nav-item{justify-content:center;gap:0;padding:15px 0;font-size:0}.nav-item svg{width:21px;height:21px}.user{justify-content:center}.user .icon-button{margin:0}.main-wrap{width:calc(100% - 76px);margin-left:76px}.monitor-grid{grid-template-columns:minmax(0,1fr) 240px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:18px}.stat-card>strong{font-size:29px}.integration-grid{grid-template-columns:1fr}.login-intro h1{font-size:50px}.login-story{padding:36px 10%}.login-features{flex-direction:column;gap:16px}}@media (width<=720px){.sidebar{flex-direction:row;align-items:center;width:100%;padding:16px 18px;position:static}.sidebar .brand>span:last-child{font-size:20px;display:block}.sidebar .brand small{display:none}.sidebar nav{gap:2px;margin:0 0 0 auto;display:flex}.nav-item{min-width:36px;margin:0;padding:10px}.nav-item:last-child{display:none}.sidebar-bottom{margin:0 0 0 9px;padding:0}.user{border:0;padding:0}.app-shell{display:block}.main-wrap{width:100%;margin:0}.topbar{height:51px;padding:0 18px;font-size:9px}.region{font-size:9px}.topbar-right{gap:7px}.pill{font-size:7px}.slash{padding:0 6px}main{padding:24px 18px}.page-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:23px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.monitor-grid{grid-template-columns:1fr}.device-detail{display:none}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-card>span{font-size:10px}.stat-card>strong{font-size:27px}.stat-card p{font-size:8px}.stat-card svg{width:14px}.section-bar>.muted{gap:0;font-size:0}.section-bar>div{min-width:0}.section-bar select{max-width:calc(100vw - 105px);font-size:11px}.chart-footer{flex-wrap:wrap;font-size:8px}.card-heading{gap:8px}.signal-card h2{font-size:16px}.chart-controls{gap:0}.segmented button{padding:6px 7px;font-size:9px}.signal-card{min-height:300px;padding:17px 12px}.signal-chart{margin-top:20px}.info-strip{padding:14px}.info-strip p{font-size:9px}.demo-banner{flex-wrap:wrap;font-size:9px}.demo-banner span{width:100%;margin:0 0 0 25px}.device-row{flex-wrap:wrap;gap:12px}.device-row-icon{padding:10px}.row-status{margin-left:auto}.device-row .button{margin-left:55px}.device-row .icon-button{margin-left:auto}footer{flex-direction:column;gap:10px;margin-top:23px;line-height:1.6}.login{grid-template-columns:1fr;min-height:100vh}.login-story{padding:27px 30px}.login-story>.brand{margin:0}.login-intro{margin-top:35px}.login-intro h1{letter-spacing:-1.5px;margin:23px 0 18px;font-size:42px}.login-intro>p{max-width:320px;font-size:12px}.login-wave,.login-features,.login-story>small{display:none}.login-panel{padding:38px 30px 30px}.login-shield{display:none}.login-card h2{font-size:21px}.login-card>p{font-size:12px}.login-card>.login-disclaimer{margin-top:24px}.privacy{margin-top:35px}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}
