.public-iot-shell{max-width:1180px;margin:0 auto;padding:76px 28px 100px;color:#182b2a}.public-iot-access{min-height:620px;display:grid;place-items:center}.public-iot-hero{width:100%;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:90px;padding:55px 0}.public-iot-kicker,.panel-label{color:#c45f32;font-size:.72rem;font-weight:800;letter-spacing:.16em}.public-iot-hero h1,.public-iot-heading h1{font-size:clamp(2.7rem,6vw,5.4rem);line-height:.98;margin:17px 0 24px;letter-spacing:-.04em}.public-iot-hero h1 em{color:#d26c3c;font-style:normal}.public-iot-hero p,.public-iot-heading p{color:#687875;max-width:600px;line-height:1.8}.access-features{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px;color:#1b5550;font-size:.78rem;font-weight:700}.access-features i{color:#d26c3c;margin-right:7px}.access-panel{background:#fff;border:1px solid #e3e7df;border-radius:8px;padding:34px;box-shadow:0 22px 50px rgba(25,51,48,.1);position:relative}.access-panel:before{content:"";position:absolute;top:0;left:34px;right:34px;height:3px;background:#d26c3c}.access-panel-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#edf5f1;color:#1b5550;font-size:1.1rem;margin-bottom:26px}.access-panel-heading h2{font-size:1.55rem;margin:8px 0 5px}.access-panel-heading p{font-size:.78rem;margin:0}.token-form{margin-top:30px}.token-form label{display:block;font-size:.76rem;font-weight:700;margin-bottom:10px}.token-input-row{display:flex;gap:8px}.token-input-row input{flex:1;min-width:0;border:1px solid #d9ded7;border-radius:4px;padding:15px 14px;font:inherit;background:#fff;outline:none}.token-input-row input:focus{border-color:#1b5550;box-shadow:0 0 0 3px rgba(27,85,80,.1)}.token-input-row button{width:50px;border:0;border-radius:4px;background:#1b5550;color:white;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.token-input-row button:hover{background:#123e3b;transform:translateX(2px)}.token-error{color:#a33c2f;margin-top:14px;font-size:.78rem}.access-note{display:block;color:#89938e;font-size:.7rem;margin-top:25px}.access-note i{margin-right:5px}.public-iot-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.public-iot-heading h1{font-size:clamp(2.3rem,5vw,4.4rem);margin-bottom:14px}.public-iot-exit{color:#1b5550;text-decoration:none;font-weight:700;white-space:nowrap}.public-iot-status-bar{display:flex;align-items:center;gap:10px;margin:36px 0 18px;color:#72817d;font-size:.8rem}.public-iot-status-bar strong{color:#1b5550}.live-dot{width:9px;height:9px;border-radius:50%;background:#3caa70;box-shadow:0 0 0 5px #e0f1e7}.status-divider{height:18px;border-left:1px solid #d7ddd5;margin:0 5px}.public-iot-grid{display:grid;grid-template-columns:1.45fr .9fr;gap:18px}.public-iot-panel{background:#fff;border:1px solid #e3e7df;border-radius:8px;padding:27px;box-shadow:0 14px 35px rgba(25,51,48,.05)}.panel-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.panel-heading h2{font-size:1.3rem;margin:6px 0 0}.panel-heading>i{font-size:1.2rem;color:#d26c3c}.chart-wrap{height:310px}.empty-state{color:#83908b;text-align:center;padding:45px 10px;font-size:.9rem}.is-hidden{display:none}.led-list{display:grid;gap:10px}.led-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf0eb}.led-item:last-child{border-bottom:0}.led-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#eef1ed;color:#77827d}.led-icon.is-on{background:#fff0d4;color:#d58a16}.led-info{min-width:0;flex:1}.led-info strong,.led-info small{display:block}.led-info strong{font-size:.9rem}.led-info small{color:#89938e;font-size:.72rem;margin-top:4px}.led-toggle{border:1px solid #d8dfd8;background:#f4f6f2;color:#718079;border-radius:20px;padding:7px 13px;font-size:.7rem;font-weight:800;cursor:pointer}.led-toggle.is-on{background:#1b5550;border-color:#1b5550;color:#fff}.readings-panel{margin-top:18px}.table-scroll{overflow-x:auto}.readings-panel table{width:100%;border-collapse:collapse;font-size:.82rem}.readings-panel th,.readings-panel td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0eb;white-space:nowrap}.readings-panel th{color:#76827e;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:760px){.public-iot-shell{padding:45px 18px 70px}.public-iot-hero{grid-template-columns:1fr;gap:38px;padding:28px 0}.public-iot-hero h1{font-size:3.1rem}.token-input-row button{padding:15px}.public-iot-heading{align-items:start;flex-direction:column}.public-iot-grid{grid-template-columns:1fr}.public-iot-panel{padding:20px}.chart-wrap{height:260px}}
.public-iot-access{min-height:calc(100vh - 170px);padding-top:35px;padding-bottom:55px}.public-iot-access:before{content:"";position:absolute;inset:0 10% 8%;z-index:-1;border:1px solid rgba(27,85,80,.08);border-radius:18px;pointer-events:none}.public-iot-hero{max-width:1040px;gap:72px}.access-copy{position:relative;padding:18px 0 18px 24px}.access-copy:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#d26c3c}.access-panel{max-width:430px;width:100%;justify-self:end}.access-panel-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;margin-bottom:27px;border-bottom:1px solid #edf0eb;color:#89938e;font-size:.62rem;font-weight:800;letter-spacing:.12em}.access-panel-top i{font-size:.4rem;color:#3caa70;vertical-align:middle;margin-right:5px}.access-panel-top strong{font-size:1.5rem;line-height:1;color:#dfe6df;letter-spacing:0}.access-panel-icon{margin-bottom:20px}.access-panel-heading h2{font-size:1.4rem}.token-input-row button{flex:0 0 50px}.access-note{border-top:1px solid #edf0eb;padding-top:18px}@media(max-width:760px){.public-iot-access{min-height:auto;padding-top:25px}.public-iot-access:before{inset:10px 18px 20px}.public-iot-hero{gap:34px}.access-copy{padding-left:18px}.access-panel{justify-self:stretch}.public-iot-hero h1{font-size:clamp(2.8rem,14vw,4rem)}}