    html, body { height: 100%; }
    body{
      margin:0;
      background:
        radial-gradient(1200px 560px at 18% -10%, rgba(13,110,253,.10), transparent 60%),
        radial-gradient(1000px 520px at 90% 0%, rgba(32,201,151,.08), transparent 55%),
        linear-gradient(180deg, rgba(248,249,250,.96), rgba(255,255,255,1));
    }
    .auth-page{
      min-height: 100%;
      display:flex;
      align-items:center;
      justify-content:center;
      padding: 36px 18px;
    }
    .auth-shell{
      width: min(1120px, 96vw);
      display:grid;
      grid-template-columns: 1.08fr 0.92fr;
      border: 1px solid rgba(0,0,0,.08);
      border-radius: 22px;
      overflow:hidden;
      background:#fff;
      box-shadow: 0 30px 90px rgba(0,0,0,.12);
    }
    .auth-left{
      position:relative;
      padding: 34px 34px;
      border-right: 1px solid rgba(0,0,0,.06);
      background:
        radial-gradient(1200px 360px at 10% -20%, rgba(13,110,253,.22), transparent 55%),
        radial-gradient(900px 320px at 92% -30%, rgba(32,201,151,.18), transparent 55%),
        linear-gradient(180deg, rgba(248,249,250,.96), rgba(255,255,255,1));
    }
    .auth-left::after{
      content:"";
      position:absolute;
      inset:-2px;
      background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.06'%3E%3Cpath d='M0 30h220M0 90h220M0 150h220M30 0v220M90 0v220M150 0v220'/%3E%3C/g%3E%3C/svg%3E");
      opacity:.9;
      pointer-events:none;
      mask-image: radial-gradient(700px 320px at 18% 0%, #000 30%, transparent 70%);
    }
    .auth-topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      margin-bottom: 18px;
      position:relative;
      z-index:2;
    }
    .auth-logo img{ height: 64px; width:auto; display:block; }

    .lang-pills{ display:flex; gap:8px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
    .lang-pill{
      display:inline-flex; align-items:center; gap:8px;
      padding: 7px 10px; border-radius: 999px;
      border: 1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.75);
      text-decoration:none; color:#495057; font-size: .92rem;
    }
    .lang-pill img{ width:18px; height:13px; border-radius:2px; }
    .lang-pill.is-active{
      border-color: rgba(13,110,253,.35);
      box-shadow: 0 0 0 .2rem rgba(13,110,253,.12);
    }

    .auth-right{
      padding: 34px 34px 28px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-width: 420px;
    }
    .auth-body .form-label{ font-weight:700; }
    .auth-body .input-group{ flex-wrap: nowrap; }
    .auth-body .input-group > .form-control{ min-width:0; }
    .auth-body .input-group-text{
      background: rgba(248,249,250,.92);
      border-color: rgba(0,0,0,.12);
    }
    .auth-body .form-control{
      border-color: rgba(0,0,0,.12);
      padding-top: .75rem;
      padding-bottom: .75rem;
    }
    .auth-body .form-control:focus{
      box-shadow: 0 0 0 .2rem rgba(13,110,253,.12);
    }

    @media (max-width: 991.98px){
      .auth-shell{ width: min(680px, 96vw); grid-template-columns: 1fr; }
      .auth-left{ border-right: 0; border-bottom: 1px solid rgba(0,0,0,.06); padding: 18px; }
      .auth-right{ min-width: 0; padding: 18px; }
      .auth-logo img{ height: 56px; }
    }
    /* Login: fix checkbox spacing (BS4 form-check default offsets) */
.auth-body .form-check{
  display:flex;
  align-items:center;
  gap:8px;
  padding-left:0 !important;
  margin:0;
}

.auth-body .form-check-input{
  position:static !important;
  margin:0 !important;
  float:none !important;
}

.auth-body .form-check-label{
  margin:0;
  padding:0 !important;
  line-height:1.2;}
  
  /* Register button under login */

.btn-register{
  border:1px solid #6366f1;
  color:#6366f1;
  background:transparent;
  font-weight:600;
}

.btn-register:hover{
  background:#6366f1;
  color:#fff;
}
