.monthly-workspace { display:grid; gap:22px; }
.monthly-workspace .card { padding:24px; min-width:0; }
.monthly-workspace h2 { margin:0 0 8px; font-size:20px; }
.monthly-workspace h3 { margin:24px 0 12px; font-size:15px; }
.monthly-notice { background:#eef3f8; border:1px solid #d8e2ed; border-radius:8px; padding:16px 20px; font-size:13px; line-height:1.7; color:#40536c; }
.monthly-notice p { margin:7px 0 0; }
.monthly-help { font-size:12px; line-height:1.65; color:#65748a; }
.monthly-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.monthly-workspace .section-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:18px; }
.monthly-workspace .section-heading p { margin:0; font-size:12px; color:#65748a; }
.monthly-workspace table small { display:block; font-size:10px; margin-top:5px; color:#718096; }
.monthly-workspace .monthly-total td { font-weight:700; border-top:1px solid #bbc7d7; background:#f7f9fc; }
.monthly-selected { background:#eef4ff; }
.monthly-missing { color:#8a6a39; font-size:11px; }
.monthly-import-grid { display:grid; grid-template-columns:minmax(150px,240px) minmax(240px,1fr); gap:20px; margin:20px 0; }
.monthly-import-grid label { display:grid; gap:8px; font-weight:600; font-size:12px; }
.monthly-import-grid select,.monthly-import-grid input { min-height:40px; width:100%; min-width:0; border:1px solid #d8e0eb; border-radius:6px; padding:8px; color:#24354e; background:#fff; }
.monthly-source-label { display:block; margin-bottom:8px; font-size:12px; font-weight:600; }
#monthly-csv-input { width:100%; border:1px solid #d8e0eb; border-radius:6px; padding:12px; font:12px/1.6 ui-monospace,monospace; resize:vertical; }
.monthly-mapping-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:24px; }
.monthly-mapping-heading h3 { margin:0; }
.monthly-mapping-table { min-width:980px; }
.monthly-mapping-table td:first-child { min-width:210px; max-width:270px; }
.monthly-mapping-table td:first-child span { display:block; margin-top:4px; }
.monthly-mapping-table input:not([type=checkbox]) { min-width:150px; width:100%; font-size:12px; line-height:1.5; font-family:inherit; padding:8px; border:1px solid #ccd7e6; border-radius:4px; }
.monthly-mapping-table input[type=checkbox],.monthly-confirm input { width:16px; height:16px; accent-color:#254e90; }
.monthly-confirm { display:flex; gap:10px; align-items:flex-start; font-size:12px; line-height:1.7; margin:24px 0 18px; }
.monthly-confirm input { flex-shrink:0; margin-top:3px; }
@media(max-width:720px) { .monthly-workspace .card { padding:16px; } .monthly-import-grid { grid-template-columns:1fr; } .monthly-workspace .section-heading,.monthly-mapping-heading { flex-direction:column; } }
/* Headline figures for the selected month. */
.monthly-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0 18px}
.monthly-kpis>div{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:3px;background:#fff}
.monthly-kpis span{font-size:11px;color:var(--muted)}
.monthly-kpis strong{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.monthly-kpis small{font-size:12px;color:var(--muted)}
