/*! A-08 · 年终奖批次发放与计税选择留痕 · 时间轴（琥珀金 × 节点轴 × 快照卡） */
.ml-a08 {
    --ml-page: #faf7f0;
    --ml-card: #ffffff;
    --ml-card-2: #fbf8f1;
    --ml-ink: #2b2312;
    --ml-sub: #63553a;
    --ml-faint: #968767;
    --ml-line: #ede3cc;
    --ml-line-2: #f7f0e0;
    --ml-accent: #a4760d;
    --ml-accent-2: #d9ab4c;
    --ml-accent-soft: #f8edcf;
    --ml-good: #14775c;
    --ml-good-soft: #e2f3eb;
    --ml-warn: #9c6a12;
    --ml-warn-soft: #faf0d8;
    --ml-bad: #b34034;
    --ml-bad-soft: #fae8e4;
    --ml-font-display: "Songti SC", "STSong", "SimSun", "PingFang SC", serif;
    background:
        radial-gradient(780px 300px at 92% -6%, rgba(217, 171, 76, .18), transparent 62%),
        var(--ml-page);
}
:root[data-theme="dark"] .ml-a08 {
    --ml-page: #15110a;
    --ml-card: #211b10;
    --ml-card-2: #2a2215;
    --ml-ink: #f7edd6;
    --ml-sub: #d3c09a;
    --ml-faint: #a08e6c;
    --ml-line: #3b3119;
    --ml-line-2: #2e2615;
    --ml-accent: #e5bb62;
    --ml-accent-2: #b78c2e;
    --ml-accent-soft: #3a2d15;
    --ml-good-soft: #16352a;
    --ml-warn-soft: #382b13;
    --ml-bad-soft: #3a1e1a;
}
.ml-a08 .ml-hero { grid-template-columns: minmax(0, 1fr) minmax(390px, 500px); }
.ml-a08 h1.ml-h1 { font-weight: 700; }
.ml-a08 .a08-feat { display: grid; gap: 8px; margin-top: 4px; }
.ml-a08 .ml-feature i { border-radius: 50%; background: var(--ml-accent); color: #fff; }
.a08-warn { margin-top: 12px; padding: 10px 13px; border: 1px solid var(--ml-line); border-left: 3px solid var(--ml-bad); border-radius: 8px; background: var(--ml-card); font-size: 12px; color: var(--ml-sub); }

/* ---------- 首屏：批次录入台 ---------- */
.a08-entry { border: 1px solid var(--ml-line); border-radius: 12px; background: var(--ml-card); box-shadow: var(--ml-shadow-lg); overflow: hidden; }
.a08-entry-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 12px 16px; background: linear-gradient(100deg, var(--ml-accent), var(--ml-accent-2)); color: #fff; }
.a08-entry-h b { font-size: 13.5px; font-weight: 800; }
.a08-entry-h span { font: 600 10.5px/1.4 var(--ml-font-num); }
.a08-entry-b { padding: 14px 16px 16px; }
.a08-quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.a08-quick .ml-label { font-size: 10.5px; margin-bottom: 3px; }
.a08-quick .ml-input, .a08-quick .ml-select { padding: 7px 8px; font-size: 12.5px; }
.a08-quick .wide { grid-column: span 2; }
.a08-entry .ml-textarea { min-height: 100px; margin-top: 11px; font-size: 12px; }
.a08-entry .ml-drop { min-height: 46px; margin-top: 8px; }
.a08-entry .ml-btn--primary { width: 100%; }
.a08-entry .ml-btn-row .ml-btn { flex: 1; }

/* ---------- 时间轴 ---------- */
.a08-timeline { position: relative; padding-left: 26px; }
.a08-timeline::before { content: ""; position: absolute; left: 8px; top: 6px; bottom: 6px; width: 2px; background: var(--ml-line); }
.a08-node { position: relative; margin-bottom: 14px; }
.a08-node::before { content: ""; position: absolute; left: -23px; top: 15px; width: 12px; height: 12px; border-radius: 50%; background: var(--ml-accent); border: 3px solid var(--ml-card); box-shadow: 0 0 0 2px var(--ml-accent-soft); }
.a08-node.is-conflict::before { background: var(--ml-bad); box-shadow: 0 0 0 2px var(--ml-bad-soft); }
.a08-card { border: 1px solid var(--ml-line); border-radius: 9px; background: var(--ml-card-2); overflow: hidden; }
.a08-card-h { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; padding: 11px 14px; border-bottom: 1px solid var(--ml-line); }
.a08-card-h b { font: 800 14px/1.5 var(--ml-font-num); }
.a08-card-h span { font-size: 11.5px; color: var(--ml-faint); }
.a08-card-b { padding: 11px 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.a08-card-b > div span { display: block; font-size: 11px; color: var(--ml-faint); }
.a08-card-b > div b { font: 800 14px/1.5 var(--ml-font-num); color: var(--ml-ink); }
.a08-snapshot { margin: 0 14px 13px; }
.a08-snapshot summary { cursor: pointer; font-size: 11.5px; color: var(--ml-accent); }
.a08-snapshot pre { margin: 8px 0 0; padding: 10px 12px; border-radius: 6px; background: var(--ml-card); border: 1px solid var(--ml-line); overflow: auto; max-height: 220px; font: 11px/1.7 var(--ml-font-num); color: var(--ml-sub); }
.a08-hash { display: inline-block; margin-top: 7px; padding: 2px 7px; border-radius: 4px; background: var(--ml-accent-soft); font: 700 10.5px/1.6 var(--ml-font-num); color: var(--ml-accent); }
.a08-conflicts { display: grid; gap: 9px; }
.a08-conflict { padding: 11px 13px; border-left: 3px solid var(--ml-bad); border-radius: 6px; background: var(--ml-bad-soft); font-size: 12.5px; line-height: 1.75; }
.a08-conflict.is-mid { border-left-color: var(--ml-warn); background: var(--ml-warn-soft); }
.a08-conflict b { display: block; font: 800 12.5px/1.5 var(--ml-font-num); }
@media (max-width: 900px) { .ml-a08 .ml-hero { grid-template-columns: 1fr; } .a08-card-b { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .a08-quick { grid-template-columns: repeat(2, 1fr); } }
