*{box-sizing:border-box}:root{--forest:#062d22;--lime:#d7ff8a;--ink:#18221d;--muted:#86918a}body{margin:0;background:#f6f8f6;color:var(--ink);font:14px 'DM Sans',sans-serif;min-height:100vh}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,.94fr) 1.06fr}.login-story{background:radial-gradient(ellipse at 90% 13%,#11513b 0,transparent 34%),linear-gradient(145deg,#07372a,#04251c);color:#fff;padding:35px 7.5%;position:relative;overflow:hidden;display:flex;flex-direction:column}.login-story:after{content:"";position:absolute;width:560px;height:560px;border:1px solid #ffffff0a;border-radius:50%;right:-320px;bottom:-280px;box-shadow:0 0 0 45px #ffffff04,0 0 0 90px #ffffff03;pointer-events:none}.login-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;position:relative;z-index:1}.login-brand b,.login-brand small{display:block}.login-brand b{font:800 16px 'Manrope';letter-spacing:.06em}.login-brand small{font-size:7px;letter-spacing:.17em;color:#b9d0c4;margin-top:4px}.logo-glow{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;flex:none}.logo-glow img{display:block;width:40px;height:40px;border-radius:10px;object-fit:contain;mix-blend-mode:normal}.story-copy{margin:auto 0;max-width:440px;position:relative;z-index:1;padding:70px 0}.story-eyebrow,.eyebrow{font-size:9px;font-weight:700;letter-spacing:.15em;color:#8dbb9f}.story-copy h1{font:700 clamp(40px,5.1vw,65px)/1.07 'Manrope';letter-spacing:-.055em;margin:18px 0}.story-copy h1 em{font-style:normal;color:var(--lime)}.story-copy p{max-width:330px;color:#b2c9bd;font-size:13px;line-height:1.8}.secure-chip{display:inline-flex;align-items:center;gap:8px;margin-top:24px;border:1px solid #ffffff1c;border-radius:40px;padding:9px 12px;color:#cfdfd5;font-size:9px}.secure-chip span{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #d7ff8a}.story-footer{font-size:8px;color:#78998a;position:relative;z-index:1}.login-panel{display:grid;place-items:center;padding:45px 26px;background:#fff}.login-content{width:min(100%,385px)}.login-heading{text-align:center;margin-bottom:30px}.heading-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;margin:0 auto 18px;background:#f0f8e8;overflow:hidden}.heading-icon img{display:block;width:54px;height:54px;object-fit:contain;mix-blend-mode:normal}.login-heading .eyebrow{color:#51835e;margin:0 0 7px}.login-heading h2{font:700 25px 'Manrope';letter-spacing:-.04em;margin:0}.login-heading>p:last-child{color:#89938c;font-size:11px;margin:7px 0 0}.login-content form{display:grid;gap:15px}.login-content form>label{display:grid;gap:7px;color:#47564c;font-size:9px;font-weight:700}.login-content input:not([type=checkbox]){height:45px;border:1px solid #e6ebe7;border-radius:9px;padding:0 12px;color:#29372f;font-size:11px;outline:0}.login-content input:focus{border-color:#83bc63;box-shadow:0 0 0 3px #eef8e5}.login-content input::placeholder{color:#adb5b0}.password-wrap{display:flex;align-items:center;border:1px solid #e6ebe7;border-radius:9px;padding-right:10px}.password-wrap:focus-within{border-color:#83bc63;box-shadow:0 0 0 3px #eef8e5}.password-wrap input{flex:1;border:0!important;box-shadow:none!important}.password-wrap button{background:none;border:0;color:#819087;padding:5px;display:grid;place-items:center}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:-2px}.remember{display:flex;align-items:center;gap:7px;color:#65736a;font-size:9px;cursor:pointer}.remember input{position:absolute;opacity:0}.remember span{width:14px;height:14px;border:1px solid #cad5cd;border-radius:4px;display:grid;place-items:center}.remember input:checked+span{background:#d7ff8a;border-color:#b4df72}.remember input:checked+span:after{content:"✓";color:#24452d;font-size:10px}.text-link{background:none;border:0;color:#1b7645;font-size:9px;font-weight:700;cursor:pointer}.login-feedback{min-height:0;margin:0;color:#a84e44;font-size:9px}.login-feedback:not(:empty){padding:9px 10px;background:#fff2ef;border-radius:7px}.login-button{height:46px;background:#073326;color:#fff;border:0;border-radius:9px;font-size:11px;font-weight:700;display:flex;justify-content:center;align-items:center;gap:9px;cursor:pointer;transition:.15s}.login-button:hover{background:#0b4834;box-shadow:0 7px 16px #07332625}.login-button svg{width:15px}.login-footnote{display:flex;align-items:center;gap:6px;border-top:1px solid #eff2f0;margin-top:24px;padding-top:17px;color:#9aa49e;font-size:8px}.login-footnote svg{width:13px;height:13px;color:#53855f}.login-footnote a{margin-left:auto;display:flex;align-items:center;gap:3px;text-decoration:none;color:#3d7050;font-weight:700;white-space:nowrap}.login-footnote a svg{width:11px}.back-dashboard{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:21px;color:#87938a;font-size:9px;text-decoration:none}.back-dashboard svg{width:13px}.mobile-brand{display:none}.loading-overlay{position:fixed;inset:0;background:#052c21f2;backdrop-filter:blur(8px);display:none;place-items:center;z-index:10;color:#fff}.loading-overlay.show{display:grid}.loading-content{display:grid;justify-items:center;gap:10px}.loader-mark{width:76px;height:76px;border-radius:22px;position:relative;display:grid;place-items:center;animation:logo-pulse 1.35s ease-in-out infinite}.loader-mark:before{content:"";position:absolute;inset:-10px;border:1px solid #d7ff8a4d;border-radius:28px;animation:ring-pulse 1.8s ease-out infinite}.loader-mark img{display:block;width:76px;height:76px;object-fit:contain;border-radius:20px;mix-blend-mode:normal}.loading-content>b{font:800 12px 'Manrope';letter-spacing:.14em}.loading-content>small{font-size:9px;color:#bad0c4}.loading-track{height:3px;width:135px;background:#ffffff22;border-radius:4px;overflow:hidden;margin-top:9px}.loading-track i{height:100%;width:35%;display:block;border-radius:4px;background:var(--lime);animation:loading-sweep 1.3s ease-in-out infinite}@keyframes logo-pulse{0%,100%{filter:drop-shadow(0 0 4px #c8f87960);transform:scale(1)}50%{filter:drop-shadow(0 0 18px #d7ff8acb);transform:scale(1.045)}}@keyframes ring-pulse{0%{transform:scale(.8);opacity:.8}100%{transform:scale(1.35);opacity:0}}@keyframes loading-sweep{0%{transform:translateX(-100%)}100%{transform:translateX(390%)}}@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:25px 21px}.mobile-brand{display:flex;align-items:center;gap:9px;margin-bottom:35px;text-decoration:none;color:#193a2a;font:800 13px 'Manrope';letter-spacing:.06em}.mobile-brand img{display:block;width:40px;height:40px;border-radius:10px;object-fit:contain;mix-blend-mode:normal;flex:none}.login-heading{margin-bottom:24px}.heading-icon{margin-bottom:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
.login-content form>label[hidden],#verificationPanel[hidden],#credentialsPanel[hidden]{display:none}.form-options-end{justify-content:flex-end}.auth-switch{margin-top:21px;text-align:center;color:#87938a;font-size:10px}.auth-switch .text-link{margin-left:4px}.login-feedback.is-success{color:#17623d;background:#edf8e7}.login-feedback.is-info{color:#446b50;background:#f0f7ed}.login-button:disabled,.text-link:disabled{opacity:.65;cursor:wait}.login-button.is-loading{pointer-events:none}.login-button.is-loading svg{animation:button-spin .8s linear infinite}.verification-panel{text-align:center;animation:verify-enter .42s cubic-bezier(.2,.8,.2,1) both}.verify-mark{position:relative;width:70px;height:70px;border-radius:22px;background:#f0f8e8;margin:0 auto 19px;display:grid;place-items:center;box-shadow:0 10px 30px #d9efcf75;transition:.35s}.verify-mark img{display:block;width:70px;height:70px;object-fit:contain;border-radius:22px;mix-blend-mode:normal}.verify-mark span{position:absolute;inset:-8px;border:1px solid #a7d58b;border-radius:28px;animation:ring-pulse 2s ease-out infinite}.verification-panel>.eyebrow{color:#51835e;margin:0 0 8px}.verification-panel h2{font:700 25px 'Manrope';letter-spacing:-.04em;margin:0}.verify-copy{color:#89938c;font-size:11px;line-height:1.7;margin:9px 0 21px}.verify-copy strong{color:#31483a}.verification-panel form{display:grid;gap:13px}.verification-code{height:62px!important;border:1px solid #dce7dc!important;background:#fbfdf9;text-align:center;letter-spacing:.52em;font:700 23px 'Manrope'!important;color:#073326!important;padding-left:calc(12px + .52em)!important}.verification-code::placeholder{color:#b9c8bb;letter-spacing:.38em}.verification-code:focus{border-color:#70b864!important;box-shadow:0 0 0 4px #e6f5db!important}.verify-actions{display:flex;justify-content:space-between;margin-top:15px}.verify-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px;padding-top:15px;border-top:1px solid #eff2f0;color:#88938b;font-size:9px;line-height:1.5}.verify-secure svg{width:14px;height:14px;color:#53855f;flex:none}.verification-panel.is-shaking{animation:verify-shake .42s ease-in-out}.verification-panel.is-shaking .verification-code{border-color:#da776b!important;background:#fff8f7}.verification-panel.is-verified .verify-mark{background:#e4f8d7;box-shadow:0 0 0 7px #e8f7e0,0 0 28px #a6df76}.verification-panel.is-verified .verify-mark img{animation:verify-check .52s cubic-bezier(.2,.8,.2,1) both}.verification-panel.is-verified .verify-mark span{border-color:#6bbd5e;animation:ring-pulse .65s ease-out both}@keyframes verify-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes verify-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}@keyframes verify-check{0%{transform:scale(.72) rotate(-8deg);filter:drop-shadow(0 0 0 #8dd15e)}65%{transform:scale(1.1) rotate(3deg);filter:drop-shadow(0 0 12px #8dd15e)}100%{transform:scale(1);filter:drop-shadow(0 0 7px #8dd15e)}}@keyframes button-spin{to{transform:rotate(360deg)}}

/* Keep the brand mark still and optically centered; animate only the loading state. */
.logo-glow img,.heading-icon img,.mobile-brand img,.verify-mark img{animation:none!important;transform:none!important;filter:none!important}
.login-content{margin-inline:auto}
.login-heading .heading-icon{margin-inline:auto}
.loading-overlay .loader-mark img{animation:logo-pulse 1.35s ease-in-out infinite;transform-origin:center}


/* Prevent iOS Safari from auto-zooming when auth fields receive focus. */
@media (max-width: 820px) {
  .login-content input,
  .login-content select,
  .login-content textarea,
  .login-content input::placeholder {
    font-size: 16px !important;
  }
}


/* iOS Safari: every auth control must compute to >=16px to prevent focus zoom. */
@media screen and (max-width: 820px) {
  html, body, .login-shell, .login-panel, .login-content { max-width: 100%; }
  .login-content input:not([type="checkbox"]),
  .login-content .password-wrap input,
  .login-content textarea,
  .login-content select,
  #verificationCode,
  .verification-code {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .login-content input:not([type="checkbox"])::placeholder,
  .login-content .password-wrap input::placeholder,
  .verification-code::placeholder {
    font-size: 16px !important;
  }
  .login-content form,
  .login-content form > label,
  .login-content .password-wrap {
    min-width: 0;
    width: 100%;
  }
  .login-content input:not([type="checkbox"]) {
    min-width: 0;
  }
}
