/* Bộ lọc báo cáo dùng chung (Views/Shared/_ReportFilterBar.cshtml). Không phụ thuộc bố cục riêng của trang. */
.rf { --rf-line:#dfe7ec; --rf-muted:#6b7c89; --rf-text:#20394b; --rf-accent:#07866d; --rf-accent-soft:#eaf5f2; --rf-input:#ced9e1; --rf-bg:#fff; min-width:0; }
[data-theme="dark"] .rf { --rf-line:#304355; --rf-muted:#9aa8b5; --rf-text:#e6edf2; --rf-accent:#3cc3a3; --rf-accent-soft:#12372f; --rf-input:#3c5063; --rf-bg:#111c2a; }

.rf-quick { min-width:0; margin:1rem 0 0; padding:.85rem 0 0; border:0; border-top:1px solid var(--rf-line); }
.rf-quick__title { float:left; width:100%; margin:0 0 .55rem; padding:0; color:var(--rf-muted); font-size:.72rem; font-weight:800; letter-spacing:.06em; line-height:1.2; text-transform:uppercase; }
.rf-quick__grid { clear:both; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }

.rf-advanced { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--rf-line); }
.rf-advanced[hidden] { display:none !important; }
.rf-advanced__head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
.rf-advanced__head strong { display:block; color:var(--rf-text); font-size:.88rem; }
.rf-advanced__head span { color:var(--rf-muted); font-size:.78rem; }
.rf-advanced__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:.8rem; align-items:end; }
.rf-link { flex:none; padding:0; border:0; background:none; color:var(--rf-accent); font-size:.8rem; font-weight:700; }
.rf-link:hover { text-decoration:underline; }

/* Nút "Bộ lọc" + số điều kiện nâng cao đang áp dụng */
.rf-toggle { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; border:1px solid #bfcdd7; background:#fff; color:#294355; white-space:nowrap; }
.rf-toggle:hover, .rf-toggle.is-open, .rf-toggle.has-filters { border-color:#07866d; color:#07866d; }
.rf-count { display:inline-grid; min-width:19px; height:19px; padding:0 .3rem; place-items:center; border-radius:10px; background:#07866d; color:#fff; font-size:.7rem; font-weight:700; }
.rf-count[hidden] { display:none; }
[data-theme="dark"] .rf-toggle { border-color:#405369; background:#172235; color:#d5dee6; }
[data-theme="dark"] .rf-toggle:hover, [data-theme="dark"] .rf-toggle.is-open, [data-theme="dark"] .rf-toggle.has-filters { border-color:#3cc3a3; color:#3cc3a3; }

.rf-applied { display:flex; align-items:center; gap:.55rem; margin-top:.85rem; padding-top:.8rem; border-top:1px dashed var(--rf-line); color:var(--rf-muted); font-size:.76rem; }
.rf-applied[hidden] { display:none !important; }
.rf-applied > span { flex:none; }
.rf-tokens { display:flex; flex-wrap:wrap; gap:.4rem; }
.rf-tokens button { padding:.3rem .6rem; border:0; border-radius:20px; background:var(--rf-accent-soft); color:var(--rf-accent); font-size:.72rem; font-weight:600; }
.rf-tokens button:hover { filter:brightness(.96); }

/* Trường mặc định (trang không có kiểu ô nhập riêng) */
.rf-field label, .rf-label { display:block; margin-bottom:.35rem; color:#526779; font-size:.76rem; font-weight:700; }
.rf-field .form-control, .rf-field .form-select { min-height:40px; border:1px solid var(--rf-input); border-radius:9px; background-color:var(--rf-bg); color:inherit; font-size:.85rem; }
.rf-field .form-control:focus, .rf-field .form-select:focus { border-color:var(--rf-accent); box-shadow:0 0 0 3px rgba(7,134,109,.13); }
[data-theme="dark"] .rf-field label, [data-theme="dark"] .rf-label { color:#c6d1da; }
.rf-required { color:#d92d20; }

.rf-chips { display:flex; flex-wrap:wrap; gap:.35rem; }
.rf-chips label { margin:0; cursor:pointer; }
.rf-chips input { position:absolute; opacity:0; pointer-events:none; }
.rf-chips span { display:inline-block; padding:.42rem .7rem; border:1px solid var(--rf-input); border-radius:20px; background:var(--rf-bg); color:inherit; font-size:.76rem; font-weight:600; }
.rf-chips input:checked + span { border-color:var(--rf-accent); background:var(--rf-accent-soft); color:var(--rf-accent); }
.rf-chips input:focus-visible + span { outline:2px solid var(--rf-accent); outline-offset:1px; }
.rf-field--check { display:flex; align-items:center; min-height:40px; }
.rf-check { display:flex; align-items:center; gap:.45rem; margin:0; color:inherit; font-size:.8rem; font-weight:600; cursor:pointer; }
.rf-check input { width:16px; height:16px; margin:0; accent-color:var(--rf-accent); }

@media (max-width:1100px) { .rf-quick__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) {
    .rf-quick__grid, .rf-advanced__grid { grid-template-columns:1fr; }
    .rf-advanced__head { align-items:flex-start; flex-direction:column; gap:.4rem; }
    .rf-applied { align-items:flex-start; flex-direction:column; }
}

/* Chọn nguồn dữ liệu MSC / VSS (Views/Shared/_ReportSourceToggle.cshtml) */
.rf-segment { display:inline-flex; min-height:42px; padding:3px; border:1px solid var(--rf-input, #ced9e1); border-radius:9px; background:#f3f6f8; }
.rf-segment label { display:flex; margin:0; cursor:pointer; }
.rf-segment input { position:absolute; opacity:0; pointer-events:none; }
.rf-segment span { display:grid; min-width:52px; height:100%; padding:0 .8rem; place-items:center; border-radius:7px; color:#526779; font-size:.8rem; font-weight:700; }
.rf-segment input:checked + span { background:#fff; color:#07866d; box-shadow:0 1px 3px rgba(20,50,60,.16); }
.rf-segment input:focus-visible + span { outline:2px solid #07866d; outline-offset:1px; }
[data-theme="dark"] .rf-segment { border-color:#3c5063; background:#111c2a; }
[data-theme="dark"] .rf-segment span { color:#9aa8b5; }
[data-theme="dark"] .rf-segment input:checked + span { background:#172235; color:#3cc3a3; }
.report-data-workspace .report-command__primary > .report-control--source { flex:0 0 auto; }
