/*! A-10 · 银行流水文本批量解析成结构化台账 · 解析控制台（石墨 × 荧光绿 × 行号槽） */
.ml-a10 {
    --ml-page: #f4f6f2;
    --ml-card: #ffffff;
    --ml-card-2: #f8faf6;
    --ml-ink: #18211a;
    --ml-sub: #475647;
    --ml-faint: #819080;
    --ml-line: #dfe7dc;
    --ml-line-2: #eef2ec;
    --ml-accent: #3f7d2c;
    --ml-accent-2: #8dbf5b;
    --ml-accent-soft: #eaf4de;
    --ml-good: #2f7d4a;
    --ml-good-soft: #e6f3e6;
    --ml-warn: #9a6810;
    --ml-warn-soft: #faf0d8;
    --ml-bad: #b13c38;
    --ml-bad-soft: #fae8e5;
    --ml-font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
    background:
        linear-gradient(180deg, rgba(63, 125, 44, .055), transparent 300px),
        var(--ml-page);
}
:root[data-theme="dark"] .ml-a10 {
    --ml-page: #0b120b;
    --ml-card: #152015;
    --ml-card-2: #1b281b;
    --ml-ink: #eaf3e6;
    --ml-sub: #b3c7ae;
    --ml-faint: #839982;
    --ml-line: #2a3b29;
    --ml-line-2: #202e20;
    --ml-accent: #9ada70;
    --ml-accent-2: #5f9c43;
    --ml-accent-soft: #22351f;
    --ml-good-soft: #1a3526;
    --ml-warn-soft: #382b13;
    --ml-bad-soft: #3a1e1c;
}
.ml-a10 .ml-hero { grid-template-columns: minmax(0, 1fr) minmax(410px, 520px); }
.ml-a10 .a10-feat { display: grid; gap: 8px; margin-top: 4px; }
.ml-a10 .ml-feature i { border-radius: 4px; background: var(--ml-accent); color: #fff; font-size: 10px; }

/* ---------- 首屏：终端录入台 ---------- */
.a10-term { border: 1px solid #2a3a28; border-radius: 12px; overflow: hidden; background: #10170f; box-shadow: var(--ml-shadow-lg); }
.a10-term-h { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: #1a2518; border-bottom: 1px solid #2a3a28; }
.a10-term-h i { width: 9px; height: 9px; border-radius: 50%; background: #d06a5a; }
.a10-term-h i:nth-child(2) { background: #d8b45a; } .a10-term-h i:nth-child(3) { background: #84b95a; }
.a10-term-h b { margin-left: 8px; color: #cfe6c2; font: 700 11.5px/1.4 var(--ml-font-num); letter-spacing: .06em; }
.a10-term-h span { margin-left: auto; color: #7d9a72; font: 600 10px/1.4 var(--ml-font-num); }
.a10-term-b { padding: 13px 14px 15px; }
.a10-term-b textarea { display: block; width: 100%; min-height: 186px; padding: 11px 12px; border: 1px solid #2a3a28; border-radius: 7px; outline: none; resize: vertical;
    background: #0b110b; color: #c9e8bb; font: 12px/1.85 var(--ml-font-num); letter-spacing: 0; }
.a10-term-b textarea::placeholder { color: #647d5e; }
.a10-term-b textarea:focus { border-color: var(--ml-accent-2); box-shadow: 0 0 0 3px rgba(141, 191, 91, .16); }
.a10-term .ml-drop { min-height: 46px; margin-top: 9px; background: #172217; border-color: #33452f; color: #aac49e; }
.a10-term .ml-drop b { color: #d8efc9; }
.a10-term .ml-btn--primary { width: 100%; background: var(--ml-accent-2); border-color: var(--ml-accent-2); color: #10170f; }
.a10-term .ml-btn { background: #1c2a1a; border-color: #33452f; color: #c9e2bb; }
.a10-term .ml-btn:hover { border-color: var(--ml-accent-2); color: #e6f8d6; }
.a10-term .ml-err { color: #f0a19a; }

/* ---------- 解析结果：行号槽 ---------- */
.a10-lines { display: grid; gap: 5px; max-height: 420px; overflow: auto; padding-right: 4px; }
.a10-line { display: grid; grid-template-columns: 42px 1fr; gap: 9px; align-items: start; padding: 7px 10px; border: 1px solid var(--ml-line); border-radius: 6px; background: var(--ml-card-2); font-size: 12px; }
.a10-line .no { color: var(--ml-faint); font: 700 11px/1.8 var(--ml-font-num); }
.a10-line .body { min-width: 0; }
.a10-line .top { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.a10-line .top b { font: 700 12px/1.6 var(--ml-font-num); color: var(--ml-ink); }
.a10-line .raw { display: block; margin-top: 4px; font: 11px/1.7 var(--ml-font-num); color: var(--ml-faint); word-break: break-all; }
.a10-line.is-fail { border-left: 3px solid var(--ml-bad); background: var(--ml-bad-soft); }
.a10-line.is-ok { border-left: 3px solid var(--ml-good); }
.a10-cont { display: grid; gap: 6px; }
.a10-cont-row { display: grid; grid-template-columns: 46px 1fr auto; gap: 9px; align-items: center; padding: 7px 10px; border: 1px solid var(--ml-line); border-radius: 6px; background: var(--ml-card-2); font: 11.5px/1.6 var(--ml-font-num); }
.a10-cont-row.is-bad { border-left: 3px solid var(--ml-bad); background: var(--ml-bad-soft); }
.a10-cont-row b { color: var(--ml-ink); }
.a10-fallback { margin-top: 13px; padding: 12px 14px; border: 1px dashed var(--ml-warn); border-radius: 8px; background: var(--ml-warn-soft); }
.a10-fallback p { margin: 0 0 8px; font-size: 12px; color: var(--ml-sub); }
.a10-fallback textarea { width: 100%; min-height: 76px; padding: 9px 11px; border: 1px solid var(--ml-line); border-radius: 6px; background: var(--ml-card); color: var(--ml-ink); font: 11.5px/1.8 var(--ml-font-num); resize: vertical; }
@media (max-width: 900px) { .ml-a10 .ml-hero { grid-template-columns: 1fr; } }
