.yunbao-login-alert,
.yunbao-login-flash {
  padding: 10px 12px;
  border-radius: 10px;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.45;
}
.yunbao-login-alert.err,
.yunbao-login-flash.err {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}
.yunbao-login-alert.info,
.yunbao-login-flash.info {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.yunbao-login-alert.ok,
.yunbao-login-flash.ok {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}
.yunbao-login-flash.hidden { display: none; }

.login-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
.login-actions--pos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.login-actions--pos .btn-login-primary { grid-column: 1; }
.login-actions--pos .btn-login-secondary { grid-column: 2; }
.login-actions--pos .login-link { grid-column: 1 / -1; }

.btn-login-primary,
.btn-login-secondary,
.login-link {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.btn-login-primary {
  min-height: 46px;
  padding: 12px 16px;
  border: none;
  background: #f07320;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(240, 115, 32, 0.28);
}
.btn-login-primary:hover:not(:disabled) {
  background: #d45e10;
  transform: translateY(-1px);
}
.btn-login-primary:disabled,
.btn-login-primary.is-loading {
  opacity: 0.72;
  cursor: wait;
  transform: none;
}
.btn-login-secondary {
  min-height: 44px;
  padding: 11px 16px;
  border: 1.5px solid #e8e4dd;
  background: #f2f0ec;
  color: #4a453e;
  cursor: pointer;
}
.btn-login-secondary:hover:not(:disabled) {
  background: #faf9f7;
  border-color: #d8d3c9;
}
.login-link {
  display: block;
  min-height: 40px;
  padding: 10px 16px;
  border: 1.5px dashed #e8e4dd;
  background: #fff;
  color: #8a857c;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.login-link:hover {
  color: #f07320;
  border-color: rgba(240, 115, 32, 0.35);
  background: #fff8f3;
}

.auth-card .row input,
.login-card .row input {
  width: 100%;
  min-height: 44px;
}

@media (max-width: 640px) {
  .login-actions--pos {
    grid-template-columns: 1fr;
  }
  .login-actions--pos .btn-login-primary,
  .login-actions--pos .btn-login-secondary {
    grid-column: 1 / -1;
  }
}
