:root{font-family:Inter,"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#102014;background:#fff;font-synthesis:none;font-weight:400;--green:#1e9c31;--ink:#102014;--muted:#647368}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:#18752a;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:#102014}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #72ba75;outline-offset:4px}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:16px;z-index:10;background:#fff;padding:12px 18px;border-radius:8px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.auth-layout{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}.intro{position:relative;display:flex;flex-direction:column;min-height:760px;padding:44px clamp(32px,5vw,88px) 28px;background:#edf3e8;overflow:hidden}.brand{display:block;align-self:flex-start}.brand img{display:block;width:184px;height:auto}.intro-copy{position:relative;z-index:1;margin-top:clamp(50px,7vh,85px)}.eyebrow,.form-eyebrow{font-size:11px;font-weight:650;letter-spacing:2px;line-height:1.5}.eyebrow{display:flex;align-items:center;gap:9px;color:#47704a}.brand-dot{width:7px;height:7px;border-radius:50%;background:#1e9c31}.intro h1{font-size:clamp(48px,4.5vw,72px);line-height:1.05;font-weight:550;letter-spacing:-3.5px;margin-top:22px}.intro-description{margin-top:25px;line-height:1.75;font-size:16px;color:#526754}.energy-scene{position:relative;width:100%;max-width:490px;min-height:238px;flex:1;margin-top:8px;isolation:isolate}.scene-halo{position:absolute;left:4%;top:12%;width:87%;height:85%;border-radius:50%;background:radial-gradient(ellipse,#d6e6c6 0%,#e3edd8 42%,transparent 72%);z-index:-1}.scene-solar{position:absolute;left:-15px;top:12px;width:76%;max-width:350px;height:240px;object-fit:contain;z-index:1}.scene-battery{position:absolute;right:1%;top:89px;width:28%;max-width:125px;height:125px;object-fit:contain;z-index:1}.scene-connection{position:absolute;left:49%;right:17%;top:177px;height:27px;border-bottom:2px solid #8daf72;border-right:2px solid #8daf72;border-radius:0 0 16px 0}.scene-connection:before{content:"";position:absolute;left:30%;bottom:-4px;width:6px;height:6px;border-radius:50%;background:#1e9c31;box-shadow:0 0 0 5px #1e9c3114}.scene-caption{position:absolute;bottom:9px;left:0;color:#5d6e56;font-size:11px;line-height:1.6}.intro-footer{font-size:10px;letter-spacing:.25px;color:#5e705a;margin-top:28px;line-height:1.6}
.auth-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:70px clamp(28px,5vw,90px) 28px;background:#fff}.auth-content{width:100%;max-width:400px;margin:auto 0;padding:44px 0}.form-eyebrow{color:#617666;font-size:10px;letter-spacing:1.8px}.auth-content h2{font-size:36px;line-height:1.16;letter-spacing:-1.2px;font-weight:550;margin-top:15px;outline:none}.auth-description{font-size:14px;line-height:1.8;color:var(--muted);margin-top:13px}.auth-form{margin-top:35px}.field{margin-top:23px}.field:first-child{margin-top:0}label{font-size:13px;font-weight:550;color:#304b36}.label-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.label-row a{font-size:12px;text-decoration:none}.label-row a:hover{text-decoration:underline}input{display:block;width:100%;min-width:0;min-height:52px;padding:14px 15px;border:1px solid #d8e1d8;border-radius:8px;margin-top:9px;background:#fbfcfa;color:#102014;font-size:16px;line-height:1.4;transition:border-color .16s,box-shadow .16s}input:hover{border-color:#a7b9a6}input:focus{border-color:#1e9c31;background:#fff;box-shadow:0 0 0 3px #1e9c3112;outline:none}input[aria-invalid="true"]{border-color:#a24434}.password-field{position:relative}.password-field input{padding-right:90px}.password-toggle{position:absolute;right:7px;top:6px;bottom:6px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:#687b68;font-size:11px;font-weight:550}.password-toggle:hover{color:#18752a;background:#edf3e8}.field-hint{font-size:11px;color:#637466;line-height:1.65;margin-top:9px}.submit-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin-top:30px;border:1px solid #178329;border-radius:8px;background:#187f2a;color:#fff;padding:14px 18px;font-size:14px;font-weight:600;box-shadow:0 3px 8px #1e9c311a;transition:background .16s,box-shadow .16s}.submit-button:hover:not(:disabled){background:#146e24;box-shadow:0 5px 14px #1e9c3126}.button-arrow{font-size:21px;line-height:1;font-weight:400}.submit-button[aria-busy="true"] .button-arrow{opacity:0}.delivery-note{font-size:11px;color:#657468;line-height:1.7;margin-top:17px}.delivery-note strong{font-weight:450;color:#4b6652}.back-link{margin-top:25px;font-size:13px}.back-link a{text-decoration:none}.back-link a:hover{text-decoration:underline}.back-link span{margin-right:5px}
.notice,.error-message{margin-top:22px;padding:13px 15px;border-radius:8px;font-size:12px;line-height:1.75;overflow-wrap:anywhere}.notice{background:#f1f5ed;border:1px solid #dfe7d8;color:#456149}.error-message{background:#fff6f1;border:1px solid #ebd4c7;color:#873b2b}.error-message:focus{outline:2px solid #c88067;outline-offset:3px}.success-message{margin-top:32px;outline:none}.success-symbol{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#edf6e9;color:#18752a;font-size:21px}.success-message h3{font-size:20px;line-height:1.35;letter-spacing:-.3px;font-weight:550;margin-top:18px}.success-message p{font-size:14px;line-height:1.8;color:#647368;margin-top:10px}.demo-access{margin-top:32px;padding-top:20px;border-top:1px solid #e7ece4}.demo-label{font-size:9px;letter-spacing:1.5px;font-weight:650;color:#65734f}.demo-access p{font-size:12px;line-height:1.7;color:#6b7a66;margin-top:8px}.demo-access dl{margin:12px 0 0;font-size:12px;line-height:1.9}.demo-access dl>div{display:flex;gap:16px}.demo-access dt{color:#65755f;min-width:37px}.demo-access dd{margin:0;color:#395537;overflow-wrap:anywhere}.auth-footer{text-align:center;color:#657166;font-size:10px;line-height:1.8;max-width:100%;margin-top:30px}.auth-footer p{font-size:11px;color:#657368}.auth-footer a{color:#46634e;text-decoration:none;overflow-wrap:anywhere}.auth-footer a:hover{text-decoration:underline}.auth-footer>span{display:block;margin-top:15px;font-size:8px;letter-spacing:1.6px}
@media(min-width:1500px){.intro{padding-left:max(72px,calc((100vw - 1240px)/2))}.auth-panel{padding-right:max(72px,calc((100vw - 1240px)/2))}.energy-scene{flex:0 0 285px;margin-top:22px}.intro-footer{margin-top:auto}.intro-copy{margin-top:85px}}
@media(max-width:1000px){.intro{padding:36px 32px 25px}.intro h1{font-size:54px;letter-spacing:-2.7px}.scene-solar{left:-19px;width:83%}.scene-battery{right:-8px;width:31%}.auth-panel{padding:45px 32px 25px}.auth-content h2{font-size:32px}.intro-description{font-size:14px}}
@media(max-width:740px){.auth-layout{display:block}.intro{min-height:0;padding:27px 28px 29px}.brand img{width:143px}.intro-copy{margin-top:33px}.intro h1{font-size:39px;line-height:1.08;letter-spacing:-1.7px;margin-top:12px}.intro h1 br{display:none}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro-description{font-size:12px;line-height:1.7;margin-top:13px}.intro-description br{display:none}.energy-scene,.intro-footer{display:none}.auth-panel{min-height:calc(100svh - 236px);padding:34px 28px 23px;justify-content:flex-start}.auth-content{max-width:440px;padding:0;margin:0}.form-eyebrow{font-size:9px}.auth-content h2{font-size:29px;margin-top:10px}.auth-description{font-size:13px;margin-top:10px}.auth-form{margin-top:27px}.field{margin-top:21px}.submit-button{margin-top:26px}.auth-footer{margin-top:auto;padding-top:42px}.auth-footer>span{margin-top:10px}.demo-access{margin-top:27px}}
@media(max-width:360px){.intro{padding:24px 20px}.intro h1{font-size:34px}.auth-panel{padding:29px 20px 20px}.label-row{gap:10px}.label-row a{font-size:11px}.auth-content h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
