/* Lexynex Legal v0.11h7 – tenant login theme customization */
:root{
  --login-bg-a:#180707;
  --login-bg-b:#4b0b0b;
  --login-bg-c:#0b1324;
  --login-accent:#a80707;
  --login-accent-2:#d6ae70;
  --login-card:#fffaf7;
  --login-card-ink:#201818;
  --login-muted:#765d58;
  --login-line:#dfc4bd;
  --login-visual-text:#ffffff;
  --login-visual-muted:#f0dcd8;
  --login-font-heading:Arial, Helvetica, sans-serif;
  --login-font-body:Arial, Helvetica, sans-serif;
}

.auth-body.login-theme-hernadi_burgundy{
  --login-bg-a:#180707;--login-bg-b:#4b0b0b;--login-bg-c:#0b1324;
  --login-accent:#a80707;--login-accent-2:#d6ae70;--login-card:#fffaf7;--login-card-ink:#201818;--login-muted:#765d58;--login-line:#dfc4bd;
  --login-visual-text:#fff;--login-visual-muted:#f0dcd8;--login-font-heading:Arial, Helvetica, sans-serif;
}
.auth-body.login-theme-sovany_dark_gold{
  --login-bg-a:#121212;--login-bg-b:#242424;--login-bg-c:#0d0f14;
  --login-accent:#c9a65a;--login-accent-2:#efe3c5;--login-card:#f3eee9;--login-card-ink:#251f1c;--login-muted:#665b51;--login-line:#d5c2a1;
  --login-visual-text:#f8f3ec;--login-visual-muted:#d4c8b6;--login-font-heading:Georgia, 'Times New Roman', serif;
}
.auth-body.login-theme-meggyes_navy_gold{
  --login-bg-a:#07162c;--login-bg-b:#112b52;--login-bg-c:#050b16;
  --login-accent:#d1ae55;--login-accent-2:#f3df9f;--login-card:#f7f9ff;--login-card-ink:#0f1f3a;--login-muted:#52627a;--login-line:#bfd1ee;
  --login-visual-text:#f8fbff;--login-visual-muted:#d6e2f5;--login-font-heading:Georgia, 'Times New Roman', serif;
}
.auth-body.login-theme-francsics_library_dark{
  --login-bg-a:#0d0d0f;--login-bg-b:#2a1e1d;--login-bg-c:#050506;
  --login-accent:#c7a08c;--login-accent-2:#f0d8c8;--login-card:#f4f0ed;--login-card-ink:#161616;--login-muted:#5c5552;--login-line:#d2b9ad;
  --login-visual-text:#ffffff;--login-visual-muted:#d6cbc6;--login-font-heading:Arial, Helvetica, sans-serif;
}
.auth-body.login-theme-gsz_light_blue{
  --login-bg-a:#f6f8fb;--login-bg-b:#eaf0f7;--login-bg-c:#dfe8f4;
  --login-accent:#1f4474;--login-accent-2:#5e7da9;--login-card:#ffffff;--login-card-ink:#123057;--login-muted:#6a7586;--login-line:#cbd8e8;
  --login-visual-text:#123057;--login-visual-muted:#576b86;--login-font-heading:Georgia, 'Times New Roman', serif;
}
.auth-body.login-theme-lexynex_founder{
  --login-bg-a:#edf2ff;--login-bg-b:#dbe7ff;--login-bg-c:#f7f9ff;
  --login-accent:#263b70;--login-accent-2:#5066a4;--login-card:#ffffff;--login-card-ink:#162033;--login-muted:#64748b;--login-line:#dfe5ef;
  --login-visual-text:#162033;--login-visual-muted:#475569;--login-font-heading:Arial, Helvetica, sans-serif;
}

.auth-body{
  background:var(--login-bg-a);
  font-family:var(--login-font-body);
}

.legal-login-page{
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--login-accent) 44%, transparent), transparent 34%),
    radial-gradient(circle at 82% 78%, color-mix(in srgb, var(--login-accent-2) 22%, transparent), transparent 36%),
    linear-gradient(135deg, var(--login-bg-a) 0%, var(--login-bg-b) 48%, var(--login-bg-c) 100%);
}

.legal-login-background::before{
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:42px 42px;
}
.auth-body.login-theme-gsz_light_blue .legal-login-background::before,
.auth-body.login-theme-lexynex_founder .legal-login-background::before{
  background:
    linear-gradient(rgba(38,59,112,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38,59,112,.07) 1px, transparent 1px);
}

.legal-login-orb-one{background:var(--login-accent)}
.legal-login-orb-two{background:var(--login-accent-2)}

.legal-login-brand,
.legal-login-copy h2,
.legal-login-card h1{
  font-family:var(--login-font-heading);
}

.legal-login-mark{
  background:linear-gradient(135deg,#fff, var(--login-accent-2));
  color:var(--login-accent);
  font-family:var(--login-font-heading);
  font-size:clamp(20px, 2.2vw, 31px);
  letter-spacing:-.04em;
}
.legal-login-office{color:var(--login-visual-muted)}
.legal-login-copy h2{color:var(--login-visual-text)}
.legal-login-copy p{color:var(--login-visual-muted)}
.legal-login-eyebrow,
.legal-login-trust-row span{
  color:var(--login-visual-text);
  border-color:color-mix(in srgb, var(--login-accent-2) 36%, transparent);
  background:color-mix(in srgb, var(--login-accent-2) 16%, transparent);
}
.legal-login-card{
  background:color-mix(in srgb, var(--login-card) 94%, transparent);
  color:var(--login-card-ink);
}
.legal-login-card h1{color:var(--login-card-ink)}
.legal-login-card p,
.legal-login-note{color:var(--login-muted)}
.legal-login-badge{
  background:color-mix(in srgb, var(--login-accent-2) 18%, #fff);
  color:var(--login-accent);
}
.legal-login-field label{color:var(--login-card-ink)}
.legal-login-field input{
  border-color:var(--login-line);
  color:var(--login-card-ink);
}
.legal-login-submit{
  background:linear-gradient(135deg, var(--login-accent), color-mix(in srgb, var(--login-accent) 76%, #000));
  box-shadow:0 12px 24px color-mix(in srgb, var(--login-accent) 24%, transparent);
}
.legal-login-note{
  background:color-mix(in srgb, var(--login-accent-2) 10%, #fff);
  border-color:color-mix(in srgb, var(--login-line) 85%, #fff);
}

/* SSO buttons: stable vertical layout; fixes previous inline Microsoft button issue. */
.sso-login-block,
.google-sso-login-block{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0 0 16px;
  width:100%;
}
.google-sso-button,
.microsoft-sso-button{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:48px;
  padding:10px 14px;
  border:1px solid color-mix(in srgb, var(--login-line) 85%, #fff);
  border-radius:14px;
  background:#fff;
  color:var(--login-card-ink)!important;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 8px 22px rgba(15,23,42,.07);
}
.google-sso-button:hover,
.microsoft-sso-button:hover{
  border-color:var(--login-accent);
  box-shadow:0 12px 28px color-mix(in srgb, var(--login-accent) 14%, transparent);
}
.google-sso-icon,
.microsoft-sso-icon{
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.google-sso-icon{background:#fff;color:#4285f4;border:1px solid #dce3ef}
.microsoft-sso-icon{background:#2563eb;color:#fff}
.google-sso-divider{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--login-muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.google-sso-divider::before,
.google-sso-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:color-mix(in srgb, var(--login-line) 72%, #fff);
}
.google-sso-divider span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 9px;
  border-radius:999px;
  background:color-mix(in srgb, var(--login-card) 88%, #fff);
}

/* Theme-specific refinements. */
.auth-body.login-theme-sovany_dark_gold .legal-login-page{
  background:linear-gradient(180deg,#2c2c2e 0%, #18191b 32%, #101113 100%);
}
.auth-body.login-theme-sovany_dark_gold .legal-login-copy h2{
  font-size:clamp(36px, 4.2vw, 58px);
  font-weight:500;
}
.auth-body.login-theme-meggyes_navy_gold .legal-login-page{
  background:linear-gradient(180deg,#ffffff 0 18%, #132a4f 18%, #07162c 100%);
}
.auth-body.login-theme-meggyes_navy_gold .legal-login-visual{
  border-right-color:rgba(255,255,255,.18);
}
.auth-body.login-theme-francsics_library_dark .legal-login-page{
  background:
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.42)),
    repeating-linear-gradient(90deg, #151515 0 36px, #1f1716 36px 72px, #241d1b 72px 112px),
    linear-gradient(135deg,#111,#2a1e1d 54%,#050506);
}
.auth-body.login-theme-francsics_library_dark .legal-login-illustration{opacity:.28;filter:sepia(.35) saturate(.75)}
.auth-body.login-theme-gsz_light_blue .legal-login-page,
.auth-body.login-theme-lexynex_founder .legal-login-page{
  color:var(--login-card-ink);
}
.auth-body.login-theme-gsz_light_blue .legal-login-visual,
.auth-body.login-theme-lexynex_founder .legal-login-visual{
  border-right-color:rgba(38,59,112,.15);
}
.auth-body.login-theme-gsz_light_blue .legal-login-trust-row span,
.auth-body.login-theme-lexynex_founder .legal-login-trust-row span,
.auth-body.login-theme-gsz_light_blue .legal-login-eyebrow,
.auth-body.login-theme-lexynex_founder .legal-login-eyebrow{
  background:#fff;
  color:var(--login-accent);
  border-color:var(--login-line);
}

/* Admin branding page. */
.brand-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 22px}
.brand-theme-option{position:relative;border:1px solid #d8dee9;border-radius:18px;padding:14px;background:#fff;cursor:pointer;transition:.16s ease;min-height:128px;display:flex;flex-direction:column;gap:8px}
.brand-theme-option:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.08)}
.brand-theme-option input{position:absolute;opacity:0;pointer-events:none}
.brand-theme-option:has(input:checked){border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.brand-theme-swatch{height:42px;border-radius:14px;border:1px solid rgba(0,0,0,.08)}
.brand-theme-title{font-weight:900;color:#162033}.brand-theme-description{color:#64748b;font-size:13px;line-height:1.35}.brand-form-section{margin-top:24px;padding-top:22px;border-top:1px solid #e7edf5}.brand-textarea{width:100%;min-height:86px;border-radius:14px;border:1px solid #d9e1ee;background:#fff;padding:12px 14px;font-size:15px;color:#162033;resize:vertical}.brand-preview-login{margin-top:24px;border-radius:24px;padding:22px;background:linear-gradient(135deg,var(--login-bg-a),var(--login-bg-b),var(--login-bg-c));color:var(--login-visual-text);border:1px solid rgba(255,255,255,.18)}.brand-preview-login strong{display:block;font-size:22px}.brand-preview-login span{display:block;color:var(--login-visual-muted);margin-top:4px}.brand-preview-card{margin-top:14px;background:var(--login-card);color:var(--login-card-ink);border-radius:18px;padding:16px;border:1px solid var(--login-line);max-width:360px}.brand-preview-btn{margin-top:12px;border-radius:12px;background:linear-gradient(135deg,var(--login-accent),color-mix(in srgb,var(--login-accent) 74%,#000));color:#fff;padding:10px 14px;font-weight:900;text-align:center}
@media(max-width:920px){.brand-theme-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.brand-theme-grid{grid-template-columns:1fr}}


.legal-login-mark.is-image{
  padding:0;
  background:transparent;
  color:inherit;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.legal-login-mark.is-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.brand-theme-icon-preview{
  width:44px;
  height:44px;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.55);
}
.brand-preview-login .brand-preview-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  object-fit:cover;
  box-shadow:0 10px 22px rgba(0,0,0,.16);
  margin-bottom:10px;
}
