.auth-page{
  margin:0;
  min-height:100vh;
  background:#f5f9fd;
  color:#14233c;
}

.auth-header{
  background:#fff;
  border-bottom:1px solid #e4edf6;
}

.auth-header-inner{
  width:min(1180px,calc(100% - 32px));
  min-height:78px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.auth-logo img{
  width:145px;
}

.auth-back{
  color:#0a1f57;
  font-weight:700;
}

.auth-main{
  padding:54px 20px 80px;
}

.auth-shell{
  width:min(1040px,100%);
  margin:auto;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  background:#fff;
  border:1px solid #e1eaf4;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 25px 70px rgba(10,31,87,.10);
}

.auth-side{
  padding:54px;
  background:
    radial-gradient(circle at 20% 20%,rgba(0,191,166,.24),transparent 35%),
    linear-gradient(145deg,#082b63,#0a1f57);
  color:#fff;
}

.auth-side-content{
  position:sticky;
  top:40px;
}

.auth-eyebrow{
  display:inline-block;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-weight:900;
  font-size:12px;
  letter-spacing:.12em;
}

.auth-side h1{
  font-size:48px;
  line-height:1.02;
  margin:22px 0;
  letter-spacing:-.04em;
}

.auth-side p{
  color:rgba(255,255,255,.78);
  line-height:1.75;
}

.auth-benefits{
  margin-top:32px;
  display:grid;
  gap:14px;
  color:rgba(255,255,255,.9);
  font-size:14px;
}

.auth-card{
  padding:50px;
}

.auth-card h2{
  margin:0 0 10px;
  color:#0a1f57;
  font-size:34px;
  letter-spacing:-.03em;
}

.auth-sub{
  color:#71839a;
  margin:0 0 30px;
}

.form-group{
  margin-bottom:19px;
}

.form-group label,
.label-row label{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  font-weight:800;
  color:#304962;
}

.optional{
  color:#90a0b1;
  font-weight:500;
  font-size:12px;
}

.form-group input{
  width:100%;
  height:52px;
  padding:0 14px;
  border:1px solid #cfdae7;
  border-radius:12px;
  font:inherit;
  background:#fff;
  outline:none;
  transition:.15s;
}

.form-group input:focus{
  border-color:#09b377;
  box-shadow:0 0 0 4px rgba(9,179,119,.10);
}

.password-wrap{
  position:relative;
}

.password-wrap input{
  padding-right:68px;
}

.password-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:#eef6fb;
  color:#0a1f57;
  border-radius:8px;
  padding:7px 10px;
  font-weight:800;
  cursor:pointer;
}

.password-meter{
  height:4px;
  margin-top:8px;
  border-radius:99px;
  overflow:hidden;
  background:#edf2f7;
}

.password-meter span{
  display:block;
  width:0;
  height:100%;
  background:#09b377;
  transition:.2s;
}

.field-help{
  display:block;
  margin-top:6px;
  color:#8796a8;
}

.field-error{
  display:block;
  margin-top:6px;
  color:#bb263a;
  font-size:13px;
}

.field-error.block{
  margin-bottom:14px;
}

.check-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:20px 0 18px;
  color:#566b82;
  font-size:14px;
}

.check-row input{
  margin-top:3px;
}

.check-row a,
.auth-switch a,
.label-row a{
  color:#0869d7;
  font-weight:700;
}

.label-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
}

.label-row a{
  font-size:13px;
}

.auth-submit{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#09b377,#11c4b2);
  color:#fff;
  font-weight:900;
  font-size:15px;
  cursor:pointer;
}

.link-button{
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
}

.auth-switch{
  text-align:center;
  color:#74879a;
  margin-top:20px;
}

.form-alert{
  padding:13px 15px;
  margin-bottom:20px;
  border-radius:11px;
  font-size:14px;
}

.form-alert.success{
  background:#e9faf3;
  color:#087653;
}

.form-alert.warning{
  background:#fff6dc;
  color:#785d00;
}

.form-alert.error{
  background:#fff0f1;
  color:#9e2637;
}

@media(max-width:780px){
  .auth-shell{
    grid-template-columns:1fr;
  }

  .auth-side{
    padding:36px 28px;
  }

  .auth-side h1{
    font-size:38px;
  }

  .auth-card{
    padding:34px 24px;
  }
}

/* =========================================================
   NiKao Typography Authority
   Authentication
   ========================================================= */

html,
body,
button,
input,
select,
textarea{
  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
}

.auth-hero h1{
  font-size:44px;
  line-height:1.06;
  font-weight:800;
}

.auth-card h1,
.auth-card h2{
  font-size:32px;
  line-height:1.1;
  font-weight:800;
}

.auth-card p{
  font-size:15px;
  line-height:1.6;
}

.auth-card label{
  font-size:14px;
  font-weight:600;
}

.auth-card input,
.auth-card select,
.auth-card textarea{
  font-size:15px;
}

.auth-card .btn,
.auth-card button{
  font-size:14px;
  font-weight:700;
}

@media(max-width:640px){

  .auth-hero h1{
    font-size:36px;
  }

  .auth-card h1,
  .auth-card h2{
    font-size:28px;
  }

}

/* =========================================================
   NiKao Auth Dark-First Authority
   ========================================================= */

.auth-header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}

.auth-theme-toggle,
.auth-lang-toggle{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  border-radius:10px;

  font-family:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;

  font-weight:800;
  cursor:pointer;
}

.auth-theme-toggle{
  border:1px solid #e9a62d;
  background:#ffb547;
  color:#082b63;
  font-size:18px;
}

.auth-lang-toggle{
  border:1px solid #dbe5ee;
  background:#fff;
  color:#0a1f57;
  font-size:12px;
}

html[data-theme="dark"] .auth-page{
  background:#07111f;
  color:#edf3fa;
}

html[data-theme="dark"] .auth-header{
  background:#091624;
  border-color:#223449;
}

html[data-theme="dark"] .auth-shell{
  background:#101e30;
  border-color:#26394f;
}

html[data-theme="dark"] .auth-card{
  color:#edf3fa;
}

html[data-theme="dark"] .auth-card h1,
html[data-theme="dark"] .auth-card h2,
html[data-theme="dark"] .auth-card label,
html[data-theme="dark"] .auth-back{
  color:#f5f8fc;
}

html[data-theme="dark"] .auth-sub,
html[data-theme="dark"] .auth-switch{
  color:#9aafc2;
}

html[data-theme="dark"] .auth-card input,
html[data-theme="dark"] .auth-card select,
html[data-theme="dark"] .auth-card textarea{
  background:#0b1828;
  color:#f4f7fb;
  border-color:#2b3f55;
}

html[data-theme="dark"] .auth-lang-toggle{
  background:#101e30;
  color:#fff;
  border-color:#30455d;
}

@media(max-width:640px){

  .auth-header-actions{
    gap:6px;
  }

  .auth-theme-toggle,
  .auth-lang-toggle{
    width:38px;
    height:38px;
  }

}
