.cmr-report { color: #17324d; font-family: inherit; font-size: 14px; min-width: 0; width: 100%; box-sizing: border-box; }
.cmr-report * { box-sizing: border-box; }
.cmr-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.cmr-header h3 { margin: 0 0 5px; font-size: 18px; }
.cmr-header p, .cmr-basis { color: #64748b; font-size: 12px; line-height: 1.7; }
.cmr-header p { margin: 0; }
.cmr-header label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; }
.cmr-month { padding: 8px; border: 1px solid #cbd5e1; border-radius: 7px; background: white; color: #17324d; font: inherit; }
.cmr-summary { padding: 12px 14px; background: #eef6fc; border-left: 3px solid #2c81ac; border-radius: 5px; line-height: 1.8; }
.cmr-benefits { margin: 16px 0; padding: 12px; border: 1px solid #dcd9f2; border-radius: 9px; background: #faf9ff; }
.cmr-benefits>h4 { margin: 0 0 8px; color: #534c82; }
.cmr-benefit-intro { font-size: 11px; line-height: 1.7; color: #64748b; margin: 8px 0; }
.cmr-benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.cmr-benefit-grid-single { grid-template-columns: 1fr; }
.cmr-benefit-card { padding: 12px; background: #fff; border: 1px solid #e2dff0; border-radius: 7px; min-width: 0; overflow-wrap: anywhere; }
.cmr-benefit-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.cmr-benefit-heading h5 { margin: 0; font-size: 13px; }
.cmr-benefit-status { font-size: 10px; color: #534c82; background: #f0edf9; padding: 3px 6px; border-radius: 4px; }
.cmr-benefit-card p { margin: 9px 0 0; font-size: 11px; line-height: 1.8; color: #526277; }
.cmr-benefit-card strong { display: block; margin-top: 9px; font-size: 17px; color: #534c82; }
.cmr-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.cmr-card { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid #d8e3ef; border-radius: 9px; padding: 12px; min-width: 0; }
.cmr-card>span { font-size: 12px; color: #475569; }
.cmr-card strong { font-size: 22px; color: #16638d; overflow-wrap: anywhere; }
.cmr-card small { color: #64748b; font-size: 11px; line-height: 1.5; }
.cmr-breakdown { margin-top: 16px; padding: 10px 12px; background: #f8fafc; border-radius: 7px; }
.cmr-report h4 { margin: 18px 0 10px; font-size: 14px; }
.cmr-breakdown h4 { margin: 0 0 7px; }
.cmr-breakdown p { margin: 0; font-size: 12px; line-height: 1.8; }
.cmr-trend>div { display: grid; grid-template-columns: 64px minmax(0, 1fr) 50px; align-items: center; gap: 9px; margin: 8px 0; font-size: 12px; }
.cmr-bar-track { background: #f1f5f9; border-radius: 4px; height: 15px; overflow: hidden; }
.cmr-bar { background: #3c8fb9; height: 100%; border-radius: 4px; }
.cmr-table-scroll { overflow-x: auto; max-width: 100%; border: 1px solid #d8e3ef; border-radius: 7px; }
.cmr-report table { border-collapse: collapse; width: 100%; font-size: 12px; }
.cmr-report th, .cmr-report td { border-bottom: 1px solid #e2e8f0; padding: 9px; text-align: right; white-space: nowrap; }
.cmr-report th { background: #f8fafc; font-weight: 600; }
.cmr-report th:first-child, .cmr-report td:first-child { text-align: left; }
.cmr-pager { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px 0; font-size: 12px; }
.cmr-report button, .cmr-retry { border: 1px solid #cbd5e1; border-radius: 6px; background: #f8fafc; color: #17324d; font: inherit; font-size: 12px; padding: 7px 10px; cursor: pointer; }
.cmr-report button:disabled { opacity: .45; cursor: default; }
.cmr-empty { padding: 12px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 7px; }
.cmr-error { padding: 12px; color: #b91c1c; }
@media(max-width: 600px) { .cmr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cmr-card { padding: 10px; } .cmr-card strong { font-size: 19px; } .cmr-header h3 { font-size: 17px; } .cmr-benefit-grid { grid-template-columns: 1fr; } }
