* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 0 !important; width: 100% !important; margin: 0; color: #171717; background: #fff; font-family: Arial, "Microsoft YaHei", sans-serif; }
ul { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.newtop a, .newtop a span { color: #fff; }
.auth-header { width: 1100px; height: 122px; margin: 0 auto; display: flex; align-items: center; }
.auth-header .logo { width: 310px; margin: 0; float: none; }
.auth-header .header-nav { height: 107px; margin-left: auto; float: none; }
.auth-header .header-list { display: flex; }
.auth-header .header-list li { margin-right: 10px; }
.auth-header .topfont { white-space: nowrap; }
.mobile-menu { display: none; }

.auth-page { width: 1100px; min-height: 458px; margin: 0 auto; padding: 51px 30px 31px; border: 1px solid #e6e6e6; background: #fff; }
.auth-panel { min-height: 374px; padding: 30px 35px 40px; border: 1px solid #e8e8e8; }
.auth-title { margin: 0 0 15px; padding-left: 8px; border-left: 4px solid #ed6a4a; font-size: 17px; line-height: 21px; }
.auth-title a { margin-left: 26px; font-size: 12px; font-weight: 400; }
.auth-title a:hover { color: #ef6648; }
.auth-form { width: 500px; margin-left: 18px; }
.form-row { min-height: 63px; display: grid; grid-template-columns: 100px 1fr; align-items: start; }
.form-row > label { padding-top: 15px; font-size: 17px; font-weight: 700; text-align: right; }
.field-wrap { position: relative; margin-left: 18px; }
.form-control { width: 374px; height: 49px; padding: 0 12px; border: 1px solid #c7c7c7; border-radius: 4px; outline: none; color: #333; background: #fff; font-size: 16px; }
.form-control::placeholder { color: #8b91a5; }
.form-control:focus { border-color: #ef6648; box-shadow: 0 0 0 2px rgba(239,102,72,.1); }
.form-control.has-error { border-color: #e23e38; box-shadow: 0 0 0 2px rgba(226,62,56,.08); }
.forgot-link { display: block; margin-top: 5px; font-size: 12px; }
.captcha-wrap { display: flex; gap: 5px; align-items: center; }
.captcha-wrap .form-control { width: 198px; }
.captcha-image { width: 160px; height: 49px; display: block; flex: 0 0 auto; padding: 0; overflow: hidden; border: 1px solid #aaa; border-radius: 2px; background: #eee8df; cursor: pointer; }
.captcha-image canvas { display: block; width: 100%; height: 100%; }
.captcha-image:hover { border-color: #ef6648; }
.submit-row { min-height: 52px; }
.submit-row .field-wrap { display: flex; justify-content: flex-end; }
.auth-submit { min-width: 83px; height: 36px; padding: 0 13px; border: 0; border-radius: 4px; color: #fff; background: #ed6748; font-size: 14px; font-weight: 700; cursor: pointer; }
.auth-submit:hover { background: #dc5538; }
.terms-row { min-height: 44px; }
.terms-row .field-wrap { display: flex; align-items: center; gap: 7px; padding-top: 7px; font-size: 15px; }
.terms-row input { width: 14px; height: 14px; margin: 0; }
.register-page { min-height: 650px; }
.register-page .auth-panel { min-height: 590px; }
.register-page .form-row { min-height: 63px; }
.register-page .captcha-wrap .form-control { width: 107px; }
.register-page .captcha-image { width: 130px; height: 38px; }
.register-page .captcha-wrap { padding-top: 6px; }
.register-page .captcha-row { min-height: 86px; }
.form-error { min-height: 18px; margin: 5px 0 0; color: #d93632; font-size: 12px; line-height: 18px; }
.form-error:not(:empty)::before { content: "!"; width: 15px; height: 15px; display: inline-grid; place-items: center; margin-right: 5px; border-radius: 50%; color: #fff; background: #e34a43; font-size: 10px; font-weight: 700; }
.register-page .submit-row .field-wrap { justify-content: flex-end; width: 374px; }

.newfooter { float: none; }
.footer-copy { margin-top: 15px; color: #fff; text-align: center; }
.footer-copy i { padding: 0 10px; font-style: normal; }
.footer-copy p { margin: 10px 0 0; }
.back-top { position: fixed; right: 20px; bottom: 145px; width: 60px; height: 50px; display: grid; place-items: center; border: 1px solid #e5e5e5; color: #bbb; background: #f7f7f7; font-size: 40px; line-height: 1; }

@media (max-width: 1150px) {
  .newtop-cont, .auth-header, .auth-page, .newfootbox { width: min(100% - 32px, 1000px); }
  .auth-header .header-list li { margin-right: 0; width: 77px; }
  .auth-header .header-list li a { width: 77px; }
  .auth-header .top-box { margin-left: 15px; }
  .newfootbox ul { display: grid; grid-template-columns: repeat(4, 1fr); }
  .newfootbox ul li { width: auto; margin: 0; }
}

@media (max-width: 820px) {
  .newtop-cont { width: calc(100% - 24px); }
  .newuserlink { display: none; }
  .auth-header { position: relative; width: calc(100% - 24px); height: 88px; }
  .auth-header .logo { width: 250px; transform: scale(.82); transform-origin: left center; }
  .mobile-menu { width: 44px; height: 44px; margin-left: auto; display: grid; place-content: center; gap: 5px; border: 0; border-radius: 4px; background: #f7374b; }
  .mobile-menu i { width: 23px; height: 2px; background: #fff; }
  .auth-header .header-nav { position: absolute; z-index: 120; top: 80px; left: 0; right: 0; height: auto; display: none; padding: 10px; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.16); }
  .auth-header .header-nav.open { display: block; }
  .auth-header .header-list { display: grid; grid-template-columns: repeat(4, 1fr); }
  .auth-header .header-list li, .auth-header .header-list li a { width: 100%; height: 84px; }
  .auth-header .top-box { width: 45px; float: none; margin: 7px auto 0; }
  .auth-header .topfont { margin-top: 0; border: 0; }
  .auth-page { width: calc(100% - 24px); min-height: 0; padding: 18px; }
  .auth-panel { min-height: 0; padding: 25px 20px 32px; }
  .auth-form { width: 100%; margin-left: 0; }
  .form-row { grid-template-columns: 86px minmax(0, 1fr); }
  .field-wrap { margin-left: 12px; }
  .form-control { width: 100%; }
  .captcha-wrap .form-control { flex: 1; min-width: 0; }
  .captcha-image { flex: 0 0 120px; }
  .register-page .submit-row .field-wrap { width: auto; }
  .newfooter { height: auto; min-height: 320px; padding: 10px 0 25px; background-size: cover; }
  .newfootbox { width: min(100% - 24px, 600px); }
  .newfootbox ul { height: auto; grid-template-columns: repeat(2, 1fr); gap: 16px 0; padding-bottom: 18px; }
  .newfootbox ul li { height: 100px; }
  .footer-copy { padding: 0 20px; line-height: 2; }
  .back-top { display: none; }
}

@media (max-width: 520px) {
  .newhomehead { font-size: 11px; }
  .auth-header .logo { margin-right: -48px; }
  .auth-header .header-list { grid-template-columns: repeat(3, 1fr); }
  .auth-page { padding: 10px; }
  .auth-panel { padding: 22px 12px 28px; }
  .auth-title { font-size: 16px; }
  .auth-title a { margin-left: 9px; }
  .form-row { min-height: 73px; display: block; }
  .form-row > label { display: block; padding: 0 0 6px; font-size: 14px; text-align: left; }
  .field-wrap { margin-left: 0; }
  .captcha-image { flex-basis: 105px; }
  .submit-row .field-wrap, .register-page .submit-row .field-wrap { width: 100%; justify-content: flex-start; }
  .auth-submit { width: 100%; }
  .terms-row { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
