:root{
  --kairan-red: #7d1919;
  --kairan-ink: #eaeaea;
  --kairan-muted: rgba(234,234,234,.72);
  --kairan-panel: rgba(12, 12, 14, 0.78);
  --kairan-border: rgba(125,25,25,.35);
  --kairan-glow: rgba(125,25,25,.22);
}

/* Fondo tipo “noche” */
.kairan-login-wrap{
  min-height: calc(100vh - 140px);
  display: grid;
  place-items: center;
  padding: 48px 12px;
  background:
    radial-gradient(1200px 600px at 50% 10%, rgba(125,25,25,.18), transparent 55%),
    radial-gradient(900px 500px at 20% 30%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(900px 500px at 80% 60%, rgba(255,255,255,.05), transparent 55%),
    linear-gradient(180deg, rgba(8,8,10,1) 0%, rgba(12,12,14,1) 35%, rgba(8,8,10,1) 100%);
  border-radius: 22px;
}

/* Tarjeta central */
.kairan-login-card{
  width: min(520px, 100%);
  background: var(--kairan-panel);
  border: 1px solid var(--kairan-border);
  border-radius: 22px;
  box-shadow:
    0 18px 60px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 40px var(--kairan-glow);
  position: relative;
  overflow: hidden;
  padding: 22px 20px 16px;
}

/* Ornamentos (simples pero con “peso”) */
.kairan-login-ornament-top,
.kairan-login-ornament-bottom{
  height: 10px;
  width: 100%;
  background:
    linear-gradient(90deg, transparent 0%, rgba(125,25,25,.55) 15%, rgba(255,255,255,.10) 50%, rgba(125,25,25,.55) 85%, transparent 100%);
  opacity: .85;
}

.kairan-login-ornament-top{ margin-bottom: 16px; }
.kairan-login-ornament-bottom{ margin-top: 16px; }

.kairan-login-header{
  text-align: center;
  margin-bottom: 18px;
}

.kairan-login-brand{
  color: var(--kairan-ink);
  font-weight: 1000;
  letter-spacing: 3px;
  font-size: 18px;
}

.kairan-login-sub{
  color: var(--kairan-muted);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .6px;
  margin-top: 6px;
}

/* Labels e inputs */
.kairan-label{
  color: var(--kairan-muted);
  font-weight: 800;
  letter-spacing: .4px;
  font-size: 13px;
}

.kairan-input{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: var(--kairan-ink) !important;
  border-radius: 14px !important;
  padding: 12px 12px !important;
}

.kairan-input:focus{
  border-color: rgba(125,25,25,.55) !important;
  box-shadow: 0 0 0 .25rem rgba(125,25,25,.20) !important;
}

/* Botón Kairán */
.kairan-btn{
  background: linear-gradient(180deg, rgba(125,25,25,1) 0%, rgba(95,18,18,1) 100%);
  border: 1px solid rgba(255,255,255,.10);
  color: #fff;
  font-weight: 900;
  border-radius: 14px;
  padding: 12px 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

.kairan-btn:hover{
  filter: brightness(1.05);
}

.kairan-alert{
  background: rgba(125,25,25,.18);
  border: 1px solid rgba(125,25,25,.35);
  color: #fff;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 800;
  margin-bottom: 14px;
}

/* Footer */
.kairan-login-footer{
  text-align: center;
  margin-top: 14px;
}

.kairan-muted{
  color: rgba(234,234,234,.55);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .6px;
}