:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243d37;background:#f7f8f4;font-size:15px;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}aside{width:232px;position:fixed;inset:0 auto 0 0;padding:42px 28px;background:#eef1e9;border-right:1px solid #e0e5dc}.brand{font-size:32px;display:flex;gap:12px;align-items:center;font-weight:700;letter-spacing:-1.5px;text-decoration:none;color:inherit}.dot{color:#d19d63}aside small{display:block;font-size:10px;letter-spacing:2px;color:#8a968c;margin:42px 0 20px}nav{display:grid;gap:12px}nav a{font-size:14px;padding:13px 10px;color:#5f7268;text-decoration:none;border-radius:8px}nav a:hover,nav a[aria-current=page]{background:#dfe7db;color:#294d3b}.aside-note{position:absolute;bottom:30px;line-height:1.8;font-size:14px}.aside-note span{font-size:11px;color:#819084}main{max-width:1500px;padding:30px 48px;margin-left:232px}header{display:flex;justify-content:space-between;font-size:12px;color:#6c7d73}.pill{background:#e4eddf;border-radius:20px;padding:7px 12px;color:#50734c}.intro{margin:48px 0 30px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#7f8b7c}h1{font-family:Georgia,serif;font-size:54px;letter-spacing:-2px;font-weight:400;margin:12px 0}p{line-height:1.65;color:#7a847a;font-size:13px}h2{font-size:20px;font-weight:550;letter-spacing:-.5px}h3{font-size:15px;font-weight:550}article{background:#fff;border:1px solid #e4e8df;border-radius:16px;padding:25px}.summary{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.summary article{min-height:235px}.summary p{margin-bottom:8px}.weather{background:#e7eddb;border-color:#e7eddb}.weather-line{display:flex;gap:24px;align-items:center;color:#a48c42;font-size:45px;margin:16px 0}.weather strong{font-size:55px;font-weight:400;color:#344e3a}.weather a{color:#4f6747;font-size:12px}.metric{font-size:56px;font-weight:350;margin:24px 0}.metric span{font-size:30px;color:#a7b0a5}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 16px}.section-head span{font-size:11px;color:#8a9385}.section-head h2{margin:0}.devices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.devices article{padding:22px;display:flex;flex-direction:column;align-items:flex-start}.devices p{font-size:11px;min-height:26px;margin-top:0}.icon{width:44px;height:44px;border-radius:12px;background:#f0f2e9;display:grid;place-items:center;font-size:28px}.status{font-size:10px;border-radius:12px;background:#f1f2ec;padding:6px 9px;color:#899180;display:inline-block}.devices button,.devices .button{margin-top:24px;width:100%}button,.button{font:inherit;font-size:12px;border:0;background:#344f3f;color:white;border-radius:8px;padding:12px 16px;text-decoration:none;text-align:center;cursor:pointer}button:disabled{background:#f1f3ee;color:#a2aa9d;cursor:not-allowed}.lower{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:26px}.lower .section-head{margin-top:0}.muted{color:#8d9689}.empty{padding:26px 0;color:#8a9385;font-size:13px}.bridge{border-top:1px solid #e5e8df;margin-top:26px;padding-top:15px}form{display:grid;gap:15px}#event-form{border-top:1px solid #e8ebe2;padding-top:10px;margin-top:22px;grid-template-columns:1fr 1fr}#event-form h3{grid-column:1/-1}#event-form button{justify-self:start}label{font-size:12px;display:grid;gap:8px;color:#657361}input,select{width:100%;min-width:0;padding:11px;border:1px solid #dfe4d8;border-radius:7px;background:#fcfdf9;font:inherit;color:#344f3f}label small{font-size:10px;color:#85917e}#settings{margin-top:30px;background:#eff2e9;padding:5px 24px 25px;border-radius:16px}#settings-form{grid-template-columns:1fr 1fr}#settings-form button{justify-self:start}.event{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #edf0e8;font-size:12px}.event span{color:#8c9685;font-size:11px}.alert{padding:14px;background:#fbf0db;border-radius:9px;font-size:13px;line-height:1.7;margin:10px 0}footer{display:flex;justify-content:space-between;margin-top:35px;font-size:13px;color:#8a9685}footer span{font-size:10px}#message:not(:empty){position:fixed;bottom:24px;right:24px;background:#304c3b;color:white;padding:14px 22px;border-radius:10px;max-width:80vw}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc9558;outline-offset:3px}@media(min-width:1600px){main{margin-right:auto}}@media(max-width:1100px){aside{width:190px;padding:30px 18px}main{margin-left:190px;padding:26px}.devices{grid-template-columns:repeat(2,1fr)}.summary{grid-template-columns:1fr 1fr}.weather{grid-column:1/-1}.lower{grid-template-columns:1fr}}@media(max-width:650px){aside{position:static;width:auto;padding:18px 20px;border-bottom:1px solid #e0e5dc}.brand{font-size:25px}aside small,.aside-note{display:none}nav{display:flex;gap:3px;margin-top:12px;overflow:auto}nav a{white-space:nowrap;padding:9px;font-size:11px}main{margin:0;padding:22px 18px}.intro{margin-top:32px}h1{font-size:44px}.summary{gap:12px}.summary article{padding:19px;min-height:210px}.devices{gap:12px}.devices article{padding:17px}.lower article{padding:20px}.section-head span{max-width:130px;text-align:right}#settings-form,#event-form{grid-template-columns:1fr}footer span{max-width:180px;text-align:right}}
:root .consent{display:flex;align-items:flex-start;line-height:1.6;grid-column:1/-1}.consent input{width:18px;min-width:18px;margin-top:3px}#location-results{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}#location-results p{width:100%}#location-results button{background:#e0e7d8;color:#344f3f}.summary article>a{font-size:10px;color:#58704e}

#light-card label{width:100%;margin-top:16px}#light-card input{padding:0;accent-color:#456347}#light-card .light-presets{display:flex;gap:8px;width:100%}#light-card .light-presets button{margin-top:12px}#light-card small{font-size:10px;color:#819078;line-height:1.6;margin-top:12px}#light-card #light-refresh{background:#ecf0e6;color:#456347;margin-top:12px}

.sun-phases{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sun-phase .metric{font-size:34px;margin:16px 0}.sun-phase h3{font-size:13px}.sun-phase p{font-size:11px}#sun-card>p{font-size:10px}

.internet-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.internet-metrics span{font-size:11px;color:#7a847a;display:block}.internet-metrics strong{font-size:28px;font-weight:400;display:block;margin-top:12px}#internet article>p,#internet-history p{font-size:11px}#internet button{margin-top:18px}#internet details{font-size:12px}.setup-main{margin:50px auto;max-width:650px;padding:24px}.setup-main h1{font-size:38px}@media(max-width:650px){.internet-metrics{gap:10px}.internet-metrics strong{font-size:21px}}

#climate-card label{width:100%;margin-top:14px}#climate-note{font-size:10px;line-height:1.6}#st-devices{display:grid;gap:12px;margin-top:20px}

.remaining-display{margin:16px 0;padding:16px 12px;border-radius:12px;background:#16231d;color:#92aa9b;display:flex;flex-direction:column;gap:7px;align-items:center;box-shadow:inset 0 2px 7px #0005}.remaining-display strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(2rem,5vw,3rem);font-variant-numeric:tabular-nums;letter-spacing:.08em;line-height:1.15;color:#b3c5b9}.remaining-display small{font-size:.65rem;letter-spacing:.05em;text-align:center}.remaining-display.is-active strong{color:#b9ffd0;text-shadow:0 0 10px #79ff9e50}

#internet-chart svg,#room-map svg{width:100%;height:auto;display:block}#room-map svg{max-height:250px;background:#f1f4ed;border-radius:10px;margin:12px 0}.room-row{display:flex;align-items:center;gap:8px;padding:5px 8px}.room-row input[type=checkbox]{width:auto}.room-row input[type=text],.room-row input:not([type]){min-width:0;width:100%}#notification-list{max-height:240px;overflow:auto}#notification-list p{border-top:1px solid #dce3d9;padding-top:10px}
.room-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.room-badge{font-size:10px;color:#496451;background:#edf2e9;padding:5px 8px;border-radius:8px;margin:0 0 12px}.admin-room{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.admin-room input{flex:1;min-width:130px}#device-assignments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#room-add-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}#room-add-form label{flex:1}#home-layout,#internet-settings{margin-top:28px}@media(max-width:650px){#device-assignments{grid-template-columns:1fr}} 

.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.quick-links a{display:grid;gap:12px;background:white;border:1px solid #e4e8df;border-radius:14px;padding:22px;color:#344f3f;text-decoration:none}.quick-links span{font-size:12px;color:#7a847a}.devices article[hidden]{display:none}.managed-device{border-top:1px solid #dfe5da;padding:20px 0;margin-top:18px;display:grid;gap:12px}.managed-device h3,.managed-device p{margin:0}.managed-device button{justify-self:start}#device-management{margin-top:28px}body:has(#device-management) main{max-width:1100px}@media(max-width:650px){.quick-links{grid-template-columns:1fr;gap:10px}.quick-links a{padding:16px}.intro{margin-bottom:24px}.devices{grid-template-columns:1fr}}
html:not([data-role=admin]) [data-admin-only],html:not([data-role=admin]) a[href^="/admin"]{display:none!important}.room-filter{max-width:320px;margin:16px 0}.filter-hidden{display:none!important}.login-page main{margin:8vh auto;padding:24px;max-width:480px}.login-page h1{font-size:30px}.managed-device form{margin-top:16px}#users,#robot-rooms{margin-top:28px}.internet-overview{margin-top:24px}.internet-overview .internet-metrics strong{font-size:28px}html[data-role=member] .room-badge{display:inline-block}

.atmosphere-head h2{font-size:17px;margin:0 0 20px}.atmosphere-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.atmosphere-grid:has(#indoor-summary[hidden]){grid-template-columns:1fr 1fr}.atmosphere-grid>div{min-width:0}.atmosphere-grid .metric{font-size:34px;margin:12px 0}.atmosphere-grid h3{font-size:13px;margin:8px 0}.atmosphere-grid p{font-size:11px;margin:6px 0}.atmosphere-grid a{font-size:10px;color:#647b60}.atmosphere-grid .sun-phases{gap:10px}.atmosphere-grid .sun-phase .metric{font-size:24px}.atmosphere-grid .eyebrow{font-size:9px}.atmosphere-card{background:#f0f3e9}@media(max-width:650px){.atmosphere-grid{grid-template-columns:1fr 1fr;gap:16px}#sun-card{grid-column:1/-1}.atmosphere-grid:has(#indoor-summary[hidden]) #sun-card{grid-column:auto}.atmosphere-grid .sun-phases{justify-content:flex-start;gap:28px}.atmosphere-card{padding:20px}.atmosphere-grid .metric{font-size:30px}}

#home-internet-chart svg{display:block;width:100%;height:auto;max-height:180px}#home-internet-chart p{font-size:10px}

[hidden]{display:none!important}
#guide-body{max-width:900px}#guide-body p{white-space:pre-wrap;color:#536752}#guide-body pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#eef2e9;border-radius:8px}fieldset{border:1px solid #dfe5d8;border-radius:10px;padding:16px}fieldset legend{font-size:13px}
