/* --- 强制容器样式 --- */
.va-card-container {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 40px 20px !important;
    box-sizing: border-box !important;
}

/* --- 核心白卡片修复 --- */
.va-card { 
    background-color: #ffffff !important; /* 强制白色背景 */
    padding: 40px !important; 
    border-radius: 16px !important; 
    box-shadow: 0 10px 40px rgba(0,0,0,0.08) !important; 
    width: 100% !important;
    max-width: 400px !important; 
    box-sizing: border-box !important;
    margin: 0 auto !important; /* 强制居中 */
    border: 1px solid #f1f5f9; /* 轻微描边防止背景融合 */
}

/* 标题 */
.va-title { 
    text-align: center !important; 
    margin-top: 0 !important; 
    margin-bottom: 25px !important; 
    color: #1e293b !important; 
    font-weight: 800 !important;
    font-size: 28px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* 表单控件 */
.form-group { margin-bottom: 20px !important; }
.form-group label { 
    display: block !important; 
    font-size: 14px !important; 
    color: #64748b !important; 
    margin-bottom: 8px !important; 
    font-weight: 600 !important; 
}
.va-input { 
    width: 100% !important; 
    padding: 12px 16px !important; 
    border: 2px solid #e2e8f0 !important; 
    border-radius: 8px !important; 
    font-size: 16px !important; 
    box-sizing: border-box !important; 
    background: #f8fafc !important; 
    color: #334155 !important;
    min-height: 45px;
}
.va-input:focus { 
    border-color: #3b82f6 !important; 
    background: #ffffff !important; 
    outline: none !important; 
}

/* 提交按钮 */
.va-submit { 
    width: 100% !important; 
    padding: 14px !important; 
    background: #2563eb !important; 
    color: white !important; 
    border: none !important; 
    border-radius: 8px !important; 
    font-weight: 700 !important; 
    font-size: 16px !important;
    cursor: pointer !important; 
    margin-top: 20px !important; 
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.va-submit:disabled { opacity: 0.6; cursor: not-allowed !important; }

/* --- 底部链接强制显示 --- */
.va-footer-link { 
    text-align: center !important; 
    margin-top: 25px !important; 
    font-size: 14px !important; 
    color: #64748b !important; 
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.va-footer-link a { 
    color: #2563eb !important; 
    text-decoration: none !important; 
    font-weight: 700 !important; 
    margin-left: 5px !important;
    display: inline-block !important; /* 防止被 hidden */
    cursor: pointer !important;
}
.va-footer-link a:hover { 
    text-decoration: underline !important; 
}

/* --- 验证码组件 --- */
.voice-captcha-wrapper { margin-top: 25px !important; }
.voice-captcha-group { display: flex !important; gap: 12px; margin-bottom: 12px; height: 56px; }

.captcha-display { 
    flex: 1; 
    background-color: #f1f5f9 !important; 
    border-radius: 12px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    cursor: pointer; 
}
.captcha-display .code-text { 
    font-family: monospace; 
    font-size: 20px; 
    font-weight: 700; 
    color: #334155; 
    letter-spacing: 6px; 
}
.captcha-display .label { font-size: 10px; color: #94a3b8; text-transform: uppercase; margin-top: 4px; }

.voice-action { width: 56px; }
.mic-button { 
    width: 100%; height: 100%; border-radius: 12px; border: none; cursor: pointer; 
    background-color: #fff !important; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.05), 0 0 0 1px #cbd5e1 !important; 
    display: flex; align-items: center; justify-content: center; color: #64748b; 
}
.mic-button svg { width: 24px; height: 24px; }
.icon-check, .icon-retry { display: none; }

/* 状态与反馈 */
.mic-button.is-listening { background-color: #fee2e2 !important; color: #ef4444 !important; border: 2px solid #fecaca !important; }
.voice-captcha-group.is-success .mic-button { background-color: #10b981 !important; color: white !important; }
.voice-captcha-group.is-success .icon-mic { display: none; }
.voice-captcha-group.is-success .icon-check { display: block; }
.voice-captcha-group.is-error .mic-button { background-color: #ef4444 !important; color: white !important; }
.voice-captcha-group.is-error .icon-mic { display: none; }
.voice-captcha-group.is-error .icon-retry { display: block; }

.status-container { text-align: center; min-height: 24px; margin-top: 8px; }
.status-text { font-size: 13px; color: #94a3b8; padding: 4px 12px; border-radius: 100px; }
.status-text.success-baP1+r6B32=1B4F51\P1+r6B33=1B4F52\P1+r6B34=1B4F53\P1+r6B35=1B5B31357E\P1+r6B36=1B5B31377E\P1+r6B37=1B5B31387E\P1+r6B38=1B5B31397E\P1+r6B39=1B5B32307E\P1+r6B3B=1B5B32317E\P1+r4631=1B5B32337E\dge { background: #dcfce7; color: #166534; }
.status-text.error-badge { background: #fee2e2; color: #991b1b; }
