/* 最优分配看板：版式沿用导出的静态报表 */
.oa-tabs { display: flex; gap: 6px; margin: 0 0 14px; border-bottom: 1px solid #e4e8ee; }
.oa-tab {
    border: 1px solid transparent;
    border-bottom: none;
    background: transparent;
    color: #66727f;
    font-size: 14px;
    padding: 8px 16px;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
    margin-bottom: -1px;
}
.oa-tab:hover { color: #2f7ed8; }
.oa-tab.active {
    background: #fff;
    border-color: #e4e8ee;
    color: #2f7ed8;
    font-weight: 600;
}

.oa-section { padding-bottom: 20px; }
.oa-header { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; justify-content: space-between; }
.oa-title { font-size: 20px; margin: 0 0 4px; }
.oa-sub { color: #66727f; font-size: 13px; margin: 0; }
.oa-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
/* 数据日期条：整个看板的时间锚点，放在 KPI 之上 */
.oa-databar {
    display: flex; flex-wrap: wrap; gap: 8px 18px;
    align-items: center; justify-content: space-between;
    background: #fff;
    border: 1px solid #e4e8ee;
    border-left: 4px solid #2f7ed8;
    border-radius: 10px;
    padding: 12px 18px;
    margin: 14px 0 16px;
}
.oa-databar-main { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.oa-databar-label { font-size: 12px; color: #66727f; }
.oa-databar-date {
    font-size: 24px; font-weight: 700; color: #1f2d3d;
    letter-spacing: .5px; font-variant-numeric: tabular-nums; line-height: 1.2;
}
.oa-databar-range { font-size: 12.5px; color: #66727f; }
.oa-databar-meta { font-size: 12.5px; color: #9aa5b1; }
.oa-databar.is-empty .oa-databar-date { font-size: 17px; color: #9aa5b1; }
@media (max-width: 640px) { .oa-databar-date { font-size: 20px; } }
.oa-h2 { font-size: 18px; margin: 28px 0 12px; padding-left: 10px; border-left: 4px solid #2f7ed8; }
.oa-block-title { font-weight: 600; margin: 14px 0 4px; font-size: 14px; color: #3e4c59; }
.oa-cap { font-size: 12px; color: #66727f; margin-top: 10px; }

.oa-kpis { display: flex; gap: 14px; flex-wrap: wrap; }
.oa-card {
    background: #fff;
    border: 1px solid #e4e8ee;
    border-radius: 10px;
    padding: 14px 16px;
    flex: 1;
    min-width: 170px;
}
.oa-card .k { font-size: 12px; color: #66727f; }
.oa-card .v { font-size: 23px; font-weight: 700; margin-top: 4px; }
.oa-card .d { font-size: 12px; color: #9aa5b1; margin-top: 3px; }

.oa-table { width: 100%; border-collapse: collapse; background: #fff; margin-top: 6px; font-size: 13px; }
.oa-table th, .oa-table td { padding: 8px 10px; border-bottom: 1px solid #eef1f5; text-align: right; }
.oa-table th { background: #f0f4f9; color: #3e4c59; font-weight: 600; }
.oa-table th.l, .oa-table td.l { text-align: left; }
/* 省份表 12 列（含 8 个细分重量档），窄屏靠 data-table-wrapper 横向滚动 */
.oa-table-wide { min-width: 1180px; }
.oa-table tr.subt td { background: #fff8e6; font-weight: 700; }
.oa-table tr.muni td { background: #fdf3d0; }
.oa-table tr.muni td.l { font-weight: 600; }
.oa-table .bad { color: #c0392b; }
.oa-table .good { color: #1e8e3e; }

.oa-bar { background: #eef1f5; border-radius: 4px; height: 14px; width: 90px; display: inline-block; vertical-align: middle; overflow: hidden; }
.oa-bar span { display: block; height: 100%; }
.oa-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 900px) { .oa-grid2 { grid-template-columns: 1fr; } }

.oa-note {
    background: #fffbe6;
    border: 1px solid #ffe08a;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 12.5px;
    color: #6b5b00;
    margin-top: 14px;
    line-height: 1.8;
}
.oa-empty { color: #9aa5b1; font-size: 13px; padding: 10px 0; }

/* 省份行展开：成本增加原因 */
.oa-row-expandable { cursor: pointer; }
.oa-row-expandable:hover td { background: #f2f7fd; }
.oa-row-expandable[aria-expanded="true"] td { background: #eaf2fc; }
.oa-row-expandable:focus-visible { outline: 2px solid #2f7ed8; outline-offset: -2px; }
.oa-caret {
    display: inline-block; width: 14px;
    color: #66727f; font-size: 10px;
    transition: transform .15s ease;
}
.oa-row-expandable[aria-expanded="true"] .oa-caret { transform: rotate(90deg); }
.oa-detail-row > td { background: #f7f9fc; padding: 0; }
.oa-detail-panel { padding: 12px 16px 14px; }
.oa-detail-summary { font-size: 12.5px; color: #3e4c59; margin-bottom: 8px; }
.oa-detail-table { margin-top: 0; font-size: 12.5px; min-width: 880px; }
.oa-detail-table th { background: #e8eef6; }
.oa-detail-empty { color: #9aa5b1; font-size: 12.5px; padding: 10px 2px; }
@media (prefers-reduced-motion: reduce) { .oa-caret { transition: none; } }
