*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.auth-page[data-v-ed32d9d7]{justify-content:center;align-items:center;min-height:100vh;padding:clamp(12px,4vw,32px);display:flex}.auth-card[data-v-ed32d9d7]{background:#fff;border-radius:16px;width:100%;max-width:460px;padding:clamp(24px,5vw,40px) clamp(20px,5vw,36px);animation:.45s ease-out slideIn-ed32d9d7;box-shadow:0 8px 32px #0000001f}@keyframes slideIn-ed32d9d7{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.info-section[data-v-ed32d9d7]{margin-bottom:clamp(16px,3vw,24px)}.section-label[data-v-ed32d9d7]{color:#667eea;align-items:center;gap:8px;margin-bottom:14px;font-size:clamp(13px,2.5vw,14px);font-weight:600;display:flex}.section-label[data-v-ed32d9d7]:before{content:"";background:linear-gradient(#667eea,#764ba2);border-radius:2px;width:4px;height:16px;display:inline-block}.info-row[data-v-ed32d9d7]{align-items:center;margin-bottom:clamp(12px,2.5vw,16px);display:flex}.info-row label[data-v-ed32d9d7]{color:#4a5568;text-align:right;flex-shrink:0;width:clamp(64px,15vw,72px);margin-right:clamp(8px,2vw,12px);font-size:clamp(13px,2.5vw,14px)}.info-row input[data-v-ed32d9d7]{color:#2d3748;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;flex:1;min-width:0;height:clamp(38px,7vw,44px);padding:0 clamp(10px,2vw,14px);font-size:clamp(13px,2.5vw,15px);transition:border-color .25s,box-shadow .25s}.info-row input[data-v-ed32d9d7]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.info-row input.readonly[data-v-ed32d9d7]{color:#718096;cursor:default;background:#f7fafc;border-style:dashed}.divider[data-v-ed32d9d7]{background:linear-gradient(90deg,#0000,#e2e8f0,#0000);height:1px;margin:clamp(16px,3vw,24px) 0}.code-row .code-wrap[data-v-ed32d9d7]{flex:1;gap:clamp(6px,1.5vw,10px);min-width:0;display:flex}.code-wrap input[data-v-ed32d9d7]{color:#2d3748;box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;flex:1;min-width:0;height:clamp(38px,7vw,44px);padding:0 clamp(10px,2vw,14px);font-size:clamp(13px,2.5vw,15px);transition:border-color .25s,box-shadow .25s}.code-wrap input[data-v-ed32d9d7]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.send-btn[data-v-ed32d9d7]{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;flex-shrink:0;height:clamp(38px,7vw,44px);padding:0 clamp(10px,2vw,16px);font-size:clamp(12px,2.2vw,13px);font-weight:500;transition:opacity .2s,transform .15s}.send-btn[data-v-ed32d9d7]:not(:disabled):active{transform:scale(.96)}.send-btn[data-v-ed32d9d7]:disabled{cursor:not-allowed;background:#cbd5e0}.send-btn[data-v-ed32d9d7]:not(:disabled):hover{opacity:.9}.msg[data-v-ed32d9d7]{text-align:center;color:#ed8936;background:#fffaf0;border:1px solid #fbd38d;border-radius:8px;margin:4px 0;padding:8px 12px;font-size:clamp(12px,2.2vw,13px)}.confirm-btn[data-v-ed32d9d7]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:clamp(44px,8vw,50px);margin-top:clamp(20px,4vw,28px);font-size:clamp(15px,3vw,17px);font-weight:600;transition:opacity .2s,transform .15s;display:flex;position:relative}.confirm-btn[data-v-ed32d9d7]:not(:disabled):active{transform:scale(.98)}.confirm-btn[data-v-ed32d9d7]:disabled{cursor:not-allowed;background:#cbd5e0}.confirm-btn[data-v-ed32d9d7]:not(:disabled):hover{opacity:.92}.spinner[data-v-ed32d9d7]{border:2.5px solid #ffffff80;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin-ed32d9d7;display:inline-block}@keyframes spin-ed32d9d7{to{transform:rotate(360deg)}}.footer-text[data-v-ed32d9d7]{text-align:center;color:#a0aec0;margin-top:clamp(12px,2.5vw,18px);font-size:clamp(11px,2vw,12px)}.footer-text span[data-v-ed32d9d7]{color:#667eea;cursor:pointer}.footer-text span[data-v-ed32d9d7]:hover{text-decoration:underline}.qr-scanner[data-v-ed32d9d7]{border-radius:12px;width:100%;position:relative;overflow:hidden}.qr-reader[data-v-ed32d9d7]{background:#1a202c;border-radius:10px;width:100%;overflow:hidden}.close-scan[data-v-ed32d9d7]{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#0000008c;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;transition:background .2s;display:flex;position:absolute;top:10px;right:10px}.scan-tools[data-v-ed32d9d7]{gap:10px;margin-top:10px;display:flex}.tool-btn[data-v-ed32d9d7]{color:#2d3748;cursor:pointer;background:#edf2f7;border:none;border-radius:8px;flex:1;height:36px;font-size:13px;font-weight:500}.tool-file-label[data-v-ed32d9d7]{justify-content:center;align-items:center;display:inline-flex}.tool-btn[data-v-ed32d9d7]:disabled{opacity:.55;cursor:not-allowed}.hidden-file-input[data-v-ed32d9d7],.hidden-file-reader[data-v-ed32d9d7]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.close-scan[data-v-ed32d9d7]:hover{background:#000000b3}.action-row[data-v-ed32d9d7]{gap:10px;margin-top:clamp(12px,2.5vw,18px);display:flex}.scan-btn[data-v-ed32d9d7]{color:#667eea;cursor:pointer;background:0 0;border:1.5px solid #667eea;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;width:auto;height:36px;margin-top:0;padding:0 18px;font-size:13px;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.scan-btn svg[data-v-ed32d9d7]{flex-shrink:0;width:16px;height:16px}.scan-btn[data-v-ed32d9d7]:hover{color:#fff;background:#667eea}.scan-btn[data-v-ed32d9d7]:active{transform:scale(.97)}.scan-result[data-v-ed32d9d7]{color:#4a5568;white-space:pre-wrap;word-wrap:break-word;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:clamp(12px,2.5vw,18px);padding:10px 14px;font-size:13px}.scan-result p[data-v-ed32d9d7]{color:#667eea;margin:0 0 4px;font-size:12px;font-weight:600}@media (width<=480px){.auth-card[data-v-ed32d9d7]{box-shadow:none;border-radius:0;min-height:100vh}.auth-page[data-v-ed32d9d7]{padding:0}}@media (width>=768px){.auth-card[data-v-ed32d9d7]{padding:40px 44px}}
