/* EarningSathi — Auth pages (login / register / forgot password) */
*{box-sizing:border-box;}

:root{
  --a-navy: #041328;
  --a-navy-soft: #5A6473;
  --a-green: #05A44A;
  --a-green-dark: #037E38;
  --a-blue: #0359F4;
  --a-blue-dark: #0242B8;
  --a-orange: #FD770C;
  --a-bg-page: #F5F8FC;
  --a-bg-panel: #FFFFFF;
  --a-line: rgba(4,19,40,0.10);
  --a-font-display: 'Poppins', 'Segoe UI', sans-serif;
  --a-font-body: 'Inter', 'Segoe UI', sans-serif;
}

body.auth-body{
  background:var(--a-bg-page) !important;
  font-family:var(--a-font-body);
  overflow-x:hidden;
  width:100%;
  margin:0;
}

html{
  overflow-x:hidden;
}

.auth-shell{
  max-width:400px;
  width:100%;
  margin:0 auto;
  min-height:100vh;
  position:relative;
  padding:28px 24px 32px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

@media (min-width:560px){
  body.auth-body{
    background:linear-gradient(180deg, #EEF3FB 0%, #F5F8FC 100%) !important;
    padding:32px 0;
  }
  .auth-shell{
    min-height:auto;
    background:var(--a-bg-panel);
    border-radius:28px;
    box-shadow:0 30px 70px rgba(4,19,40,0.14);
    border:1px solid var(--a-line);
  }
}

.auth-shape{
  position:absolute;
  border-radius:50%;
  opacity:0.08;
  z-index:0;
}
.auth-shape.a-s1{width:220px;height:220px;background:var(--a-green);top:-100px;right:-80px;}
.auth-shape.a-s2{width:180px;height:180px;background:var(--a-blue);bottom:-70px;left:-70px;}

.auth-topbar{
  position:relative;
  display:flex;
  align-items:center;
  margin-bottom:22px;
  z-index:1;
}
.auth-back{
  width:36px;height:36px;
  border-radius:12px;
  background:var(--a-bg-page);
  border:1px solid var(--a-line);
  display:flex;align-items:center;justify-content:center;
  color:var(--a-navy);
  text-decoration:none;
  font-size:15px;
}

.auth-logo-wrap{
  position:relative;
  display:flex;
  justify-content:center;
  margin-bottom:22px;
  z-index:1;
}
.auth-logo-wrap img{
  height:38px;
  width:auto;
  display:block;
}

.auth-heading{
  position:relative;
  text-align:center;
  margin-bottom:26px;
  z-index:1;
}
.auth-heading h1{
  font-family:var(--a-font-display);
  font-weight:700;
  font-size:22px;
  color:var(--a-navy);
  margin:0 0 6px;
}
.auth-heading p{
  font-size:13px;
  color:var(--a-navy-soft);
  margin:0;
}

.auth-card-form{
  position:relative;
  z-index:1;
}

.a-field{
  margin-bottom:16px;
}
.a-field label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:var(--a-navy);
  margin-bottom:7px;
}
.a-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
  background:var(--a-bg-page);
  border:1.5px solid var(--a-line);
  border-radius:14px;
  padding:0 14px;
  transition:border-color .15s ease;
}
.a-input-wrap:focus-within{
  border-color:var(--a-green);
  background:#fff;
}
.a-input-wrap i.a-input-icon{
  font-size:14px;
  color:var(--a-navy-soft);
  margin-right:10px;
}
.a-input-wrap input{
  border:none;
  background:transparent;
  outline:none;
  box-shadow:none;
  flex:1;
  height:48px;
  font-size:14px;
  color:var(--a-navy);
  font-family:var(--a-font-body);
  padding:0;
}
.a-input-wrap .password-addon{
  cursor:pointer;
  color:var(--a-navy-soft) !important;
  font-size:14px;
}

.auth-forgot{
  display:block;
  text-align:right;
  font-size:12px;
  font-weight:600;
  color:var(--a-blue);
  text-decoration:none;
  margin:-6px 0 22px;
}

.a-submit-btn{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100% !important;
  background:linear-gradient(90deg, var(--a-green), var(--a-green-dark)) !important;
  color:#fff !important;
  font-family:var(--a-font-display);
  font-weight:600;
  font-size:14.5px;
  border:none !important;
  padding:14px 20px !important;
  border-radius:999px !important;
  box-shadow:0 14px 26px rgba(5,164,74,0.28);
  cursor:pointer;
  transition:transform .15s ease;
  text-transform:none !important;
}
.a-submit-btn:active{transform:scale(0.97);}

.auth-divider{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  margin:22px 0;
  color:var(--a-navy-soft);
  font-size:11.5px;
}
.auth-divider::before,
.auth-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--a-line);
}

.auth-switch{
  position:relative;
  z-index:1;
  text-align:center;
  margin-top:22px;
  padding-top:0;
}
.a-secondary-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  background:#fff;
  color:var(--a-blue);
  font-family:var(--a-font-display);
  font-weight:600;
  font-size:14px;
  text-decoration:none;
  padding:13px 20px;
  border-radius:999px;
  border:1.5px solid var(--a-blue);
  transition:background .15s ease, transform .15s ease;
}
.a-secondary-btn:active{transform:scale(0.97);}
.a-secondary-btn:hover{background:rgba(3,89,244,0.06);}

.auth-trust{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  gap:16px;
  margin:18px 0 0;
}
.auth-trust span{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:10.5px;
  color:var(--a-navy-soft);
}
.auth-trust i{color:var(--a-green);font-size:11px;}

/* ---------- CHECKBOX ---------- */
.a-checkbox-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:4px 0 22px;
}
.a-checkbox-row input[type="checkbox"]{
  width:18px;height:18px;
  flex:none;
  margin-top:1px;
  accent-color:var(--a-green);
}
.a-checkbox-row label{
  font-size:12px;
  line-height:1.5;
  color:var(--a-navy-soft);
}
.a-checkbox-row label a{
  color:var(--a-blue);
  font-weight:600;
  text-decoration:none;
}

/* ---------- OTP ---------- */
.otp-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:center;
  gap:10px;
  margin:10px 0 22px;
  width:100%;
}
.otp-box{
  width:56px !important;
  min-width:56px !important;
  max-width:56px !important;
  height:60px !important;
  flex:none !important;
  border-radius:14px;
  border:1.5px solid var(--a-line);
  background:var(--a-bg-page);
  text-align:center;
  font-size:22px;
  font-weight:700;
  color:var(--a-navy);
  font-family:var(--a-font-display);
  padding:0 !important;
  display:inline-block;
}
.otp-box:focus{
  outline:none;
  border-color:var(--a-green);
  background:#fff;
}
.otp-info{
  text-align:center;
  margin-bottom:26px;
}
.otp-info p{
  margin:0 0 4px;
  font-size:12.5px;
  color:var(--a-navy-soft);
}
.otp-info .resend-link{
  color:var(--a-blue);
  font-weight:700;
  cursor:pointer;
}
.otp-info .resend-timer{
  color:var(--a-navy-soft);
  font-weight:600;
}
.otp-info .resend-timer span{color:var(--a-green-dark);}

/* ---------- INLINE ACTION (send otp button attached to a field) ---------- */
.a-field-with-action .a-input-wrap{
  padding-right:8px;
}
.a-inline-btn{
  flex:none !important;
  width:auto !important;
  background:var(--a-green);
  color:#fff !important;
  font-family:var(--a-font-display);
  font-weight:600;
  font-size:11.5px;
  border:none !important;
  padding:9px 14px !important;
  border-radius:999px;
  cursor:pointer;
  white-space:nowrap;
  text-transform:none;
}

/* full-width secondary action button (e.g. Send OTP) */
.a-submit-btn-blue{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100% !important;
  background:linear-gradient(90deg, var(--a-blue), var(--a-blue-dark)) !important;
  color:#fff !important;
  font-family:var(--a-font-display);
  font-weight:600;
  font-size:14.5px;
  border:none !important;
  padding:14px 20px !important;
  border-radius:999px !important;
  box-shadow:0 14px 26px rgba(3,89,244,0.25);
  cursor:pointer;
  transition:transform .15s ease;
  text-transform:none !important;
  margin-bottom:22px;
}
.a-submit-btn-blue:active{transform:scale(0.97);}
.a-submit-btn-blue:disabled{opacity:0.65;}

/* push a section (e.g. auth-switch) to the bottom of the page */
.form-grow{
  display:flex;
  flex-direction:column;
  flex:1;
}
.push-bottom{
  margin-top:auto;
  padding-top:26px;
}
.a-inline-btn:disabled{
  background:#B9C2CE;
  cursor:default;
}
.a-input-wrap input:read-only{
  color:var(--a-navy-soft);
}
