/* CreativeWarga v1.3.1 — Login Admin dan Warga */
.login-v2 .auth-choice-card{width:min(100%,500px)}
.login-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:20px 0 18px;padding:6px;border:1px solid #dfe7f1;border-radius:15px;background:#f1f5fa}
.login-role-tabs a{padding:11px;border-radius:11px;color:#637287;font-size:13px;font-weight:850;text-align:center;text-decoration:none}
.login-role-tabs a.active{background:#fff;color:#1267e9;box-shadow:0 6px 18px rgba(25,55,92,.12)}
.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px;color:#34445a;font-size:13px;font-weight:800}.login-form input{width:100%;min-height:48px;border:1px solid #cfdbe8;border-radius:13px;padding:0 14px;background:#fff;color:#14243a;font-size:16px;outline:0}.login-form input:focus{border-color:#1267e9;box-shadow:0 0 0 4px rgba(18,103,233,.1)}.login-form label small{color:#7b899b;font-size:11px;font-weight:500}.pin-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.citizen-activation-callout{margin-top:15px;padding:14px;border:1px solid #cfe0f5;border-radius:15px;background:#f3f8ff}.citizen-activation-callout strong{font-size:13px}.citizen-activation-callout p{margin:4px 0 10px;color:#68788d;font-size:12px;line-height:1.5}.citizen-activation-callout a,.back-to-login{color:#1267e9;font-size:12px;font-weight:850}.back-to-login{display:block;margin-top:14px;text-align:center}.contact-admin-login{display:block;margin-top:18px;padding:13px;border:1px solid #bfe7d1;border-radius:14px;background:#effaf4;color:#127649;font-size:12px;font-weight:850;text-align:center;text-decoration:none}.contact-admin-missing{margin-top:18px;padding:12px;border-radius:13px;background:#fff6de;color:#775513;font-size:11px;line-height:1.5}.login-v2 .secure-note{display:block;margin-top:13px}
/* Desktop login: batasi logo agar tidak mendorong form keluar dari grid. */
@media(min-width:981px){
  .login-v2 .auth-shell{
    width:100%;
    max-width:1200px;
    grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);
    gap:42px;
    padding:40px;
  }
  .login-v2 .auth-visual{
    display:flex;
    min-width:0;
    min-height:620px;
    padding:50px 48px;
    overflow:hidden;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:32px;
    box-shadow:0 24px 65px rgba(30,64,175,.22);
    text-align:center;
  }
  .login-v2 .auth-visual .brand-logo-full{
    display:block;
    width:260px;
    max-width:65%;
    height:auto;
    margin:0 auto 18px;
    object-fit:contain;
  }
  .login-v2 .auth-visual h1{
    margin:8px 0 10px;
    font-size:40px;
    line-height:1.12;
  }
  .login-v2 .auth-visual p{
    max-width:470px;
    margin:0 auto;
    font-size:15px;
  }
  .login-v2 .auth-pills{
    justify-content:center;
    margin-top:24px;
  }
  .login-v2 .auth-choice-card{
    min-width:0;
    width:100%;
    max-width:460px;
    justify-self:center;
  }
}

@media(min-width:981px) and (max-height:760px){
  .login-v2 .auth-shell{padding-top:24px;padding-bottom:24px}
  .login-v2 .auth-visual{min-height:560px;padding-top:34px;padding-bottom:34px}
  .login-v2 .auth-visual .brand-logo-full{width:210px}
  .login-v2 .auth-visual h1{font-size:34px}
}

@media(max-width:620px){.login-v2 .auth-shell{padding:13px}.login-v2 .auth-card{padding:22px 18px;border-radius:22px}.login-v2 .auth-card h2{font-size:23px}.pin-pair{grid-template-columns:1fr}.login-role-tabs a{font-size:14px}.login-form label{font-size:14px}}
/* Tanggal lahir mobile: tiga kolom agar keyboard angka tidak perlu mengetik tanda /. */
.birthdate-fields{margin:0 0 13px;padding:0;border:0}.birthdate-fields legend{margin-bottom:7px;color:#4d5b70;font-size:14px;font-weight:750}.birthdate-fields legend span{color:#7d899b;font-size:11px;font-weight:600}.birthdate-fields>div{display:grid;grid-template-columns:.72fr 1.35fr .9fr;gap:8px}.birthdate-fields label{margin:0!important;color:#7d899b!important;font-size:11px!important}.birthdate-fields input,.birthdate-fields select{width:100%;min-height:50px;margin-top:5px;border:1px solid #d5ddea;border-radius:13px;background:#fff;color:#17213a;font-size:16px;padding:10px}.birthdate-fields>small{display:block;margin-top:7px;color:#758297;font-size:11px;line-height:1.45}
@media(max-width:380px){.birthdate-fields>div{grid-template-columns:.75fr 1.25fr .9fr;gap:6px}.birthdate-fields input,.birthdate-fields select{padding:9px 7px}}
