/* ── India Compliances Auth CSS v3 ─────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap');

:root{
  --ic-brand:#1a5f3c;--ic-brand-mid:#2d7a53;--ic-brand-dark:#0f3d26;
  --ic-brand-light:#e8f5ee;--ic-brand-border:#a7d4b8;
  --ic-gold:#b45309;--ic-gold-light:#fef3c7;
  --ic-red:#dc2626;--ic-red-light:#fee2e2;
  --ic-text:#0d1b12;--ic-text2:#374151;--ic-text3:#6b7280;
  --ic-border:#e5e7eb;--ic-bg:#f0f4f1;--ic-surface:#ffffff;
  --ic-r:14px;--ic-rsm:10px;
  --ic-font-display:'Playfair Display',Georgia,serif;
  --ic-font-body:'DM Sans',system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}

.ic-auth-page{
  font-family:var(--ic-font-body);
  font-size:14px;
  color:var(--ic-text);
  background:var(--ic-bg);
  min-height:100vh;
  display:flex;
  align-items:stretch;
}

/* ── Layout ──────────────────────────────────────────────────────────── */
.ic-auth-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
  min-height:100vh;
}
@media(max-width:900px){
  .ic-auth-split{grid-template-columns:1fr}
  .ic-auth-left{display:none}
}

/* ── Left Panel ──────────────────────────────────────────────────────── */
.ic-auth-left{
  background:var(--ic-brand-dark);
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:48px 52px;
  overflow:hidden;
}
/* Geometric background layers */
.ic-auth-left::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 110% 10%, rgba(45,122,83,.55) 0%, transparent 70%),
    radial-gradient(ellipse 60% 80% at -10% 90%, rgba(15,61,38,.8) 0%, transparent 70%),
    linear-gradient(160deg, #0a2e1a 0%, #1a5f3c 60%, #0f3d26 100%);
  z-index:0;
}
/* Decorative ring top-right */
.ic-auth-left::after{
  content:'';
  position:absolute;
  width:420px; height:420px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.07);
  top:-120px; right:-120px;
  z-index:0;
}
.ic-auth-left-inner{
  position:relative;
  z-index:1;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* Left — top section */
.ic-auth-left-top{}

.ic-auth-brand-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  margin-bottom:56px;
}
.ic-auth-brand-logo{
  height:52px;
  width:auto;
  filter:brightness(0) invert(1);
  opacity:.95;
}
.ic-brand-sq{
  width:42px;height:42px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.2);
  border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;color:#fff;
  letter-spacing:-.3px;
}
.ic-brand-name{font-size:16px;font-weight:600;color:#fff;line-height:1.25;letter-spacing:-.2px}

/* Tagline */
.ic-auth-tagline{margin-bottom:44px}
.ic-auth-tagline h2{
  font-family:var(--ic-font-display);
  font-size:38px;
  font-weight:700;
  color:#fff;
  line-height:1.2;
  margin-bottom:16px;
  letter-spacing:-.5px;
}
.ic-auth-tagline p{
  font-size:15px;
  color:rgba(255,255,255,.65);
  line-height:1.7;
  font-weight:300;
}

/* Features */
.ic-auth-feats{display:flex;flex-direction:column;gap:20px;margin-bottom:48px}
.ic-auth-feat{display:flex;gap:16px;align-items:flex-start}
.ic-auth-feat-ico{
  width:40px;height:40px;flex-shrink:0;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;
  backdrop-filter:blur(4px);
}
.ic-auth-feat-body strong{
  display:block;font-size:13.5px;font-weight:600;color:#fff;margin-bottom:3px;letter-spacing:-.1px;
}
.ic-auth-feat-body p{font-size:12.5px;color:rgba(255,255,255,.55);line-height:1.5;font-weight:300}

/* Trust bar */
.ic-auth-trust{
  display:flex;flex-wrap:wrap;gap:8px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.1);
}
.ic-auth-trust span{
  font-size:11.5px;font-weight:500;
  color:rgba(255,255,255,.65);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  border-radius:100px;
  padding:5px 14px;
  white-space:nowrap;
  letter-spacing:.1px;
}

/* ── Right Panel ─────────────────────────────────────────────────────── */
.ic-auth-right{
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 32px;
  overflow-y:auto;
  position:relative;
}
/* Subtle top accent line */
.ic-auth-right::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--ic-brand),var(--ic-brand-mid),var(--ic-brand));
}
.ic-auth-form-box{
  width:100%;
  max-width:420px;
  animation:ic-fade-up .4s ease both;
}
@keyframes ic-fade-up{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

/* Form header */
.ic-auth-form-header{margin-bottom:30px}
.ic-auth-form-icon{
  width:52px;height:52px;
  background:var(--ic-brand-light);
  border:1.5px solid var(--ic-brand-border);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  margin-bottom:18px;
}
.ic-auth-form-header h1{
  font-family:var(--ic-font-display);
  font-size:28px;
  font-weight:700;
  color:var(--ic-text);
  letter-spacing:-.4px;
  margin-bottom:6px;
}
.ic-auth-form-header p{font-size:14px;color:var(--ic-text3);font-weight:400;line-height:1.5}

/* Messages */
.ic-auth-msg{
  padding:13px 16px;
  border-radius:var(--ic-rsm);
  font-size:13px;font-weight:500;
  margin-bottom:20px;
  display:flex;align-items:flex-start;gap:10px;
  line-height:1.5;
}
.ic-auth-msg-error{background:var(--ic-red-light);color:var(--ic-red);border:1px solid #fca5a5}
.ic-auth-msg-success{background:var(--ic-brand-light);color:var(--ic-brand);border:1px solid var(--ic-brand-border)}

/* Login method tabs */
.ic-login-method-tabs{
  display:flex;gap:0;
  background:var(--ic-bg);
  border:1.5px solid var(--ic-border);
  border-radius:var(--ic-rsm);
  overflow:hidden;
  margin-bottom:22px;
  padding:3px;
  gap:3px;
}
.ic-lmt{
  flex:1;padding:9px 14px;
  font-size:13px;font-weight:500;
  color:var(--ic-text3);
  background:transparent;
  border:none;border-radius:8px;
  cursor:pointer;font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:7px;
  transition:all .18s;
}
.ic-lmt-active{
  background:#fff;
  color:var(--ic-brand);
  font-weight:600;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.ic-lmt:hover:not(.ic-lmt-active){color:var(--ic-text2);background:rgba(255,255,255,.6)}

/* Fields */
.ic-field{margin-bottom:16px}
.ic-field label{
  display:flex;align-items:center;justify-content:space-between;
  font-size:13px;font-weight:500;
  color:var(--ic-text2);
  margin-bottom:7px;
  letter-spacing:-.05px;
}
.ic-field-link{font-size:12px;color:var(--ic-brand);text-decoration:none;font-weight:500}
.ic-field-link:hover{text-decoration:underline}
.ic-field-inner{position:relative;display:flex;align-items:center}
.ic-field-ico{
  position:absolute;left:14px;
  color:var(--ic-text3);
  display:flex;align-items:center;justify-content:center;
  z-index:1;pointer-events:none;
  opacity:.7;
}
.ic-field-inner input,
.ic-field-inner select,
.ic-field-inner textarea{
  width:100%;
  padding:11px 14px 11px 42px;
  font-size:14px;font-family:inherit;
  border:1.5px solid var(--ic-border);
  border-radius:var(--ic-rsm);
  background:#fafafa;
  color:var(--ic-text);
  outline:none;
  transition:border-color .15s,box-shadow .15s,background .15s;
  appearance:none;
}
.ic-field-inner input:focus,
.ic-field-inner select:focus{
  border-color:var(--ic-brand);
  background:#fff;
  box-shadow:0 0 0 3.5px rgba(26,95,60,.1);
}
.ic-field-inner input::placeholder{color:#b0b8c4;font-weight:300}
.ic-eye-btn{
  position:absolute;right:13px;
  background:none;border:none;cursor:pointer;
  padding:4px;color:var(--ic-text3);
  opacity:.45;display:flex;align-items:center;
  transition:opacity .15s;
}
.ic-eye-btn:hover{opacity:.85}
.ic-field-note{font-size:11.5px;color:var(--ic-text3);margin-top:5px;line-height:1.4}
.ic-req{color:var(--ic-red)}

/* Two column */
.ic-field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:420px){.ic-field-row-2{grid-template-columns:1fr}}

/* Checkbox row */
.ic-check-row{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13px;color:var(--ic-text2);
  cursor:pointer;margin-bottom:18px;
  line-height:1.5;
}
.ic-check-row input{accent-color:var(--ic-brand);width:15px;height:15px;flex-shrink:0;margin-top:2px}
.ic-check-row a{color:var(--ic-brand);text-decoration:none}

/* Submit button */
.ic-auth-submit{
  width:100%;
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 20px;
  background:linear-gradient(135deg,var(--ic-brand) 0%,var(--ic-brand-mid) 100%);
  color:#fff;border:none;
  border-radius:var(--ic-rsm);
  font-size:15px;font-weight:600;font-family:inherit;
  cursor:pointer;
  transition:opacity .15s,transform .1s,box-shadow .15s;
  margin-bottom:20px;
  letter-spacing:-.1px;
  box-shadow:0 4px 14px rgba(26,95,60,.3);
}
.ic-auth-submit:hover{opacity:.92;box-shadow:0 6px 20px rgba(26,95,60,.35)}
.ic-auth-submit:active{transform:scale(.99)}
.ic-auth-submit:disabled{opacity:.55;cursor:default;box-shadow:none}

/* Divider */
.ic-auth-divider{
  display:flex;align-items:center;gap:12px;
  margin-bottom:16px;
  color:var(--ic-text3);font-size:12.5px;font-weight:400;
}
.ic-auth-divider::before,.ic-auth-divider::after{content:'';flex:1;height:1px;background:var(--ic-border)}

/* Alt button */
.ic-auth-alt-btn{
  display:block;width:100%;
  padding:12px;
  border:1.5px solid var(--ic-border);
  border-radius:var(--ic-rsm);
  text-align:center;
  font-size:14px;font-weight:500;
  color:var(--ic-text2);
  text-decoration:none;
  transition:all .15s;
  margin-bottom:20px;
  background:#fafafa;
}
.ic-auth-alt-btn:hover{
  border-color:var(--ic-brand);
  color:var(--ic-brand);
  background:var(--ic-brand-light);
}

/* Legal */
.ic-auth-legal{
  text-align:center;font-size:11.5px;color:var(--ic-text3);line-height:1.6;
}
.ic-auth-legal a{color:var(--ic-brand);text-decoration:none}
.ic-auth-legal a:hover{text-decoration:underline}

/* OTP */
.ic-otp-note{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ic-text3);margin-top:10px}
.ic-otp-sent-bar{
  display:flex;align-items:center;gap:8px;
  padding:11px 14px;
  background:var(--ic-brand-light);
  border-radius:var(--ic-rsm);
  font-size:13px;color:var(--ic-brand);
  margin-bottom:16px;
  border:1px solid var(--ic-brand-border);
}
.ic-otp-change{background:none;border:none;color:var(--ic-brand);cursor:pointer;font-size:12px;font-weight:600;text-decoration:underline;font-family:inherit;padding:0}
.ic-otp-boxes{display:flex;gap:9px;justify-content:center}
.ic-otp-box{
  width:46px;height:54px;
  text-align:center;font-size:22px;font-weight:700;
  border:2px solid var(--ic-border);
  border-radius:12px;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
  font-family:inherit;padding:0;
  background:#fafafa;
}
.ic-otp-box:focus{border-color:var(--ic-brand);box-shadow:0 0 0 3.5px rgba(26,95,60,.1);background:#fff}
.ic-otp-filled{border-color:var(--ic-brand);background:var(--ic-brand-light);color:var(--ic-brand)}
.ic-otp-resend-row{text-align:center;font-size:12px;color:var(--ic-text3);margin-top:12px}
.ic-otp-resend-row button{background:none;border:none;color:var(--ic-brand);cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;text-decoration:underline}

/* Password strength */
.ic-pass-meter{display:flex;align-items:center;gap:10px;margin:-4px 0 12px}
.ic-pass-bar{flex:1;height:4px;background:var(--ic-border);border-radius:100px;overflow:hidden}
.ic-pass-bar>div{height:100%;width:0;border-radius:100px;transition:width .3s,background .3s}
.ic-pass-meter>span{font-size:11px;font-weight:600;width:44px;text-align:right}

/* Ultimate Member form overrides — match our field style */
.ic-auth-right .um-field-area input,
.ic-auth-right .um input[type=text],
.ic-auth-right .um input[type=password],
.ic-auth-right .um input[type=email],
.ic-auth-right .um input[type=tel],
.ic-auth-right .um select{
  border:1.5px solid var(--ic-border) !important;
  border-radius:var(--ic-rsm) !important;
  padding:11px 14px !important;
  font-family:var(--ic-font-body) !important;
  font-size:14px !important;
  background:#fafafa !important;
  color:var(--ic-text) !important;
  box-shadow:none !important;
  transition:border-color .15s,box-shadow .15s !important;
}
.ic-auth-right .um-field-area input:focus,
.ic-auth-right .um input[type=text]:focus,
.ic-auth-right .um input[type=password]:focus,
.ic-auth-right .um input[type=email]:focus{
  border-color:var(--ic-brand) !important;
  background:#fff !important;
  box-shadow:0 0 0 3.5px rgba(26,95,60,.1) !important;
  outline:none !important;
}
.ic-auth-right .um-field-label label,
.ic-auth-right .um label{
  font-family:var(--ic-font-body) !important;
  font-size:13px !important;
  font-weight:500 !important;
  color:var(--ic-text2) !important;
}
.ic-auth-right .um-button,
.ic-auth-right .um input[type=submit]{
  background:linear-gradient(135deg,var(--ic-brand) 0%,var(--ic-brand-mid) 100%) !important;
  border:none !important;
  border-radius:var(--ic-rsm) !important;
  font-family:var(--ic-font-body) !important;
  font-size:15px !important;
  font-weight:600 !important;
  padding:14px 20px !important;
  box-shadow:0 4px 14px rgba(26,95,60,.3) !important;
  letter-spacing:-.1px !important;
  transition:opacity .15s,box-shadow .15s !important;
}
.ic-auth-right .um-button:hover,
.ic-auth-right .um input[type=submit]:hover{
  opacity:.92 !important;
  box-shadow:0 6px 20px rgba(26,95,60,.35) !important;
}

/* ── Ultimate Member Form Deep Overrides ────────────────────────────── */

/* Remove UM's own form container padding/margins */
.ic-auth-right .um,
.ic-auth-right .um-form{
  font-family:var(--ic-font-body) !important;
}

/* UM form icon / avatar at top — hide it (we show our own .ic-auth-form-icon) */
.ic-auth-right .um-form-icon,
.ic-auth-right .um .um-form-icon{
  display:none !important;
}

/* ── Primary button (Login with OTP / Submit) ── */
.ic-auth-right .um-button,
.ic-auth-right a.um-button,
.ic-auth-right .um input[type=submit],
.ic-auth-right .um button[type=submit]{
  display:block !important;
  width:100% !important;
  float:none !important;
  clear:both !important;
  background:linear-gradient(135deg,var(--ic-brand) 0%,var(--ic-brand-mid) 100%) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--ic-rsm) !important;
  font-family:var(--ic-font-body) !important;
  font-size:15px !important;
  font-weight:600 !important;
  padding:14px 20px !important;
  box-shadow:0 4px 14px rgba(26,95,60,.28) !important;
  letter-spacing:-.1px !important;
  text-align:center !important;
  cursor:pointer !important;
  margin:0 0 10px 0 !important;
  transition:opacity .15s,box-shadow .15s !important;
  text-decoration:none !important;
  line-height:1.5 !important;
}
.ic-auth-right .um-button:hover,
.ic-auth-right a.um-button:hover,
.ic-auth-right .um input[type=submit]:hover{
  opacity:.91 !important;
  box-shadow:0 6px 20px rgba(26,95,60,.35) !important;
  color:#fff !important;
}

/* ── Secondary button (Login with Password) ── */
.ic-auth-right .um-alt-btn,
.ic-auth-right a.um-alt-btn,
.ic-auth-right .um .um-alt-btn,
.ic-auth-right .um-secondary-btn,
.ic-auth-right .um .um-secondary-btn{
  display:block !important;
  width:100% !important;
  float:none !important;
  clear:both !important;
  background:#fff !important;
  color:var(--ic-brand) !important;
  border:1.5px solid var(--ic-brand-border) !important;
  border-radius:var(--ic-rsm) !important;
  font-family:var(--ic-font-body) !important;
  font-size:14px !important;
  font-weight:500 !important;
  padding:12px 20px !important;
  text-align:center !important;
  cursor:pointer !important;
  margin:0 0 16px 0 !important;
  transition:all .15s !important;
  text-decoration:none !important;
  line-height:1.5 !important;
  box-shadow:none !important;
}
.ic-auth-right .um-alt-btn:hover,
.ic-auth-right a.um-alt-btn:hover{
  background:var(--ic-brand-light) !important;
  border-color:var(--ic-brand) !important;
  color:var(--ic-brand) !important;
}

/* ── Fix any floated UM columns ── */
.ic-auth-right .um-col-1,
.ic-auth-right .um-col-2,
.ic-auth-right .um-col-3,
.ic-auth-right .um-col-4{
  float:none !important;
  width:100% !important;
  clear:both !important;
  margin:0 !important;
}

/* Clearfix for UM rows */
.ic-auth-right .um-row::after,
.ic-auth-right .um-form::after{
  content:'';display:table;clear:both;
}

/* ── Checkbox ── */
.ic-auth-right .um-field-checkbox input[type=checkbox],
.ic-auth-right .um input[type=checkbox]{
  accent-color:var(--ic-brand) !important;
  width:15px !important;
  height:15px !important;
}

/* ── Field spacing ── */
.ic-auth-right .um-field{
  margin-bottom:14px !important;
}
.ic-auth-right .um-field-area{
  margin:0 !important;
}

/* ── Links (forgot password etc) ── */
.ic-auth-right .um a:not(.um-button):not(.um-alt-btn){
  color:var(--ic-brand) !important;
  font-size:12.5px !important;
}