/* V43 — clean, compact appointment command bar and filters */
#page-allappointments{
  --appt-line:#dbe4ef;
  --appt-text:#18324d;
  --appt-muted:#8394ab;
  --appt-orange:#ff5c35;
}

/* Header: compact, balanced and single-line on normal desktop widths */
#page-allappointments .crm-appt-command-header{
  display:grid!important;
  grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  min-height:72px!important;
  padding:12px 16px!important;
  margin:0 0 12px!important;
  border:1px solid var(--appt-line)!important;
  border-radius:16px!important;
  background:linear-gradient(100deg,#fff 0%,#fbfdff 68%,#fff7f3 100%)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}
#page-allappointments .crm-appt-command-title .section-title{
  font-size:23px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
}
#page-allappointments .crm-appt-command-title .section-sub{display:none!important;}
#page-allappointments .crm-appt-command-center{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
#page-allappointments .crm-appt-tabs{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:4px!important;
  border:1px solid var(--appt-line)!important;
  border-radius:12px!important;
  background:#f6f9fc!important;
  flex:0 0 auto!important;
}
#page-allappointments .crm-appt-tab{
  height:36px!important;
  min-width:82px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:9px!important;
  font-size:12px!important;
  font-weight:800!important;
}
#page-allappointments .crm-appt-tab.active{
  background:#fff!important;
  color:var(--appt-orange)!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
}
#page-allappointments .crm-appt-tab-icon{width:15px!important;height:15px!important;}
#page-allappointments .crm-appt-header-stats{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex:0 1 auto!important;
  min-width:0!important;
}
#page-allappointments .crm-appt-stat-chip{
  height:36px!important;
  min-width:66px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  border:1px solid var(--appt-line)!important;
  background:#fff!important;
  color:#53657a!important;
  font-size:11px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
#page-allappointments .crm-appt-stat-chip strong{color:#172b45!important;font-size:12px!important;}
#page-allappointments .crm-appt-stat-chip.active{border-color:#ffb8a3!important;background:#fff4ef!important;color:#d94420!important;}
#page-allappointments .crm-appt-command-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  white-space:nowrap!important;
}
#page-allappointments .crm-appt-action-secondary,
#page-allappointments .crm-appt-action-primary{
  height:40px!important;
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:11px!important;
  font-size:12px!important;
  font-weight:850!important;
}

/* Filter card: one clean row, no wasted white space */
#page-allappointments > .all-appt-toolbar.crm-appt-filter-panel{
  position:relative!important;
  z-index:5000!important;
  overflow:visible!important;
  padding:11px 12px!important;
  margin:0 0 12px!important;
  border:1px solid var(--appt-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(15,23,42,.035)!important;
}
#page-allappointments .all-appt-filter-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(205px,1.25fr) minmax(145px,.82fr) minmax(145px,.82fr) minmax(145px,.82fr) 44px minmax(138px,.72fr) minmax(138px,.72fr) 82px!important;
  gap:8px!important;
  align-items:end!important;
}
#page-allappointments .all-appt-filter-field,
#page-allappointments .all-appt-sort-control,
#page-allappointments .all-appt-clear-btn{min-width:0!important;margin:0!important;}
#page-allappointments .all-appt-filter-label{
  margin:0 0 5px!important;
  color:var(--appt-muted)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
#page-allappointments .all-appt-filter-field input,
#page-allappointments .all-appt-filter-field select,
#page-allappointments .filter-select{
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border:1px solid #d6e0ec!important;
  border-radius:10px!important;
  background:#fbfcfe!important;
  color:#1a304a!important;
  font-size:12px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
#page-allappointments .all-appt-filter-field input:focus,
#page-allappointments .all-appt-filter-field select:focus{
  border-color:#ff9d82!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(255,92,53,.10)!important;
  outline:none!important;
}
#page-allappointments #all-appt-search{max-width:none!important;}
#page-allappointments .all-appt-sort-control{
  align-self:end!important;
  position:relative!important;
  z-index:2147482999!important;
}
#page-allappointments .all-appt-sort-btn{
  width:44px!important;
  min-width:44px!important;
  height:40px!important;
  min-height:40px!important;
  border-radius:10px!important;
  background:#fff7f3!important;
  border:1px solid #ffc5b4!important;
  color:#e44822!important;
}
#page-allappointments .all-appt-sort-btn:hover,
#page-allappointments .all-appt-sort-btn[aria-expanded="true"]{
  background:#ff5c35!important;
  border-color:#ff5c35!important;
  color:#fff!important;
}
#page-allappointments .all-appt-clear-btn{
  width:82px!important;
  min-width:82px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 10px!important;
  border:1px solid #d6e0ec!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#334a63!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
#page-allappointments .all-appt-clear-btn:hover{background:#f5f8fb!important;border-color:#bdcadd!important;}

/* Popover always above the table */
#page-allappointments .all-appt-sort-menu{
  position:fixed!important;
  z-index:2147483640!important;
  width:232px!important;
  max-height:min(420px,72vh)!important;
  border-radius:13px!important;
  box-shadow:0 20px 52px rgba(15,23,42,.24)!important;
}

/* Tighter table start */
#page-allappointments .all-appt-results{margin-top:0!important;}

/* Laptop widths: still a single line */
@media (max-width:1500px){
  #page-allappointments .crm-appt-command-header{grid-template-columns:minmax(200px,auto) minmax(0,1fr) auto!important;gap:10px!important;}
  #page-allappointments .crm-appt-stat-chip{min-width:60px!important;padding:0 8px!important;}
  #page-allappointments .all-appt-filter-grid{
    grid-template-columns:minmax(180px,1.15fr) repeat(3,minmax(125px,.78fr)) 42px repeat(2,minmax(126px,.68fr)) 74px!important;
    gap:7px!important;
  }
  #page-allappointments .all-appt-clear-btn{width:74px!important;min-width:74px!important;}
}

/* Smaller laptop: stats collapse before filters do */
@media (max-width:1260px){
  #page-allappointments .crm-appt-header-stats{display:none!important;}
  #page-allappointments .crm-appt-command-header{grid-template-columns:auto 1fr auto!important;}
  #page-allappointments .all-appt-filter-grid{
    grid-template-columns:minmax(165px,1.05fr) repeat(3,minmax(112px,.72fr)) 40px repeat(2,minmax(116px,.66fr)) 68px!important;
    gap:6px!important;
  }
  #page-allappointments .all-appt-sort-btn{width:40px!important;min-width:40px!important;}
  #page-allappointments .all-appt-clear-btn{width:68px!important;min-width:68px!important;font-size:11px!important;}
}

@media (max-width:1080px){
  #page-allappointments .crm-appt-command-header{grid-template-columns:1fr auto!important;}
  #page-allappointments .crm-appt-command-title{grid-column:1 / -1!important;}
  #page-allappointments .all-appt-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #page-allappointments .all-appt-sort-btn,
  #page-allappointments .all-appt-clear-btn{width:100%!important;min-width:0!important;}
  #page-allappointments .all-appt-sort-btn span{display:inline!important;margin-left:6px!important;}
}

@media (max-width:720px){
  #page-allappointments .crm-appt-command-header{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  #page-allappointments .crm-appt-command-center,
  #page-allappointments .crm-appt-command-actions{width:100%!important;}
  #page-allappointments .crm-appt-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%!important;}
  #page-allappointments .crm-appt-tab{min-width:0!important;}
  #page-allappointments .crm-appt-command-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}
  #page-allappointments .all-appt-filter-grid{grid-template-columns:1fr!important;}
}

body.crm-night-mode #page-allappointments > .all-appt-toolbar.crm-appt-filter-panel,
body.crm-night-mode #page-allappointments .crm-appt-command-header{background:#1c2532!important;border-color:#344154!important;}
body.crm-night-mode #page-allappointments .all-appt-filter-field input,
body.crm-night-mode #page-allappointments .all-appt-filter-field select{background:#222d3b!important;border-color:#3a485c!important;color:#e8eef6!important;}
body.crm-night-mode #page-allappointments .all-appt-clear-btn{background:#222d3b!important;border-color:#3a485c!important;color:#e8eef6!important;}

/* Final desktop alignment: logical left filters and right date controls */
@media (min-width:1181px){
  #page-allappointments .all-appt-filter-grid{
    display:flex!important;
    align-items:flex-end!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  #page-allappointments .all-appt-filter-grid > :nth-child(1){flex:0 0 250px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(2),
  #page-allappointments .all-appt-filter-grid > :nth-child(3),
  #page-allappointments .all-appt-filter-grid > :nth-child(4){flex:0 0 180px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(5){flex:0 0 44px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(6){flex:0 0 150px!important;margin-left:auto!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(7){flex:0 0 150px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(8){flex:0 0 82px!important;}
}
@media (min-width:1181px) and (max-width:1500px){
  #page-allappointments .all-appt-filter-grid > :nth-child(1){flex-basis:210px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(2),
  #page-allappointments .all-appt-filter-grid > :nth-child(3),
  #page-allappointments .all-appt-filter-grid > :nth-child(4){flex-basis:150px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(5){flex-basis:42px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(6),
  #page-allappointments .all-appt-filter-grid > :nth-child(7){flex-basis:130px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(8){flex-basis:72px!important;}
}


/* V44 — status and payment dropdowns removed from appointment filters */
@media (min-width:1181px){
  #page-allappointments .all-appt-filter-grid{
    display:flex!important;
    align-items:flex-end!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
  }
  #page-allappointments .all-appt-filter-grid > :nth-child(1){flex:1 1 300px!important;max-width:420px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(2){flex:0 0 220px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(3){flex:0 0 44px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(4){flex:0 0 170px!important;margin-left:auto!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(5){flex:0 0 170px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(6){flex:0 0 82px!important;}
}
@media (min-width:1181px) and (max-width:1500px){
  #page-allappointments .all-appt-filter-grid > :nth-child(1){flex-basis:240px!important;max-width:330px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(2){flex-basis:180px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(3){flex-basis:42px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(4),
  #page-allappointments .all-appt-filter-grid > :nth-child(5){flex-basis:145px!important;}
  #page-allappointments .all-appt-filter-grid > :nth-child(6){flex-basis:72px!important;}
}
@media (max-width:1180px) and (min-width:721px){
  #page-allappointments .all-appt-filter-grid{grid-template-columns:minmax(220px,1.4fr) minmax(170px,1fr) 48px minmax(145px,.85fr) minmax(145px,.85fr) 82px!important;}
}

/* V51 Appointment list row polish: remove vertical column shadows, add subtle row gaps, reduce details button */
#page-allappointments .all-appt-results,
#page-allappointments .all-appt-results .tbl-wrap{
  box-shadow:none!important;
}
#page-allappointments .all-appt-table{
  border-collapse:separate!important;
  border-spacing:0 6px!important;
  background:transparent!important;
}
#page-allappointments .all-appt-table thead th{
  box-shadow:none!important;
  filter:none!important;
  background-image:none!important;
}
#page-allappointments .all-appt-table tbody tr,
#page-allappointments .all-appt-table tbody tr:hover{
  box-shadow:none!important;
  filter:none!important;
  background:transparent!important;
}
#page-allappointments .all-appt-table tbody td,
#page-allappointments .all-appt-table tbody tr:hover td{
  box-shadow:none!important;
  filter:none!important;
  background-image:none!important;
  border-left:0!important;
  border-right:0!important;
  border-top:1px solid #e4ebf3!important;
  border-bottom:1px solid #e4ebf3!important;
  background:#fff!important;
}
#page-allappointments .all-appt-table tbody td:first-child{
  border-left:1px solid #e4ebf3!important;
  border-radius:14px 0 0 14px!important;
}
#page-allappointments .all-appt-table tbody td:last-child{
  border-right:1px solid #e4ebf3!important;
  border-radius:0 14px 14px 0!important;
}
#page-allappointments .all-appt-table tbody tr:hover td{
  background:#fbfcfe!important;
  border-color:#d9e3ee!important;
}
#page-allappointments .all-appt-booking-details-btn{
  width:auto!important;
  min-width:80px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:none!important;
}
#page-allappointments .actions-cell{
  padding-left:7px!important;
  padding-right:7px!important;
}
body.crm-night-mode #page-allappointments .all-appt-table tbody td,
body.crm-night-mode #page-allappointments .all-appt-table tbody tr:hover td{
  background:#171e2a!important;
  border-color:#2c3645!important;
  box-shadow:none!important;
}
body.crm-night-mode #page-allappointments .all-appt-table tbody tr:hover td{
  background:#1d2532!important;
}


/* V52 — payment status only, clearer row spacing, smaller details action */
#page-allappointments .all-appt-payment-method{display:none!important;}
#page-allappointments .all-appt-payment-wrap{
  display:flex!important;
  align-items:center!important;
  min-height:28px!important;
}
#page-allappointments .all-appt-table{
  border-spacing:0 10px!important;
}
#page-allappointments .all-appt-booking-details-btn{
  min-width:70px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0 8px!important;
  border-radius:8px!important;
  font-size:9.5px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
#page-allappointments .actions-cell{
  padding-left:8px!important;
  padding-right:8px!important;
}


/* V53 — icon-free appointment rows, stronger row separation, left-aligned content */
#page-allappointments .all-appt-table{
  border-collapse:separate!important;
  border-spacing:0 12px!important;
}
#page-allappointments .all-appt-table thead th,
#page-allappointments .all-appt-table tbody td{
  text-align:left!important;
}
#page-allappointments .all-appt-table tbody td{
  padding-top:13px!important;
  padding-bottom:13px!important;
}
#page-allappointments .all-appt-text-stack{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
  text-align:left!important;
}
#page-allappointments .all-appt-table tbody .all-appt-icon,
#page-allappointments .all-appt-table tbody .all-appt-doctor-mark,
#page-allappointments .all-appt-table tbody .avatar,
#page-allappointments .all-appt-table tbody [class*="avatar-"]{
  display:none!important;
}
#page-allappointments .all-appt-status-col,
#page-allappointments .all-appt-payment-wrap{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  text-align:left!important;
}
#page-allappointments .actions-cell{
  text-align:left!important;
  padding-left:10px!important;
  padding-right:6px!important;
}
#page-allappointments .all-appt-booking-details-btn{
  width:auto!important;
  min-width:62px!important;
  height:26px!important;
  min-height:26px!important;
  padding:0 7px!important;
  border-radius:7px!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
