.topMessage{text-align:center;line-height:3em;width:300px}.k-icon{font-size:1.2em}.renewal_reminder_window{width:100%;height:100%;position:absolute;z-index:100;top:0;left:0;background-color:rgba(255,255,255,0);display:flex;justify-content:center;align-items:center}.cover_layer{width:100%;height:100%;opacity:.5;background-color:#0d0d0d;position:absolute;z-index:100;top:0;left:0}.renewal_reminder_content{width:900px;height:850px;background-color:rgba(255,255,255,1);position:relative;z-index:120;display:flex;justify-content:flex-start;flex-direction:column;align-items:center}.content-titlebar{width:100%;height:42px;line-height:42px;box-sizing:border-box;background-color:#3f51b5;display:flex;align-items:center;justify-content:flex-start;padding:0 12px;font-size:1.2em;color:#fff}.content-body{flex-grow:1;width:100%;overflow:auto;color:#444;padding:40px;box-sizing:border-box}.loginFormBox{position:relative;box-shadow:0 8px 30px rgba(0,0,0,0.08),0 2px 8px rgba(0,0,0,0.04);transition:box-shadow .3s ease}.loginFormBox:hover{box-shadow:0 12px 40px rgba(0,0,0,0.12),0 4px 12px rgba(0,0,0,0.06)}.login-tabs{display:flex;border-bottom:2px solid #e8e8e8;margin-bottom:20px}.login-tab{flex:1;text-align:center;padding:12px 0;font-size:15px;color:#999;cursor:pointer;position:relative;transition:color .3s ease;user-select:none;letter-spacing:1px}.login-tab:hover{color:#666}.login-tab.active{color:#3f51b5;font-weight:500}.login-tab.active::after{content:'';position:absolute;bottom:-2px;left:20%;width:60%;height:3px;background:#3f51b5;border-radius:2px}.login-panel{animation:panelFadeIn .3s ease;margin-top:0;min-height:420px;min-width:0}.qr-code-area{text-align:center;padding:20px 0 2px;width:100%;min-width:0;box-sizing:border-box}.qr-company-row{margin:0 auto 14px;max-width:260px}.qr-company-input{width:100%;height:42px;line-height:40px;border:1px solid #e0e0e0;border-radius:8px;padding:0 14px;font-size:14px;color:#333;outline:none;text-align:center;box-sizing:border-box;transition:all .25s ease}.qr-company-input:focus{border-color:#3f51b5;box-shadow:0 0 0 3px rgba(63,81,181,0.08)}.qr-company-input::placeholder{color:#bbb}.qr-code-wrapper{width:240px;height:240px;margin:6px auto 14px;border:1px solid #eee;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(145deg,#fafbfc,#f5f5f5);overflow:hidden;padding:16px;box-sizing:border-box}.qr-code-wrapper img{width:100%;height:100%;object-fit:contain}.qr-hint{font-size:13px;color:#888;margin:4px 0 0}.qr-countdown{font-size:12px;color:#ccc;margin:5px 0 0}.qr-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.qr-placeholder-icon{margin-bottom:14px;opacity:.35}.qr-placeholder-text{font-size:13px;color:#ccc;line-height:1.7;text-align:center;margin:0}.qr-loading{text-align:center;margin-top:0}.qr-spinner{width:30px;height:30px;border:3px solid #e0e0e0;border-top-color:#3f51b5;border-radius:50%;animation:qr-spin 1s linear infinite;margin:0 auto 8px}@keyframes qr-spin{to{transform:rotate(360deg)}}.qr-loading p{margin:0;font-size:12px;color:#999}.qr-expired-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.88);border-radius:12px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center}.qr-expired-overlay .qr-expired-text{margin:0;font-size:13px;color:#999}.qr-expired-refresh-btn{margin-top:12px;padding:6px 22px;border:1px solid #e0e0e0;border-radius:15px;background:#fafafa;color:#666;cursor:pointer;font-size:13px;transition:all .2s}.qr-expired-refresh-btn:hover{background:#f0f0f0;border-color:#ccc}.qr-processing-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.94);border-radius:12px;z-index:5;display:none;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:16px}.qr-processing-overlay .qr-spinner{width:28px;height:28px;border:3px solid #e8e8e8;border-top-color:#4caf50;border-radius:50%;animation:qr-spin .9s linear infinite;margin-bottom:12px;flex-shrink:0}.qr-processing-overlay .qr-error-icon{margin-bottom:10px;flex-shrink:0}.qr-processing-overlay .qr-status-text{margin:0;font-size:12px;color:#4caf50;font-weight:500;text-align:center;line-height:1.5;word-break:break-all;max-width:100%}.qr-processing-overlay button{margin-top:14px;padding:6px 16px;font-size:12px;color:#999;background:transparent;border:1px solid #ddd;border-radius:15px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.qr-processing-overlay button:hover{color:#3f51b5;border-color:#3f51b5}