/*! A-07 · 报销单发票台账信用卡三方勾稽 · 三源比对台（琥珀橙 × 三栏源 × 四象限结果） */
.ml-a07 {
    --ml-page: #fbf6ef;
    --ml-card: #ffffff;
    --ml-card-2: #fdf9f3;
    --ml-ink: #2b2016;
    --ml-sub: #63513e;
    --ml-faint: #98826a;
    --ml-line: #eee0cd;
    --ml-line-2: #f7eee1;
    --ml-accent: #bd6c16;
    --ml-accent-2: #e4a45c;
    --ml-accent-soft: #fbeedb;
    --ml-good: #127a5d;
    --ml-good-soft: #e2f3eb;
    --ml-warn: #a26a10;
    --ml-warn-soft: #faf0d8;
    --ml-bad: #b33f35;
    --ml-bad-soft: #fae9e5;
    --ml-font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
    background:
        linear-gradient(120deg, rgba(228, 164, 92, .09), transparent 520px),
        var(--ml-page);
}
:root[data-theme="dark"] .ml-a07 {
    --ml-page: #171109;
    --ml-card: #221a11;
    --ml-card-2: #2b2116;
    --ml-ink: #f8eddc;
    --ml-sub: #d3bd9f;
    --ml-faint: #a18b70;
    --ml-line: #3d2f1e;
    --ml-line-2: #302517;
    --ml-accent: #f0b263;
    --ml-accent-2: #c78a37;
    --ml-accent-soft: #3a2a16;
    --ml-good-soft: #16352a;
    --ml-warn-soft: #382b13;
    --ml-bad-soft: #3a1e1a;
}
.ml-a07 .ml-hero { grid-template-columns: minmax(0, .85fr) minmax(0, 1.6fr); }
.ml-a07 .a07-feat { display: grid; gap: 8px; margin-top: 4px; }
.ml-a07 .ml-feature i { background: var(--ml-accent); color: #fff; border-radius: 50%; }

/* ---------- 首屏：三源录入台 ---------- */
.a07-console { background: var(--ml-card); border: 1px solid var(--ml-line); border-radius: 14px; box-shadow: var(--ml-shadow-lg); overflow: hidden; }
.a07-console-h { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 11px 15px; background: var(--ml-accent); color: #fff; }
.a07-console-h b { font-size: 13.5px; font-weight: 800; }
.a07-console-h span { font: 600 10.5px/1.4 var(--ml-font-num); opacity: .92; }
.a07-console-b { padding: 14px 15px 15px; }
.a07-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.a07-src { border: 1px solid var(--ml-line); border-top: 3px solid var(--ml-accent); border-radius: 7px; overflow: hidden; background: var(--ml-card-2); }
.a07-src:nth-child(2) { border-top-color: #4b8fb0; }
.a07-src:nth-child(3) { border-top-color: #7a68b0; }
.a07-src-h { display: flex; justify-content: space-between; align-items: center; padding: 7px 9px; border-bottom: 1px solid var(--ml-line); }
.a07-src-h b { font-size: 11.5px; }
.a07-src-h label { font-size: 10.5px; color: var(--ml-accent); cursor: pointer; text-decoration: underline; }
.a07-src textarea { display: block; width: 100%; min-height: 108px; padding: 8px 9px; border: 0; outline: none; resize: vertical; background: transparent; color: var(--ml-ink); font: 11.5px/1.7 var(--ml-font-num); }
.a07-src textarea::placeholder { color: var(--ml-faint); }
.a07-params { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 1fr; gap: 9px; margin-top: 11px; align-items: end; }
.a07-params .ml-label { font-size: 10.5px; margin-bottom: 3px; }
.a07-params .ml-input { padding: 7px 8px; font-size: 12.5px; }
.a07-alias { margin-top: 10px; }
.a07-alias summary { cursor: pointer; font-size: 12px; color: var(--ml-sub); }
.a07-alias textarea { width: 100%; min-height: 62px; margin-top: 7px; padding: 8px 10px; border: 1px solid var(--ml-line); border-radius: 8px; background: var(--ml-card-2); color: var(--ml-ink); font: 11.5px/1.7 var(--ml-font-num); resize: vertical; }
.a07-console .ml-btn--primary { width: 100%; }
.a07-console .ml-btn-row .ml-btn { flex: 1; }

/* ---------- 四类结果 ---------- */
.a07-quad { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.a07-bucket { border: 1px solid var(--ml-line); border-radius: 10px; overflow: hidden; background: var(--ml-card); }
.a07-bucket-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 11px 14px; border-bottom: 1px solid var(--ml-line); }
.a07-bucket-h b { font-size: 14px; }
.a07-bucket-h span { font: 700 12px/1.4 var(--ml-font-num); }
.a07-bucket.full .a07-bucket-h { background: var(--ml-good-soft); }
.a07-bucket.noInvoice .a07-bucket-h { background: var(--ml-warn-soft); }
.a07-bucket.duplicate .a07-bucket-h { background: var(--ml-bad-soft); }
.a07-bucket.cardOrphan .a07-bucket-h { background: var(--ml-accent-soft); }
.a07-bucket-b { padding: 12px 14px; max-height: 330px; overflow: auto; }
.a07-row { padding: 9px 11px; margin-bottom: 8px; border: 1px solid var(--ml-line-2); border-left: 3px solid var(--ml-accent); border-radius: 6px; background: var(--ml-card-2); font-size: 12.5px; line-height: 1.75; }
.a07-row b { display: block; font: 800 12px/1.5 var(--ml-font-num); }
.a07-row small { color: var(--ml-faint); }
.a07-row .raw { display: block; margin-top: 5px; padding: 5px 8px; border-radius: 4px; background: var(--ml-card); font: 11px/1.7 var(--ml-font-num); color: var(--ml-sub); word-break: break-all; }
.a07-ai { margin-top: 16px; padding: 14px 16px; border: 1px dashed var(--ml-accent); border-radius: 10px; background: var(--ml-accent-soft); }
.a07-ai p { margin: 0 0 9px; font-size: 12px; color: var(--ml-sub); }
.a07-ai-out { margin-top: 9px; padding: 11px 13px; border-radius: 7px; background: var(--ml-card); font-size: 12.5px; line-height: 1.85; white-space: pre-wrap; }
@media (max-width: 1000px) { .a07-quad { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .ml-a07 .ml-hero { grid-template-columns: 1fr; } .a07-sources { grid-template-columns: 1fr; } .a07-params { grid-template-columns: repeat(2, 1fr); } }
