/* R7-LOGIN-READABILITY-CORRECTION-01 — typography/contrast only; no layout redesign */
:root{
  --login-navy:#102133;
  --login-slate:#3d5266;
  --login-slate-mid:#4a5f72;
  --login-link:#0a6a80;
  --login-link-hover:#085566;
  --login-teal:#0d6f84;
}

.auth-card h2{
  font-size:32px;
  font-weight:800;
  line-height:1.2;
  color:var(--login-navy);
  margin:10px 0 6px;
}
.auth-card h2 span{
  color:var(--login-teal);
}

.auth-card>p{
  color:var(--login-slate);
  font-size:15px;
  line-height:1.45;
  font-weight:500;
  margin:0 0 14px;
  opacity:1;
}

.auth-card label{
  font-size:14px;
  font-weight:700;
  color:var(--login-navy);
  letter-spacing:0;
}
.auth-card form>label{
  margin-top:2px;
}
.auth-card form>label+label{
  margin-top:10px;
}

.auth-card input[type=email],
.auth-card input[type=password],
.auth-card .pw-wrap input{
  font-size:16px;
  font-weight:500;
  color:var(--login-navy);
  height:40px;
  margin-top:6px;
}

.auth-row{
  font-size:14px;
  margin:10px 0 12px;
  gap:8px;
}
.auth-row .check{
  font-size:14px;
  font-weight:600;
  color:var(--login-slate);
  align-items:center;
  gap:2px;
}
.auth-row .check input{
  width:16px;
  height:16px;
  margin:0 8px 0 0;
  flex-shrink:0;
}

.muted-link{
  font-size:13px;
  font-weight:600;
  color:var(--login-link);
  text-decoration:none;
  padding:2px 0;
}
.muted-link:hover,
.muted-link:focus-visible{
  color:var(--login-link-hover);
  text-decoration:underline;
}
.auth-row>div span{
  color:var(--login-slate-mid);
  font-size:13px;
}

.auth-card form>.primary,
.auth-card .primary{
  font-size:17px;
  font-weight:700;
  height:42px;
  color:#fff;
  line-height:1;
}

.or{
  height:12px;
  margin:8px 0 14px;
  border-bottom-color:#c5d0da;
}
.or span{
  font-size:13px;
  font-weight:600;
  color:#5a6d7e;
  background:#fff;
  padding:0 12px;
}

.auth-card>.secondary,
.secondary{
  font-size:14px;
  font-weight:600;
  color:var(--login-navy);
  height:40px;
}
.auth-card>.secondary b,
.secondary b{
  font-size:14px;
  font-weight:600;
  color:var(--login-navy);
}
.auth-card>.secondary span,
.secondary span{
  font-size:16px;
  color:var(--login-teal);
}

.learn{
  font-size:13px;
  font-weight:600;
  color:var(--login-link);
  margin-top:10px;
  padding-top:10px;
}
.learn b{
  font-size:13px;
  font-weight:700;
  color:var(--login-link);
}
.learn small{
  display:block;
  font-size:12px;
  line-height:1.4;
  font-weight:500;
  color:var(--login-slate-mid);
  margin:4px 0 0 22px;
}

.form-error{
  font-size:13px;
  font-weight:700;
}

.system-card .card-head{
  font-size:12px;
  font-weight:700;
  color:var(--login-link);
  letter-spacing:.6px;
  margin-bottom:4px;
}
.system-card .card-head span{
  font-size:12px;
  color:var(--login-slate-mid);
  font-weight:600;
}
.status-row{
  padding:8px 0;
}
.status-row div b{
  font-size:13px;
  font-weight:700;
  color:var(--login-navy);
}
.status-row div small{
  font-size:12px;
  line-height:1.35;
  color:var(--login-slate-mid);
  margin-top:2px;
}
.status-row strong{
  font-size:12px;
  font-weight:700;
  color:#176172;
}

.status-strip span{
  font-size:11px;
  color:var(--login-slate-mid);
  font-weight:600;
}
.status-strip b{
  font-size:12px;
  color:var(--login-navy);
  font-weight:700;
}

@media (max-width:820px){
  .auth-card h2{font-size:28px}
  .auth-card>p{font-size:14px}
  .auth-card label{font-size:14px}
  .auth-card input[type=email],
  .auth-card input[type=password],
  .auth-card .pw-wrap input{font-size:15px}
  .auth-card form>.primary{font-size:16px}
}
@media (max-width:480px){
  .auth-card h2{font-size:26px}
  .auth-row{flex-wrap:wrap;gap:6px}
}
