:root{
  --pink1:#9E1473;
  --pink2:#B51E84;
  --pink3:#C83A99;

  --green:#C7D300;

  --grey:#394048;
  --grey-dark:#2f343a;

  --card-bg: rgba(242, 247, 255, 0.95);
}

*{ box-sizing:border-box; }

body.login-page{
  margin:0;
  height:100vh;
  font-family:"Segoe UI", Arial, sans-serif;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  position:relative;

  background:
    radial-gradient(900px 550px at 20% 20%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(700px 450px at 80% 80%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(135deg,var(--pink1),var(--pink2) 45%,var(--pink3));
}

/* Cercles décoratifs */
.bg-left{
  position:absolute;
  width:320px;
  height:320px;
  left:-140px;
  bottom:-140px;
  border-radius:50%;
  background:var(--grey);
}

/* Cercle blanc */
.bg-right{
  position:absolute;
  width:460px;
  height:460px;
  right:-230px;
  bottom:-230px;
  border-radius:50%;
  background:#ffffff;
  z-index:1;
}
/* Logo Biocodex plus grand */
/* Logo centré dans le cercle */
.footer-logo{
  position:absolute;
  width:210px;              /* plus grand */
  right:10px;               /* ajustement horizontal */
  bottom:50px;              /* ajustement vertical */
  opacity:1.85;             /* plus visible */
  z-index:2;
}
/* Card */
.card{
  width:340px;
  background:var(--card-bg);
  border-radius:14px;
  padding:30px 25px;
  text-align:center;
  box-shadow:0 30px 60px rgba(0,0,0,.25);
  backdrop-filter:blur(6px);
  position:relative;
  z-index:2;
}

.brand-dot{
  width:70px;
  height:70px;
  border-radius:50%;
  background:var(--green);
  margin:0 auto 18px;
  border:2px solid rgba(57,64,72,.20);
}

.brand-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}

.brand-title{
  font-size:22px;
  font-weight:750;
  color:var(--grey);
  letter-spacing:1px;
}

.brand-mark{
  width:45px;
}

.btn{
  display:block;
  width:100%;
  max-width:240px;
  margin:0 auto;
  padding:12px 18px;
  border-radius:999px;
  color:white;
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  background:linear-gradient(180deg,var(--grey),var(--grey-dark));
  box-shadow:0 12px 25px rgba(57,64,72,.30);
  transition:all .2s ease;
}

.btn:hover{
  transform:translateY(-2px);
}

.subtitle{
  margin-top:15px;
  font-size:12px;
  color:#6b7280;
}

@media(max-width:480px){
  .card{ width:90%; }
  .footer-logo{
    width:180px;
    right:20px;
    bottom:20px;
  }
  .bg-left,.bg-right{ display:none; }
}