.auth-section{position:relative;isolation:isolate;min-height:calc(100vh - 68px);overflow:hidden;background:linear-gradient(135deg,#f3faf5 0%,#fffdf6 52%,#eef8f1 100%)}
.auth-section:before,.auth-section:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.auth-section:before{width:420px;height:420px;top:-190px;left:-120px;background:rgba(212,160,23,.12);filter:blur(2px)}
.auth-section:after{width:520px;height:520px;right:-240px;bottom:-270px;background:rgba(26,107,47,.1)}
.auth-section .container-sm{width:min(100%,520px);padding:42px 24px}
.auth-section .container-sm{margin-left:auto;margin-right:auto}
.auth-card{width:100%;max-width:100%}
.auth-card .grid{width:100%;min-width:0}
.auth-card .grid>*{min-width:0}
.auth-card .input-password-wrap,.auth-card .input-icon-wrap{width:100%;min-width:0}
.auth-header{margin-bottom:24px}
.auth-icon{position:relative;width:68px;height:68px;border-radius:22px;background:linear-gradient(145deg,#1d7b3b,#073d20);box-shadow:0 14px 30px rgba(7,61,32,.22);transform:rotate(-4deg);transition:transform .3s ease,box-shadow .3s ease}
.auth-icon:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(212,160,23,.34);border-radius:25px;transform:rotate(8deg)}
.auth-header:hover .auth-icon{transform:rotate(0) translateY(-3px);box-shadow:0 18px 36px rgba(7,61,32,.28)}
.auth-title{margin-top:16px;font-size:clamp(1.7rem,4vw,2.25rem);letter-spacing:-.04em;color:#103b25}
.auth-subtitle{max-width:410px;margin:0 auto;font-size:.86rem;line-height:1.7;color:#718179}
.auth-card{position:relative;border:1px solid rgba(26,107,47,.1);border-radius:26px;background:rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(21,73,43,.13),0 3px 12px rgba(21,73,43,.05);backdrop-filter:blur(14px);overflow:hidden}
.auth-card:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#0f4a1f,#d4a017,#0f4a1f)}
.auth-card .card-body{padding:32px 34px 28px}
.auth-card .form-group{margin-bottom:21px}
.auth-card .form-label{display:block;margin-bottom:8px;color:#294738;font-size:.78rem;font-weight:700;letter-spacing:.01em}
.required{color:#c18b14}
.input-icon-wrap,.input-password-wrap{position:relative}
.auth-card .form-control{height:50px;width:100%;border:1px solid #dbe6df;border-radius:12px;background:#fbfdfb;color:#183b28;font-size:.87rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.auth-card .form-control:hover{border-color:#b9d0c0}
.auth-card .form-control:focus{border-color:#23834e;background:#fff;box-shadow:0 0 0 4px rgba(35,131,78,.12);outline:none}
.auth-card .form-control::placeholder{color:#a7b5ad}
.auth-card .form-control-icon{padding-left:44px}
.input-icon{left:15px;color:#8da096;transition:color .2s ease}
.input-icon-wrap:focus-within .input-icon{color:#23834e}
.input-password-wrap .form-control{padding:0 48px 0 16px}
.password-toggle{right:11px;color:#82948a;border-radius:8px;transition:background .2s ease,color .2s ease}
.password-toggle:hover{background:#eef7f0;color:#176f3d}
.auth-card .form-check{display:flex;align-items:center;gap:9px;margin-top:-2px}
.auth-card .form-check-input{width:16px;height:16px;accent-color:#1a6b2f}
.auth-card .form-check-label{color:#74847b;font-size:.73rem}
.auth-card a{color:#176f3d!important;transition:color .2s ease}
.auth-card a:hover{color:#b18113!important}
.auth-card .btn-primary{width:100%;justify-content:center;height:51px;border-radius:12px;background:linear-gradient(135deg,#0f4a1f,#258247);box-shadow:0 10px 22px rgba(15,74,31,.2);font-size:.86rem;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease}
.auth-card .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,74,31,.28)}
.auth-card .btn-primary:active{transform:translateY(0)}
.auth-card .alert{margin-bottom:20px;border:1px solid #f2caca;border-radius:11px;background:#fff5f5;color:#a73d3d;padding:11px 13px;font-size:.76rem;line-height:1.45}
.auth-card .card-body>div:last-child{margin-top:26px!important;padding-top:20px!important;border-color:#e8efea!important}
.auth-card .card-body>div:last-child p{color:#7a8981}
@media(max-width:520px){.auth-section{min-height:calc(100vh - 60px)}.auth-section .container-sm{padding:28px 16px}.auth-card .card-body{padding:26px 20px 22px}.auth-title{font-size:1.65rem}.auth-subtitle{font-size:.8rem}.auth-icon{width:60px;height:60px}.auth-icon svg{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.auth-icon,.auth-card .btn-primary{transition:none}}

.login-premium {
  background:
    radial-gradient(circle at 8% 12%, rgba(212,160,23,.16), transparent 28%),
    radial-gradient(circle at 92% 84%, rgba(26,107,47,.14), transparent 32%),
    linear-gradient(135deg,#f3faf5 0%,#fffdf6 52%,#eef8f1 100%);
}
.login-premium .login-shell {
  width: min(100%, 1040px);
  display: grid;
  grid-template-columns: minmax(260px,.82fr) minmax(420px,1.18fr);
  gap: clamp(42px,7vw,88px);
  align-items: center;
  padding-top: 58px;
  padding-bottom: 58px;
}
.login-premium .auth-header {
  margin-bottom: 0;
  text-align: left;
}
.login-premium .auth-icon {
  margin: 0 0 24px;
  width: 78px;
  height: 78px;
}
.login-eyebrow {
  display: inline-flex;
  margin-bottom: 18px;
  color: #a07810;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.login-premium .auth-title {
  max-width: 360px;
  font-size: clamp(2rem,4vw,3rem);
  line-height: 1.08;
}
.login-premium .auth-subtitle {
  max-width: 390px;
  margin: 14px 0 0;
  font-size: .95rem;
}
.login-trust-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 26px;
  color: #527061;
  font-size: .73rem;
  font-weight: 700;
}
.login-trust-points span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.login-trust-points svg { width: 15px; height: 15px; color: #1a6b2f; }
.login-premium .auth-card {
  width: 100%;
  box-shadow: 0 28px 80px rgba(21,73,43,.18), 0 4px 14px rgba(21,73,43,.06);
}
.login-premium .auth-card .card-body { padding: 38px 40px 32px; }
.login-premium .auth-card .btn-link {
  color: #176f3d;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}
.login-premium .auth-card .btn-link:hover { color: #a07810; }
.login-premium .auth-card .form-group {
  margin-bottom: 24px;
}
.login-premium .auth-card .form-label {
  color: #163d29;
  font-size: .74rem;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.login-premium .auth-card .form-control {
  height: 56px;
  border: 1px solid rgba(26,107,47,.16);
  border-radius: 16px;
  background: linear-gradient(135deg, #fbfefc, #f5faf6);
  box-shadow: inset 0 1px 2px rgba(14,65,35,.025);
  font-size: .9rem;
  padding-right: 18px;
}
.login-premium .auth-card .form-control:hover {
  border-color: rgba(26,107,47,.32);
  background: #fff;
}
.login-premium .auth-card .form-control:focus {
  border-color: #d4a017;
  box-shadow: 0 0 0 4px rgba(212,160,23,.13), 0 8px 20px rgba(26,107,47,.06);
  background: #fff;
}
.login-premium .auth-card .form-control-icon {
  padding-left: 50px;
}
.login-premium .auth-card .input-icon {
  left: 18px;
  width: 19px;
  height: 19px;
  color: #5b8a6d;
}
.login-premium .auth-card .input-icon-wrap:focus-within .input-icon {
  color: #b18113;
}
.login-premium .auth-card .input-password-wrap .form-control {
  padding-left: 50px;
  padding-right: 54px;
}
.login-premium .auth-card .password-input-icon {
  position: absolute;
  z-index: 1;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #5b8a6d;
  pointer-events: none;
  transition: color .2s ease;
}
.login-premium .auth-card .input-password-wrap:focus-within .password-input-icon {
  color: #b18113;
}
.login-premium .auth-card .password-toggle {
  right: 15px;
  width: 32px;
  height: 32px;
  justify-content: center;
  border-radius: 10px;
}
.login-premium .auth-card .password-toggle:hover {
  background: #edf7ef;
  color: #176f3d;
}
.login-premium .auth-card .form-check {
  padding: 12px 14px;
  border: 1px solid rgba(26,107,47,.1);
  border-radius: 13px;
  background: rgba(237,247,239,.62);
}
.login-premium .auth-card .form-check-input {
  width: 18px;
  height: 18px;
  margin: 0;
}
.login-premium .auth-card .form-check-label {
  color: #5d7567;
  font-size: .75rem;
  font-weight: 600;
}
.login-premium .auth-card #otpLoginFields {
  padding: 18px;
  margin-bottom: 20px;
  border: 1px solid rgba(212,160,23,.2);
  border-radius: 17px;
  background: linear-gradient(135deg, rgba(253,243,215,.5), rgba(237,247,239,.6));
}
.login-premium .auth-card #otpLoginFields .form-control {
  letter-spacing: .3em;
  text-align: center;
  font-weight: 800;
}
@media(max-width:760px) {
  .login-premium .login-shell {
    display: block;
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .login-premium .auth-header { text-align: center; margin-bottom: 28px; }
  .login-premium .auth-icon { margin: 0 auto 20px; }
  .login-premium .auth-title { margin-left: auto; margin-right: auto; }
  .login-premium .auth-subtitle { margin-left: auto; margin-right: auto; }
  .login-trust-points { justify-content: center; }
  .login-premium .auth-card .card-body { padding: 28px 22px 24px; }
}
