:root{font:16px Inter,Aptos,"Segoe UI",system-ui,sans-serif;color:#17352d;background:#faf9f5;--green:#08795c;--muted:#62716b;--line:#dce4db}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}header{max-width:1180px;padding:26px 40px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;font-weight:750;font-size:25px;letter-spacing:-1px}.brand span{color:var(--green)}.brand .sun{color:#c99b3c;font-size:40px;font-weight:400;margin-right:7px}.back{font-size:13px;color:var(--muted)}main{max-width:1080px;margin:45px auto 70px;padding:0 32px;min-height:65vh}.auth-layout{display:grid;grid-template-columns:1fr .9fr;border-radius:24px;border:1px solid var(--line);overflow:hidden;background:white;box-shadow:0 18px 60px #19392a05}.auth-box{padding:50px 55px}h1{font-size:36px;line-height:1.15;letter-spacing:-1.4px;margin:18px 0 14px;font-weight:650}h2{font-size:25px;font-weight:600;letter-spacing:-.8px;line-height:1.25}p{color:var(--muted);line-height:1.7;font-size:14px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--green)}label{display:block;font-size:12px;font-weight:650;margin:23px 0 0}input{display:block;width:100%;min-width:0;border:1px solid #d4ded4;background:#fff;border-radius:7px;padding:14px;font:inherit;font-size:14px;margin-top:8px;min-height:48px;color:#17352d}input::placeholder{color:#8b958b}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:58px}.password-wrap button{position:absolute;right:7px;top:6px;padding:10px;background:transparent;border:0;font-size:11px;color:var(--muted);width:auto}.primary,.secondary{display:flex;align-items:center;justify-content:center;min-height:48px;background:var(--green);border:1px solid var(--green);color:#fff;border-radius:7px;padding:12px 20px;font:inherit;font-weight:650;font-size:13px;cursor:pointer;text-decoration:none}.primary:hover{background:#065d46}.secondary{background:transparent;border-color:var(--line);color:#335045}.secondary:hover{background:#f1f5ed}#login-form>.primary,#login-form>.secondary{width:100%;margin-top:24px}#login-form>.secondary{margin-top:10px}.text-button{background:none;border:0;color:var(--muted);font:inherit;font-size:12px;display:block;cursor:pointer;margin:20px auto 0}.text-button:hover{text-decoration:underline}.small{font-size:11px;text-align:center;margin:26px 0 0;color:#899386}aside{background:#edf2e9;padding:38px 42px;display:flex;flex-direction:column;justify-content:center}aside h2{font-size:35px;letter-spacing:-1.5px;margin:12px 0}aside p{font-size:14px}aside .eyebrow{font-size:10px}aside ul{padding:0;list-style:none;color:#526b58;font-size:12px;line-height:2.6}aside li:before{content:'✓';margin-right:12px;color:var(--green)}.aside-art{position:relative;height:165px;max-width:245px;margin:0 auto 32px;width:100%;display:grid;place-items:center}.orbit{position:absolute;width:150px;height:150px;border:1px solid #d2ddc9;border-radius:50%}.house{font-size:83px;line-height:1;color:#235a43}.solar-mark{position:absolute;font-size:55px;right:0;top:0;color:#c99b3c;background:#edf2e9;line-height:1}.energy-mark{position:absolute;bottom:0;left:12px;background:#dae6d4;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:27px;color:#528462}.account-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.account-top h1{font-size:42px;margin:12px 0}.account-top p:last-child{margin:0}.installation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:28px}.installation{background:white;border:1px solid var(--line);border-radius:16px;padding:25px}.installation h2{font-size:23px;margin:20px 0 8px}.installation small{font-size:12px;color:var(--muted);display:block;margin-bottom:22px}.installation .primary{margin-top:20px}.integration-link{display:block;text-align:center;margin-top:15px;font-size:12px;color:var(--muted)}.status{display:inline-flex;font-size:11px;color:#637465;background:#eff2ea;padding:6px 10px;border-radius:25px}.status.online{background:#e4f3e8;color:#087350}.empty-state{text-align:center;border:1px dashed #ccd9c7;border-radius:18px;padding:36px;background:#f1f5ed;margin-bottom:28px}.empty-state p{max-width:540px;margin:auto}.empty-icon{font-size:40px;color:#6b946f}.empty-state h2{font-size:25px}.attach-card{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:white;border:1px solid var(--line);border-radius:18px;padding:32px}.attach-card h2{font-size:22px}.attach-card label{margin:0}.attach-card .primary{width:100%;margin-top:15px}.attach-card p:last-child{margin-bottom:0}#attach-message,#message{color:#a64032;font-size:13px}.recovery-panel{margin-top:25px;border:1px solid #e4cb83;border-radius:14px;padding:30px;background:#fff8e6;max-width:650px}.recovery-panel .primary{margin-top:20px}.recovery-panel input{font-family:monospace;font-size:14px}.recovery-panel h2{margin-top:8px}footer{text-align:center;color:#8b9588;font-size:11px;padding:12px 20px 28px}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #97cbb0;outline-offset:3px}[hidden]{display:none!important}@media(max-width:780px){header{padding:20px 24px}.brand{font-size:23px}.back{font-size:12px}main{margin:25px auto 45px;padding:0 22px}.auth-layout{grid-template-columns:1fr;max-width:490px;margin:auto}aside{display:none}.auth-box{padding:32px 28px}h1{font-size:32px}.installation-grid{grid-template-columns:1fr}.account-top h1{font-size:34px}.attach-card{grid-template-columns:1fr;gap:22px;padding:25px}.empty-state{padding:28px 24px}.account-top{gap:20px}.recovery-panel{padding:25px}.recovery-panel input{font-size:12px}.account-top p:last-child{font-size:12px;overflow-wrap:anywhere}}

/* Orbit visual identity. CSS only; existing DOM, controls and data stay intact. */
:root{color-scheme:dark;--ink:#e5f3f2;--muted:#9aafbf;--line:#293d50;--green:#6be3d1;--solar:#f3c27b;--surface:#101f30;--paper:#0b1523;--sage:#17383b;--border:#293d50;--orbit-mint:#6be3d1;--orbit-gold:#f3c27b;--orbit-purple:#b4a4f5;font-family:Inter,"Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
body{color:var(--ink);background:var(--paper)}
h1,h2,h3,h4{color:var(--ink);font-weight:550}h1{letter-spacing:-1.2px}h2{letter-spacing:-.4px}p{line-height:1.7}.eyebrow{color:var(--muted);font-size:10px;font-weight:550;letter-spacing:1.8px}.subtle,.small,small{color:var(--muted)}
button,input,select,textarea{font-family:inherit}button,input,select,textarea,a,summary{outline-offset:4px}button{border:1px solid var(--line);background:#152638;color:var(--ink);font-weight:550}button:hover{border-color:#526e80}button:disabled{cursor:default}
.primary,.button{background:var(--green);border-color:var(--green);color:#0b2630;font-weight:600;box-shadow:none}.primary:hover,.button:hover{background:#91f1df;border-color:#91f1df;color:#0b2630}
.secondary{background:#142638;border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#1b3244;border-color:#526e80}.text-button,button.link{color:var(--green);background:none}.text-link{color:var(--green)}
label{color:#bdcdd6}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border:1px solid #345064;background:#0d1b2b;color:var(--ink);border-radius:7px;box-shadow:none}input::placeholder,textarea::placeholder{color:#7c95a6}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--green)}
.brand{font-weight:550;letter-spacing:-.8px;color:var(--ink)}.brand>span:not(.sun){color:var(--green)}.brand .sun{font-size:0!important;display:inline-block;flex-shrink:0;width:42px;height:42px;background:var(--orbit-logo) center/contain no-repeat;margin-right:7px}.brand small{color:var(--muted);background:#162b3a;font-weight:400;border:1px solid var(--line)}
.card,.metric,.repeat-card,.installation,.attach-card,.integration-panel,.test-panel{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}.card,.metric,.installation,.integration-panel,.test-panel{border-radius:13px}.repeat-card{background:#0e1b2b}.badge,.status{color:var(--muted);background:#172c3c;border:1px solid var(--line);border-radius:6px}.status.online{color:var(--green);background:#6be3d10a;border-color:#6be3d130}
.notice,.integration-notice{color:#f3d6a9;background:#302b24;border-color:#8f754e}.error,.negative,#form-error,#message,#attach-message{color:#f4a29b}.positive{color:var(--green)}
table{color:var(--ink)}td,th{border-color:var(--line)}th{color:var(--muted);font-weight:500}dt{color:#bccdd6}dd{color:var(--muted)}summary{color:var(--ink)}
[hidden]{display:none!important}
@media(max-width:600px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}button,.primary,.secondary{min-height:44px}.eyebrow{font-size:9px}.brand .sun{width:35px;height:35px}}

:root{--orbit-logo:url("/orbit/logo.svg")}
/* Account, signup and recovery retain the original forms and flows. */
header{max-width:1240px;padding:25px 40px}.brand{font-size:25px}.back{color:var(--muted)}main{max-width:1120px;margin:35px auto 65px}.auth-layout{background:var(--surface);border-color:var(--line);border-radius:15px;box-shadow:none}.auth-box{padding:50px 48px}.auth-box h1{font-size:36px;font-weight:500}.auth-box>p{color:var(--muted)}.auth-layout>aside{background:radial-gradient(ellipse at 50% 25%,#21464a,#0f2131 75%);padding:40px}.auth-layout aside h2{font-weight:450;font-size:35px;line-height:1.2;color:var(--ink)}.auth-layout aside p,.auth-layout aside ul{color:var(--muted)}.auth-layout aside li:before{color:var(--green)}.aside-art{height:190px;max-width:270px;margin:0 auto 35px}.aside-art>*{opacity:0}.aside-art:before{content:"";position:absolute;inset:15px 45px;background:var(--orbit-logo) center/contain no-repeat}.aside-art:after{content:"";position:absolute;inset:18px 0;border:1px solid #6be3d127;border-radius:50%;transform:rotate(-30deg)}.password-wrap button{color:var(--muted);background:transparent}.primary,.secondary{border-radius:8px;font-weight:550}.small{color:var(--muted)}.installation{background:radial-gradient(ellipse at 100% 0,#1b3d45,#101f30 65%);border-color:var(--line);padding:26px}.installation h2{font-weight:500}.installation small,.integration-link{color:var(--muted)}.empty-state{background:#102333;border-color:#3a5668}.empty-icon{color:var(--green)}.attach-card{background:var(--surface);border-color:var(--line);border-radius:13px}.recovery-panel{background:#2d2922;border-color:#80694b;color:var(--ink)}.recovery-panel input{background:#181e27;color:var(--ink);border-color:#80694b}footer{color:#819bac}.account-top h1{font-weight:500}
@media(max-width:780px){header{padding:21px 24px}.auth-box{padding:35px 30px}.auth-layout>aside{padding:28px}.auth-layout aside h2{font-size:29px}.auth-layout aside p{font-size:12px}.aside-art{height:160px;margin-bottom:20px}main{margin-top:20px}}@media(max-width:600px){header{padding:18px 20px}.brand{font-size:22px}.back{font-size:11px}main{padding:0 18px}.auth-layout{grid-template-columns:1fr}.auth-layout>aside{display:none}.auth-box{padding:32px 24px}.auth-box h1{font-size:31px}.auth-box p{font-size:13px}.attach-card{padding:24px}.installation{padding:23px}.account-top h1{font-size:32px}.recovery-panel{padding:24px}}

/* Orbit entry: one focused form, with a quiet interactive star field. */
body{min-height:100svh;background:radial-gradient(ellipse at 50% 38%,#153641 0,#0b1828 45%,#070e1a 90%);isolation:isolate}
#orbit-sky{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
body>header,body>main,body>footer{position:relative;z-index:1}
body>main{min-height:calc(100svh - 190px);display:grid;align-content:center;margin:0 auto 30px}
.auth-layout{display:block;width:min(100%,440px);margin:20px auto;border:1px solid #6be3d12e;background:linear-gradient(145deg,#132c3cf2,#0c1b2bef);border-radius:24px;box-shadow:0 35px 100px #0005,0 0 100px #6be3d107;overflow:visible;backdrop-filter:blur(14px)}
.auth-box{padding:32px 38px 38px}.auth-box h1{text-align:center;font-size:32px;margin:12px 0 30px;letter-spacing:-1px}.auth-box>p:empty{display:none}.auth-box label{font-size:12px}.auth-box input{min-height:52px}.auth-box .primary{min-height:52px;margin-top:28px}
.login-emblem{width:106px;height:106px;margin:0 auto;position:relative;display:grid;place-items:center}.login-emblem:after{content:"";position:absolute;inset:4px;border:1px solid #6be3d120;border-radius:50%;box-shadow:0 0 45px #6be3d113}.login-emblem img{display:block}
.login-orbits{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.login-orbits i{position:absolute;left:50%;top:45%;width:720px;height:720px;margin:-360px;border:1px solid #6be3d112;border-radius:50%;transform:rotateX(58deg) rotate(-25deg);animation:login-orbit 45s linear infinite}.login-orbits i:nth-child(2){width:980px;height:980px;margin:-490px;animation-duration:70s;animation-direction:reverse;border-color:#b4a4f510}.login-orbits i:nth-child(3){width:1280px;height:1280px;margin:-640px;animation-duration:100s;border-color:#f3c27b0d}.login-orbits i:before{content:"";position:absolute;top:15%;left:14%;width:9px;height:9px;border-radius:50%;background:#6be3d1;box-shadow:0 0 25px #6be3d188}.login-orbits i:nth-child(2):before{background:#f3c27b;box-shadow:0 0 28px #f3c27b55}
@keyframes login-orbit{to{transform:rotateX(58deg) rotate(335deg)}}
#orbit-travel{position:fixed;inset:0;display:grid;place-items:center;z-index:20;background:radial-gradient(ellipse at center,#6be3d108,transparent 45%);pointer-events:all}#orbit-travel span{align-self:end;margin-bottom:14svh;color:#d4eeeb;font-size:12px;letter-spacing:3px;text-transform:uppercase}.orbit-travelling>#orbit-sky{z-index:15}.orbit-travelling>header,.orbit-travelling>main,.orbit-travelling>footer{opacity:0;transform:scale(1.035);transition:opacity .2s,transform .65s}.orbit-travelling{overflow:hidden}
#message{max-width:440px;margin:14px auto 0;text-align:center}#account{width:100%}#account h1:focus{outline:none}.installation{position:relative;overflow:hidden}.installation:after{content:"";position:absolute;right:-70px;top:-100px;width:240px;height:240px;border:1px solid #6be3d11c;border-radius:50%;pointer-events:none}.installation .primary{position:relative;z-index:1}.installation .primary:hover{box-shadow:0 0 28px #6be3d125}
@media(max-width:600px){body>main{padding:0 18px;min-height:calc(100svh - 156px);margin-bottom:12px}.auth-layout{margin:12px auto;border-radius:20px}.auth-box{padding:24px}.auth-box h1{font-size:28px;margin-bottom:25px}.login-emblem{width:88px;height:88px}.login-emblem img{width:88px;height:88px}.login-orbits{opacity:.65}}
@media(prefers-reduced-motion:reduce){.login-orbits i{animation:none}.orbit-travelling>header,.orbit-travelling>main{transition:none}}
