/* V41 compact Sort menu for All Appointments */
#page-allappointments .all-appt-filter-grid{
  grid-template-columns:minmax(210px,1.35fr) minmax(135px,.78fr) minmax(135px,.78fr) minmax(135px,.78fr) minmax(125px,.72fr) minmax(125px,.72fr) auto auto!important;
  gap:8px!important;
  align-items:end!important;
}
#page-allappointments .all-appt-sort-control{
  position:relative!important;
  align-self:end!important;
}
#page-allappointments .all-appt-sort-btn{
  width:48px!important;
  min-width:48px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  border:1px solid #d7e1ec!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#24364d!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
#page-allappointments .all-appt-sort-btn:hover,
#page-allappointments .all-appt-sort-btn[aria-expanded="true"]{
  border-color:#ffad95!important;
  background:#fff6f2!important;
  color:#e44a25!important;
}
#page-allappointments .all-appt-sort-btn svg{
  width:17px!important;
  height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#page-allappointments .all-appt-sort-btn span{display:none!important;}
#page-allappointments .all-appt-sort-menu{
  position:absolute!important;
  right:0!important;
  top:44px!important;
  width:240px!important;
  max-height:min(430px,70vh)!important;
  overflow:auto!important;
  padding:8px!important;
  border:1px solid #dbe4ef!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 18px 46px rgba(15,23,42,.18)!important;
  z-index:900!important;
  display:none!important;
}
#page-allappointments .all-appt-sort-menu.open{display:block!important;}
#page-allappointments .all-appt-sort-menu-title{
  padding:7px 9px 5px!important;
  color:#8a9ab0!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
#page-allappointments .all-appt-sort-menu-divider{
  height:1px!important;
  margin:6px 4px!important;
  background:#edf1f6!important;
}
#page-allappointments .all-appt-sort-option{
  width:100%!important;
  min-height:34px!important;
  padding:7px 9px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#2a3d54!important;
  font-size:11px!important;
  font-weight:750!important;
  text-align:left!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  cursor:pointer!important;
}
#page-allappointments .all-appt-sort-option:hover{background:#f6f8fb!important;}
#page-allappointments .all-appt-sort-option.active{
  background:#fff1ec!important;
  color:#d94825!important;
  font-weight:900!important;
}
#page-allappointments .all-appt-sort-option .sort-check{
  opacity:0!important;
  color:#ff5c35!important;
  font-size:13px!important;
}
#page-allappointments .all-appt-sort-option.active .sort-check{opacity:1!important;}
body.crm-night-mode #page-allappointments .all-appt-sort-btn{
  background:#202936!important;
  border-color:#3b485b!important;
  color:#e5ecf5!important;
}
body.crm-night-mode #page-allappointments .all-appt-sort-menu{
  background:#1d2633!important;
  border-color:#364356!important;
}
body.crm-night-mode #page-allappointments .all-appt-sort-option{color:#dce5f0!important;}
body.crm-night-mode #page-allappointments .all-appt-sort-option:hover{background:#273244!important;}
body.crm-night-mode #page-allappointments .all-appt-sort-option.active{background:#3a2925!important;color:#ff987d!important;}
body.crm-night-mode #page-allappointments .all-appt-sort-menu-divider{background:#334054!important;}
@media(max-width:1450px){
  #page-allappointments .all-appt-filter-grid{
    grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(115px,.76fr)) repeat(2,minmax(118px,.72fr)) auto auto!important;
  }
}
@media(max-width:1180px){
  #page-allappointments .all-appt-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #page-allappointments .all-appt-sort-btn{width:100%!important;}
  #page-allappointments .all-appt-sort-btn span{display:inline!important;margin-left:6px!important;font-size:11px!important;font-weight:850!important;}
}
@media(max-width:760px){
  #page-allappointments .all-appt-filter-grid{grid-template-columns:1fr!important;}
  #page-allappointments .all-appt-sort-control{width:100%!important;}
  #page-allappointments .all-appt-sort-menu{left:0!important;right:auto!important;width:min(100%,280px)!important;}
}


/* V42: keep filters on one desktop row and keep the sort popover above all cards */
#page-allappointments > .all-appt-toolbar.crm-appt-filter-panel{
  position:relative!important;
  z-index:5000!important;
  overflow:visible!important;
  contain:none!important;
  isolation:auto!important;
}
#page-allappointments .all-appt-results{
  position:relative!important;
  z-index:1!important;
}
#page-allappointments .all-appt-filter-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(155px,.9fr) repeat(3,minmax(125px,.72fr)) 48px repeat(2,minmax(128px,.72fr)) 78px!important;
  gap:8px!important;
  align-items:end!important;
}
#page-allappointments .all-appt-filter-field:first-child{
  min-width:0!important;
  max-width:235px!important;
}
#page-allappointments #all-appt-search{
  min-width:0!important;
  width:100%!important;
}
#page-allappointments .all-appt-filter-field,
#page-allappointments .all-appt-sort-control,
#page-allappointments .all-appt-clear-btn{
  min-width:0!important;
}
#page-allappointments .all-appt-clear-btn{
  width:78px!important;
  min-width:78px!important;
  padding:0 8px!important;
  white-space:nowrap!important;
}
#page-allappointments .all-appt-sort-control{
  position:relative!important;
  z-index:2147482999!important;
}
#page-allappointments .all-appt-sort-menu{
  position:fixed!important;
  z-index:2147483000!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}
@media(max-width:1250px){
  #page-allappointments .all-appt-filter-grid{
    grid-template-columns:minmax(145px,.85fr) repeat(3,minmax(112px,.68fr)) 46px repeat(2,minmax(118px,.68fr)) 72px!important;
    gap:7px!important;
  }
  #page-allappointments .all-appt-filter-field:first-child{max-width:205px!important;}
  #page-allappointments .all-appt-clear-btn{width:72px!important;min-width:72px!important;}
}
@media(max-width:1040px){
  #page-allappointments .all-appt-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #page-allappointments .all-appt-filter-field:first-child{max-width:none!important;}
  #page-allappointments .all-appt-sort-btn{width:100%!important;}
  #page-allappointments .all-appt-sort-btn span{display:inline!important;margin-left:6px!important;font-size:11px!important;font-weight:850!important;}
  #page-allappointments .all-appt-clear-btn{width:100%!important;min-width:0!important;}
}
@media(max-width:760px){
  #page-allappointments .all-appt-filter-grid{grid-template-columns:1fr!important;}
}
