:root{--ink:#203629;--green:#008b2d;--lime:#b9f6c8;--paper:#f6faf7;--muted:#68796d;--line:#dfebe2;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper)}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #00b33c;outline-offset:3px}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:800;letter-spacing:1px;line-height:1.35}.mark{width:42px;height:42px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-size:28px;border-radius:12px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.intro{background:#00a936;color:#ffffff;padding:44px 8%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.intro:after{content:"";width:650px;height:650px;border:1px solid #ffffff0d;border-radius:50%;position:absolute;right:-350px;top:90px;pointer-events:none}.intro-copy{max-width:600px;margin:70px 0 42px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750}.intro .eyebrow{color:var(--lime)}h1,h2,p{margin-top:0}h1{font-size:32px;line-height:1.3;letter-spacing:-1.2px;margin-bottom:12px}h2{font-size:20px;letter-spacing:-.5px}.intro h1{font-size:46px;margin:20px 0}.intro p{color:#e4ffeb;max-width:420px;font-size:16px}.intro small{color:#d3fadd;font-size:9px;letter-spacing:2px}.intro-tags{display:flex;gap:26px;color:#e4ffeb;font-size:10px;text-transform:uppercase;letter-spacing:1px}.house-art{height:220px;width:260px;margin:32px auto 45px;position:relative}.house{position:absolute;bottom:0;left:40px;width:180px;height:145px;border:1px solid #c1f4cd;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:23px;padding:24px;background:#00b83c}.house i{border-radius:8px;background:#b9f6c824;border:1px solid #b9f6c855;box-shadow:0 0 25px #b9f6c80b}.roof{position:absolute;left:63px;top:20px;width:135px;height:135px;border-left:1px solid #c1f4cd;border-top:1px solid #c1f4cd;transform:rotate(45deg);border-radius:12px}.signal{position:absolute;right:0;top:0;font-size:60px;color:var(--lime)}.login-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:45px;padding:48px 32px}.login-card{width:100%;max-width:370px}.login-card h2{font-size:30px;margin:14px 0 8px}.login-card>p{color:var(--muted);margin-bottom:32px}.green{color:var(--green)}label{display:block;font-size:12px;font-weight:650;margin:18px 0 7px}input,select{border:1px solid var(--line);background:white;border-radius:8px;padding:12px;width:100%;color:var(--ink)}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:10px;top:10px}.primary,.secondary{border:0;border-radius:8px;padding:12px 18px;font-weight:650}.primary{background:var(--green);color:white}.primary span{float:right}.login-card>.primary{width:100%;margin-top:10px}.secondary{border:1px solid var(--line);background:white;color:var(--ink);white-space:nowrap}.text-button{border:0;color:var(--green);background:none;padding:3px 6px}.login-note{display:flex;gap:12px;align-items:center;margin-top:28px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:11px}.login-note>span{font-size:25px}.login-note p{margin:0}.muted{color:var(--muted);font-size:12px}.error{color:#ac3636!important;font-size:12px;min-height:20px;margin:12px 0!important}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{background:#ffffff;color:#45674f;padding:32px 20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}aside .brand{color:white;margin:0 12px 65px}.nav-label{font-size:9px;letter-spacing:1.5px;color:#728a78;margin:0 12px 18px}.nav{display:flex;align-items:center;gap:13px;width:100%;background:none;color:inherit;border:0;border-radius:8px;padding:14px 16px;text-align:left;font-size:18px;margin-bottom:7px}.nav span{font-size:13px}.nav.active{color:var(--ink);background:var(--lime);font-weight:700}.nav:hover:not(.active){background:#ffffff0b}.sidebar-bottom{margin-top:auto}.mini-logo{font-size:10px;letter-spacing:1px;border:1px solid #ffffff1a;border-radius:10px;padding:20px;margin:20px 8px}.mini-logo span{font-size:10px;letter-spacing:0;color:#688b71}main{min-width:0;padding:0 40px}header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{padding:0 12px;color:#bbc4bc}.breadcrumb b{color:var(--ink)}.account{display:flex;align-items:center;gap:10px;font-size:12px}.account small{display:block;color:var(--muted);font-size:10px}.avatar{width:36px;height:36px;border-radius:50%;background:#e2f8e8;display:grid;place-items:center;font-weight:750}.view{padding-top:36px;min-height:calc(100vh - 175px)}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.heading h1{margin-top:8px}.heading p{color:var(--muted);margin:0;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stats article{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 24px}.stats article>span{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--muted)}.stats strong{display:block;font-size:34px;line-height:1.7;font-weight:600}.stats small{font-size:10px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 16px}.section-title h2{margin:0;font-size:17px}.count{border:1px solid #bce9c8;border-radius:5px;padding:2px 7px;font-size:10px;margin-left:8px;color:var(--green)}.device-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.device{border:1px solid var(--line);border-radius:12px;background:white;padding:24px;position:relative;overflow:hidden}.device.on{background:#effbf2;border-color:#a4e5b4}.device-top{display:flex;justify-content:space-between;align-items:center}.bulb{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:24px}.on .bulb{background:var(--lime);border-color:var(--lime)}.pill{display:inline-block;padding:4px 8px;border-radius:5px;background:#f0f2ee;color:var(--muted);font-size:10px}.pill.online,.pill.success{background:#e3f9e9;color:#087d2d}.pill.pending{background:#fff2cf;color:#916b1e}.pill.failed{background:#fae5e1;color:#a64b3f}.device h3{font-size:17px;margin:18px 0 3px}.device .sub{color:var(--muted);font-size:11px}.device-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:24px;border-top:1px solid var(--line);padding-top:15px}.state-label{font-size:11px;font-weight:650}.switch{width:45px;height:26px;border:0;border-radius:20px;background:#dce9df;padding:3px;display:flex;align-items:center}.switch span{width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002}.switch[aria-checked=true]{background:var(--green);justify-content:flex-end}.info-bar{font-size:11px;color:#557960;border:1px solid var(--line);padding:12px 16px;border-radius:8px;margin-top:18px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.4px;background:#fafbf8;font-weight:600}th,td{padding:15px 20px;border-bottom:1px solid #edf0e9}tr:last-child td{border:0}.empty{padding:35px;text-align:center;background:white;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px}.filters label{margin:0;display:flex;align-items:center;gap:10px}.filters select{width:auto;padding:8px}.admin-grid{margin-bottom:35px}.admin-card,.user-card{padding:22px;background:white;border:1px solid var(--line);border-radius:10px}.admin-card button{margin-top:14px}.user-card{margin:14px 0}.user-head{display:flex;align-items:center;gap:16px;justify-content:space-between}.user-head select{width:130px}.permissions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.permissions label{font-weight:400;display:flex;align-items:center;gap:7px;margin:0}.permissions input{width:16px;height:16px}footer{display:flex;justify-content:space-between;margin:35px 0 20px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);letter-spacing:.6px}#notice{position:fixed;bottom:22px;right:22px;max-width:min(450px,90vw);padding:0;z-index:20}#notice:not(:empty){background:var(--ink);color:white;border-radius:10px;padding:15px 22px;box-shadow:0 8px 35px #0002}
@media(min-width:1600px){main{padding:0 70px}.device-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1050px){.shell{grid-template-columns:190px 1fr}aside{padding:25px 10px}main{padding:0 24px}.stats{gap:10px}.stats article{padding:16px}.intro h1{font-size:36px}}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.intro{padding:25px}.intro-copy{margin:35px 0 20px}.intro h1{font-size:31px}.intro p{font-size:13px}.house-art,.intro-tags,.intro>small{display:none}.login-side{padding:35px 25px}.shell{display:block}aside{height:auto;position:relative;padding:16px 18px}.shell aside .brand{margin:0 0 15px;font-size:12px}.shell aside .brand br{display:none}.shell aside .mark{width:32px;height:32px;font-size:22px}.nav-label,.mini-logo{display:none}nav{display:flex;gap:5px}.nav{width:auto;padding:10px;font-size:14px;margin:0}.nav span{font-size:11px}.sidebar-bottom{position:absolute;right:14px;top:19px}.sidebar-bottom .nav span{display:none}main{padding:0 18px}header{height:75px}.breadcrumb{font-size:10px}.breadcrumb span{padding:0 6px}.account{font-size:10px;max-width:180px}.account b{overflow-wrap:anywhere}.view{padding-top:25px}.heading{align-items:flex-start}.heading h1{font-size:25px}.heading p{font-size:11px}.heading .secondary{font-size:11px;padding:8px}.stats{grid-template-columns:repeat(2,1fr)}.stats strong{font-size:29px}.device-grid,.admin-grid{grid-template-columns:1fr}.section-title{align-items:baseline}.section-title .muted{font-size:9px}.device{padding:20px}th,td{padding:13px}footer span{display:none}.user-head{align-items:flex-start;flex-wrap:wrap}.user-head b{overflow-wrap:anywhere}}

/* Bright green identity, inspired by the supplied reference. */
:root{--accent:#00b83e}aside{border-right:1px solid var(--line)}aside .brand{color:var(--accent)}.mark{background:var(--accent);color:white}.intro .mark{background:white;color:var(--accent)}.intro .eyebrow{color:white}.intro .brand{color:white}.primary,.switch[aria-checked=true]{background:var(--accent);color:#fff}.primary{color:#073713}.primary:hover{background:#00a936}.nav.active{background:#e5f9eb;color:#00852b;border-left:3px solid var(--accent)}.nav:hover:not(.active){background:#f0faf3}.mini-logo{border-color:var(--line);background:#f5fcf7;color:#16853b}.intro{background:linear-gradient(140deg,#009d30 0%,#00b83e 55%,#44cb49 100%)}.intro p,.intro-tags{color:#f0fff3}.intro small{color:#e3ffe9}.house i{background:#e5ffdf55;border-color:#e8ffe199;box-shadow:0 0 25px #d1ffbd30}.signal{color:#e1ffbe}.bulb{color:#00a936}.on .bulb{background:#c8f5d3}.intro-copy .eyebrow{background:#ffffff1c;padding:7px 10px;border-radius:5px}.login-side{background:#fff}input[type=checkbox]{accent-color:var(--accent)}
.primary{background:#00852b;color:#fff}.primary:hover{background:#007525}
