:root{--bg:#f3f5f1;--card:#fff;--ink:#233d40;--muted:#6c7e7b;--line:#e4eae3;--teal:#296b68;--mint:#dcebe3;--amber:#966632;--radius:22px;font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #73a4a1;outline-offset:4px}button{border:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(29px,3vw,43px);font-weight:550;letter-spacing:-1.6px;line-height:1.16;margin-bottom:12px}h2{font-size:22px;line-height:1.3;letter-spacing:-.7px;font-weight:550;margin-bottom:14px}h3{font-size:17px;font-weight:600;line-height:1.4;margin-bottom:5px}p{margin-bottom:14px}small{font-size:12px}[hidden]{display:none!important}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#f9faf6;border-right:1px solid var(--line);padding:37px 23px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;line-height:1.1;font-weight:650;font-size:26px;letter-spacing:-1px}.brand small{display:block;font:9px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:1.6px;margin-top:7px;color:var(--muted)}.place{display:flex;flex-direction:column;margin:48px 9px 29px}.place strong{font-size:18px;font-weight:550;margin-top:6px}.place>span:last-child{font-size:11px;color:var(--muted);margin-top:3px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:650;color:var(--muted);margin-bottom:10px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{background:transparent;display:flex;align-items:center;gap:13px;text-align:left;min-height:47px;padding:12px;border-radius:12px;font-size:13px;font-weight:550;color:#6b7d77}.sidebar nav button.active{background:#e4eee7;color:#315d53}.sidebar nav button>span{font-size:22px;width:22px;line-height:1}.sidebar-bottom{margin-top:auto;padding:25px 7px 0;font-size:12px}.sidebar-bottom p{font-size:12px;margin-top:18px}.tiny-dot{display:inline-block;width:6px;height:6px;background:#81a68d;border-radius:50%;margin-right:7px}.workspace{min-width:0}.topbar{height:87px;padding:0 42px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:14px}.pill{font-size:10px;letter-spacing:.1px;background:#e9f1e8;border:1px solid #dce8d8;padding:5px 9px;border-radius:30px;white-space:nowrap;color:#4d7254}.pill.neutral{background:#f5f6f1;border-color:#e3e7dc;color:#7b806a}.pill.warning{color:#856235;background:#f7f1e6;border-color:#ede0c5}.round-button{background:#fff;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-size:21px;line-height:1}.avatar{display:grid;place-items:center;background:#e2e8dd;border-radius:50%;height:33px;width:33px;color:#526653;font:14px Georgia,serif}main{padding:34px 42px 20px;max-width:1600px;margin:0 auto;outline:none}.page-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:0 0 27px}.page-heading>div>p:last-child{color:var(--muted);font-size:13px;margin-bottom:0}.season-tag{background:#f9faf7;border:1px solid #dfe6dc;border-radius:28px;padding:8px 13px;font-size:11px;white-space:nowrap}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-top h2{margin-bottom:0}.overview-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(240px,1fr);gap:20px}.pool-hero{background:linear-gradient(128deg,#f1f6ee 0%,#eaf3ec 48%,#e0eeea 100%);padding:27px 27px 0;position:relative}.pool-display{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;min-height:193px}.pool-temperature{position:relative;z-index:1}.pool-temperature>span{font-size:11px;color:#607d73;display:block}.pool-temperature strong{font-size:54px;font-weight:450;letter-spacing:-2px;line-height:1.3}.pool-temperature strong small{font-size:23px;color:#6b8a7c;font-weight:400;letter-spacing:-1px}.pool-temperature p{font-size:10px;line-height:1.7;color:#6b8277;max-width:140px}.pool-art{width:100%;height:200px;overflow:visible;transform:rotate(-7deg)}.pool-strip{display:flex;align-items:center;gap:27px;border-top:1px solid #d4e1d7;padding:17px 0}.pool-strip>div{display:flex;flex-direction:column;gap:4px}.tiny-label{font-size:8px;color:#6c8173;letter-spacing:1px}.pool-strip strong{font-size:12px;font-weight:550}.pool-strip button{margin-left:auto;font-size:11px}.text-button{display:inline-flex;gap:12px;align-items:center;background:transparent;padding:6px 0;color:var(--teal);font-size:12px;font-weight:550;text-align:left;min-height:32px}.text-button:hover{text-decoration:underline}.weather-card{background:#fcfaf3;padding:26px 25px;display:flex;flex-direction:column}.sun-symbol{font-size:40px;line-height:.9;color:#c7a972}.weather-temp{font-size:58px;letter-spacing:-2px;font-weight:400;line-height:1.15;margin-top:8px}.weather-temp small{font-size:23px;color:#84907a}.weather-card>p{font-size:11px;color:#7c8871;margin:5px 0 14px}.weather-details{display:grid;gap:8px;margin-bottom:15px}.weather-details>div{display:flex;justify-content:space-between;gap:12px;font-size:11px}.weather-details span{color:#7d8674}.weather-details strong{font-weight:550}.weather-card .text-button{margin-top:auto}.source-line{font-size:9px;color:#7d8674;display:block;margin-top:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 13px}.section-heading h2{font-size:18px;margin:0}.muted{color:var(--muted);font-size:12px}.section-heading>span{font-size:10px}.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.device-card{padding:20px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}.device-card .eyebrow{font-size:8px;margin-bottom:4px}.device-card p:last-child{font-size:10px;color:var(--muted);margin-bottom:0}.device-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f1f5f0;font-size:23px;color:#65877d}.device-card h3{font-size:15px}.small-label{grid-column:2;justify-self:start;font-size:9px;color:#667869;background:#f3f5ef;padding:3px 8px;border-radius:6px}.device-card>.text-button{grid-column:2;font-size:10px;padding:0;min-height:22px}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px;margin-top:22px}.chart-card{padding:25px}.chart{min-height:155px;position:relative;display:flex;align-items:center;width:100%;overflow:hidden;margin-top:13px}.chart svg{width:100%;height:auto;max-height:210px;display:block}.chart-caption{font-size:10px;color:var(--muted);margin-bottom:0;margin-top:5px}.chart-tick{font-size:11px;fill:#7b8b83;font-family:inherit}.chart-line{stroke:#61978a;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:#e8f2eb}.chart-grid{stroke:#e6ece6;stroke-width:1}.attention-card{padding:25px;background:#f7f7ef}.attention-card>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:300px}.task{display:flex;gap:13px;margin-top:18px}.task>span{font-size:10px;color:#8b967e;padding-top:2px}.task strong{font-size:12px;font-weight:550}.task p{font-size:10px;color:var(--muted);margin:4px 0 0}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.padded{padding:28px;margin-bottom:20px}.padded>p{font-size:13px;color:var(--muted)}.specs{margin:20px 0;display:grid;gap:13px}.specs>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.specs dt{color:var(--muted)}.specs dd{margin:0;text-align:right}.deferred{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:13px;margin-top:25px}.deferred>strong{font-weight:500;color:var(--muted)}.calculator{margin-top:0}.calculator form{display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:20px;margin:22px 0;align-items:end}.calculator label{font-size:11px}.calculator label>span{float:right;color:var(--muted)}input:not([type=checkbox]){display:block;width:100%;border:1px solid #dce5dd;border-radius:9px;padding:11px 12px;margin-top:8px;color:var(--ink);background:#fcfdfb;min-width:0}output{font-size:14px;padding:12px;background:#eef4ed;border-radius:9px;min-height:47px}.large-chart{min-height:200px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;margin-top:18px}td,th{padding:13px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:550;color:var(--muted)}.secondary,.primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid #dce5dc;border-radius:10px;min-height:42px;padding:10px 17px;text-decoration:none;font-size:12px;background:white}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.check-label{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:13px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}.integration-row{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.integration-row strong{font-size:13px;font-weight:550}.integration-row p{font-size:11px;color:var(--muted);margin:4px 0}.integration-row:last-child{border:0}.empty{color:var(--muted);font-size:13px;width:100%;padding:28px 0;text-align:center}.notice{padding:13px 18px;background:#f9f0df;color:#8a6834;border:1px solid #eadfc9;border-radius:12px;font-size:12px;margin-bottom:22px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);background:#2b4842;color:white;border-radius:12px;padding:14px 20px;font-size:13px;z-index:30}.gate{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 30% 20%,#dfebe0,transparent 60%)}.login-card{max-width:460px;width:100%;background:#fff;padding:40px;border:1px solid var(--line);border-radius:24px}.login-card h1{font-size:30px;line-height:1.2;margin-top:38px}.login-card>p{color:var(--muted);font-size:13px}.login-card label{font-size:12px}.login-card .primary{margin:20px 0;width:100%}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:30px;padding:18px 0 0;font-size:10px;color:#7c8c81}.skip{position:fixed;top:-70px;left:10px;padding:10px;background:white;z-index:100}.skip:focus{top:8px}body.large-text{font-size:17px}body.large-text .muted,body.large-text .text-button,body.large-text .padded>p{font-size:15px}body.large-text .device-card p:last-child,body.large-text .weather-card>p,body.large-text .weather-details>div{font-size:13px}.card{animation:reveal .35s ease both}@keyframes reveal{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}body.reduce-motion *,body.reduce-motion *::before{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}}
@media(min-width:1600px){main{padding-top:45px}.pool-display{min-height:240px}.pool-art{height:240px}.weather-card{padding:30px}.device-card{padding:25px}}
@media(max-width:1150px){.shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:30px 17px}.topbar{padding:0 26px}main{padding:28px 26px 20px}.pool-display{grid-template-columns:130px minmax(0,1fr)}.pool-hero{padding:22px 22px 0}.pool-art{height:170px}.device-grid{gap:10px}.device-card{padding:17px;grid-template-columns:1fr;gap:8px}.device-card .small-label,.device-card>.text-button{grid-column:1}.bottom-grid{grid-template-columns:1.3fr 1fr}.calculator form{grid-template-columns:1fr 1fr}.overview-grid{grid-template-columns:1.5fr 1fr;gap:15px}.pool-strip{gap:15px}.pool-strip button{max-width:75px}}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:72px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));z-index:20;border-right:0;border-top:1px solid var(--line);background:#fbfcf8}.sidebar>.brand,.place,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;height:100%}.sidebar nav button{font-size:9px;flex-direction:column;gap:2px;padding:3px;align-items:center;justify-content:center;min-height:50px;border-radius:10px;white-space:nowrap}.sidebar nav button>span{font-size:22px;text-align:center}.topbar{height:67px;padding:0 22px}.topbar-actions{gap:9px}main{padding:26px 22px 95px}.overview-grid{grid-template-columns:1.5fr 1fr}.page-heading{margin-bottom:24px}.page-heading h1{font-size:34px}.device-grid{grid-template-columns:repeat(3,1fr)}.bottom-grid{grid-template-columns:1fr 1fr}.card-top h2{font-size:20px}footer{margin-top:25px}.pool-art{height:150px}.pool-display{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:620px){main{padding:24px 17px 105px}.topbar{padding:0 17px}.topbar>#today{font-size:10px}.avatar{display:none}.topbar .pill{font-size:9px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:31px;letter-spacing:-1.3px}.page-heading .eyebrow{font-size:8px}.page-heading>div>p:last-child{font-size:12px}.season-tag{font-size:9px;padding:6px 8px;margin-top:25px;max-width:100px;white-space:normal;text-align:center}.overview-grid{grid-template-columns:1fr}.pool-hero{padding:23px 22px 0}.pool-display{grid-template-columns:125px minmax(0,1fr);min-height:170px}.pool-art{height:180px;margin-left:0}.pool-temperature strong{font-size:51px}.pool-strip button{max-width:none;font-size:10px}.pool-strip{gap:20px}.pool-strip strong{font-size:11px}.weather-card{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.weather-card .card-top{grid-column:1 / -1}.weather-temp{grid-column:1;grid-row:2;font-size:51px}.weather-card>p{grid-column:1;grid-row:3;margin-bottom:8px}.weather-details{grid-column:2;grid-row:2 / 4;align-self:center;margin:0;gap:10px}.weather-card .text-button{grid-column:1 / -1;margin-top:9px}.source-line{grid-column:1 / -1;font-size:9px}.sun-symbol{font-size:30px}.section-heading{align-items:flex-start;margin-top:24px}.section-heading>span{max-width:95px;text-align:right;font-size:9px;line-height:1.4}.section-heading h2{font-size:17px;max-width:220px}.device-grid{grid-template-columns:1fr;gap:10px}.device-card{display:grid;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;padding:17px;gap:12px}.device-card .small-label,.device-card>.text-button{grid-column:3;grid-row:1;font-size:9px;max-width:85px}.device-card h3{font-size:14px}.device-card .eyebrow{font-size:8px}.bottom-grid,.two-col{grid-template-columns:1fr}.bottom-grid{margin-top:20px}.chart-card,.attention-card,.padded{padding:23px}.card-top h2{font-size:20px}.chart{min-height:145px}.calculator form{grid-template-columns:1fr 1fr;gap:16px}.calculator form output{font-size:12px}.large-chart{min-height:160px}.page-heading>.secondary{font-size:10px;max-width:115px;min-width:100px;text-align:center;padding:8px}.specs>div{font-size:11px}.padded>p{font-size:12px}footer{font-size:9px}.login-card{padding:28px}.integration-row{align-items:flex-start;gap:10px}.integration-row .pill{white-space:normal;text-align:center;max-width:90px}}
@media(max-width:350px){.pool-display{grid-template-columns:110px 1fr}.pool-art{height:160px}.pool-strip{gap:10px}.pool-strip .tiny-label{font-size:7px}.pool-strip button{font-size:9px}.device-card{grid-template-columns:30px 1fr auto;gap:9px}.device-icon{width:30px;height:30px}.device-card .small-label{font-size:8px;max-width:70px}.page-heading h1{font-size:27px}.weather-card{gap:0 14px}.weather-details>div{font-size:10px}.sidebar nav button{font-size:8px}}

.device-card .device-note{grid-column:1 / -1;font-size:11px;line-height:1.5;margin:0}
