/* FUTURON Welcome Back login (wp-login.php + Hub / app gates) */

body.login {
  --ink: #0f1b38;
  --ink-2: #1f4d73;
  --teal: #2f7a8a;
  --muted: #6b7c8d;
  --field: #1f4d73;
  min-height: 100vh;
  background:
    radial-gradient(900px 600px at 18% 8%, rgba(47, 122, 138, 0.28), transparent 58%),
    radial-gradient(800px 500px at 88% 92%, rgba(31, 77, 115, 0.35), transparent 55%),
    #1a2332 !important;
  font-family: Inter, "Segoe UI", -apple-system, system-ui, sans-serif;
  color: var(--ink);
}

.futuron-login-net {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  display: block;
}
body.login .futuron-login-net {
  position: fixed;
}

body.login #login {
  width: min(100% - 32px, 340px);
  padding: 0 28px 28px;
  margin: 92px auto 40px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28);
  position: relative;
  z-index: 2;
  overflow: visible;
}

/* Default WP mark is replaced by the overlapping avatar on the login action. */
body.login.futuron-welcome-action-login h1 {
  display: none;
}

.login h1 a {
  width: 120px !important;
  height: 120px !important;
  margin: -60px auto 12px !important;
  padding: 14px !important;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  border: 6px solid #fff !important;
  box-sizing: border-box !important;
}

.futuron-welcome-avatar {
  width: 120px;
  height: 120px;
  margin: -60px auto 14px;
  border-radius: 50%;
  overflow: hidden;
  background: #e8eef4;
  border: 6px solid #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.futuron-welcome-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.futuron-welcome-avatar img.is-logo {
  object-fit: contain;
  padding: 16px;
  background: #fff;
  box-sizing: border-box;
}

.futuron-welcome-initials {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(180deg, #1f4d73, #0f1b38);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.futuron-welcome-head {
  text-align: center;
  margin: 0 0 18px;
}

.futuron-welcome-kicker {
  margin: 0 0 4px !important;
  font-size: 20px;
  font-weight: 700;
  color: var(--ink-2);
  letter-spacing: 0.01em;
}

.futuron-welcome-name {
  margin: 0 0 4px !important;
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.2;
}

.futuron-welcome-sub {
  margin: 0 !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
}

.futuron-welcome-switch {
  margin: 8px 0 0 !important;
  font-size: 12px;
}

.futuron-welcome-switch a,
.futuron-welcome-request a,
.futuron-welcome-links a,
.login #nav a {
  color: var(--ink-2) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.futuron-welcome-switch a:hover,
.futuron-welcome-request a:hover,
.futuron-welcome-links a:hover,
.login #nav a:hover {
  color: var(--teal) !important;
}

.futuron-login-tagline {
  margin: 8px 0 16px !important;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-2);
}

#loginform,
#lostpasswordform,
#registerform,
#resetpassform {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

body.login.futuron-welcome-action-login #loginform {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.login.futuron-welcome-action-login #loginform > p:first-of-type,
body.login.futuron-welcome-action-login #loginform .user-pass-wrap {
  margin: 0 !important;
}

body.login.futuron-welcome-action-login #loginform > p:first-of-type label,
body.login.futuron-welcome-action-login #loginform .user-pass-wrap > label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.login form .input,
.login input[type="text"],
.login input[type="password"],
.futuron-welcome-field input {
  width: 100% !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  background: var(--field) !important;
  color: #fff !important;
  min-height: 44px;
  box-sizing: border-box;
}

.login form .input::placeholder,
.futuron-welcome-field input::placeholder {
  color: rgba(255, 255, 255, 0.82) !important;
  opacity: 1;
}

.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.futuron-welcome-field input:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(47, 122, 138, 0.45) !important;
  background: #183a58 !important;
}

.login form .input:-webkit-autofill,
.futuron-welcome-field input:-webkit-autofill {
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
  box-shadow: 0 0 0 1000px var(--field) inset !important;
  transition: background-color 9999s ease-out;
}

.login .wp-pwd {
  position: relative;
}

.login .wp-hide-pw {
  color: #fff !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.login.futuron-welcome-action-login #loginform .submit {
  order: 2;
  margin: 4px 0 0 !important;
  padding: 0 !important;
}

body.login.futuron-welcome-action-login #loginform .forgetmenot {
  order: 3;
  float: none !important;
  margin: 4px 0 0 !important;
  text-align: center;
}

.wp-core-ui .button-primary,
.futuron-welcome-submit {
  display: block;
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #d8dee6 !important;
  border-radius: 4px !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  color: var(--ink-2) !important;
  padding: 11px 16px !important;
  height: auto !important;
  line-height: 1.4 !important;
  text-transform: uppercase;
  cursor: pointer;
}

.wp-core-ui .button-primary:hover,
.wp-core-ui .button-primary:focus,
.futuron-welcome-submit:hover,
.futuron-welcome-submit:focus {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color: #fff !important;
  filter: none;
}

.futuron-welcome-submit:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.login .forgetmenot label,
.futuron-welcome-remember {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--muted) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  float: none !important;
}

.login input[type="checkbox"],
.futuron-welcome-remember input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--ink-2);
}

.login #nav {
  text-align: center;
  padding: 12px 0 0;
  margin: 4px 0 0 !important;
  font-size: 13px;
  font-weight: 700;
}

.login #nav::before {
  content: "(OR)";
  display: block;
  color: var(--ink-2);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  margin: 8px 0 10px;
}

.login #backtoblog,
.language-switcher,
.privacy-policy-page {
  display: none !important;
}

.futuron-welcome-request,
.futuron-welcome-links {
  text-align: center;
  margin: 8px 0 0 !important;
  font-size: 13px;
  color: var(--muted);
}

.login .message,
.login .success,
.login #login_error,
.futuron-welcome-alert,
.futuron-welcome-note {
  border-radius: 6px !important;
  box-shadow: none !important;
  margin: 0 0 12px !important;
  font-size: 13px;
  line-height: 1.45;
}

.login #login_error,
.futuron-welcome-alert {
  border-left: 0 !important;
  background: #fff1f1 !important;
  color: #9b1c1c !important;
  border: 1px solid #f2c7c7 !important;
  padding: 10px 12px !important;
}

.login .message {
  border-left-color: var(--teal) !important;
}

.futuron-welcome-note {
  text-align: center;
  color: #2a556e;
  margin: 0 0 12px !important;
}

/* Shared card on Hub / app gates */
.futuron-app-shell:has(.futuron-welcome-gate) {
  padding-bottom: 0 !important;
  background: #1a2332 !important;
}
.futuron-app-shell:has(.futuron-welcome-gate) .futuron-app-main {
  max-width: none !important;
  padding: 0 !important;
  overflow: visible;
}
.futuron-app-shell:has(.futuron-welcome-gate) .futuron-app-body {
  width: 100%;
}
.futuron-welcome-gate:has(.lock-card) {
  padding-top: 32px !important;
}
.futuron-welcome-gate .lock-card {
  background: #fff;
  position: relative;
  z-index: 1;
}
.futuron-app-shell .futuron-sig-gate.futuron-welcome-gate,
.futuron-sig-shell .futuron-sig-gate.futuron-welcome-gate,
.futuron-welcome-gate {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: calc(100dvh - 72px);
  padding: 80px 16px 32px !important;
  margin: 0 !important;
  overflow: hidden;
  background:
    radial-gradient(900px 600px at 18% 8%, rgba(47, 122, 138, 0.28), transparent 58%),
    radial-gradient(800px 500px at 88% 92%, rgba(31, 77, 115, 0.35), transparent 55%),
    #1a2332;
}

.futuron-welcome-card {
  --ink: #0f1b38;
  --ink-2: #1f4d73;
  --teal: #2f7a8a;
  --muted: #6b7c8d;
  --field: #1f4d73;
  width: min(100%, 340px);
  margin: 0 auto;
  padding: 0 28px 28px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28);
  text-align: center;
  position: relative;
  z-index: 1;
}

.futuron-welcome-flash {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
}
.futuron-welcome-flash--success {
  background: #e8fff0;
  color: #1d6b34;
  border: 1px solid #bfe8cb;
}
.futuron-welcome-flash--error,
.futuron-welcome-flash--info {
  background: #f4f8fb;
  color: #1f4d73;
  border: 1px solid #d3e3ed;
}

.futuron-welcome-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
}

.futuron-welcome-field {
  display: block;
  margin: 0;
}

.futuron-welcome-or {
  margin: 14px 0 8px;
  text-align: center;
  color: var(--ink-2, #1f4d73);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
}

.futuron-welcome-field .screen-reader-text,
.futuron-lock-field .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

@media (max-width: 400px) {
  body.login #login,
  .futuron-welcome-card {
    width: min(100% - 24px, 340px);
    padding-left: 22px;
    padding-right: 22px;
  }
}

/* Windows-style lock screen: forgot / set password */
.futuron-app-shell:has(.futuron-lock-screen) {
  padding: 0 !important;
  background: #0b1a3a !important;
  min-height: 100dvh;
}
.futuron-app-shell:has(.futuron-lock-screen) .futuron-hub-topbar,
.futuron-app-shell:has(.futuron-lock-screen) .futuron-apps-rail,
.futuron-app-shell:has(.futuron-lock-screen) .futuron-employee-nav {
  display: none !important;
}
.futuron-app-shell:has(.futuron-lock-screen) .futuron-app-main {
  max-width: none;
  padding: 0;
  overflow: visible;
}
.futuron-app-shell:has(.futuron-lock-screen) .futuron-welcome-gate,
.futuron-app-shell:has(.futuron-lock-screen) .futuron-sig-gate {
  min-height: 100dvh !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  display: block !important;
}

html.futuron-lock-html,
body.futuron-lock-body {
  margin: 0;
  min-height: 100dvh;
  background: #0b1a3a;
}

.futuron-lock-screen {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 20px 40px;
  background: #0b1a3a;
  font-family: "Segoe UI", Inter, "Helvetica Neue", system-ui, sans-serif;
  color: #fff;
  box-sizing: border-box;
}

.futuron-lock-row {
  display: flex;
  align-items: center;
  gap: 22px;
  width: min(100%, 760px);
}

.futuron-lock-back {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 2px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.88);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.futuron-lock-back:hover,
.futuron-lock-back:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #fff;
  color: #fff;
}

.futuron-lock-photo {
  flex: 0 0 168px;
  width: 168px;
  height: 168px;
  background: #10244d;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.futuron-lock-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.futuron-lock-photo img.is-logo {
  object-fit: contain;
  padding: 22px;
  background: #fff;
  box-sizing: border-box;
}
.futuron-lock-initials {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: 0.04em;
  background: #16325f;
  color: #fff;
}

.futuron-lock-copy {
  flex: 1 1 auto;
  min-width: 0;
}
.futuron-lock-name {
  margin: 0 0 6px;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}
.futuron-lock-status {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.72);
}

.futuron-lock-form {
  margin: 0;
}
.futuron-lock-fields {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.futuron-lock-field {
  display: block;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.futuron-lock-field.is-confirm {
  margin-top: 8px;
  max-width: 280px;
}
.futuron-lock-field input {
  width: 100%;
  height: 32px;
  border: 0;
  border-radius: 0;
  padding: 0 10px;
  font-size: 14px;
  font-family: inherit;
  background: #fff;
  color: #1a1a1a;
  box-sizing: border-box;
}
.futuron-lock-field input:focus {
  outline: 2px solid #4da3ff;
  outline-offset: 0;
}
.futuron-lock-submit {
  flex: 0 0 auto;
  height: 32px;
  padding: 0 16px;
  border: 1px solid #0f5cab;
  background: #1670c7;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.futuron-lock-submit:hover,
.futuron-lock-submit:focus {
  background: #1b7fdc;
}

.futuron-lock-hint {
  margin: 10px 0 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.62);
}
.futuron-lock-hint a {
  color: #9ec9ff;
  font-weight: 600;
  text-decoration: none;
}
.futuron-lock-flash {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.4;
  color: #d7ecff;
}
.futuron-lock-flash.is-error {
  color: #ffd0d0;
}
.futuron-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 720px) {
  .futuron-lock-row {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
  .futuron-lock-back {
    align-self: flex-start;
  }
  .futuron-lock-fields {
    flex-direction: column;
  }
  .futuron-lock-field input,
  .futuron-lock-submit {
    height: 44px;
    width: 100%;
  }
  .futuron-lock-field.is-confirm {
    max-width: none;
  }
  .futuron-lock-name {
    font-size: 24px;
  }
}
