/* ═══════════════════════════════════════════════════════════════
   Reports & Dashboards — Fixefy design language
   ═══════════════════════════════════════════════════════════════ */

/* ── Main tab bar ────────────────────────────────────────────── */
.rd-main-tabs {
  display: flex; gap: 2px;
  border-bottom: 2px solid #EEF0F2;
  margin-bottom: 20px;
}
.rd-main-tab {
  display: flex; align-items: center; gap: 7px;
  padding: 10px 20px;
  border: none; background: transparent;
  font: 600 12px/16px 'Open Sans';
  letter-spacing: 0.5px; text-transform: uppercase;
  color: #8B9092; cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: color .12s, border-color .12s;
}
.rd-main-tab:hover { color: #2F4F57; }
.rd-main-tab.active { color: #568793; border-bottom-color: #568793; }
.rd-tab-icon {
  font-family: 'Material Icons Outlined' !important;
  font-size: 16px !important; text-transform: none !important; letter-spacing: 0 !important;
}

/* ── Toolbar ─────────────────────────────────────────────────── */
.rd-list-header {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 16px; flex-wrap: wrap;
}
.rd-search-wrap {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 14px; flex: 1; max-width: 340px;
  border: 1px solid #E0E5EB; border-radius: 999px;
  background: white; transition: border-color .12s;
}
.rd-search-wrap:focus-within { border-color: #568793; }
.rd-search-wrap .icon { font-size: 16px !important; color: #A8B4B8; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rd-search { border: none; outline: none; font: 400 13px/18px 'Open Sans'; color: #172326; flex: 1; }
.rd-search::placeholder { color: #C0CAD0; }

/* Primary pill button */
.rd-new-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 20px; border-radius: 50px;
  border: none; background: #568793; color: white;
  font: 700 11px/14px 'Open Sans'; letter-spacing: 0.5px;
  text-transform: uppercase; cursor: pointer; transition: background .15s;
}
.rd-new-btn:hover { background: #3C636C; }
.rd-new-btn .icon { font-size: 16px !important; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }

.rd-section-label {
  font: 600 10px/13px 'Open Sans'; letter-spacing: 0.5px;
  text-transform: uppercase; color: #A8B4B8;
  margin: 0 0 10px;
}

/* ── Favorites grid ──────────────────────────────────────────── */
.rd-cards-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 14px; margin-bottom: 28px;
}
.rd-card {
  background: white; border: 1px solid #E8ECEF; border-radius: 8px;
  overflow: hidden; cursor: pointer;
  transition: box-shadow .2s ease, transform .15s ease, border-color .15s;
}
.rd-card:hover {
  box-shadow: 0 8px 24px rgba(15,30,38,.1);
  transform: translateY(-2px);
  border-color: rgba(86,135,147,.25);
}
.rd-card-thumb {
  height: 96px; background: #E2EEF1;
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.rd-card-thumb-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 5px; padding: 10px; width: 100%; height: 100%; box-sizing: border-box;
}
.rd-thumb-cell {
  background: rgba(255,255,255,.65); border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(86,135,147,.15);
}
.rd-thumb-cell .icon { font-size: 13px !important; color: #568793; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rd-thumb-cell-wide { grid-column: span 2; }
.rd-card-thumb-report { background: linear-gradient(135deg, #EEF3F5 0%, #DDE6E9 100%); }
.rd-card-thumb-icon { font-size: 36px !important; color: #568793; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; opacity: .7; }
.rd-card-star {
  position: absolute; top: 8px; right: 10px; font-size: 15px;
  cursor: pointer; color: #C0CAD0; transition: color .12s;
  background: rgba(255,255,255,.75); border-radius: 50%;
  width: 22px; height: 22px; display: flex; align-items: center; justify-content: center;
}
.rd-card-star:hover { color: #F2994A; }
.rd-card-star.active { color: #F2994A; }
.rd-card-body { padding: 12px 14px; }
.rd-card-title { font: 600 13px/18px 'Open Sans'; color: #172326; margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-card-meta { font: 400 11px/15px 'Open Sans'; color: #8B9092; }

/* ── Table ───────────────────────────────────────────────────── */
.rd-table-wrap { overflow-x: auto; margin-bottom: 28px; }
.rd-table { width: 100%; border-collapse: collapse; }
.rd-table thead tr { background: #568793; }
.rd-table th { color: white !important; font: 600 11px/14px 'Open Sans' !important; letter-spacing: 0.3px; padding: 11px 14px; border-bottom: none !important; background: transparent; text-align: left; white-space: nowrap; }
.rd-table tbody tr:nth-child(even) { background: rgba(86,135,147,.03); }
.rd-table td { padding: 11px 14px; border-bottom: 1px solid #F0F3F5; font: 400 13px/18px 'Open Sans'; color: #2F4F57; }
.rd-table-row { cursor: pointer; transition: background .1s; }
.rd-table-row:hover { background: rgba(86,135,147,.07) !important; }
.rd-table-name { display: flex; align-items: center; gap: 8px; font-weight: 500; color: #172326; }
.rd-table-icon { font-size: 16px !important; color: #568793; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rd-table-actions { display: flex; gap: 4px; justify-content: flex-end; }
.rd-icon-btn { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 6px; border: 1px solid transparent; background: transparent; color: #8B9092; cursor: pointer; transition: all .1s; }
.rd-icon-btn:hover { background: rgba(86,135,147,.08); border-color: rgba(86,135,147,.2); color: #568793; }
.rd-icon-btn.rd-icon-danger:hover { background: rgba(237,50,59,.06); border-color: rgba(237,50,59,.2); color: #ED323B; }
.rd-icon-btn .icon { font-size: 15px !important; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }

/* ── Detail page ─────────────────────────────────────────────── */
.rd-detail-page { display: flex; flex-direction: column; gap: 0; }
.rd-detail-header {
  display: flex; align-items: center; gap: 14px;
  padding: 20px 24px 16px;
  background: #E2EEF1; border-bottom: 1px solid #C6DDE2;
  margin: -19px -15px 20px -15px;
}
.rd-back { flex-shrink: 0; }
.rd-detail-meta { flex: 1; min-width: 0; }
.rd-detail-title { font: 600 22px/28px 'Open Sans'; color: #172326; margin: 0 0 3px; }
.rd-detail-desc { font: 400 13px/18px 'Open Sans'; color: #4F6063; margin: 0; }
.rd-detail-actions { display: flex; gap: 6px; flex-shrink: 0; flex-wrap: wrap; align-items: center; }

/* Utility action buttons (4px br) — primary is pill */
.rd-action-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px 14px; border-radius: 4px;
  border: 1px solid #E0E5EB; background: white; color: #4F6063;
  font: 600 11px/14px 'Open Sans'; letter-spacing: 0.3px; text-transform: uppercase;
  cursor: pointer; transition: all .12s;
}
.rd-action-btn:hover { border-color: #568793; color: #568793; }
.rd-action-btn .icon { font-size: 15px !important; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rd-action-primary { background: #568793; color: white; border-color: #568793; border-radius: 50px; }
.rd-action-primary:hover { background: #3C636C; border-color: #3C636C; color: white; }

/* Filter chips */
.rd-filter-bar { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.rd-filter-chip {
  display: inline-flex; align-items: center; gap: 5px;
  height: 24px; padding: 0 10px; border-radius: 999px;
  background: rgba(86,135,147,.08); border: 1px solid rgba(86,135,147,.25);
  font: 600 11px/16px 'Open Sans'; color: #568793; cursor: pointer;
  transition: background .1s; text-transform: capitalize;
}
.rd-filter-chip:hover { background: rgba(86,135,147,.16); }
.rd-filter-chip .icon { font-size: 13px !important; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }

/* ── Widget grid ─────────────────────────────────────────────── */
.rd-widget-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 20px; }
.rd-widget { background: white; border: 1px solid #E8ECEF; border-radius: 8px; overflow: hidden; transition: box-shadow .15s; }
.rd-widget:hover { box-shadow: 0 4px 14px rgba(15,30,38,.08); }
.rd-widget-col1 { grid-column: span 1; }
.rd-widget-col2 { grid-column: span 2; }
.rd-widget-col3 { grid-column: span 3; }
.rd-widget-col4 { grid-column: span 4; }
.rd-widget-head { padding: 10px 14px; border-bottom: 1px solid #F0F3F5; background: #FAFBFC; }
.rd-widget-title { font: 600 12px/16px 'Open Sans'; color: #2F4F57; }
.rd-widget-body { padding: 14px; }

/* KPI card */
.rd-kpi-card { display: flex; flex-direction: column; justify-content: center; padding: 20px 18px; min-height: 110px; background: white; }
.rd-kpi-title { font: 500 10px/13px 'Open Sans'; letter-spacing: 0.5px; text-transform: uppercase; color: #A8B4B8; margin-bottom: 10px; }
.rd-kpi-value { font: 700 26px/32px 'Open Sans'; color: #172326; letter-spacing: -0.5px; margin-bottom: 5px; }
.rd-kpi-trend { display: inline-flex; align-items: center; gap: 3px; font: 600 11px/15px 'Open Sans'; padding: 2px 8px; border-radius: 999px; }
.rd-kpi-trend-up { color: #27AE60; background: rgba(39,174,96,.08); }
.rd-kpi-trend-dn { color: #EB5757; background: rgba(235,87,87,.08); }

/* Widget table */
.rd-widget-table { width: 100%; border-collapse: collapse; }
.rd-widget-table thead tr { background: #568793; }
.rd-widget-table th { color: white !important; font: 600 10px/13px 'Open Sans' !important; padding: 8px 10px; letter-spacing: 0.3px; text-align: left; }
.rd-widget-table td { font: 400 12px/16px 'Open Sans'; color: #2F4F57; padding: 7px 10px; border-bottom: 1px solid #F5F7F8; }
.rd-widget-table tr:last-child td { border-bottom: none; }
.rd-widget-table tbody tr:nth-child(even) { background: rgba(86,135,147,.03); }
.rd-widget-table tbody tr:hover { background: rgba(86,135,147,.06); }
.rd-detail-footer { font: 400 11px/15px 'Open Sans'; color: #A8B4B8; padding-top: 12px; text-align: right; }

/* ═══════════════════════════════════════════════════════════════
   Builders
   ═══════════════════════════════════════════════════════════════ */
.rdb-page { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.rdb-header { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid #EEF0F2; background: white; flex-shrink: 0; }
.rdb-back { flex-shrink: 0; }
.rdb-title { font: 600 16px/22px 'Open Sans'; color: #172326; flex: 1; margin: 0; }
.rdb-header-actions { display: flex; gap: 6px; }
.rdb-body { display: flex; flex: 1; min-height: 0; overflow: hidden; }
.rdb-settings { width: 288px; flex-shrink: 0; padding: 16px; border-right: 1px solid #EEF0F2; overflow-y: auto; background: #F7F8F9; }

.rdb-section { background: white; border-radius: 8px; overflow: hidden; border: 1px solid #E8ECEF; border-left: 3px solid #568793; }
.rdb-section-amber { border-left-color: #F2994A; }
.rdb-section-head { display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; cursor: pointer; user-select: none; transition: background .1s; }
.rdb-section-head:hover { background: #F7F8F9; }
.rdb-section-title { font: 600 12px/16px 'Open Sans'; color: #172326; }
.rdb-chevron { font-family: 'Material Icons Outlined' !important; font-size: 18px !important; text-transform: none !important; letter-spacing: 0 !important; color: #8B9092; transition: transform .2s; }
.rdb-section-body { padding: 12px 14px; border-top: 1px solid #F0F3F5; }

.rdb-label { display: block; font: 600 10px/13px 'Open Sans'; letter-spacing: 0.4px; text-transform: uppercase; color: #8B9092; margin-bottom: 5px; }
.rdb-req { color: #EB5757; }
.rdb-input { width: 100%; padding: 8px 10px; box-sizing: border-box; border: 1px solid #E0E5EB; border-radius: 6px; font: 400 13px/18px 'Open Sans'; color: #172326; background: white; outline: none; transition: border-color .12s; }
.rdb-input:focus { border-color: #568793; }
.rdb-textarea { resize: vertical; min-height: 60px; max-height: 100px; }
.rdb-access-row { display: flex; align-items: center; gap: 5px; margin-top: 5px; }
.rdb-avatar { width: 26px; height: 26px; border-radius: 50%; background: #568793; color: white; font: 700 9px/26px 'Open Sans'; text-align: center; flex-shrink: 0; }
.rdb-add-user { width: 26px; height: 26px; border-radius: 50%; border: 1.5px dashed #C0CAD0; background: transparent; color: #8B9092; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .12s; }
.rdb-add-user:hover { border-color: #568793; color: #568793; }
.rdb-add-user .icon { font-size: 14px !important; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rdb-toggle-row { display: flex; align-items: center; gap: 8px; font: 400 12px/16px 'Open Sans'; color: #4F6063; cursor: pointer; }

.rdb-main { flex: 1; display: flex; min-width: 0; overflow: hidden; }
.rdb-widget-sidebar { width: 148px; flex-shrink: 0; border-right: 1px solid #EEF0F2; overflow-y: auto; background: white; padding: 10px 8px; }
.rdb-ws-label { font: 700 9px/12px 'Open Sans'; letter-spacing: 0.5px; text-transform: uppercase; color: #A8B4B8; padding: 2px 6px 8px; }
.rdb-ws-item { display: flex; align-items: center; gap: 7px; width: 100%; padding: 7px 8px; border: none; border-radius: 6px; background: transparent; cursor: pointer; text-align: left; transition: background .1s; }
.rdb-ws-item:hover { background: rgba(86,135,147,.08); }
.rdb-ws-item:active { background: rgba(86,135,147,.16); }
.rdb-ws-icon { font-family: 'Material Icons Outlined' !important; font-size: 15px !important; text-transform: none !important; letter-spacing: 0 !important; color: #568793; flex-shrink: 0; }
.rdb-ws-label-text { font: 400 11px/15px 'Open Sans'; color: #2F4F57; }

.rdb-canvas { flex: 1; overflow-y: auto; padding: 16px; background: #F7F8F9; }
.rdb-canvas-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; align-items: start; min-height: 200px; }
.rdb-canvas-empty { grid-column: 1/-1; text-align: center; padding: 60px 20px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.rdb-canvas-empty .icon { font-size: 44px !important; color: #C0CAD0; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rdb-canvas-empty p { font: 400 13px/18px 'Open Sans'; color: #A8B4B8; margin: 0; }

.rdb-widget { background: white; border: 1.5px dashed #D0D8DC; border-radius: 8px; overflow: hidden; transition: border-color .12s; }
.rdb-widget:hover { border-color: #568793; }
.rdb-widget-col1 { grid-column: span 1; }
.rdb-widget-col2 { grid-column: span 2; }
.rdb-widget-col3 { grid-column: span 3; }
.rdb-widget-col4 { grid-column: span 4; }
.rdb-widget-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 7px 10px; background: #F7F8F9; border-bottom: 1px solid #EEF0F2; }
.rdb-widget-title-input { flex: 1; border: none; outline: none; background: transparent; font: 600 11px/15px 'Open Sans'; color: #172326; }
.rdb-widget-controls { display: flex; gap: 2px; }
.rdb-ctrl-btn { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 4px; border: 1px solid #E2E7EB; background: white; cursor: pointer; transition: all .1s; }
.rdb-ctrl-btn:hover { border-color: #568793; background: rgba(86,135,147,.08); }
.rdb-ctrl-btn.rdb-ctrl-delete:hover { border-color: #ED323B; background: rgba(237,50,59,.06); }
.rdb-ctrl-btn .icon { font-size: 11px !important; color: #8B9092; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rdb-widget-preview { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 10px; gap: 5px; min-height: 80px; }
.rdb-widget-preview-icon { font-size: 24px !important; color: #C0CAD0; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rdb-widget-preview-label { font: 400 10px/13px 'Open Sans'; color: #C0CAD0; letter-spacing: 0.2px; }

/* Report Builder */
.rrb-sidebar { width: 240px; flex-shrink: 0; padding: 14px; border-right: 1px solid #EEF0F2; overflow-y: auto; background: #F7F8F9; }
.rrb-panel { background: white; border: 1px solid #E8ECEF; border-radius: 8px; overflow: hidden; }
.rrb-panel-head { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: #F7F8F9; border-bottom: 1px solid #EEF0F2; font: 600 11px/15px 'Open Sans'; letter-spacing: 0.3px; text-transform: uppercase; color: #8B9092; }
.rrb-count { font: 600 10px/13px 'Open Sans'; color: #568793; background: rgba(86,135,147,.1); padding: 2px 8px; border-radius: 999px; text-transform: none; letter-spacing: 0; }
.rrb-checks { padding: 4px 0; max-height: 192px; overflow-y: auto; }
.rrb-check-row { display: flex; align-items: center; gap: 8px; padding: 6px 12px; cursor: pointer; font: 400 12px/16px 'Open Sans'; color: #4F6063; transition: background .1s; }
.rrb-check-row:hover { background: rgba(86,135,147,.04); }
.rrb-check-row.active { color: #568793; font-weight: 600; }
.rrb-check-row input { accent-color: #568793; }
.rrb-viz-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; padding: 8px; }
.rrb-viz-btn { display: flex; align-items: center; justify-content: center; padding: 8px; border-radius: 6px; border: 1.5px solid #E2E7EB; background: white; cursor: pointer; transition: all .12s; }
.rrb-viz-btn:hover { border-color: #568793; background: rgba(86,135,147,.06); }
.rrb-viz-btn.active { border-color: #568793; background: rgba(86,135,147,.12); }
.rrb-viz-btn .icon { font-size: 18px !important; color: #568793; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rrb-main { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.rrb-preview-card { background: white; border: 1px solid #E8ECEF; border-radius: 8px; overflow: hidden; }
.rrb-preview-head { padding: 12px 16px; border-bottom: 1px solid #EEF0F2; display: flex; flex-direction: column; gap: 3px; }
.rrb-preview-title { font: 600 13px/18px 'Open Sans'; color: #172326; }
.rrb-preview-dims { font: 400 11px/15px 'Open Sans'; color: #8B9092; }
.rrb-preview-body { padding: 16px; }

/* Filter Modal */
.rd-modal-overlay { position: fixed; inset: 0; z-index: 2500; background: rgba(23,35,38,.4); backdrop-filter: blur(3px); display: flex; align-items: center; justify-content: center; animation: cmdkFade .18s ease; }
.rd-filter-modal { background: white; border-radius: 12px; width: min(768px, calc(100vw - 32px)); height: min(560px, calc(100vh - 64px)); display: flex; flex-direction: column; box-shadow: 0 8px 40px rgba(15,30,38,.2); animation: cmdkSlide .2s ease; overflow: hidden; }
.rd-fm-header { display: flex; align-items: center; gap: 8px; padding: 14px 20px; border-bottom: 1px solid #EEF0F2; flex-shrink: 0; background: #F7F8F9; }
.rd-fm-title { display: flex; align-items: center; gap: 6px; font: 600 14px/20px 'Open Sans'; color: #172326; flex: 1; }
.rd-fm-title .icon { font-size: 18px !important; color: #568793; font-family: 'Material Icons Outlined' !important; text-transform: none !important; letter-spacing: 0 !important; }
.rd-fm-count { padding: 2px 10px; border-radius: 999px; background: rgba(86,135,147,.1); color: #568793; font: 600 10px/14px 'Open Sans'; letter-spacing: 0.3px; }
.rd-fm-close { border: none; background: none; font-size: 14px; color: #8B9092; cursor: pointer; width: 26px; height: 26px; border-radius: 6px; display: flex; align-items: center; justify-content: center; transition: background .1s; }
.rd-fm-close:hover { background: #E8ECEF; color: #172326; }
.rd-fm-body { display: flex; flex: 1; min-height: 0; overflow: hidden; }
.rd-fm-sidebar { width: 220px; flex-shrink: 0; border-right: 1px solid #EEF0F2; overflow-y: auto; padding: 12px 8px; background: #F7F8F9; }
.rd-fm-search { width: 100%; padding: 7px 10px; box-sizing: border-box; border: 1px solid #E0E5EB; border-radius: 999px; font: 400 12px/16px 'Open Sans'; margin-bottom: 12px; outline: none; }
.rd-fm-search:focus { border-color: #568793; }
.rd-fm-group { margin-bottom: 16px; }
.rd-fm-group-label { font: 700 9px/12px 'Open Sans'; letter-spacing: 0.6px; text-transform: uppercase; color: #A8B4B8; padding: 0 8px 6px; }
.rd-fm-filter-btn { display: block; width: 100%; text-align: left; padding: 7px 10px; border: none; border-radius: 6px; background: transparent; font: 400 12px/16px 'Open Sans'; color: #4F6063; cursor: pointer; transition: background .1s; position: relative; }
.rd-fm-filter-btn:hover { background: rgba(86,135,147,.06); color: #2F4F57; }
.rd-fm-filter-btn.active { background: rgba(86,135,147,.1); color: #568793; font-weight: 600; }
.rd-fm-filter-btn.has-value { color: #568793; }
.rd-fm-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #568793; margin-left: 4px; vertical-align: middle; }
.rd-fm-main { flex: 1; padding: 20px; overflow-y: auto; }
.rd-fm-main-title { font: 600 14px/20px 'Open Sans'; color: #172326; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #F0F3F5; }
.rd-fm-field-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.rd-fm-label { font: 700 10px/13px 'Open Sans'; letter-spacing: 0.4px; text-transform: uppercase; color: #8B9092; width: 40px; flex-shrink: 0; }
.rd-fm-input { flex: 1; padding: 8px 10px; border: 1px solid #E0E5EB; border-radius: 6px; font: 400 13px/18px 'Open Sans'; outline: none; transition: border-color .12s; }
.rd-fm-input:focus { border-color: #568793; }
.rd-fm-checks { display: flex; flex-direction: column; gap: 2px; }
.rd-fm-check-row { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 6px; font: 400 13px/18px 'Open Sans'; color: #4F6063; cursor: pointer; transition: background .1s; }
.rd-fm-check-row:hover { background: rgba(86,135,147,.04); }
.rd-fm-check-row input { accent-color: #568793; }
.rd-fm-clear-filter { margin-top: 16px; border: none; background: none; font: 500 12px/16px 'Open Sans'; color: #ED323B; cursor: pointer; padding: 0; }
.rd-fm-clear-filter:hover { text-decoration: underline; }
.rd-fm-footer { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; border-top: 1px solid #EEF0F2; background: #F7F8F9; flex-shrink: 0; }
.rd-fm-btn { padding: 8px 18px; border-radius: 4px; font: 600 11px/14px 'Open Sans'; letter-spacing: 0.3px; text-transform: uppercase; cursor: pointer; transition: all .12s; border: 1px solid #E2E7EB; background: white; color: #4F6063; }
.rd-fm-btn:hover { border-color: #568793; color: #568793; }
.rd-fm-clear-all { color: #EB5757; border-color: rgba(235,87,87,.3); }
.rd-fm-clear-all:hover { background: rgba(235,87,87,.05); color: #EB5757; border-color: #EB5757; }
.rd-fm-apply { background: #568793; color: white; border-color: #568793; border-radius: 50px; padding: 8px 22px; }
.rd-fm-apply:hover { background: #3C636C; border-color: #3C636C; color: white; }
