/* Shared dropdown visual contract. Preserve each control's sizing and behavior. */
body select,
body :is(.dropdown-header, .pb-dropdown-trigger, .chart-cal-dropdown-header, [aria-haspopup="listbox"]) {
  border: var(--pb-border-width-sm) solid var(--pb-dropdown-border) !important;
  border-radius: var(--pb-dropdown-radius) !important;
  background-color: var(--pb-dropdown-surface) !important;
  color: var(--pb-dropdown-ink) !important;
  font-family: var(--pb-font-sans) !important;
  font-size: var(--pb-font-size-sm) !important;
  box-shadow: var(--pb-control-shadow) !important;
}
body select:not([multiple]):not([size]) { min-height: var(--pb-optimization-toolbar-control-height); padding-inline: var(--pb-space-3); cursor: pointer; }
/* A framed native select owns the arrow; hide the duplicate decorative chevron. */
.tasks-filter-section .pb-select-field > svg { display: none; }
.tasks-filter-sidebar .pb-select-field {
  padding: var(--pb-space-0);
  border: none;
  background: transparent;
  box-shadow: none;
}
.tasks-filter-sidebar .pb-select-field .tasks-select {
  appearance: auto;
  min-height: var(--pb-size-control-md);
  padding-inline: var(--pb-space-3);
}
body :is(select, .dropdown-header, .pb-dropdown-trigger, [aria-haspopup="listbox"]):not(:disabled):hover { background-color: var(--pb-dropdown-hover) !important; border-color: var(--pb-color-brand-500) !important; }
body :is(select, .dropdown-header, .pb-dropdown-trigger, [aria-haspopup="listbox"]):focus-visible { border-color: var(--pb-design-search-focus-border) !important; box-shadow: var(--pb-design-search-focus-shadow) !important; outline: var(--pb-layout-zero); }
body :is(select:disabled, [aria-haspopup="listbox"][aria-disabled="true"]) { cursor: not-allowed; color: var(--pb-color-text-muted) !important; }
body :is(select option, select optgroup, .dropdown-options, .pb-dropdown-menu, .chart-cal-dropdown-options, [role="listbox"]) { background-color: var(--pb-dropdown-surface) !important; color: var(--pb-dropdown-ink) !important; }
/* These wrappers own the frame and chevron; their native select stays unframed. */
body :is(.pb-select-field, .charts-select-field, .inventory-select-field) > select:not(.tasks-select),
body :is(.pb-select-field, .charts-select-field, .inventory-select-field) > select:not(.tasks-select):is(:hover, :focus-visible) {
  border: var(--pb-layout-zero) !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: var(--pb-layout-zero);
}
body :is(.dropdown-option, .pb-dropdown-item, [role="option"]) { background-color: var(--pb-dropdown-surface); color: var(--pb-dropdown-ink); }
body :is(.dropdown-option, .pb-dropdown-item, [role="option"]):is(:hover, [aria-selected="true"], .selected) { background-color: var(--pb-dropdown-hover) !important; color: var(--pb-dropdown-ink) !important; }
