/* Native forms and validation stay intact; only ALOHA access pages are styled. */
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message){
  --bg-color:#f5f7f2;--fg-color:#fcfdf8;--card-bg:#fcfdf8;--text-color:#223d35;
  --heading-color:#0c4e3b;--text-muted:#52665a;--control-bg:#edf3e7;
  --primary:#0c4e3b;--btn-primary:#0c4e3b;
  background:#f5f7f2;color:#223d35;font-family:'Trebuchet MS',Arial,sans-serif;
  color-scheme:light;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .page-card-head .app-logo{
  width:180px;max-width:70vw;height:auto;max-height:none;object-fit:contain;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .page-card-head h4{
  color:#0c4e3b;font-family:Georgia,serif;font-weight:400;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .page-card{
  background:#fcfdf8;border:1px solid #dbe3da;box-shadow:none;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .btn-primary{
  background:#0c4e3b!important;color:#fcfdf8!important;min-height:44px;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .form-control{min-height:44px;font-size:16px}
.aloha-access-footer{padding:24px 16px 32px;text-align:center;font:14px/1.6 'Trebuchet MS',Arial,sans-serif;color:#52665a}
.aloha-access-footer p{margin:0 0 8px}
.aloha-access-footer a{color:#0c4e3b;display:inline-block;min-height:44px;padding:10px;text-decoration:underline}
.aloha-access-footer a:focus-visible{outline:3px solid #486523;outline-offset:3px}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .navbar{display:none}
body[data-path="login"] .btn-login-option{min-height:44px;display:flex;align-items:center;justify-content:center}
.aloha-auth-message .page-card-head h4{color:#0c4e3b;font-family:Georgia,serif}

/* The older production login template injects dark rules with !important.
   Keep this override scoped to access pages; preserve the legacy CRM theme. */
html:has(body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message)){background:#f5f7f2!important}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message){
  background:#f5f7f2!important;color:#223d35!important;
  font-family:'Trebuchet MS',Arial,sans-serif!important;display:block;min-height:100vh;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) :is(h1,h2,h3,h4,h5){
  font-family:Georgia,serif!important;color:#0c4e3b!important;font-weight:400!important;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .page-card-head h4{font-size:24px!important}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) :is(.page-card,.login-content){
  background:#fcfdf8!important;border:1px solid #dbe3da!important;border-radius:12px!important;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .app-logo{
  width:180px!important;height:auto!important;background:transparent;padding:0;border-radius:0;box-sizing:border-box;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) input.form-control{
  background:#edf3e7!important;border:1px solid #dbe3da!important;color:#223d35!important;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) input.form-control:focus{
  border-color:#486523!important;box-shadow:0 0 0 2px #d8e6cd!important;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .form-control::placeholder{color:#52665a!important}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) :is(.field-icon,.password-icon){filter:none}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) a{color:#0c4e3b!important}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .text-muted{color:#52665a!important}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) :is(.btn-default,.btn-secondary,.btn-login-option){
  background:#edf3e7!important;border:1px solid #dbe3da!important;color:#0c4e3b!important;
}
body:is([data-path="login"],[data-path="update-password"],.aloha-auth-message) .btn-primary:hover{background:#083d2e!important}
body[data-path="login"] :is(.invalid,.invalid-login) .form-control{border-color:#963b32!important}

/* Access uses the same palette as design-system.css. These selectors outrank
   the legacy inline theme while leaving Frappe's routing and forms intact. */
body[data-path="login"]{
  --aloha-canvas:#f5f7f2;--aloha-paper:#fcfdf8;--aloha-ink:#223d35;
  --aloha-green:#0c4e3b;--aloha-muted:#52665a;--aloha-rule:#dbe3da;
  --aloha-control:#768a79;--aloha-focus:#486523;--aloha-cream:#f4f0df;
}
body[data-path="login"] .for-login,
body[data-path="login"] :is(.for-forgot,.for-login-with-email-link,.for-signup){padding:0;margin:0}
body[data-path="login"] .page-card-head{margin:0 0 28px;padding:0;text-align:left}
body[data-path="login"] .page-card .form-signin{max-width:none;width:100%;margin:0}
body[data-path="login"] .page-card-head h4{margin:0 0 12px;line-height:1.2;letter-spacing:0}
body[data-path="login"] .page-card-head>h4{font-size:32px!important}
body[data-path="login"] :is(.page-card,.login-content){padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;max-width:none}
body[data-path="login"] .page-card-body{padding:0}
body[data-path="login"] .form-group{margin-bottom:20px}
body[data-path="login"] .form-label{
  position:static!important;width:auto!important;height:auto!important;clip:auto!important;
  clip-path:none!important;overflow:visible!important;white-space:normal!important;
  display:block;margin:0 0 8px!important;padding:0;font-size:15px;line-height:1.5;color:var(--aloha-ink);font-weight:bold;
}
body[data-path="login"] input.form-control{
  height:48px;padding:12px 14px!important;border-color:var(--aloha-control)!important;
  background:var(--aloha-paper)!important;border-radius:8px!important;line-height:1.5;
}
body[data-path="login"] #login_password{padding-right:86px!important}
body[data-path="login"] .field-icon{display:none}
body[data-path="login"] .toggle-password{display:inline-flex;align-items:center;justify-content:center;top:2px;right:3px;min-width:76px;min-height:44px;font-size:13px;cursor:pointer;border-radius:5px}
body[data-path="login"] .forgot-password-message{margin:0 0 14px;text-align:right}
body[data-path="login"] :is(.forgot-password-message,.sign-up-message) a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px}
body[data-path="login"] .btn{min-height:48px;font:400 16px/1.5 'Trebuchet MS',Arial,sans-serif!important;border-radius:8px!important;white-space:normal}
body[data-path="login"] .btn-primary{font-weight:bold!important}
body[data-path="login"] .login-divider{display:flex;align-items:center;gap:16px;margin:20px 0;font-size:13px}
body[data-path="login"] .login-divider::before,body[data-path="login"] .login-divider::after{content:"";flex:1;border-top:1px solid var(--aloha-rule)}
body[data-path="login"] .btn-login-option{background:transparent!important;border-color:var(--aloha-control)!important;font-size:14px!important;text-decoration:none}
body[data-path="login"] :is(a,button,input,.toggle-password):focus-visible{outline:3px solid var(--aloha-focus);outline-offset:3px;box-shadow:none!important}
body[data-path="login"] .sign-up-message{margin:18px 0 0}
body[data-path="login"] #twofactor_div .page-card-head{margin:0 0 16px}
body[data-path="login"] #twofactor_div{max-width:none;width:100%;margin:0}
body[data-path="login"] #verify_token{margin-top:20px!important}
body[data-path="login"]:has(#twofactor_div) .for-login>.page-card-head .aloha-access-hint{display:none}
body[data-path="login"] .aloha-access-hint{margin:0;color:var(--aloha-muted);font-size:16px;font-weight:400;line-height:1.6;max-width:34ch}
body.aloha-login-ready #page-login main{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,108px);
  align-items:center;width:calc(100% - 64px);max-width:1100px;min-height:calc(100svh - 112px);
  margin:0 auto!important;padding:48px 0;
}
body.aloha-login-ready .page-header-wrapper,body.aloha-login-ready main>.page-footer{display:none}
body.aloha-login-ready .page_content{min-width:0;max-width:400px;width:100%;justify-self:center}
body.aloha-login-ready .page-card-head>.app-logo{display:none}
.aloha-access-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:var(--aloha-cream);padding:clamp(28px,4vw,56px);border-radius:8px}
.aloha-access-intro>img{width:218px;max-width:100%;height:auto;align-self:flex-start;margin-bottom:56px}
.aloha-access-eyebrow{font-size:12px;font-weight:bold;letter-spacing:.12em;margin:0 0 18px;color:var(--aloha-muted)}
body[data-path="login"] .aloha-access-intro>h2{font-size:clamp(32px,3.6vw,46px)!important;line-height:1.15;margin:0 0 24px;letter-spacing:-.025em}
.aloha-access-description{font-size:17px;line-height:1.7;max-width:31ch;margin:0;color:var(--aloha-ink)}
.aloha-access-team{font-size:13px;color:var(--aloha-muted);margin:48px 0 0;padding-top:20px;border-top:1px solid #d8d3be}
body.aloha-login-ready .aloha-access-footer{padding:0 24px 24px;font-size:13px}
body.aloha-login-ready .aloha-access-footer p{margin:0}
body.aloha-login-ready .aloha-access-footer a{font-size:13px}
@media(max-width:760px){
  body.aloha-login-ready #page-login main{display:block;width:auto;min-height:0;max-width:448px;margin:0 auto!important;padding:28px 24px 32px}
  .aloha-access-intro{padding:0;background:transparent;border-radius:0;margin-bottom:32px}
  .aloha-access-intro>img{width:158px;margin:0 0 20px}
  .aloha-access-eyebrow{font-size:11px;margin:0}
  body[data-path="login"] .aloha-access-intro>h2,.aloha-access-description,.aloha-access-team{display:none}
  body.aloha-login-ready .page_content{max-width:none}
  body[data-path="login"] .page-card-head{margin-bottom:24px}
  body[data-path="login"] .page-card-head>h4{font-size:29px!important}
  body[data-path="login"] .aloha-access-hint{font-size:15px;max-width:none}
  body.aloha-login-ready .aloha-access-footer{padding-bottom:20px}
}
@media(prefers-reduced-motion:reduce){body[data-path="login"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
