/*! 31 · 会议邀请批量解析 · 会议成本控制台（深海军蓝 × 琥珀 × 三列减负看板） */
.dk-31 {
    --ml-page: #f1f4fc;
    --ml-card: #ffffff;
    --ml-card-2: #f7f9fe;
    --ml-ink: #131f38;
    --ml-sub: #4a5876;
    --ml-faint: #8490aa;
    --ml-line: #dce3f3;
    --ml-line-2: #ecf0fa;
    --ml-accent: #3654c9;
    --ml-accent-2: #8ea3ee;
    --ml-accent-soft: #e8edfd;
    --ml-good: #0c8065;
    --ml-good-soft: #e3f5ef;
    --ml-warn: #a86a08;
    --ml-warn-soft: #fbf0d7;
    --ml-bad: #bb3f4a;
    --ml-bad-soft: #fbe9ec;
    --ml-font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
    --m31-amber: #c27a0b;
    --m31-navy: #16264b;
    background: radial-gradient(900px 330px at 4% -8%, rgba(54, 84, 201, .16), transparent 62%), var(--ml-page);
}
:root[data-theme="dark"] .dk-31 {
    --ml-page: #0a1020;
    --ml-card: #141d33;
    --ml-card-2: #1a2540;
    --ml-ink: #e9eefc;
    --ml-sub: #adbcd8;
    --ml-faint: #7e8caa;
    --ml-line: #26334f;
    --ml-line-2: #1d2840;
    --ml-accent: #8aa5ff;
    --ml-accent-2: #5670d8;
    --ml-accent-soft: #202d4d;
    --ml-good-soft: #12342b;
    --ml-warn-soft: #382b13;
    --ml-bad-soft: #3a1d25;
    --m31-amber: #e9b45c;
    --m31-navy: #1b2b50;
}
.dk-31 .ml-hero { grid-template-columns: minmax(0, 1fr) minmax(410px, 500px); }
.dk-31 .ml-feature i { background: var(--m31-navy); color: #fff; }
.dk-31 .dk-console-h { background: var(--m31-navy); }
.dk-31 .dk-console { border-top: 4px solid var(--m31-amber); }
.dk-31 .dk-console .ml-btn--primary { background: var(--m31-amber); border-color: var(--m31-amber); color: #fff; }
.dk-31 .dk-console .ml-btn--primary:hover { color: #fff; }
.dk-31 .dk-line { border-left: 3px solid var(--m31-amber); }
.m31-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 10px; }
.m31-opts .ml-label { font-size: 10.5px; margin-bottom: 3px; }
.m31-opts .ml-input { padding: 7px 9px; font: 700 12.5px/1.45 var(--ml-font-num); }

/* 三列减负看板 */
.m31-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.m31-col { border: 1px solid var(--ml-line); border-radius: 12px; overflow: hidden; background: var(--ml-card); display: flex; flex-direction: column; }
.m31-col-h { padding: 12px 14px; border-bottom: 1px solid var(--ml-line); }
.m31-col-h b { display: block; font-size: 14.5px; }
.m31-col-h small { display: block; margin-top: 2px; }
.m31-col-h span { display: inline-block; margin-top: 7px; padding: 2px 9px; border-radius: 999px; font: 800 11px/1.7 var(--ml-font-num); background: var(--ml-card-2); color: var(--ml-sub); }
.m31-col.is-async .m31-col-h { background: var(--ml-accent-soft); }
.m31-col.is-shorten .m31-col-h { background: var(--ml-warn-soft); }
.m31-col.is-absent .m31-col-h { background: var(--ml-good-soft); }
.m31-col.is-async .m31-col-h b { color: var(--ml-accent); }
.m31-col.is-shorten .m31-col-h b { color: var(--ml-warn); }
.m31-col.is-absent .m31-col-h b { color: var(--ml-good); }
.m31-col-b { padding: 12px; display: grid; gap: 9px; align-content: start; max-height: 430px; overflow: auto; }
.m31-card { padding: 11px 12px; border: 1px solid var(--ml-line-2); border-radius: 8px; background: var(--ml-card-2); }
.m31-card > b { display: block; font-size: 13px; line-height: 1.55; }
.m31-card .meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 7px 0; }
.m31-card p { margin: 0 0 6px; font-size: 12px; line-height: 1.7; color: var(--ml-sub); }
.m31-card .gain { font: 800 12px/1.5 var(--ml-font-num); color: var(--m31-amber); }
.m31-card .src { display: block; margin-top: 6px; }

/* 发起人横条 */
.m31-bars { display: grid; gap: 11px; }
.m31-bar { display: grid; grid-template-columns: 108px 1fr 100px; gap: 10px; align-items: center; font-size: 12.5px; }
.m31-bar > span { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m31-bar .track { height: 12px; border-radius: 6px; background: var(--ml-line-2); overflow: hidden; }
.m31-bar .track i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, var(--ml-accent), var(--m31-amber)); }
.m31-bar b { font: 800 12px/1.5 var(--ml-font-num); text-align: right; }
@media (max-width: 1000px) { .m31-board { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .dk-31 .ml-hero { grid-template-columns: 1fr; } }
