/* KreyaFIN — auth pages override (loaded last). */
:root{
  --kf-green:#16a34a; --kf-green-700:#15803d; --kf-green-050:#f0fdf4;
  --kf-bg:#f6f8fa; --kf-border:#d7deea; --kf-text:#0f172a; --kf-text-mute:#64748b;
  --kf-radius:.625rem; --kf-radius-lg:1rem;
}
body{
  background: var(--kf-bg) !important;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--kf-text);
}
body::before{ background:#dbeafe !important; opacity:.5; }
body::after{ background: var(--kf-green-050) !important; opacity:.8; }

.card-signin{
  border: 1px solid var(--kf-border) !important;
  border-radius: var(--kf-radius-lg) !important;
  box-shadow: 0 10px 40px rgba(15,23,42,.08) !important;
}
.card-signin .card-body{ padding: 2rem 2rem 1.75rem !important; }

.logo{ max-height: 40px; width:auto; margin: 0 auto 4px; display:block; }
.kf-wordmark{
  display:block; text-align:center; font-size:1.6rem; font-weight:800;
  letter-spacing:-.02em; color:var(--kf-text); margin-bottom:.25rem;
}
.kf-wordmark::before{
  content:""; display:inline-block; width:13px; height:13px; margin-right:9px;
  border-radius:4px; background:var(--kf-green); vertical-align:2px;
}

.form-signin .form-control{
  border-radius: var(--kf-radius);
  border: 1px solid var(--kf-border);
  height: auto; padding: .65rem .85rem;
}
.form-signin .form-control:focus{
  border-color: var(--kf-green);
  box-shadow: 0 0 0 3px rgba(22,163,74,.15);
}
.btn-primary{
  background-color: var(--kf-green) !important;
  border-color: var(--kf-green) !important;
  border-radius: var(--kf-radius) !important;
  font-weight: 600; padding: .65rem 1rem;
}
.btn-primary:hover, .btn-primary:focus{
  background-color: var(--kf-green-700) !important;
  border-color: var(--kf-green-700) !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.2) !important;
}
.btn-link, a.btn-link{ color: var(--kf-green-700) !important; font-weight:500; }
.custom-control-input:checked ~ .custom-control-label::before{
  background: var(--kf-green); border-color: var(--kf-green);
}
.alert{ border-radius: var(--kf-radius); }
.alert-danger{ background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.alert-success{ background:#f0fdf4; border-color:#bbf7d0; color:#166534; }
