.container{min-height:100vh;background:linear-gradient(180deg,#e8f4fd 0%,#fff 45%);padding:0 20px}.header{text-align:center;padding-top:80px;padding-bottom:35px}.logo-wrap{width:70px;height:70px;margin:0 auto 12px;background:linear-gradient(135deg,#007aff,#5856d6);border-radius:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,122,255,.3)}.logo-icon{font-size:34px}.title{font-size:22px;font-weight:700;color:#1a1a2e;letter-spacing:2px;display:block}.subtitle{font-size:13px;color:#8e8e93;margin-top:5px}.login-card{background:#fff;border-radius:16px;padding:24px 18px;box-shadow:0 10px 30px rgba(0,0,0,.06);text-align:center}.wx-title{font-size:17px;font-weight:700;color:#1a1a2e;display:block}.wx-desc{font-size:12.5px;color:#8e8e93;margin-top:5px;display:block}.btn-login{width:100%;height:50px;line-height:50px;background:linear-gradient(135deg,#07c160,#10b981)!important;color:#fff!important;font-size:16px;font-weight:700;border-radius:25px!important;margin-top:19px}.link{display:block;margin-top:16px;color:#4a90d9;font-size:13px}



.container { min-height: 100vh; background: linear-gradient(180deg, #e8f4fd 0%, #fff 40%); padding: 0 20px; }
.header { text-align: center; padding-top: 50px; padding-bottom: 20px; }
.title { font-size: 22px; font-weight: bold; color: #1a1a2e; display: block; }
.subtitle { font-size: 13px; color: #8e8e93; margin-top: 5px; }

.form-section { margin-bottom: 10px; }
.form-group { margin-bottom: 11px; position: relative; }
.field-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 17px; z-index: 1; }
.input-field { width: 100%; height: 48px; background: rgba(255,255,255,0.9); border-radius: 12px; border: 1.5px solid #e5e9f0; padding: 0 14px 0 44px; font-size: 14.5px; box-sizing: border-box; }
.code-row .input-field { flex: 1; padding-right: 6px; }
.code-row { display: flex; gap: 8px; align-items: center; }
.btn-code { width: 110px !important; height: 46px !important; line-height: 46px; background: linear-gradient(135deg, #007AFF, #5856D6) !important; color: #fff !important; font-size: 12.5px; border-radius: 12px !important; white-space: nowrap; padding: 0 !important; margin: 0 !important; }
.btn-code.disabled { opacity: 0.5; }

.btn-register {
  width: 100%; height: 50px; line-height: 50px;
  background: linear-gradient(135deg, #007AFF, #5856D6) !important;
  color: #fff !important; font-size: 16px; font-weight: bold;
  border-radius: 25px !important; margin-top: 8px;
}
.form-footer { text-align: center; margin-top: 14px; font-size: 13px; color: #999; }
.link { color: var(--primary); font-weight: 500; }

.agreement-row { display: flex; align-items: center; justify-content: center; margin-top: 15px; }
.checkbox { width: 18px; height: 18px; border: 1.5px solid #ccc; border-radius: 5px; display: flex; align-items: center; justify-content: center; margin-right: 5px; font-size: 12px; color: #fff; }
.checkbox.checked { background: var(--primary); border-color: var(--primary); }
.check-mark { font-size: 12px; color: #fff; }
.agree-text { font-size: 12px; color: #666; }
.register-redirect { display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.redirect-card { width: 100%; background: rgba(255,255,255,0.92); border: 0.5px solid #F2DDD3; border-radius: 18px; padding: 28px 18px; box-shadow: 0 9px 24px rgba(121,77,55,0.12); }
.redirect-title { display: block; font-size: 21px; font-weight: 800; color: #2B211D; }
.redirect-desc { display: block; margin: 9px 0 17px; font-size: 14px; line-height: 1.7; color: #7B6A60; }
.brand-head{display:flex;flex-direction:column;align-items:center;margin:8px 0 24px}
.brand-logo-img,.brand-logo-text{width:52px;height:52px;border-radius:14px;box-shadow:0 6px 16px rgba(23,32,51,.10);overflow:hidden}
.brand-logo-img{display:block;object-fit:cover;background:#f6f8fa}
.brand-logo-text{display:flex;align-items:center;justify-content:center;background:#24a26b;color:#fff;font-size:22px;font-weight:900}
.brand-name{display:block;margin-top:9px;color:#30343b;font-size:17px;font-weight:900;line-height:21px}
.auth-top-tabs{display:flex!important;gap:10px!important;margin:0 0 18px!important;background:transparent!important;border:0!important;padding:0!important}
.auth-top-tabs .type-pill{position:relative;flex:0 0 auto!important;min-height:34px!important;padding:0 2px!important;border:0!important;background:transparent!important;color:#243044!important;-webkit-text-fill-color:#243044!important;font-size:19px!important;font-weight:950!important;box-shadow:none!important}
.auth-top-tabs .type-pill.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:999px;background:#d9826b}
.auth-password-row{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:10px!important;border-bottom:1px solid #e4ebef!important}
.auth-password-input{flex:1!important;min-width:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;padding-left:0!important}
.auth-password-row .auth-reset-link{flex:0 0 auto!important;border:0!important;background:transparent!important;color:#4f7c96!important;-webkit-text-fill-color:#4f7c96!important;font-size:14px!important;font-weight:900!important;box-shadow:none!important;padding:0!important}

.h5-page[data-route="pages/login/login"],.h5-page[data-route="pages/register/register"]{background:#fff!important;padding:36px 44px 40px!important;box-sizing:border-box!important}
.h5-page[data-route="pages/login/login"] .auth-ambient,.h5-page[data-route="pages/login/login"] .auth-header,.h5-page[data-route="pages/register/register"] .auth-ambient,.h5-page[data-route="pages/register/register"] .auth-header{display:none!important}
.h5-auth-flat{padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
.h5-auth-flat .auth-top-tabs{display:flex!important;gap:42px!important;margin:0 0 58px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.h5-auth-flat .type-pill{position:relative!important;flex:0 0 auto!important;height:auto!important;min-height:32px!important;padding:0 0 16px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#30343b!important;-webkit-text-fill-color:#30343b!important;font-size:24px!important;font-weight:800!important;line-height:1!important;box-shadow:none!important}
.h5-auth-flat .type-pill.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#ff8200;border-radius:0}
.auth-phone-row{height:54px;border-bottom:1px solid #edf0f4;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:0;box-sizing:border-box}
.auth-country{width:auto;color:#30343b;font-size:24px;font-weight:500;line-height:54px;white-space:nowrap}
.h5-auth-flat .auth-input{width:100%!important;min-width:0!important;height:53px!important;min-height:53px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#30343b!important;font-size:24px!important;font-weight:600!important;letter-spacing:0!important;box-shadow:none!important;box-sizing:border-box!important}
.h5-auth-flat .auth-input::placeholder{color:#a8afb9!important;font-weight:600!important}
.h5-auth-flat .auth-field-hidden{display:none!important}
.h5-auth-card[data-auth-mode="code"]>.auth-code-row[data-auth-field="code"]{display:grid!important}
.h5-auth-card[data-auth-mode="code"]>.auth-password-row[data-auth-field="password"]{display:none!important}
.h5-auth-card[data-auth-mode="password"]>.auth-code-row[data-auth-field="code"]{display:none!important}
.h5-auth-card[data-auth-mode="password"]>.auth-password-row[data-auth-field="password"]{display:flex!important}
.h5-reset-mask.show .auth-code-row{display:grid!important}
.h5-reset-mask.show .auth-password-row{display:flex!important}

/* Login state guard */
.h5-auth-card[data-auth-mode="code"]>.auth-code-row[data-auth-field="code"]{display:grid!important}
.h5-auth-card[data-auth-mode="code"]>.auth-password-row[data-auth-field="password"]{display:none!important}
.h5-auth-card[data-auth-mode="password"]>.auth-code-row[data-auth-field="code"]{display:none!important}
.h5-auth-card[data-auth-mode="password"]>.auth-password-row[data-auth-field="password"]{display:flex!important}
.h5-reset-mask.show .auth-code-row{display:grid!important}
.h5-reset-mask.show .auth-password-row{display:flex!important}
.h5-auth-card[data-auth-mode="password"] [data-auth-field="code"]{display:none!important}
.h5-auth-card[data-auth-mode="code"]>.auth-password-row[data-auth-field="password"]{display:none!important}
.h5-auth-flat .auth-code-row{height:54px!important;margin:1px 0 0!important;border-bottom:1px solid #edf0f4!important;display:grid!important;grid-template-columns:minmax(0,1fr) 150px!important;gap:8px!important;align-items:center!important}
.h5-auth-flat .auth-code-btn{height:53px!important;min-height:53px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#c7c7c7!important;-webkit-text-fill-color:#c7c7c7!important;font-size:21px!important;font-weight:700!important;text-align:right!important;box-shadow:none!important}
.h5-auth-flat .auth-password-row{height:54px!important;margin:1px 0 0!important;border-bottom:1px solid #edf0f4!important;display:flex!important;align-items:center!important;gap:18px!important}
.h5-auth-flat .auth-reset-link{height:53px!important;line-height:53px!important;border:0!important;background:transparent!important;color:#4f7c96!important;-webkit-text-fill-color:#4f7c96!important;font-size:20px!important;font-weight:700!important;padding:0!important;white-space:nowrap}
.auth-remember-row{display:flex;align-items:center;gap:8px;margin-top:10px;color:#5f6b76;font-size:15px;font-weight:800;line-height:24px}
.auth-remember-check{width:18px;height:18px;border-radius:5px;border:1.5px solid #cbd5dc;display:flex;align-items:center;justify-content:center;box-sizing:border-box;color:#fff;font-size:12px;font-weight:900}
.auth-remember-check.checked{background:#18a765;border-color:#18a765}
.auth-remember-check.checked:after{content:"✓"}
.h5-auth-flat .auth-submit{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:41px!important;min-height:41px!important;line-height:41px!important;margin:48px 0 12px!important;padding:0!important;border:0!important;border-radius:999px!important;background:#ff8200!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:20px!important;font-weight:800!important;text-align:center!important;text-indent:0!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important}
.auth-agreement{color:#4d535c;font-size:17px;line-height:27px}
.auth-agreement a{color:#2f68a3;text-decoration:none}
.h5-auth-flat .auth-wx-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:38px!important;min-height:38px!important;line-height:38px!important;margin:58px 0 0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:#30343b!important;-webkit-text-fill-color:#30343b!important;font-size:22px!important;font-weight:700!important;box-shadow:none!important}
.auth-wx-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;margin-right:9px;border:1px solid #e5e7eb;border-radius:50%;background:#fff;color:transparent;font-size:0;line-height:0;box-sizing:border-box}
.auth-wx-icon:before{content:"";position:absolute;left:8px;top:9px;width:13px;height:10px;border-radius:9px;background:#20bf62}
.auth-wx-icon:after{content:"";position:absolute;right:7px;top:14px;width:10px;height:8px;border-radius:8px;background:#20bf62}
.h5-auth-flat .link{display:block;margin-top:18px;text-align:center;color:#8a929c!important;background:transparent!important;font-size:13px}
.h5-reset-mask{position:fixed!important;z-index:2000!important;left:0!important;right:0!important;top:0!important;bottom:0!important;display:none!important;align-items:flex-end!important;padding:18px!important;background:rgba(23,32,51,.42)!important;box-sizing:border-box!important}
.h5-reset-mask.show{display:flex!important}
.h5-reset-panel{width:100%!important;box-sizing:border-box!important;background:#fff!important;border-radius:15px!important;padding:20px 16px 17px!important;text-align:left!important;box-shadow:0 12px 40px rgba(23,32,51,.22)!important}
.h5-reset-panel .wx-title{display:block!important;color:#30343b!important;font-size:18px!important;font-weight:800!important;text-align:center!important}
.h5-reset-panel .wx-desc{display:block!important;margin:7px 0 14px!important;color:#7b8490!important;font-size:13px!important;line-height:19px!important;text-align:center!important}
.h5-reset-panel .auth-submit{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:50px!important;line-height:50px!important;margin:29px 0 0!important;padding:0!important;border:0!important;border-radius:999px!important;background:#d9826b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:20px!important;font-weight:800!important;text-align:center!important;text-indent:0!important;box-sizing:border-box!important}
.h5-reset-panel .h5-reset-submit{display:grid!important;place-items:center!important;text-align:center!important}
.h5-reset-panel .h5-reset-submit .h5-submit-text{display:block!important;width:100%!important;text-align:center!important;line-height:50px!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.h5-reset-panel .btn-cancel{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:41px!important;margin-top:9px!important;border-radius:999px!important;background:#f5f6f8!important;color:#4d535c!important;-webkit-text-fill-color:#4d535c!important;font-size:15px!important;font-weight:800!important;line-height:41px!important;box-sizing:border-box!important}
@media (max-width:480px){.h5-page[data-route="pages/login/login"],.h5-page[data-route="pages/register/register"]{padding-left:22px!important;padding-right:22px!important}.brand-head{margin:8px 0 22px}.h5-auth-flat .auth-top-tabs{gap:24px!important;margin-bottom:46px!important}.h5-auth-flat .type-pill{font-size:18px!important;min-height:28px!important;padding-bottom:14px!important}.auth-phone-row{grid-template-columns:62px minmax(0,1fr)}.auth-country,.h5-auth-flat .auth-input{font-size:18px!important}.h5-auth-flat .auth-code-row{grid-template-columns:minmax(0,1fr) 112px!important}.h5-auth-flat .auth-code-btn,.h5-auth-flat .auth-reset-link{font-size:15px!important}.auth-remember-row{font-size:13px}.h5-auth-flat .auth-submit{font-size:17px!important;margin-top:42px!important}.auth-agreement{font-size:13px;line-height:21px}.h5-auth-flat .auth-wx-btn{font-size:17px!important;margin-top:52px!important}}
.h5-auth-flat .auth-field-hidden{display:none!important}
