.auth-container{width:100%;max-width:960px;height:580px;max-height:90vh;background:#fff;border-radius:20px;border:1px solid var(--line,#e6ddcb);box-shadow:none;display:flex;overflow:hidden;position:relative;margin-left:auto;margin-right:auto;margin-top:calc((100vh - 80px - 580px - 80px) / 2)}.auth-container.admin-login{max-width:520px;height:auto;min-height:420px;margin-top:100px}@media (max-height:760px){.auth-container{margin-top:20px;margin-bottom:20px}}.auth-top-actions{position:absolute;top:12px;right:12px;z-index:30;gap:8px}.auth-image,.auth-top-actions{display:flex;align-items:center}.auth-image{width:60%;flex-shrink:0;background:var(--paper2,#f2ecdd);justify-content:center;padding:0;position:relative}.auth-image img{width:100%;height:100%;object-fit:cover;display:block}.auth-form{width:40%;padding:1.5rem 2rem;display:flex;flex-direction:column;justify-content:center;background:var(--card,#fff);overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.auth-form.admin-form{width:100%;padding:2rem}.auth-form::-webkit-scrollbar{display:none}.auth-close-btn{width:32px;height:32px;border-radius:10px;background:var(--paper2,#f2ecdd);border:1px solid var(--line,#e6ddcb);color:var(--navy,#002856);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.auth-close-btn:hover{background:var(--paper,#fbf7ee);border-color:var(--navy,#002856)}.auth-close-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(0,40,86,.12)}.auth-input{background:var(--paper2,#f2ecdd);border:1px solid transparent;border-radius:10px;color:var(--ink,#1a1a18);transition:all .2s ease}.auth-input::placeholder{color:var(--muted,#5c5b57)}.auth-input:hover{border-color:var(--muted,#5c5b57)}.auth-input:focus{background:#fff;border-color:var(--navy,#002856);outline:none;box-shadow:0 0 0 3px rgba(0,40,86,.1)}.auth-input.error{border-color:#991b1b}select.auth-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%235C5B57' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.auth-btn-primary{background:var(--navy,#002856);color:#fff;border:none;border-radius:10px;font-weight:600;transition:all .2s ease}.auth-btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,40,86,.25)}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-btn-secondary{background:var(--paper2,#f2ecdd);color:var(--navy,#002856);border:1px solid var(--line,#e6ddcb);border-radius:10px;font-weight:600;transition:all .2s ease}.auth-btn-secondary:hover:not(:disabled){border-color:var(--navy,#002856);background:var(--paper,#fbf7ee)}.auth-tab{background:transparent;color:var(--muted,#5c5b57);border-radius:8px;font-weight:600;transition:all .2s ease}.auth-tab:hover{color:var(--ink,#1a1a18);background:var(--paper2,#f2ecdd)}.auth-tab.active{background:var(--navy,#002856);color:#fff}.auth-method-btn{background:var(--paper,#fbf7ee);color:var(--muted,#5c5b57);border:1px solid var(--line,#e6ddcb);border-radius:8px;font-weight:500;transition:all .2s ease}.auth-method-btn.active,.auth-method-btn:hover{border-color:var(--navy,#002856);color:var(--navy,#002856)}.auth-method-btn.active{background:rgba(0,40,86,.08)}.auth-select-btn{background:var(--paper,#fbf7ee);color:var(--ink,#1a1a18);border:1px solid var(--line,#e6ddcb);border-radius:8px;font-weight:500;transition:all .2s ease}.auth-select-btn:hover{border-color:var(--navy,#002856);background:var(--paper2,#f2ecdd)}.auth-select-btn.active{background:rgba(0,40,86,.08);border-color:var(--navy,#002856);color:var(--navy,#002856)}.auth-wechat-btn{background:#07c160;color:#fff;border:none;border-radius:10px;font-weight:600;transition:all .2s ease}.auth-wechat-btn:hover:not(:disabled){background:#06ad56;transform:translateY(-1px)}.auth-avatar-btn{background:var(--paper,#fbf7ee);border:2px solid var(--line,#e6ddcb);border-radius:12px;transition:all .3s ease}.auth-avatar-btn:hover{background:var(--paper2,#f2ecdd)}.auth-avatar-btn.active,.auth-avatar-btn:hover{border-color:var(--navy,#002856);transform:scale(1.05)}.auth-avatar-btn.active,.auth-tag{background:rgba(0,40,86,.08)}.auth-tag{border:1px solid var(--navy,#002856);color:var(--navy,#002856);border-radius:20px}.auth-error{background:rgba(153,27,27,.08);border:1px solid rgba(153,27,27,.2);color:#991b1b;border-radius:10px}.auth-success{background:rgba(22,101,52,.08);border:1px solid rgba(22,101,52,.2);color:#166534;border-radius:10px}.auth-spinner{width:12px;height:12px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}