/* Shared sign-in and registration layout. No external artwork or font requests. */
.login-page.login-refresh{--login-bg:#f7f8f5;--login-card:#fff;--login-field:#fff;--login-border:#dce2da;--login-text:#202820;--login-muted:#687267;--login-green:#426334;--login-focus:#66824b22;background:var(--login-bg);color:var(--login-text)}
html[data-theme="dark"] .login-page.login-refresh{--login-bg:#111512;--login-card:#191e1a;--login-field:#151a16;--login-border:#343d34;--login-text:#eaf0e8;--login-muted:#a0ab9c;--login-green:#c8ed9e;--login-focus:#b5d48f20;background:var(--login-bg)}
.login-refresh .login-topbar{width:min(1200px,100%);margin:0 auto;padding:30px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.login-refresh .login-brand img{width:148px;height:auto}
.login-refresh .login-topbar .theme-toggle{position:static;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--login-border);border-radius:50%;background:transparent;color:var(--login-muted);box-shadow:none}
.login-refresh .login-topbar .theme-toggle:hover{background:var(--login-card);color:var(--login-text)}
.login-refresh .login-main{width:calc(100% - 80px);max-width:1000px;margin:0 auto;padding:46px 0 64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;gap:88px;flex:1;min-height:0}
.login-refresh .login-story{min-width:0;padding:0 0 12px;align-self:center}
.login-refresh .login-story-label{margin:0 0 25px;font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--login-muted)}
.login-refresh .login-story h2{margin:0 0 23px;font-size:43px;font-weight:500;line-height:1.18;letter-spacing:-1.9px;color:var(--login-text)}
.login-refresh .login-story-description{max-width:300px;margin:0;font-size:14px;line-height:1.85;color:var(--login-muted)}
.login-refresh .login-story-help{display:flex;flex-direction:column;gap:7px;max-width:300px;margin-top:66px;padding-top:20px;border-top:1px solid var(--login-border);font-size:12px;color:var(--login-muted)}
.login-refresh .login-story-help a{align-self:flex-start;font-size:13px;color:var(--login-text)}
.login-refresh .login-story-help a:hover{text-decoration:underline;text-underline-offset:4px}
.login-refresh .login-story-help a span{margin-left:7px;color:var(--login-muted)}
.login-refresh .login-form-side{width:100%;min-width:0}
.login-refresh .login-card{width:100%;max-width:none;border:1px solid var(--login-border);border-radius:14px;background:var(--login-card);box-shadow:0 3px 8px #20302003}
.login-refresh .login-card-content{padding:36px}
.login-refresh .login-heading{margin-bottom:30px;text-align:left}
.login-refresh .login-heading h1{margin:0 0 9px;font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.9px;color:var(--login-text)}
.login-refresh .login-heading p{margin:0;font-size:13px;line-height:1.7;color:var(--login-muted)}
.login-refresh .login-field{margin-bottom:21px}
.login-refresh .login-field label{margin-bottom:8px;font-size:12px;font-weight:500;letter-spacing:0}
.login-refresh .login-field input{height:48px;padding:0 13px;border:1px solid var(--login-border);border-radius:6px;background:var(--login-field);color:var(--login-text);font-size:13px;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.login-refresh .login-field input::placeholder{color:var(--login-muted);opacity:.7}
.login-refresh .login-field input:hover{border-color:var(--login-muted)}
.login-refresh .login-field input:focus{border-color:var(--login-green);background:var(--login-field);box-shadow:0 0 0 3px var(--login-focus)}
.login-refresh .login-email-input{position:relative}
.login-refresh .login-email-input>svg{position:absolute;left:13px;top:15px;pointer-events:none;color:var(--login-muted);width:17px;height:17px}
.login-refresh .login-email-input input{padding-left:39px}
.login-refresh .login-password-input input{padding-right:45px}
.login-refresh .login-password-toggle{top:4px;right:4px;width:39px;height:39px;border-radius:4px}
.login-refresh .login-password-label a{font-size:11px;font-weight:400;color:var(--login-muted)}
.login-refresh .login-password-label a:hover{color:var(--login-text)}
.login-refresh .login-remember{font-size:12px;gap:9px;margin:0 0 24px;color:var(--login-muted)}
.login-refresh .login-remember input,.register-refresh .login-agreement input{width:15px;height:15px;accent-color:#58803c}
.login-refresh .login-submit{min-height:48px;padding:12px 18px;border-radius:6px;background:#c9f58e;color:#203015;font-size:13px;font-weight:600;letter-spacing:0;box-shadow:none;transition:background .15s}
.login-refresh .login-submit:hover:not(:disabled){background:#bde77e;transform:none}
.login-refresh .login-submit:active{transform:none}
.login-refresh .login-submit:disabled{opacity:.6;cursor:wait}
.login-refresh .login-submit-arrow{position:static;margin-left:4px;width:16px;height:16px}
.login-refresh .login-alt{margin:22px 0 0;font-size:12px;line-height:1.8;text-align:center;color:var(--login-muted)}
.login-refresh .login-alt a{font-weight:500;margin-left:3px;color:var(--login-text);text-decoration:underline;text-decoration-color:var(--login-border);text-underline-offset:4px}
.login-refresh .login-alt a:hover{text-decoration-color:var(--login-muted)}
.login-refresh .login-footer{padding:24px 24px 28px;display:flex;align-items:center;justify-content:center;gap:9px 18px;font-size:10px;color:var(--login-muted)}
.login-refresh .login-footer a:hover{color:var(--login-text)}
.login-refresh .login-copyright{margin-right:8px}
.login-refresh .login-feedback{font-size:12px;line-height:1.7;border-color:#e7cac5;background:#fcf3f1;color:#9c3c30;border-radius:6px}
html[data-theme="dark"] .login-refresh .login-feedback{background:#2c201e;border-color:#56352f;color:#f0b0a4}
.login-refresh .login-feedback.is-success{background:#eff6e8;border-color:#cbdcba;color:#42622b}
html[data-theme="dark"] .login-refresh .login-feedback.is-success{background:#232e1c;border-color:#3e5130;color:#cbdfb7}
.login-refresh #loginVerificationCode{font-variant-numeric:tabular-nums;letter-spacing:1px}
.register-refresh .login-field{margin-bottom:17px}
.register-refresh .login-heading{margin-bottom:27px}
.register-refresh .login-agreement{margin:4px 0 23px;font-size:11px;line-height:1.8;gap:9px}
.register-refresh .login-agreement input{margin-top:3px}
.register-refresh .login-agreement a{text-decoration-color:var(--login-border)}
.register-refresh .login-terms-dialog{background:var(--login-card);color:var(--login-text);border-color:var(--login-border)}
.register-refresh .login-terms-dialog>header{background:var(--login-card);border-color:var(--login-border)}
.register-refresh .login-terms-close{background:var(--login-field);color:var(--login-text)}
@media(max-width:1050px){.login-refresh .login-main{gap:44px;max-width:900px;grid-template-columns:minmax(0,1fr) minmax(0,420px)}.login-refresh .login-story h2{font-size:36px;letter-spacing:-1.4px}}
@media(max-width:800px){.login-refresh .login-topbar{padding:24px 28px}.login-refresh .login-main{display:block;width:calc(100% - 40px);max-width:440px;padding:34px 0 48px;margin-block:auto;flex:0 0 auto}.login-refresh .login-story{display:none}.login-refresh .login-card-content{padding:32px}.login-refresh .login-footer{margin-top:auto}}
@media(max-width:450px){.login-refresh .login-topbar{padding:22px 24px}.login-refresh .login-brand img{width:138px}.login-refresh .login-main{width:100%;padding:24px 26px 40px}.login-refresh .login-card{border:0;background:transparent;border-radius:0;box-shadow:none}.login-refresh .login-card-content{padding:0}.login-refresh .login-heading h1{font-size:26px}.login-refresh .login-heading{margin-bottom:30px}.login-refresh .login-field input{height:50px;background:var(--login-card);font-size:14px}.login-refresh .login-email-input>svg{top:16px}.login-refresh .login-password-toggle{top:5px}.login-refresh .login-footer{padding-inline:24px;gap:7px 13px}.login-refresh .login-copyright{width:100%;text-align:center;margin:0 0 4px}}
@media(prefers-reduced-motion:reduce){.login-refresh .login-submit,.login-refresh .login-field input{transition:none}}
