:root{--ink:#18312f;--muted:#73837f;--teal:#0f766e;--deep:#115e59;--line:#dce7e3;--bg:#f6f9f7;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:36px clamp(35px,7vw,100px);background:#124c45;color:white}.auth-visual:before{content:'';position:absolute;width:600px;height:600px;border:1px solid rgba(223,246,235,.09);border-radius:50%;right:-240px;top:8%;box-shadow:0 0 0 45px rgba(223,246,235,.025),0 0 0 105px rgba(223,246,235,.02)}.auth-visual:after{content:'';position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(0deg,rgba(9,54,49,.3),transparent);pointer-events:none}.brand-lockup{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;width:max-content;color:white;text-decoration:none}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:7px;background:#fff;color:var(--deep);font-size:19px;font-weight:750}.brand-lockup>span:last-child{display:grid;gap:2px}.brand-lockup strong{font-size:15px}.brand-lockup small{color:#b6d0c8;font-size:10px;letter-spacing:0}.auth-visual-copy{position:relative;z-index:2;max-width:600px;margin:auto 0 45px;padding-top:70px}.eyebrow{display:flex;align-items:center;gap:8px;color:#b7d9ce;font-size:12px;font-weight:700;letter-spacing:0}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#7cc7a3}.auth-visual h1{margin:22px 0 17px;font-size:42px;line-height:1.43;letter-spacing:0;font-weight:670}.auth-visual h1 em{font-style:normal;color:#91d1b3}.auth-visual-copy>p:last-child{max-width:500px;color:#c1d8d1;font-size:14px;line-height:1.9}.auth-feature-list{position:relative;z-index:2;display:flex;gap:24px;flex-wrap:wrap;margin-bottom:42px;color:#d7e8e2;font-size:11px}.auth-feature-list span{display:flex;align-items:center;gap:7px}.auth-feature-list b{color:#87c4a8;font-size:9px;letter-spacing:0}.auth-orbit{position:absolute;right:10%;top:16%;width:275px;height:275px;border:1px solid rgba(224,244,236,.12);border-radius:50%}.auth-orbit:before,.auth-orbit:after{content:'';position:absolute;border:1px solid rgba(224,244,236,.1);border-radius:50%;inset:25px}.auth-orbit:after{inset:57px}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:#eaf5ef;color:var(--deep);font-size:34px;font-weight:750;box-shadow:0 10px 30px rgba(0,0,0,.15)}.orbit-node{position:absolute;z-index:1;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#277167;color:#d7eee4;border:1px solid rgba(219,242,230,.25);font-style:normal;font-size:13px}.node-a{left:29px;top:95px}.node-b{right:29px;top:88px}.node-c{left:calc(50% - 16px);bottom:8px}.auth-form-side{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:54px 30px 24px;background:#fbfcfb}.auth-card{width:min(390px,100%);padding:20px 0}.mobile-brand{display:none}.auth-heading{margin-bottom:29px}.auth-heading .eyebrow{color:#5c8277;text-transform:uppercase;margin:0 0 13px}.auth-heading h2{margin:0 0 7px;font-size:30px;letter-spacing:0}.auth-heading>p:last-child{margin:0;color:#768782;font-size:13px}.auth-card form{display:grid;gap:17px}.auth-card label{display:grid;gap:8px;color:#38534e;font-size:12px;font-weight:650}.auth-card input{width:100%;height:48px;padding:0 13px;border:1px solid #cddbd5;border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-size:14px;outline:0;transition:border-color .16s,box-shadow .16s}.auth-card input:focus{border-color:#4b9b83;box-shadow:0 0 0 3px rgba(59,147,119,.12)}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:48px}.password-toggle{position:absolute;right:4px;top:5px;width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#71847e;cursor:pointer}.password-toggle:hover{color:var(--teal)}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.form-error{min-height:17px;margin:-7px 0 -6px;color:#b33c36;font-size:12px}.auth-submit{height:48px;display:flex;justify-content:center;align-items:center;gap:12px;border:0;border-radius:5px;background:var(--teal);color:white;font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:background .16s}.auth-submit:hover{background:var(--deep)}.auth-submit:disabled{cursor:wait;opacity:.76}.auth-submit>span:last-child{margin-left:auto;margin-right:14px}.auth-submit>span:first-child{margin-left:auto}.button-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.42);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.auth-submit.loading .button-spinner{display:block}.auth-help{margin:24px 0 0;color:#84928e;font-size:11px;line-height:1.8}.auth-footer{margin-top:auto;color:#8a9994;font-size:10px}.auth-card input[aria-invalid="true"]{border-color:#bf625c}.auth-card input::placeholder{color:#a0ada8}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.auth-shell{grid-template-columns:1fr;min-height:100vh}.auth-visual{display:none}.auth-form-side{min-height:100vh;padding:30px 24px 20px;justify-content:center}.auth-card{padding:10px 0;width:min(390px,100%)}.mobile-brand{display:flex;align-items:center;gap:9px;margin-bottom:48px}.mobile-brand>span:last-child{display:grid;gap:2px}.mobile-brand strong{font-size:14px}.mobile-brand small{font-size:9px;color:#788984}.mobile-brand .brand-mark{width:33px;height:33px;background:var(--deep);color:white}.auth-heading h2{font-size:28px}.auth-footer{margin-top:60px}}
@media(max-height:680px) and (min-width:761px){.auth-visual{padding-top:25px;padding-bottom:25px}.auth-visual-copy{padding-top:25px;margin-bottom:25px}.auth-visual h1{font-size:36px}.auth-feature-list{margin-bottom:15px}.auth-orbit{transform:scale(.8);transform-origin:top right}.auth-form-side{padding-top:25px;padding-bottom:20px}.auth-card{padding:0}.auth-heading{margin-bottom:18px}.auth-card form{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}
