/* Agendamento — filtros externos para permanecerem válidos sob CSP restritiva. */
#dashboardFilters { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)) auto auto; align-items:end; gap:12px; width:100%; margin-bottom:14px; position:relative; z-index:10; }
#dashboardFilters .f-dash-select, #dashboardFilters .f-dash-motivos { min-width:0; position:relative; z-index:20; }
#dashboardFilters .f-dash-label { display:block; margin-bottom:6px; color:var(--muted); font-size:var(--text-xs); font-weight:var(--font-medium); white-space:nowrap; }
#dashboardFilters .f-dash-select-input, #dashboardFilters .searchable-select-wrapper { width:100%; min-width:0; }
#dashboardFilters .f-dash-dates { display:flex; gap:12px; align-items:end; }
#dashboardFilters .f-dash-date-item { display:flex; flex-direction:column; gap:6px; min-width:130px; }
#dashboardFilters .f-dash-date-item input { width:130px; height:40px; padding:8px; }
#dashboardFilters .f-dash-actions { display:flex; gap:8px; align-items:end; }
#dashboardFilters .f-dash-actions button { height:40px; white-space:nowrap; }
#dashboardFilters .searchable-options, #dashboardFilters .searchable-menu, #dashboardFilters .multiselect-options, #dashboardFilters [class*="options"], #dashboardFilters [class*="menu"] { z-index:110 !important; }

#appointmentsFilters { display:flex; justify-content:flex-start; align-items:center; gap:10px; margin-bottom:1.5rem; flex-wrap:wrap; width:100%; position:relative; z-index:10; }
#appointmentsFilters .f-search { width:220px; flex:1 1 220px; max-width:360px; }
#appointmentsFilters .f-status-dates { display:flex; align-items:center; gap:10px; flex-wrap:wrap; position:relative; z-index:20; }
#appointmentsFilters .f-status, #appointmentsFilters .f-dates, #appointmentsFilters .f-actions { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
#appointmentsFilters .date-label { color:var(--muted); font-size:var(--text-xs); white-space:nowrap; }
#appointmentsFilters .f-dates input[type="date"] { width:130px; padding:8px; }
#appointmentsFilters .f-actions button { flex-shrink:0; white-space:nowrap; }
.appointments-pagination { display:flex; align-items:center; justify-content:center; gap:var(--space-4); flex-wrap:wrap; margin-top:var(--space-5); }
.apt-page-controls, .apt-page-jump { display:flex; align-items:center; gap:var(--space-1); color:var(--muted); font-size:var(--text-sm); }
.apt-page-btn, .apt-page-go, .apt-page-input { min-width:32px; height:32px; padding:0 var(--space-2); border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel); color:var(--text); box-shadow:none; }
.apt-page-btn, .apt-page-go { cursor:pointer; }
.apt-page-btn.is-active { background:var(--green); border-color:var(--green); color:var(--on-green, #fff); }
.apt-page-btn:disabled { opacity:.45; cursor:not-allowed; }
.apt-page-input { width:48px; text-align:center; }
.status-dropdown-wrapper { position:relative; width:auto; flex:0 0 auto; z-index:30; }
.status-dropdown-btn { padding:10px 12px; background:var(--surface-alt); border:1px solid var(--line); border-radius:6px; color:var(--muted); font-size:var(--text-base); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:8px; white-space:nowrap; }
.status-dropdown-menu { position:absolute; top:calc(100% + 6px); left:0; min-width:220px; width:max-content; background:var(--panel); border:1px solid var(--line); border-radius:6px; max-height:300px; overflow-y:auto; display:none; z-index:40; box-shadow:0 4px 12px rgba(0,0,0,.35); }
.status-dropdown-item { display:flex; align-items:center; gap:10px; padding:10px 12px; cursor:pointer; border-bottom:1px solid var(--line); user-select:none; }
.status-dropdown-item:hover { background:var(--surface-alt); }
.status-dropdown-item input { width:16px; height:16px; cursor:pointer; accent-color:var(--green); }
.status-option-text { display:flex; align-items:center; gap:8px; color:var(--text); font-size:var(--text-base); flex:1; }
.dashboard-container-3col { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:24px; }
.dashboard-container-2col { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-bottom:24px; }

@media (max-width: 980px) {
  #dashboardFilters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #dashboardFilters .f-dash-dates, #dashboardFilters .f-dash-actions { grid-column:span 1; }
}
@media (max-width: 768px) {
  #dashboardFilters { grid-template-columns:1fr; padding:0; gap:14px; }
  #dashboardFilters .f-dash-dates { display:grid; grid-template-columns:1fr 1fr; }
  #dashboardFilters .f-dash-date-item, #dashboardFilters .f-dash-date-item input { width:100%; min-width:0; }
  #dashboardFilters .f-dash-actions { display:grid; grid-template-columns:1fr 1fr; }
  #dashboardFilters .f-dash-actions button { width:100%; height:44px; }
  #appointmentsFilters { align-items:stretch; }
  #appointmentsFilters .f-search, #appointmentsFilters .f-status-dates, #appointmentsFilters .f-status, #appointmentsFilters .f-dates, #appointmentsFilters .f-actions { width:100%; max-width:none; }
  #appointmentsFilters .f-status-dates, #appointmentsFilters .f-dates, #appointmentsFilters .f-actions { flex-wrap:wrap; }
  #appointmentsFilters .f-dates input[type="date"] { flex:1 1 120px; width:auto; min-width:0; }
  .status-dropdown-wrapper, .status-dropdown-btn, .status-dropdown-menu { width:100%; max-width:100%; }
  .appointments-pagination { align-items:stretch; }
  .apt-page-jump { justify-content:center; }
}
@media (max-width: 640px) {
  .dashboard-card-title { font-size:var(--text-xs) !important; }
  .dashboard-container-3col, .dashboard-container-2col { grid-template-columns:1fr !important; }
}
