*{box-sizing:border-box} :root{--ink:#1e302b;--green:#193c34;--soft:#f5f6f2;--muted:#7d8982;--line:#e5e9e2;--orange:#ce8664} [hidden]{display:none!important} body{margin:0;background:var(--soft);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased} button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #cb9b56;outline-offset:4px}button{color:inherit} .app{display:flex;min-height:100vh} .sidebar{width:231px;flex:none;background:var(--green);color:#e9f1eb;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:38px 22px 24px}.brand{display:flex;align-items:center;gap:9px;font-size:37px;font-weight:650;letter-spacing:-2px;text-decoration:none;color:inherit}.brand-icon{font-size:40px;color:#bdcdbb;line-height:1;transform:rotate(-90deg);display:inline-block;letter-spacing:-6px;margin-right:6px}.brand-dot{color:#c9906f;margin-left:-8px}.sidebar-caption{font-size:8px;letter-spacing:1.8px;color:#9bb3a7;margin-top:18px;margin-left:8px;white-space:nowrap}.sidebar nav{display:flex;flex-direction:column;gap:7px;margin-top:55px}.nav-button{height:47px;display:flex;align-items:center;gap:12px;background:none;border:0;border-radius:7px;text-align:left;padding:0 13px;color:#afc2b8}.nav-button>span:first-child{font-size:21px;width:22px}.nav-button:hover{background:#284a40;color:white}.nav-button.active{background:#35554a;color:white}.nav-count{margin-left:auto;border-radius:5px;font-size:11px;padding:3px 6px;background:#517063;color:#dfe9df}.sidebar-bottom{margin-top:auto}.system-state{display:flex;gap:10px;font-size:11px;align-items:center;padding:18px 7px 25px}.system-state small{display:block;font-size:9px;margin-top:6px;color:#9bb3a7}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#8bb69c;flex:none}.logout{width:100%;border:0;border-top:1px solid #35534a;padding:21px 8px 0;background:none;color:#a5bdb0;display:flex;justify-content:space-between;font-size:11px}main{margin-left:231px;flex:1;min-width:0;padding:0 42px 25px;max-width:1750px}.topbar{height:91px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);font-size:11px}.breadcrumb{color:#718078}.breadcrumb span{margin:0 12px;color:#b4beb6}.date{margin-left:auto;color:#7b887f}.avatar{border:1px solid #dde4da;width:32px;height:32px;border-radius:50%;background:#e8ede4;font-size:12px;font-weight:600}.page-header{display:flex;align-items:center;justify-content:space-between;margin:37px 0 29px;gap:20px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.8px;color:#85917f}.page-header h1{font-size:36px;letter-spacing:-1.7px;font-weight:550;margin:10px 0 10px;line-height:1.15}.heading-dot{color:#bb805a}.page-header p{margin:0;color:#7e8a81;font-size:12px}.button{border:1px solid var(--line);background:white;border-radius:7px;min-height:43px;padding:10px 16px;display:inline-flex;gap:10px;align-items:center;justify-content:center;font-size:11px;font-weight:550;text-decoration:none}.button.primary{background:var(--green);color:#f5f7f1;border-color:var(--green)}.button.primary:hover{background:#2a5145}.button>span{font-size:18px;font-weight:400}.button.wide{width:100%;justify-content:space-between;font-size:14px}.summary{display:flex;align-items:center;gap:36px;background:#eef1e9;border:1px solid #e1e6da;border-radius:9px;padding:17px 20px;margin-bottom:30px}.summary>div{display:flex;gap:12px;align-items:center}.summary strong{font-size:12px;display:block;font-weight:600}.summary small{font-size:9px;display:block;color:#87917f;margin-top:5px}.summary-icon{font-size:24px;color:#6b8f75;display:inline-block}.summary-icon.amber{color:#bb9265}.summary .summary-update{margin-left:auto;font-size:10px;color:#7c887d;gap:8px}.summary-update button{background:none;border:0;font-size:22px;color:#84977f;margin-left:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-heading h2{font-size:14px;margin:0;font-weight:600}.section-heading h2 span{font-size:10px;font-weight:500;color:#8b968a;margin-left:8px}.section-heading>span{color:#929c91;font-size:9px}.device-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.device{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 19px 14px;text-align:left;min-width:0;position:relative;cursor:pointer;transition:border .15s,box-shadow .15s}.device:hover{border-color:#afc0ad;box-shadow:0 5px 14px #1a382306}.device.chosen{border-color:#a5b79d}.device-title{display:flex;gap:9px;align-items:center;justify-content:space-between}.device-name{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:600}.device-name .sensor-icon{color:#9daca0;font-size:18px}.name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-menu{border:0;background:none;color:#94a095;font-size:18px;line-height:1;padding:0 0 0 8px;letter-spacing:1px}.reading{font-size:41px;letter-spacing:-2px;font-weight:550;line-height:1.3;margin-top:16px;font-variant-numeric:tabular-nums}.reading sup{font-size:17px;letter-spacing:-.8px;vertical-align:baseline;margin-left:5px;font-weight:400;color:#8e988d}.status{display:inline-flex;align-items:center;gap:5px;color:#5f8069;font-size:8px;padding:4px 7px;background:#eff4ec;border-radius:4px;white-space:nowrap}.status .dot{width:4px;height:4px;background:currentColor}.status.warn{color:#b48353;background:#fbf2e6}.status.off{color:#929b91;background:#f1f3ef}.device.offline .reading{color:#9da69b}.spark-wrap{height:34px;margin:10px -1px 14px}.spark-wrap svg{display:block;width:100%;height:100%}.spark-empty{height:32px;display:flex;align-items:center;color:#b0b7ac;font-size:10px;border-bottom:1px dashed #e2e7dc}.device-bottom{display:flex;justify-content:space-between;border-top:1px solid #edf0e8;padding-top:11px;color:#94a08f;font-size:8px;gap:6px}.device-bottom .wifi{color:#7c947c;white-space:nowrap}.device-subline{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:1px}.device-number{font-size:8px;color:#a0a99b;letter-spacing:1px}.history-panel{background:white;border:1px solid var(--line);border-radius:10px;margin-top:26px;padding:23px 24px 13px;scroll-margin-top:20px}.chart-header{display:flex;gap:15px;align-items:center;justify-content:space-between}.chart-header .eyebrow{font-size:8px;letter-spacing:1.5px}.chart-header h2{font-size:18px;font-weight:550;letter-spacing:-.4px;margin:7px 0 0}.chart-controls{display:flex;align-items:center;gap:12px}select{color:#62745f;border:1px solid #e4e9df;background:#fff;border-radius:5px;padding:8px 25px 8px 10px;font-size:10px;max-width:190px}.segmented{display:flex;border:1px solid #e7ebe2;border-radius:5px;padding:3px;gap:1px;background:#fafbf8}.segmented button{background:none;border:0;padding:6px 10px;font-size:9px;color:#8b9685;border-radius:3px;white-space:nowrap}.segmented .selected{background:#e7edde;color:#526f4e}.chart-meta{display:flex;gap:18px;margin-top:22px;align-items:center;color:#87917f;font-size:9px}.chart-meta>span{display:flex;align-items:center;gap:7px}.legend-line{width:13px;height:2px;background:#72936a}.legend-range{width:9px;height:9px;background:#f0f4e9;border:1px solid #e4eadc}.chart-meta button{margin-left:auto;font-size:9px;background:none;border:0;color:#8d9889}.chart{height:215px;position:relative;margin-top:8px}.chart svg{width:100%;height:100%;overflow:visible}.chart-empty{height:100%;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f1f3ed 40px);color:#9aa491;font-size:12px}.chart-empty small{font-size:10px}.chart-footer{display:flex;justify-content:space-between;border-top:1px solid #edf0e7;padding-top:12px;font-size:8px;color:#a0a89a;gap:10px}footer{display:flex;justify-content:space-between;font-size:9px;color:#99a290;margin-top:23px;gap:12px}footer strong{font-weight:650;color:#7c8b74;letter-spacing:-.4px;margin-right:6px}.demo-banner{display:flex;gap:12px;justify-content:space-between;align-items:center;background:#e9eddf;margin:0 -42px;padding:10px 42px;color:#687956;font-size:10px;border-bottom:1px solid #dce4ce}.demo-banner button{border:0;background:none;color:#516a43;font-size:9px;white-space:nowrap}.alert{padding:12px 14px;background:#fff1df;border-radius:7px;color:#97734f;font-size:12px;margin-bottom:15px;line-height:1.5}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-box{width:390px;max-width:calc(100% - 50px);margin:auto;padding:50px 0}.login-box .brand{margin-bottom:70px;color:var(--green)}.login-box h1{font-size:61px;font-weight:500;letter-spacing:-3px;line-height:1.05;margin:18px 0 20px}.login-box>p{color:#87927e;line-height:1.7;font-size:13px}.login-box form{margin-top:37px}.login-box label{font-size:11px;color:#72826d}.password-wrap{display:flex;border:1px solid #dce3d5;background:white;border-radius:7px;margin:9px 0 14px}.password-wrap input{border:0;background:transparent;width:100%;min-width:0;padding:13px 12px;outline:none}.password-wrap:focus-within{outline:2px solid #819b70}.password-wrap button{border:0;background:none;width:45px;color:#7b9073}.login-box small{color:#9ba591;font-size:9px;display:block;margin-top:45px}.text-button{background:none;border:0;padding:20px 0 0;color:#637d57;font-size:12px}.login-art{background:#244c3e;position:relative;overflow:hidden;min-height:100vh}.pipe{border:36px solid #78947a;border-bottom:0;width:260px;height:460px;border-radius:160px 160px 0 0;position:absolute;opacity:.42;transform:rotate(25deg)}.p1{left:-50px;top:13%}.p2{left:225px;top:31%;height:700px;border-color:#9aaf8c}.p3{left:420px;top:-10%;border-color:#aec29c;opacity:.2}.art-reading{position:absolute;left:19%;top:43%;font-size:100px;color:#eef0db;font-weight:300;letter-spacing:-6px}.art-reading sup{font-size:35px;font-weight:300;letter-spacing:-1px;vertical-align:baseline;margin-left:10px}.art-label{position:absolute;left:19%;bottom:19%;color:#b3c4a7;font-size:8px;letter-spacing:2px}#login-error{color:#aa6450;font-size:12px;margin-bottom:12px}dialog{border:1px solid #e0e6d8;border-radius:15px;background:#fcfdf9;box-shadow:0 25px 100px #132a2433;color:var(--ink);width:510px;max-width:calc(100% - 28px);padding:32px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#102d245c;backdrop-filter:blur(3px)}.close-modal{position:absolute;right:16px;top:12px;background:none;border:0;font-size:25px;color:#9aa58f}.modal-heading{font-size:25px;letter-spacing:-.8px;margin:6px 0 10px;font-weight:550}.modal-copy{color:#849079;font-size:12px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.form-field{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#839079}.form-field.full{grid-column:1/-1}.form-field input,.form-field select{border:1px solid #dfe5d8;padding:11px;border-radius:6px;min-width:0;max-width:none;background:white;font-size:13px;color:var(--ink);width:100%}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.key-box{width:100%;border:1px solid #d9e2d2;border-radius:6px;background:#f0f4eb;padding:12px;font-family:monospace;font-size:12px;resize:none;word-break:break-all}.step{padding:15px 0;border-bottom:1px solid #e5eade;display:flex;gap:13px;font-size:12px;line-height:1.6}.step-number{width:26px;height:26px;border:1px solid #dce4d4;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;color:#8b9f77;font-size:10px}.step strong{display:block;font-weight:600}.step small{color:#909d85;font-size:11px}.device-picker{display:grid;gap:8px;margin-top:20px}.device-picker button{display:flex;justify-content:space-between;padding:14px;border:1px solid #e0e7d9;border-radius:6px;background:white;font-size:12px}.device-picker small{color:#8b9a80}.guide-table{border-collapse:collapse;width:100%;margin-top:15px;font-size:11px}.guide-table td{border-bottom:1px solid #e1e8db;padding:10px 5px}.guide-table th{text-align:left;color:#829374;font-size:10px;padding:10px 5px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:#f0f5e9;padding:13px 19px;border-radius:7px;box-shadow:0 5px 25px #18352433;font-size:12px;max-width:90vw;z-index:5}
@media(min-width:1500px){main{padding:0 60px 30px}.demo-banner{margin:0 -60px;padding:10px 60px}.device{padding:23px}.reading{font-size:49px}.spark-wrap{height:43px}.chart{height:260px}.page-header h1{font-size:43px}}
@media(max-width:1150px){.sidebar{width:195px;padding-left:16px;padding-right:16px}main{margin-left:195px;padding-left:28px;padding-right:28px}.demo-banner{margin:0 -28px;padding:9px 28px}.page-header h1{font-size:31px}.summary{gap:22px;padding:15px}.summary-update{max-width:180px}.device{padding:15px}.reading{font-size:35px}.chart-controls{gap:5px}.segmented button{padding:6px 7px}}
@media(max-width:930px){.sidebar{width:75px;padding:30px 10px}.sidebar .brand{font-size:0;gap:0;justify-content:center}.sidebar .brand-icon{font-size:36px;margin:0}.sidebar .brand-dot,.sidebar-caption,.nav-count,.system-state,.logout{display:none}.sidebar nav{margin-top:48px}.nav-button{font-size:0;padding:0;justify-content:center}.nav-button>span:first-child{font-size:25px;width:auto}.nav-button .nav-count{display:none}main{margin-left:75px}.device-grid{gap:12px}.device-bottom{font-size:7px}.chart-header{align-items:flex-start}.chart-controls{flex-direction:column;align-items:flex-end}.summary .summary-update{max-width:130px;font-size:9px}.date{font-size:10px}.summary{gap:16px}.section-heading>span{font-size:8px}.login-art{display:none}.login{display:block}.login-box{padding-top:60px}.login-box .brand{margin-bottom:50px}}
@media(max-width:700px){.sidebar{position:static;width:auto;height:60px;padding:0 18px;flex-direction:row;align-items:center;justify-content:space-between}.sidebar .brand{font-size:25px;gap:4px}.sidebar .brand-icon{font-size:29px;margin-right:6px}.sidebar .brand-dot{display:inline}.sidebar nav{margin:0;flex-direction:row;gap:5px}.nav-button{width:36px;height:33px}.nav-button>span:first-child{font-size:22px}.sidebar-bottom{display:none}.app{display:block}.topbar{height:54px}.breadcrumb{font-size:10px}.date{font-size:9px}.avatar{width:27px;height:27px;font-size:10px}main{margin:0;padding:0 18px 22px}.demo-banner{margin:0 -18px;padding:10px 18px;font-size:9px;line-height:1.5}.demo-banner button{display:none}.page-header{margin:26px 0 22px;display:block}.page-header h1{font-size:31px}.eyebrow{font-size:8px;letter-spacing:1.4px}.page-header p{font-size:11px}.page-header>.button{margin-top:18px;min-height:37px;font-size:10px}.summary{padding:14px 12px;gap:20px;flex-wrap:wrap;margin-bottom:24px}.summary>div{gap:7px}.summary strong{font-size:11px}.summary small{font-size:8px}.summary-icon{font-size:22px}.summary .summary-update{max-width:none;margin-left:0;width:100%;border-top:1px solid #dfe6d7;padding-top:10px;font-size:9px}.summary-update button{margin-left:auto}.section-heading>span{max-width:140px;text-align:right;line-height:1.4;font-size:8px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device{padding:13px 12px 11px;border-radius:8px}.device-name{font-size:10px;gap:5px}.device-name .sensor-icon{font-size:16px}.reading{font-size:35px;margin-top:12px}.reading sup{font-size:14px}.status{font-size:7px;padding:4px 5px}.device-number{font-size:7px}.device-bottom{font-size:7px;flex-wrap:wrap;gap:4px}.device-menu{font-size:17px;padding-left:5px}.spark-wrap{height:29px;margin:9px 0 10px}.history-panel{padding:20px 13px 12px;margin-top:22px}.chart-header{display:block}.chart-controls{flex-direction:row;justify-content:space-between;margin-top:17px;gap:8px}.chart-header h2{font-size:18px}.chart-meta{gap:12px;font-size:8px;margin-top:18px}.chart-meta button{font-size:8px}.chart-meta>span{gap:4px}.chart{height:195px}.chart-footer{font-size:7px;line-height:1.5}.chart-footer>span:last-child{max-width:85px;text-align:right}footer{line-height:1.6;font-size:8px}footer>span:last-child{max-width:130px;text-align:right}.login-box{width:350px}.login-box h1{font-size:54px}dialog{padding:27px 23px}.modal-heading{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.status.danger{color:#ad5c4b;background:#f9e9e3}.device:has(.status.danger){border-color:#d6aa98}.alarm-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #ddbeb1;border-radius:9px;padding:16px 19px;background:#fbede5;color:#96533e;margin-bottom:18px}.alarm-banner strong{font-size:13px}.alarm-banner p{font-size:11px;line-height:1.6;margin:6px 0 0}.alarm-banner .button{flex:none;color:#96533e;border-color:#dfc5b8;background:#fff7f1}.checkbox-field{grid-column:1/-1;font-size:12px;display:flex;align-items:center;gap:8px}.checkbox-field input{accent-color:#193c34}.page-header{flex-wrap:wrap}.page-header>div{margin-right:auto}.device-number{letter-spacing:.3px}@media(max-width:1150px){.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){#notifications{margin-top:18px;margin-right:5px;min-height:37px;font-size:10px}.alarm-banner{padding:13px;gap:10px}.alarm-banner p{font-size:10px}.alarm-banner .button{font-size:9px;padding:8px}}

/* One viewport dashboard: same cards and alarm treatment, compact spacing. */
html,body{height:100%;overflow:hidden} .app{height:100dvh;min-height:0;display:flex;flex-direction:column;padding:0 0 env(safe-area-inset-bottom)}
.compact-brand{height:48px;flex:none;display:flex;align-items:center;gap:12px;background:var(--green);color:#edf3e8;padding:0 22px}.compact-brand .brand{font-size:27px;letter-spacing:-1px}.compact-brand .brand-icon{font-size:30px}.source-button{margin-left:auto;border:1px solid #6b8779;background:transparent;color:#d6e3d8;font-size:11px;border-radius:15px;padding:5px 10px}
main{margin:0;max-width:none;min-height:0;padding:12px 22px 14px;display:flex;flex-direction:column;gap:10px;width:100%;flex:1}
.page-header{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:7px;flex:none}.page-header>div{margin:0}.title-row{display:flex;align-items:center;gap:10px}.page-header h1{font-size:27px;letter-spacing:-1px;margin:0;line-height:1.1}.date{margin-left:auto;font-size:11px;white-space:nowrap}.page-header p{font-size:12px;margin:0}.dashboard-actions{display:flex;gap:8px}.dashboard-actions .button{min-height:34px;padding:6px 12px;font-size:11px}#notifications{margin:0;min-height:34px}
.alarm-banner{margin:0;padding:10px 14px;gap:10px;flex:none;max-height:88px}.alarm-banner strong{font-size:12px}.alarm-banner p{font-size:10px;margin:4px 0 0;max-height:30px;overflow:auto;line-height:1.4}.alarm-banner .button{min-height:32px;font-size:10px;padding:7px 10px}.alert{margin:0;font-size:10px;padding:7px;flex:none}
.device-grid{flex:1;min-height:0;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.device{min-height:0;padding:14px;display:flex;flex-direction:column;overflow:hidden;container-type:size}.device-name{font-size:12px}.device-title{flex:none;min-height:20px}.device-menu{min-width:26px;min-height:24px}.reading{font-size:clamp(28px,7cqh,48px);margin:4px 0 0;line-height:1.1}.reading sup{font-size:16px}.device-subline{margin-top:5px;flex:none}.spark-wrap{flex:1;min-height:8px;max-height:70px;margin:8px 0}.device-bottom{font-size:8px;padding-top:5px;margin-top:auto;flex:none}.history-panel{margin:0;padding:12px 0 0;border:0}.history-panel .chart{height:240px}#history-dialog{width:850px;padding:30px 20px 15px}.device-number{font-size:7px}.status{font-size:8px;padding:3px 5px}
@media(max-width:700px){.compact-brand{height:38px;padding:0 12px}.compact-brand .brand{font-size:23px}.compact-brand .brand-icon{font-size:26px}.source-button{font-size:10px;padding:3px 8px}main{padding:8px 10px 8px;gap:7px}.page-header{gap:5px}.page-header h1{font-size:22px;letter-spacing:-.9px}.date{font-size:9px}.page-header p{font-size:10px;white-space:nowrap}.dashboard-actions .button,#notifications{min-height:29px;font-size:10px;padding:5px 9px}.dashboard-actions .button>span{font-size:16px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:6px}.device{padding:5px 8px;border-radius:8px}.device-title{min-height:14px;gap:3px}.device-name{font-size:10px;gap:4px}.device-name .sensor-icon{font-size:13px}.device-menu{font-size:16px;min-height:16px;min-width:23px;padding:0}.reading{font-size:clamp(21px,25cqh,34px);margin-top:1px;letter-spacing:-1px}.reading sup{font-size:11px;margin-left:4px}.device-subline{margin-top:1px;gap:3px}.status{font-size:6px;padding:2px 4px;gap:3px}.device-number{font-size:6px;letter-spacing:0}.spark-wrap{min-height:4px;margin:3px 0;max-height:22px}.device-bottom{font-size:6px;gap:3px;flex-wrap:nowrap;padding-top:3px}.device-bottom .wifi{font-size:6px}.alarm-banner{padding:7px 9px;max-height:66px;gap:6px}.alarm-banner strong{font-size:10px}.alarm-banner p{font-size:8px;max-height:23px;margin-top:2px}.alarm-banner .button{font-size:8px;padding:5px 7px;min-height:30px}.chart-controls{flex-wrap:wrap}.chart{height:180px}.chart-header{display:block}.modal-heading{font-size:22px}.chart-footer{font-size:8px}}
@media(max-width:360px){.page-header h1{font-size:20px}.date{font-size:8px}.device-name{font-size:9px}}
@media(max-height:590px) and (max-width:700px){.compact-brand{height:30px}main{gap:4px;padding-top:5px}.page-header{gap:3px}.page-header h1{font-size:20px}.page-header p{font-size:9px}.dashboard-actions .button,#notifications{min-height:25px}.device-grid{gap:4px}.device{padding:3px 6px}.device-title{min-height:12px}.reading{font-size:clamp(17px,24cqh,27px)}.device-name{font-size:8px}.device-title .sensor-icon{font-size:11px}.device-subline .status{padding:1px 3px;font-size:5.5px}.device-subline .device-number{font-size:5.5px}.spark-wrap{margin:2px 0}.device-bottom{padding-top:2px;font-size:5.5px}.device-bottom .wifi{font-size:5.5px}.alarm-banner{padding:4px 7px}.alarm-banner strong{font-size:9px}.alarm-banner p{font-size:7px}.alarm-banner .button{min-height:25px}}
@media(orientation:landscape) and (max-height:550px){.device-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}}
@media(min-width:701px) and (min-height:551px){.reading{font-size:49px}.spark-wrap{max-height:90px;margin-top:auto;margin-bottom:auto}.device-name{font-size:13px}.status{font-size:9px}.device-bottom{font-size:9px}.device-number{font-size:8px}}

.alarm-banner p{overflow:hidden}
