/* 前端表单 */
.tcmr-wrap { max-width:760px; margin:0 auto; background:#fff; border:1px solid #e6eae7; border-radius:14px; padding:28px 30px; box-sizing:border-box; font-size:15px; line-height:1.7; }
.tcmr-wrap * { box-sizing:border-box; }
.tcmr-title { font-size:22px; margin:6px 0 4px; color:#1d4636; }
.tcmr-intro, .tcmr-note { color:#777; font-size:13px; }

.tcmr-langs { text-align:right; font-size:13px; color:#999; }
.tcmr-langs a { margin-left:10px; text-decoration:none; color:#2f7d5b; border:1px solid #cfe0d6; padding:2px 10px; border-radius:12px; }
.tcmr-langs a.on { background:#2f7d5b; color:#fff; border-color:#2f7d5b; }

.tcmr-steps { display:flex; list-style:none; padding:0; margin:20px 0; border-bottom:2px solid #eef2f0; }
.tcmr-steps li { flex:1; text-align:center; padding:10px 4px; font-size:13px; color:#aaa; position:relative; }
.tcmr-steps li.on { color:#2f7d5b; font-weight:600; }
.tcmr-steps li.on::after { content:""; position:absolute; left:15%; right:15%; bottom:-2px; height:3px; background:#2f7d5b; border-radius:2px; }

.tcmr-pane { display:none; }
.tcmr-pane.on { display:block; }

.tcmr-field { margin-bottom:16px; }
.tcmr-field > label { display:block; font-weight:600; margin-bottom:6px; font-size:14px; }
.tcmr-field input[type=text], .tcmr-field input[type=email], .tcmr-field input[type=number],
.tcmr-field textarea { width:100%; border:1px solid #d5dcd8; border-radius:8px; padding:9px 12px; font-size:14px; }
.tcmr-field textarea { resize:vertical; }
.tcmr-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tcmr-two > div > label { display:block; font-weight:600; margin-bottom:6px; font-size:14px; }

.tcmr-group { border:1px solid #eef2f0; border-radius:10px; padding:12px 16px; margin-bottom:14px; }
.tcmr-group legend { font-size:13px; color:#2f7d5b; font-weight:600; padding:0 8px; }
.tcmr-q { margin-bottom:12px; }
.tcmr-q p { margin:0 0 6px; font-size:14px; }

.tcmr-opts { display:flex; flex-wrap:wrap; gap:8px; }
.tcmr-opts label { cursor:pointer; }
.tcmr-opts input { position:absolute; opacity:0; }
.tcmr-opts span { display:inline-block; padding:5px 14px; border:1px solid #d5dcd8; border-radius:18px; font-size:13px; color:#555; transition:all .15s; }
.tcmr-opts input:checked + span { background:#2f7d5b; border-color:#2f7d5b; color:#fff; }

.tcmr-uploads { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:12px 0; }
.tcmr-upload { border:1px dashed #c9d6ce; border-radius:10px; padding:14px; text-align:center; }
.tcmr-upload h4 { margin:0 0 4px; font-size:14px; }
.tcmr-tip { font-size:12px; color:#888; margin:0 0 8px; }
.tcmr-example { margin:8px 0; }
.tcmr-example span { display:block; font-size:11px; color:#aaa; }
.tcmr-example img { max-width:100%; max-height:130px; border-radius:8px; border:1px solid #eee; }
.tcmr-filebtn { display:inline-block; background:#2f7d5b; color:#fff; padding:7px 18px; border-radius:8px; cursor:pointer; font-size:13px; margin-top:6px; }
.tcmr-fname { display:block; font-size:12px; color:#888; margin-top:6px; word-break:break-all; }
.tcmr-preview img { max-width:100%; max-height:180px; margin-top:8px; border-radius:8px; border:1px solid #ddd; }

.tcmr-consent { display:flex; gap:10px; align-items:flex-start; font-size:14px; cursor:pointer; }
.tcmr-consent input { margin-top:4px; }

.tcmr-nav { display:flex; justify-content:space-between; margin-top:22px; }
.tcmr-btn { background:#2f7d5b; color:#fff; border:none; border-radius:8px; padding:10px 26px; font-size:15px; cursor:pointer; text-decoration:none; display:inline-block; }
.tcmr-btn:disabled { opacity:.6; cursor:not-allowed; }
.tcmr-btn.ghost { background:#fff; color:#2f7d5b; border:1px solid #2f7d5b; }
.tcmr-btn:hover { filter:brightness(1.05); }

.tcmr-err, .tcmr-err2 { background:#fdecea; color:#b03a2e; border:1px solid #f5c6c0; border-radius:8px; padding:10px 14px; margin-top:14px; font-size:13px; }
.tcmr-success { text-align:center; padding:30px 10px; }
.tcmr-success h3 { color:#2f7d5b; font-size:20px; }
.tcmr-caseno { display:flex; gap:10px; justify-content:center; align-items:center; margin:12px 0; }
.tcmr-caseno code { font-size:20px; background:#f0f7f3; border:1px solid #cfe0d6; padding:8px 16px; border-radius:8px; letter-spacing:1px; }

.tcmr-hp { position:absolute; left:-9999px; top:-9999px; height:0; width:0; overflow:hidden; }
.tcmr-result { margin-top:18px; font-size:14px; }

/* 登录提示 */
.tcmr-loginbox { text-align:center; padding:36px 10px; }
.tcmr-loginbox p { margin:10px 0; }
.tcmr-loginbox .tcmr-btn { margin:0 6px; }

/* 简易报告 + 付费墙 */
.tcmr-free-report { background:#f6faf7; border:1px solid #d9e8de; border-radius:12px; padding:18px 22px; margin-top:16px; }
.tcmr-free-report h3 { margin:0 0 10px; color:#1d4636; font-size:17px; }
.tcmr-free-report.small { padding:12px 16px; font-size:13px; }
.tcmr-report-body { font-size:14px; line-height:1.9; color:#444; }
.tcmr-caseno-line { margin:12px 0 0; font-size:13px; color:#888; }
.tcmr-caseno-line code { background:#fff; border:1px solid #d9e8de; padding:2px 8px; border-radius:6px; }

.tcmr-disc-box { background:#fdf6e5; border:1px solid #f0dcae; color:#8a6d1d; border-radius:10px; padding:12px 16px; font-size:13px; margin:16px 0; }

.tcmr-paywall { text-align:center; border:2px solid #2f7d5b; border-radius:14px; padding:26px 24px; margin-top:6px; background:#fbfdfc; }
.tcmr-paywall h3 { margin:0 0 8px; color:#1d4636; font-size:19px; }
.tcmr-paywall > p { font-size:14px; color:#666; }
.tcmr-price { font-size:34px; font-weight:700; color:#2f7d5b; margin:10px 0 4px; }
.tcmr-price-orig { display:inline-block; vertical-align:middle; margin-right:14px; color:#999; font-size:18px; font-weight:400; }
.tcmr-price-orig s { font-size:20px; }
.tcmr-price-orig small { display:block; font-size:12px; color:#aaa; }
.tcmr-price-today { display:inline-block; vertical-align:middle; }
.tcmr-price-today strong { font-size:34px; color:#2f7d5b; }
.tcmr-price-today small { display:block; font-size:12px; color:#b3541e; font-weight:600; letter-spacing:.5px; }
.tcmr-btn-lg { font-size:17px; padding:13px 42px; }
.tcmr-paywall .tcmr-btn.ghost { margin-top:6px; }

/* 审核中 */
.tcmr-inreview { text-align:center; padding:30px 10px; font-size:15px; }
.tcmr-inreview code { background:#f0f7f3; border:1px solid #cfe0d6; padding:4px 12px; border-radius:8px; }

@media (max-width:640px) {
    .tcmr-wrap { padding:18px 16px; }
    .tcmr-two, .tcmr-uploads { grid-template-columns:1fr; }
    .tcmr-steps li { font-size:11px; }
}
