/* Standalone sign-in presentation; authenticated CRM and Field styles are untouched. */
.afix-login {
  --login-page: #f4f6f9;
  --login-card: #fff;
  --login-text: #233247;
  --login-line: #cbd4df;
  --login-input: #fff;
  --login-accent: #1768c5;
  --login-error: #a8293d;
  --login-error-bg: #fff0f2;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  padding: 36px 20px;
  display: grid;
  place-items: center;
  background: var(--login-page);
  color: var(--login-text);
  font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-text-size-adjust: 100%;
  color-scheme: light;
}
.afix-login *, .afix-login *::before, .afix-login *::after { box-sizing: border-box; }
.afix-login .login-panel { width: min(100%, 376px); }
.afix-login .login-logo { display: block; width: 172px; height: auto; max-width: 100%; margin: 0 auto 32px; }
.afix-login .login-form { padding: 28px; border: 1px solid #dde3ec; border-radius: 18px; background: var(--login-card); box-shadow: 0 12px 36px #20314b08; }
.afix-login .login-field + .login-field { margin-top: 20px; }
.afix-login .login-field label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 600; }
.afix-login .login-field input { display: block; width: 100%; min-width: 0; height: 48px; padding: 10px 12px; border: 1px solid var(--login-line); border-radius: 9px; background: var(--login-input); color: var(--login-text); font: inherit; font-size: 16px; line-height: 1.25; }
.afix-login .login-field input:focus { outline: 3px solid #398bee30; outline-offset: 1px; border-color: var(--login-accent); }
.afix-login .login-submit { display: block; width: 100%; min-height: 48px; margin-top: 28px; padding: 11px 16px; border: 1px solid transparent; border-radius: 9px; background: var(--login-accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.afix-login .login-submit:hover { background: #115bac; }
.afix-login .login-submit:focus-visible { outline: 3px solid var(--login-accent); outline-offset: 3px; }
.afix-login .login-error { margin: 0 0 22px; padding: 11px 12px; border-radius: 9px; background: var(--login-error-bg); color: var(--login-error); font-size: 14px; overflow-wrap: anywhere; }
html[data-theme="dark"] .afix-login { --login-page: #111821; --login-card: #1a2532; --login-text: #e4ebf5; --login-line: #49586b; --login-input: #141e29; --login-accent: #216fc5; --login-error: #ffb3bd; --login-error-bg: #452731; color-scheme: dark; }
html[data-theme="dark"] .afix-login .login-form { border-color: #334154; box-shadow: 0 12px 36px #0002; }
html[data-theme="dark"] .afix-login .login-submit:hover { background: #2475cd; }
@media (max-width: 359px) { .afix-login { padding-inline: 16px; } .afix-login .login-form { padding: 24px 20px; } }
