/*
ResultPro Developer Login Auto-Detection Style

When username/identity is exactly "developer", every postgraduate login page
visually changes to Developer Verification mode before OTP submission.
*/
:root{
  --rp-dev-green:#032d24;
  --rp-dev-green-2:#064e3b;
  --rp-dev-gold:#d4af37;
  --rp-dev-gold-soft:#fff3bf;
  --rp-dev-red:#9f1239;
}

.rp-developer-login-active .pg-public-login-card,
.rp-developer-login-active .pg-login-card,
.rp-developer-login-active .login-card,
.rp-developer-login-active .auth-card,
.rp-developer-login-active form.rp-developer-login-form{
  outline:4px solid rgba(212,175,55,.55) !important;
  box-shadow:0 0 0 8px rgba(212,175,55,.16), 0 24px 60px rgba(3,45,36,.32) !important;
}

.rp-developer-login-active .pg-public-login-head,
.rp-developer-login-active .login-head,
.rp-developer-login-active .auth-head,
.rp-developer-login-active header{
  background:linear-gradient(135deg,var(--rp-dev-green),var(--rp-dev-green-2)) !important;
  border-bottom-color:var(--rp-dev-gold) !important;
}

.rp-developer-login-banner{
  display:block;
  margin:0 0 14px;
  padding:14px 16px;
  border-radius:16px;
  border:2px solid rgba(212,175,55,.75);
  background:linear-gradient(135deg,#fffaf0,#ecfdf5);
  color:var(--rp-dev-green);
  font-weight:900;
  line-height:1.35;
}

.rp-developer-login-banner strong{
  color:var(--rp-dev-red);
}

.rp-developer-login-form input[data-rp-developer-username="1"]{
  border-color:var(--rp-dev-gold) !important;
  box-shadow:0 0 0 4px rgba(212,175,55,.23) !important;
  font-weight:900 !important;
  color:var(--rp-dev-green) !important;
}

.rp-developer-login-form input[type="password"]{
  opacity:.45;
}

.rp-developer-login-form button[type="submit"],
.rp-developer-login-form input[type="submit"]{
  background:linear-gradient(135deg,var(--rp-dev-green),var(--rp-dev-gold)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 14px 28px rgba(3,45,36,.22) !important;
}

.rp-developer-login-spinner{
  display:inline-block;
  width:14px;
  height:14px;
  margin-right:8px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  vertical-align:-2px;
  animation:rpDeveloperSpin .8s linear infinite;
}

@keyframes rpDeveloperSpin{to{transform:rotate(360deg)}}

/* v144: Inline Developer verification panel on postgraduate student login. */
.rp-inline-developer-otp{
  overflow:hidden;
  border:2px solid var(--rp-dev-gold) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 18px 42px rgba(3,45,36,.20) !important;
}

.rp-inline-developer-otp .auo-panel-title{
  background:linear-gradient(135deg,var(--rp-dev-green),var(--rp-dev-green-2)) !important;
  color:#fff !important;
  border-bottom:3px solid var(--rp-dev-gold) !important;
  padding:12px 14px !important;
  font-size:18px !important;
  letter-spacing:.2px;
}

.rp-inline-developer-otp-body{
  padding:15px;
}

.rp-inline-developer-otp-notice{
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid rgba(212,175,55,.70);
  border-radius:12px;
  background:linear-gradient(135deg,#fffaf0,#ecfdf5);
  color:var(--rp-dev-green);
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}

.rp-inline-developer-otp-notice strong{
  display:block;
  color:var(--rp-dev-red);
  font-size:15px;
  margin-bottom:3px;
}

.rp-inline-developer-otp-notice span{
  color:var(--rp-dev-green);
  font-weight:950;
  overflow-wrap:anywhere;
}

.rp-inline-developer-otp-delivery{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #bbf7d0;
  background:#ecfdf5;
  color:#065f46;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}

.rp-inline-developer-otp-delivery.failed,
.rp-inline-developer-otp-delivery.development,
.rp-inline-developer-otp-delivery.unknown{
  border-color:#fde68a;
  background:#fffbeb;
  color:#92400e;
}

.rp-inline-developer-otp-form{
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  gap:8px;
  align-items:center;
}

.rp-inline-developer-otp-form label{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:0 11px;
  border:1px solid var(--rp-dev-gold);
  border-radius:8px;
  background:#fffaf0;
  color:var(--rp-dev-green);
  font-weight:900;
}

.rp-inline-developer-otp-form input[name="code"]{
  width:100%;
  min-height:44px;
  padding:7px 12px;
  border:2px solid var(--rp-dev-gold) !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--rp-dev-green) !important;
  font-size:21px !important;
  font-weight:950 !important;
  letter-spacing:5px;
  text-align:center;
  box-shadow:0 0 0 4px rgba(212,175,55,.14);
}

.rp-inline-developer-otp-form input[name="code"]:focus{
  outline:0;
  box-shadow:0 0 0 5px rgba(6,78,59,.18);
}

.rp-inline-developer-otp-form button[type="submit"]{
  grid-column:1 / -1;
  min-height:44px;
  border:0;
  border-radius:9px;
  background:linear-gradient(135deg,var(--rp-dev-green),var(--rp-dev-green-2)) !important;
  color:#fff !important;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 12px 22px rgba(3,45,36,.18);
}

.rp-inline-developer-otp-form button[type="submit"]:hover{
  filter:brightness(1.08);
}

.rp-inline-developer-otp-meta{
  margin:10px 0 0;
  color:#475569;
  font-size:12px;
  font-weight:800;
  text-align:center;
}

.rp-inline-developer-otp-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}

.rp-inline-developer-otp-actions form{
  margin:0;
}

.rp-inline-developer-resend,
.rp-inline-developer-cancel{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}

.rp-inline-developer-resend{
  border:1px solid var(--rp-dev-gold);
  background:#fffaf0;
  color:var(--rp-dev-green);
}

.rp-inline-developer-cancel{
  border:1px solid #cbd5e1;
  background:#f8fafc;
  color:#334155;
}

@media(max-width:700px){
  .rp-inline-developer-otp-form,
  .rp-inline-developer-otp-actions{
    grid-template-columns:1fr;
  }
  .rp-inline-developer-otp-form button[type="submit"]{
    grid-column:1;
  }
}
