/* Scoped to the administrative login only. Leaves all other admin UI untouched. */
.admin-login-card .admin-otp-intro { font-size: 0.96rem; line-height: 1.55; margin: 16px 0; color: #475569; overflow-wrap: anywhere; }
.admin-login-card .admin-otp-label { display: block; font-weight: 600; }
.admin-login-card .admin-otp-label input { display: block; width: 100%; box-sizing: border-box; font-size: 1.25rem; letter-spacing: .3em; text-align: center; font-variant-numeric: tabular-nums; }
.admin-login-card .admin-otp-hint { color: #64748b; font-size: .82rem; line-height: 1.55; margin: 12px 0; }
.admin-login-card .admin-otp-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 9px 0 16px; }
.admin-login-card .admin-otp-actions form { margin: 0; }
.admin-login-card .admin-otp-actions button.admin-otp-link-btn { appearance: none; border: 0; background: transparent; box-shadow: none; color: #116649; cursor: pointer; text-decoration: underline; padding: 8px 0; font: inherit; font-size: .89rem; width: auto; }
.admin-login-card .admin-otp-actions button.admin-otp-link-btn:hover { color: #0b4532; }
.admin-login-card .admin-alert { margin: 12px 0; }
.admin-login-card .admin-alert.success { background: #eefaf2; border: 1px solid #8bd4a8; color: #166534; }
.admin-login-card .cf-turnstile { max-width: 100%; }
@media (max-width: 420px) { .admin-login-card .admin-otp-actions { flex-direction: column; align-items: start; } }

/* Administrator verification V2: visual enhancement only; auth remains server-side. */
.admin-login-card-v2 { width:min(474px,100%); padding:clamp(20px,4vw,34px); }
.admin-login-card-v2 h1 { margin:24px 0 12px; line-height:1.18; }
.admin-otp-v2-intro { font-size:.95rem; line-height:1.55; color:#526960; margin:0 0 18px; }
.admin-otp-delivery { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#e9f7ef; border:1px solid #b7e3cb; border-radius:12px; color:#075b3b; margin-bottom:20px; overflow-wrap:anywhere; }
.admin-otp-delivery-icon { display:grid; place-items:center; background:#d4eee0; width:39px; height:39px; border-radius:10px; flex:none; font-size:1.2rem; }
.admin-otp-delivery strong,.admin-otp-delivery span:not(.admin-otp-delivery-icon) { display:block; }
.admin-otp-delivery strong { font-size:.87rem; line-height:1.4; }
.admin-otp-delivery div span { color:#3a6856; font-size:.82rem; margin-top:3px; direction:ltr; unicode-bidi:isolate; }
.admin-login-card .admin-otp-label { margin:0 0 8px; font-size:.85rem; line-height:1.4; }
.admin-otp-code-field { position:relative; width:100%; margin:0; }
.admin-login-card .admin-otp-code-field .admin-otp-native { box-sizing:border-box; width:100%; min-height:53px; font-variant-numeric:tabular-nums; font-size:1.3rem; letter-spacing:.35em; text-align:center; padding:12px; border-radius:10px; }
.admin-otp-cells { display:none; gap:clamp(4px,1.5vw,10px); grid-template-columns:repeat(6,minmax(0,1fr)); direction:ltr; pointer-events:none; }
.admin-otp-cell { display:grid; place-items:center; height:clamp(47px,9vw,57px); border:1px solid #cadbd2; border-radius:9px; background:#fbfefc; color:#18392c; font-weight:750; font-size:1.55rem; font-variant-numeric:tabular-nums; line-height:1; }
.admin-otp-code-field.is-enhanced .admin-otp-cells { display:grid; }
.admin-login-card .admin-otp-code-field.is-enhanced .admin-otp-native { position:absolute; inset:0; width:100%; height:100%; opacity:0; z-index:2; margin:0; cursor:text; }
.admin-otp-code-field.is-enhanced:focus-within .admin-otp-cell.is-current { outline:2px solid #167851; outline-offset:1px; }
.admin-otp-code-field.is-enhanced:focus-within .admin-otp-cell { border-color:#80b69c; }
.admin-otp-field-error { color:#ab2727; font-size:.84rem; line-height:1.45; margin:8px 0 0; }
.admin-otp-timer { display:flex; gap:6px; align-items:center; justify-content:center; color:#657970; font-size:.83rem; line-height:1.5; margin:11px 0 18px; }
.admin-otp-countdown { font-variant-numeric:tabular-nums; font-weight:750; color:#204b39; direction:ltr; unicode-bidi:isolate; }
.admin-otp-cloudflare { margin:6px 0 15px; max-width:100%; }
.admin-otp-cloudflare .turnstile-wrap { max-width:100%; }
.admin-login-card .admin-otp-v2-submit { width:100%; min-height:45px; background:#13734f; font-size:.96rem; }
.admin-login-card .admin-otp-v2-submit:hover { background:#0c5c3d; }
.admin-login-card .admin-otp-v2-submit:disabled { opacity:.65; cursor:not-allowed; }
.admin-otp-v2-actions { display:flex; flex-direction:column; align-items:center; gap:6px; margin-top:15px; }
.admin-otp-v2-actions form { margin:0; width:100%; text-align:center; }
.admin-login-card .admin-otp-v2-actions button.admin-otp-link-btn { width:auto; max-width:100%; white-space:normal; text-align:center; line-height:1.4; padding:7px 4px; }
.admin-login-card .admin-otp-v2-actions button.admin-otp-resend-btn:disabled { color:#70817a; cursor:default; text-decoration:none; opacity:.8; }
.admin-login-card .admin-otp-v2-actions button.admin-otp-cancel-btn { color:#276d50; }
.admin-login-card-v2 .back-link { border-top:1px solid #e6eee9; margin-top:14px; padding-top:16px; }
@media(max-width:350px) { .admin-otp-cell { font-size:1.2rem; } .admin-login-card-v2 { padding:18px 13px; } }
@media(prefers-reduced-motion:reduce) { .admin-otp-v2 * { transition:none!important; } }

/* OPENHIRING_ADMIN_OTP_BUTTONS_CONTRAST_V3
   Override global administrative button styling ONLY inside the OTP secondary actions.
   Both enabled and disabled states remain readable without altering auth logic. */
.admin-login-card-v2 .admin-otp-v2-actions {
  gap: 10px;
  margin-top: 16px;
}
.admin-login-card-v2 .admin-otp-v2-actions > form {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;
}
.admin-login-card-v2 .admin-otp-v2-actions button.admin-otp-link-btn {
  appearance: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: min(100%, 390px);
  max-width: 100%;
  min-height: 45px;
  padding: 10px 14px;
  border: 1px solid #9dcbb1;
  border-radius: 10px;
  background: #edf8f0;
  color: #174b35;
  font: inherit;
  font-size: .92rem;
  font-weight: 750;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: none;
  opacity: 1;
  white-space: normal;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.admin-login-card-v2 .admin-otp-v2-actions button.admin-otp-link-btn:hover:not(:disabled) {
  background: #e1f3e8;
  color: #10492e;
  border-color: #76ac8b;
}
.admin-login-card-v2 .admin-otp-v2-actions button.admin-otp-link-btn:focus-visible {
  outline: 3px solid #80bd99;
  outline-offset: 2px;
}
.admin-login-card-v2 .admin-otp-v2-actions button.admin-otp-resend-btn:disabled {
  background: #eff3f0;
  color: #394f43;
  border-color: #cedbd2;
  opacity: 1;
  cursor: not-allowed;
  text-decoration: none;
  -webkit-text-fill-color: #394f43;
}
.admin-login-card-v2 .admin-otp-v2-actions button.admin-otp-cancel-btn {
  background: #fff;
  color: #14593e;
  border-color: #a4c5b1;
  -webkit-text-fill-color: #14593e;
}
.admin-login-card-v2 .admin-otp-v2-actions button.admin-otp-cancel-btn:hover {
  background: #eef8f2;
  color: #10492e;
}
@media (max-width: 480px) {
  .admin-login-card-v2 .admin-otp-v2-actions button.admin-otp-link-btn { width: 100%; }
}
