/* GMV login and MFA presentation. Authentication is handled by Joomla. */
.gmv-auth-page {
  --gmv-auth-green: #34b449;
  --gmv-auth-border: #304234;
  background: #0a100c !important;
  color: #edf4ed !important;
  min-height: 100svh;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
.gmv-auth-page * { box-sizing: border-box; }
.gmv-auth-page a { color: #90e79e; }
.gmv-auth-intro { margin: 0 0 28px !important; text-align: center; }
.gmv-auth-intro img { display: block; width: 200px; max-width: 78%; height: auto; margin: 0 auto 20px; }
.gmv-auth-intro h2 { font-size: 28px; line-height: 1.2; font-weight: 700; margin: 8px 0 12px !important; color: #edf4ed; }
.gmv-auth-page .gmv-auth-intro p { color: #b8c7ba; line-height: 1.5; margin: 0 !important; font-size: 14px; }
.gmv-auth-page .gmv-auth-intro .gmv-auth-eyebrow { color: #74df85; font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.gmv-auth-page form label { color: #e3ebe4; }
.gmv-auth-page input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
.gmv-auth-page select {
  background: #101510 !important; color: #edf4ed !important;
  border: 1px solid #536b58 !important; border-radius: 9px;
  min-height: 50px; padding: 12px 14px; width: 100%; max-width: 100%; font: inherit;
}
.gmv-auth-page button[type=submit], .gmv-auth-page .btn-primary {
  background: var(--gmv-auth-green) !important; color: #071009 !important;
  border: 0 !important; border-radius: 9px; padding: 12px 18px; min-height: 50px; font: inherit; font-weight: 700;
}
.gmv-auth-page input:focus-visible, .gmv-auth-page button:focus-visible, .gmv-auth-page a:focus-visible {
  outline: 3px solid #a2ffb1; outline-offset: 3px;
}
.gmv-auth-page fieldset { border: 0; margin: 0; padding: 0; }
.gmv-auth-page .input-group { display: flex; flex-wrap: nowrap; }
.gmv-auth-page .input-group>input:not([type=hidden]) { flex: 1 1 auto; width: 1%; min-width: 0; border-radius: 9px 0 0 9px; }
.gmv-auth-page .input-group>.input-password-toggle { flex: 0 0 auto; border-radius: 0 9px 9px 0; padding: 12px 16px; }
.gmv-auth-page .input-group-text { background: #18261c; border-color: #536b58; color: #b8c7ba; }
.gmv-auth-page .text-muted, .gmv-auth-page .form-text { color: #b8c7ba !important; }

/* Both login cards have a pure black surface matching the logo. */
.gmv-auth-administrator.gmv-auth-login #header,
.gmv-auth-administrator.gmv-auth-login #sidebar-wrapper,
.gmv-auth-administrator.gmv-auth-login .main-brand,
.gmv-auth-administrator.gmv-auth-login .login>.visually-hidden { display: none !important; }
.gmv-auth-administrator.gmv-auth-login #wrapper,
.gmv-auth-administrator.gmv-auth-login .container-main {
  margin: 0 !important; padding: 32px 16px !important; width: 100% !important; max-width: none !important;
  min-height: 100svh; background: #0a100c !important;
}
.gmv-auth-administrator.gmv-auth-login .login,
.gmv-auth-offline #frame,
.gmv-auth-login.gmv-auth-site div.login {
  width: min(100%,460px) !important; max-width: 460px;
  background: #000 !important; border: 1px solid var(--gmv-auth-border);
  border-radius: 20px; padding: 32px !important; box-shadow: 0 20px 70px #0004;
}
.gmv-auth-administrator.gmv-auth-login .login form { margin: 0; }
.gmv-auth-administrator.gmv-auth-login .login label { display: block; margin-bottom: 8px; font-size: 14px; }
.gmv-auth-administrator.gmv-auth-login .login .mb-3 { margin-bottom: 20px !important; }
.gmv-auth-administrator.gmv-auth-login .login button[type=submit] { width: 100%; }
.gmv-auth-offline {
  display: grid; grid-template-columns: minmax(0,1fr); align-content: center; justify-items: center;
  padding: 32px 16px !important; gap: 16px; margin: 0;
}
.gmv-auth-offline #frame { margin: 0 !important; text-align: left; }
.gmv-auth-offline #frame>h1, .gmv-auth-offline #frame>img { display: none; }
.gmv-auth-offline #frame>p { text-align: center; color: #b8c7ba; }
.gmv-auth-offline #frame form { margin: 0; }
.gmv-auth-offline #frame .input { display: grid; gap: 20px; }
.gmv-auth-offline #frame .input p { margin: 0 !important; padding: 0; }
.gmv-auth-offline #frame .input label { display: block; margin: 0 0 8px; font-size: 14px; line-height: 1.4; }
.gmv-auth-offline #frame #submit-button { padding-top: 4px; }
.gmv-auth-offline #frame button[type=submit] { display: block; width: 100%; margin: 0; }
.gmv-auth-offline #system-message-container { width: min(100%,460px); }
.gmv-auth-offline #system-message-container:empty { display: none; }
.gmv-auth-login.gmv-auth-site div.login { margin: 32px auto; }
.gmv-auth-login.gmv-auth-site .login .control-group { margin: 0 0 20px; }
.gmv-auth-login.gmv-auth-site .login .control-label { float: none; width: 100%; margin-bottom: 8px; }
.gmv-auth-login.gmv-auth-site .login .controls { margin-left: 0; }
.gmv-auth-login.gmv-auth-site .login button[type=submit] { width: 100%; }

.gmv-auth-site .users-mfa-captive,
.gmv-auth-administrator.gmv-auth-mfa .users-mfa-captive {
  background: #000; border: 1px solid var(--gmv-auth-border); border-radius: 18px; padding: 24px; color: #edf4ed;
}
.gmv-auth-site .users-mfa-captive { max-width: 540px; margin: 16px auto; }
.gmv-auth-administrator.gmv-auth-mfa .users-mfa-captive h2 { color: #edf4ed; }
.gmv-auth-trust { display: flex !important; align-items: flex-start; gap: 10px; margin: 16px 0 8px !important; font-size: 16px; }
.gmv-auth-trust input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: #34b449; margin: 2px 0 0; }
.gmv-auth-trust-help { color: #b8c7ba; font-size: 14px; line-height: 1.5; margin: 0 0 24px; }
.gmv-auth-devices { padding: 24px; border: 1px solid #536b58; border-radius: 15px; margin: 24px 0; }
.gmv-auth-page .alert { color: #edf4ed; background: #223128; border-color: #536b58; }
@media(max-width:600px) {
  .gmv-auth-administrator.gmv-auth-login .login,
  .gmv-auth-offline #frame,
  .gmv-auth-login.gmv-auth-site div.login,
  .gmv-auth-site .users-mfa-captive { padding: 24px !important; }
  .gmv-auth-intro h2 { font-size: 26px; }
  .gmv-auth-intro img { width: 180px; }
  .gmv-auth-page .control-label, .gmv-auth-page .controls { float: none; width: 100%; margin-left: 0; }
}
.gmv-auth-page{box-sizing:border-box}.gmv-auth-administrator.gmv-auth-login #wrapper{padding:0!important}
