/* Presentation only: keep auth DOM IDs, state visibility and script behavior intact. */
.auth-login-page.auth-login-poster { --poster-orange:#d96912; --poster-ink:#36281e; padding:40px 16px 64px; color:var(--poster-ink); }
.auth-login-page.auth-login-poster > .container { padding:0; max-width:none; }
.auth-login-page.auth-login-poster > .container > .row { margin:0; }
.auth-login-page.auth-login-poster > .container > .row > div { width:100%; max-width:540px; padding:0; flex:none; }
.auth-login-page.auth-login-poster .login-hero { box-sizing:border-box; max-width:540px; margin:0 auto; min-height:208px; padding:30px 32px 44px; border-radius:24px 24px 0 0; text-align:left; background:linear-gradient(115deg,#ba530b,#e98220); color:#fff; box-shadow:none; isolation:isolate; overflow:hidden; }
.auth-login-page.auth-login-poster .login-hero::before { display:none; }
.auth-login-page.auth-login-poster .hero-badge { padding:0; margin:0 0 12px; border:0; border-radius:0; background:none; backdrop-filter:none; font-size:12px; font-weight:500; color:#ffe7ca; }
.auth-login-page.auth-login-poster .hero-badge .dot { display:none; }
.auth-login-page.auth-login-poster .login-hero h1 { position:relative; z-index:2; margin:0; max-width:310px; font-size:29px; font-weight:700; line-height:1.32; letter-spacing:0; color:#fff; }
.auth-login-page.auth-login-poster .login-hero h1 .accent { color:#fff; }
.auth-login-page.auth-login-poster .login-hero h1 .accent::after { display:none; }
.auth-login-page.auth-login-poster .login-hero p { position:relative; z-index:2; margin:12px 0 0; font-size:12px; line-height:1.6; color:#ffe9d1; }
.auth-login-page.auth-login-poster .auth-brand-art { position:absolute; z-index:1; right:14px; top:20px; width:158px; height:150px; pointer-events:none; }
.auth-login-page.auth-login-poster .login-wrap { width:100%; max-width:540px; padding:0; margin:0 auto; }
.auth-login-page.auth-login-poster .login-card { position:relative; max-width:540px; margin:-16px auto 0; border:0; border-radius:0 0 24px 24px; overflow:visible; background:#fff; box-shadow:0 14px 36px #71360712; }
.auth-login-page.auth-login-poster .login-card::before { content:""; position:absolute; top:-24px; left:0; right:0; height:25px; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540 26' preserveAspectRatio='none'%3E%3Cpath d='M0 26V17Q0 1 18 1H176C205 1 220 24 263 24C306 24 318 1 357 1H522Q540 1 540 17V26Z' fill='%23fff0db' stroke='%23fff8ed' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.auth-login-page.auth-login-poster .login-card .card-header,.auth-login-page.auth-login-poster .login-card-head { background:linear-gradient(#fff0db,#fff)!important; color:var(--poster-ink)!important; border:0; padding:20px 20px 14px; text-align:center; box-shadow:none; border-radius:0; justify-content:center; font-size:21px; font-weight:600; }
.auth-login-page.auth-login-poster .card-header h5 { color:var(--poster-ink); font-size:21px; font-weight:600; line-height:1.4; }
.auth-login-page.auth-login-poster .card-header .fa-weixin,.auth-login-page.auth-login-poster .login-card-head .fa-weixin { color:#c3661e; }
.auth-login-page.auth-login-poster .login-card .card-body,.auth-login-page.auth-login-poster .login-card-body { padding:10px 32px 20px; }
.auth-login-page.auth-login-poster .qrcode-frame { padding:0; margin:0; background:none; border:0; box-shadow:none; }
.auth-login-page.auth-login-poster .qrcode-container { box-sizing:border-box; width:236px; height:236px; margin:0 auto 16px; padding:14px; border:1px solid #efb97e; border-radius:20px; background:linear-gradient(#fff3df,#fff); box-shadow:none; position:relative; }
.auth-login-page.auth-login-poster .qrcode-bg { display:none; }
.auth-login-page.auth-login-poster .qrcode-container img { padding:0; border-radius:0; background:#fff; object-fit:contain; max-width:100%; max-height:100%; }
.auth-login-page.auth-login-poster .qrcode-container #qrcode-placeholder { border-radius:8px; }
.auth-login-page.auth-login-poster .login-card .alert { border-radius:8px; font-size:13px; line-height:1.6; padding:10px 12px; }
.auth-login-page.auth-login-poster .login-card #status-alert.alert-info { background:#fff8ee!important; border-color:#f6e7d3!important; color:#79502c!important; }
.auth-login-page.auth-login-poster .login-card .card-footer,.auth-login-page.auth-login-poster .login-card-foot { background:#fff; border:0; border-radius:0 0 24px 24px; padding:0 28px 25px; text-align:center; }
.auth-login-page.auth-login-poster .alt-tip { margin:0 0 8px; color:#8a827a; font-size:12px; }
.auth-login-page.auth-login-poster .card-footer a,.auth-login-page.auth-login-poster .alt-btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; gap:6px; padding:8px 16px; border:1px solid #ead9c4; border-radius:7px; color:#92541e; background:#fff; font-size:13px; text-decoration:none; }
.auth-login-page.auth-login-poster .scan-tip p { font-size:14px; color:#594738; margin:0 0 6px; }
.auth-login-page.auth-login-poster .scan-tip .small-tip { font-size:12px; color:#8a7969; }
.auth-login-page.auth-login-poster .scan-status-wrap { margin:12px 0; }
.auth-login-page.auth-login-poster .mobile-browser-qr-help p { color:#77695c; font-size:13px; }
.auth-login-page.auth-login-poster .login-steps { padding:16px 4px; background:transparent; box-shadow:none; border:0; }
.auth-login-page.auth-login-poster .login-hint { color:#8a7969; font-size:12px; background:none; border:0; }
.auth-login-page.auth-login-poster .col-12 > .alert-success { background:transparent!important; border:0; padding:14px 8px; color:#796754!important; font-size:12px; text-align:left; box-shadow:none; }
.auth-login-page.auth-login-poster #login-steps { padding-left:20px; margin:0; line-height:1.9; }
.auth-login-page.auth-login-poster #user-info { color:#49392c; background:#fff8ed; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card { background:#fff; border:0; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .card-body,[data-theme="dark"] .auth-login-page.auth-login-poster .login-card-body { background:#fff; color:#49392c; }
@media(min-width:992px) {
 .auth-login-page.auth-login-poster { padding-top:48px; }
 .auth-login-page.auth-login-poster > .container > .row > div,.auth-login-page.auth-login-poster .login-wrap,.auth-login-page.auth-login-poster .login-hero,.auth-login-page.auth-login-poster .login-card { max-width:620px; }
 .auth-login-page.auth-login-poster .login-hero { padding-left:44px; min-height:220px; }
 .auth-login-page.auth-login-poster .login-hero h1 { font-size:34px; max-width:350px; }
 .auth-login-page.auth-login-poster .auth-brand-art { width:190px; height:180px; right:38px; top:15px; }
 .auth-login-page.auth-login-poster .login-card .card-body,.auth-login-page.auth-login-poster .login-card-body { padding-left:90px; padding-right:90px; }
 .auth-login-page.auth-login-poster .qrcode-container { width:250px; height:250px; }
}
@media(max-width:480px) {
 .auth-login-page.auth-login-poster { padding:25px 14px 40px; }
 .auth-login-page.auth-login-poster .login-hero { min-height:186px; padding:22px 23px 43px; border-radius:22px 22px 0 0; }
 .auth-login-page.auth-login-poster .login-hero h1 { font-size:25px; max-width:235px; }
 .auth-login-page.auth-login-poster .hero-badge { margin-bottom:10px; font-size:11px; }
 .auth-login-page.auth-login-poster .login-hero p { font-size:11px; }
 .auth-login-page.auth-login-poster .auth-brand-art { width:119px; height:122px; right:3px; top:34px; opacity:.8; }
 .auth-login-page.auth-login-poster .login-card .card-body,.auth-login-page.auth-login-poster .login-card-body { padding:6px 20px 18px; }
 .auth-login-page.auth-login-poster .qrcode-container { width:216px; height:216px; }
 .auth-login-page.auth-login-poster .card-header h5,.auth-login-page.auth-login-poster .login-card-head { font-size:19px; }
}
@media(max-width:350px) {
 .auth-login-page.auth-login-poster .login-hero h1 { font-size:22px; }
 .auth-login-page.auth-login-poster .auth-brand-art { width:98px; right:-3px; opacity:.55; }
 .auth-login-page.auth-login-poster .qrcode-container { width:200px; height:200px; }
}

.auth-login-page.auth-login-poster .login-hero { margin-bottom:0!important; border-bottom-left-radius:0!important; border-bottom-right-radius:0!important; }
.auth-login-page.auth-login-poster .login-card .card-header.bg-success { background:linear-gradient(#fff0db,#fff)!important; color:#36281e!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .card-footer { background:#fff!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .alt-tip { color:#8a827a!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .btn-outline-secondary { background:#fff; color:#92541e; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .mobile-browser-qr-help p { color:#77695c; }
.auth-login-page.auth-login-poster .login-hero h1,.auth-login-page.auth-login-poster .login-hero h1 .accent { text-shadow:none; }
.auth-login-page.auth-login-poster .login-card .card-footer { border-top:0!important; background:#fff!important; }
/* QR surfaces stay light in dark mode so the real code remains easy to scan. */
[data-theme="dark"] .auth-login-page.auth-login-poster .qrcode-container { background:linear-gradient(#fff3df,#fff)!important; box-shadow:none!important; border-color:#efb97e!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .card-header h5,
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card-head,
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card-head span { color:#36281e!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .card-header .fa-weixin,
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card-head .fa-weixin { color:#c3661e!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card { box-shadow:0 14px 36px #0002!important; border:0!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .text-muted { color:#77695c!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .user-name { color:#49392c!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .user-info-row { background:#fff8ed!important; }
[data-theme="dark"] .auth-login-page.auth-login-poster .login-card .card-header.bg-success h5 { color:#36281e!important; }

/* Small brand mark; leave the QR image itself available for WeChat long press. */
.auth-login-page.auth-login-poster .qrcode-container .auth-qr-brand {
 position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
 width:28px; height:28px; padding:3px; box-sizing:border-box; border-radius:5px;
 background:#fff url('/images/logo.jpg') center / 22px 22px no-repeat;
 pointer-events:none; display:none; z-index:2;
}
.auth-login-page.auth-login-poster .qrcode-container img[src]:not([src=""]):not([src^="data:"]):not([style*="display: none"]):not([style*="display:none"]) + .auth-qr-brand { display:block; }
