/* id-card-verify 身份证校验 —— 专有样式（基础变量复用 life-calc.css 的 #app） */

#app .icv-input-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
#app .icv-input {
    flex: 1 1 260px;
    min-width: 220px;
    font-size: 1.05rem;
    letter-spacing: 1px;
    font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
}
#app .icv-hint {
    color: var(--text-secondary);
    font-size: 0.85rem;
    margin-top: 8px;
}

#app .icv-result {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
}
#app .icv-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 6px 0;
}
#app .icv-label {
    color: var(--text-secondary);
    font-size: 0.85rem;
    min-width: 42px;
}
#app .icv-val {
    font-weight: 600;
    color: var(--text);
}
#app .icv-badge {
    display: inline-block;
    padding: 2px 12px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
}
#app .icv-badge.ok { background: var(--success-bg); color: var(--success); }
#app .icv-badge.bad { background: var(--danger-bg); color: var(--danger); }
#app .icv-note { color: var(--text-secondary); font-size: 0.8rem; font-weight: 400; }
#app .icv-warn { color: var(--warning); font-weight: 600; }

#app .icv-struct-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--border);
}
#app .icv-struct {
    font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
    font-size: 1.1rem;
    letter-spacing: 2px;
}
#app .icv-seg { padding: 1px 6px; border-radius: 6px; color: #fff; }
#app .icv-seg.rg { background: #6366f1; }
#app .icv-seg.bt { background: var(--primary); }
#app .icv-seg.sq { background: #0ea5e9; }
#app .icv-seg.ck { background: var(--success); }
#app .icv-sep { color: var(--text-secondary); }
#app .icv-struct-legend {
    margin-top: 8px;
    font-size: 0.8rem;
    color: var(--text-secondary);
}

#app .icv-batch-area {
    width: 100%;
    min-height: 120px;
    font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
    letter-spacing: 1px;
    resize: vertical;
}
#app .icv-batch-out { margin-top: 14px; }
#app .icv-batch-sum {
    padding: 10px 12px;
    background: var(--bg);
    border-radius: var(--radius);
    margin-bottom: 10px;
}
#app .icv-batch-sum .t-ok { color: var(--success); }
#app .icv-batch-sum .t-bad { color: var(--danger); }
#app .icv-batch-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 360px;
    overflow: auto;
}
#app .icv-row {
    display: grid;
    grid-template-columns: 1.4fr 1.2fr 1fr 0.6fr;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 0.88rem;
    align-items: center;
}
#app .icv-row.ok { background: var(--success-bg); }
#app .icv-row.bad { background: var(--danger-bg); }
#app .icv-id { font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace; font-weight: 600; }

#app .icv-faq p { margin: 8px 0; line-height: 1.75; }
#app .icv-faq code {
    background: var(--bg);
    padding: 1px 6px;
    border-radius: 5px;
    font-size: 0.85rem;
    color: var(--primary);
}
#app .icv-privacy {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 12px;
    padding: 10px 12px;
    background: var(--warning-bg);
    color: #92400e;
    border-radius: var(--radius);
    font-size: 0.88rem;
}
#app .icv-privacy svg { flex: none; margin-top: 2px; color: var(--warning); }
