/* V37 Compact Density Fix: same Luxe design, smaller scale, stable buttons, visible filters */
:root{
  --lx-sidebar:218px!important;
  --lx-topbar:60px!important;
  --lx-radius-xs:8px!important;
  --lx-radius-sm:10px!important;
  --lx-radius:15px!important;
  --lx-radius-lg:19px!important;
}
html,body{font-size:12.5px!important;overflow-x:hidden!important;}
body{font-size:12.5px!important;}

/* Shell */
#sidebar,body.sidebar-collapsed #sidebar,#sidebar:hover,body.sidebar-collapsed #sidebar:hover{width:218px!important;min-width:218px!important;}
.sidebar-logo,body.sidebar-collapsed #sidebar .sidebar-logo,#sidebar:hover .sidebar-logo{height:76px!important;min-height:76px!important;padding:8px 12px!important;}
.sidebar-logo::before{left:11px!important;right:11px!important;top:9px!important;height:58px!important;border-radius:14px!important;}
.sidebar-logo-img{width:150px!important;max-width:150px!important;height:49px!important;max-height:49px!important;}
.sidebar-nav,body.sidebar-collapsed #sidebar .sidebar-nav,#sidebar:hover .sidebar-nav{padding:2px 10px 12px!important;}
.sidebar-nav .nav-label,.sidebar-nav .nav-section-label,.sidebar-nav .nav-group-title{padding:10px 10px 4px!important;font-size:7.5px!important;letter-spacing:.15em!important;}
#sidebar .nav-item,body.sidebar-collapsed #sidebar .nav-item,#sidebar:hover .nav-item,body.sidebar-collapsed #sidebar:hover .nav-item{min-height:38px!important;margin:2px 0!important;padding:0 9px!important;border-radius:10px!important;gap:8px!important;font-size:11.5px!important;font-weight:650!important;}
#sidebar .nav-icon{width:27px!important;height:27px!important;min-width:27px!important;border-radius:8px!important;}
#sidebar .nav-icon svg{width:16px!important;height:16px!important;}
.sidebar-footer{padding:8px 10px!important;}

#main,body.sidebar-collapsed #main{left:218px!important;top:0!important;width:calc(100% - 218px)!important;max-width:calc(100% - 218px)!important;overflow:hidden!important;}
#topbar{height:60px!important;min-height:60px!important;padding:0 12px!important;gap:7px!important;}
.search-wrap{max-width:560px!important;}
.search-wrap input{height:35px!important;font-size:12px!important;border-radius:10px!important;}
.hub-quick-add,.topbar-icon-btn,.hub-notif-btn,.notif-btn{width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important;}
.topbar-icon-btn svg,.hub-notif-btn svg{width:16px!important;height:16px!important;}
.hub-assistant-chip,.hub-inline-btn,.hub-account-chip{height:35px!important;min-height:35px!important;border-radius:10px!important;padding:0 11px!important;font-size:11px!important;}
.hub-account-avatar{width:28px!important;height:28px!important;font-size:10px!important;}
#content{top:60px!important;padding:14px 16px 22px!important;overflow-x:hidden!important;}

/* Page headers */
.page>.section-header,#page-allappointments>.section-header,#page-patients>.section-header,
#content .page>.section-header,#content #page-dashboard>.section-header,#content #page-allappointments>.section-header,#content #page-patients>.section-header,#content #page-calendar>.section-header,#content #page-receptionist>.section-header,#content #page-pipeline>.section-header,#content #page-followups>.section-header,#content #page-billing>.section-header,#content #page-reports>.section-header,#content #page-resources>.section-header,#content #page-medications>.section-header,#content #page-settings>.section-header,#content #page-labtests>.section-header,#content #page-therapy>.section-header,#content #page-products>.section-header{
  min-height:56px!important;
  padding:12px 14px!important;
  margin:0 0 12px!important;
  border-radius:15px!important;
  gap:10px!important;
}
.section-title,#content .page>.section-header .section-title{font-size:20px!important;line-height:1.18!important;letter-spacing:-.025em!important;}
.section-sub{font-size:11px!important;line-height:1.45!important;margin-top:2px!important;}
.page>.section-header>div:last-child{gap:7px!important;}

/* Cards and metrics */
.card,.metric-card,.stat-block,.settings-section,.clinic-card,.crm-inline-filter-panel,.crm-patient-filter-panel,.billing-filter-panel,.cal-sync-section,.pf-card,.crm-admin-menu,.notification-panel,.notif-panel{border-radius:14px!important;box-shadow:0 5px 16px rgba(18,32,51,.055)!important;}
.card{padding:13px!important;}
.card-header{padding:0 0 10px!important;margin-bottom:10px!important;}
.card-title{font-size:14px!important;}
.card-subtitle{font-size:10.5px!important;}
.grid4,.grid3,.grid2{gap:10px!important;}
.metric-card,.stat-block{min-height:96px!important;padding:13px!important;}
.metric-icon{width:32px!important;height:32px!important;border-radius:9px!important;font-size:15px!important;}
.metric-val,.stat-block-val{margin-top:8px!important;font-size:21px!important;letter-spacing:-.025em!important;}
.metric-label,.stat-block-label{font-size:9.5px!important;line-height:1.3!important;}

/* Buttons, controls */
.btn{min-height:34px!important;height:34px!important;padding:0 11px!important;border-radius:9px!important;font-size:11px!important;gap:5px!important;white-space:nowrap!important;}
.btn-sm{min-height:31px!important;height:31px!important;padding:0 9px!important;font-size:10.5px!important;}
input,select,.filter-select{height:36px!important;padding:0 10px!important;border-radius:9px!important;font-size:11.5px!important;}
textarea{padding:10px!important;border-radius:9px!important;font-size:11.5px!important;}
.form-group{margin-bottom:10px!important;}
.form-group label,.crm-filter-field>span,.all-appt-filter-label,.billing-filter-grid label{margin-bottom:4px!important;font-size:8.5px!important;letter-spacing:.075em!important;}
.form-row{gap:10px!important;}
.badge{font-size:9.5px!important;padding:4px 8px!important;border-radius:999px!important;}

/* Filters: always visible and compact */
#page-patients .crm-patient-filter-panel,
#page-patients .crm-patient-filter-panel.crm-collapsed,
#page-patients .crm-inline-filter-panel,
#page-billing .billing-filter-panel,
#page-allappointments .all-appt-toolbar.crm-appt-filter-panel,
#page-allappointments .crm-appt-filter-panel{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
  overflow:visible!important;
  padding:11px 12px!important;
  margin:0 0 11px!important;
}
.crm-inline-filter-head{padding:0 0 7px!important;margin:0 0 8px!important;}
.crm-inline-filter-title{font-size:8.5px!important;}
.crm-inline-filter-grid{display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr))!important;gap:8px!important;align-items:end!important;}
#page-patients .crm-inline-filter-grid{grid-template-columns:minmax(150px,.8fr) minmax(240px,1.45fr) minmax(160px,.9fr) minmax(150px,.85fr)!important;}
.all-appt-filter-grid{display:grid!important;grid-template-columns:minmax(220px,1.55fr) repeat(2,minmax(150px,.8fr)) repeat(2,minmax(135px,.7fr)) auto!important;gap:8px!important;align-items:end!important;}
.billing-filter-grid{display:grid!important;grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:8px!important;align-items:end!important;}
#page-labtests .filter-bar,.filter-bar{display:flex!important;visibility:visible!important;opacity:1!important;gap:8px!important;flex-wrap:wrap!important;align-items:flex-end!important;}
#page-therapy .therapy-filter-grid,.therapy-filter-grid{display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:minmax(220px,1fr) minmax(150px,220px)!important;gap:8px!important;}
.filter-chip{height:29px!important;padding:0 9px!important;font-size:9.5px!important;}

/* Appointment toolbar */
.crm-appt-toolbar-stable{min-height:50px!important;padding:8px 10px!important;margin-bottom:10px!important;border-radius:14px!important;gap:7px!important;}
.crm-appt-toolbar-stable button,.crm-appt-tab,.crm-appt-action-primary,.crm-appt-action-secondary{height:34px!important;min-height:34px!important;padding:0 11px!important;border-radius:9px!important;font-size:10.5px!important;}
.crm-appt-tab-icon{width:15px!important;height:15px!important;}

/* Tables: compact and fit */
.tbl-wrap{max-width:100%!important;overflow-x:auto!important;}
.tbl-wrap table{border-spacing:0 4px!important;font-size:11px!important;}
.tbl-wrap th{padding:7px 8px!important;font-size:8.5px!important;letter-spacing:.065em!important;}
.tbl-wrap td{padding:8px!important;font-size:11px!important;line-height:1.3!important;}
.all-appt-table,.crm-patients-table{min-width:0!important;width:100%!important;table-layout:fixed!important;}
.td-name{font-size:11.5px!important;}.td-sub{font-size:9.5px!important;}
.avatar,.patient-avatar,.doctor-avatar{width:32px!important;height:32px!important;min-width:32px!important;font-size:10px!important;}
.crm-patient-actions{gap:5px!important;}
.crm-patient-actions .btn,.crm-patient-actions .wa-btn{height:29px!important;min-height:29px!important;padding:0 8px!important;font-size:9.5px!important;border-radius:8px!important;}

/* Pipeline, tasks, clinical cards */
.pipeline{gap:9px!important;}
.pipeline-col{min-width:210px!important;border-radius:14px!important;}
.pipeline-card,.task-item,.recept-row,.med-card,.lab-card,.therapy-card,.resource-card,.product-card{padding:10px!important;border-radius:11px!important;margin-bottom:7px!important;}
.therapy-session-card,.therapy-request-card{padding:12px!important;border-radius:12px!important;}
.therapy-card-title,.therapy-patient-name{font-size:14px!important;}
.therapy-meta-grid{gap:7px!important;margin-top:9px!important;}
.therapy-meta-item{padding:8px!important;border-radius:9px!important;}
.therapy-calendar-cell{min-height:88px!important;padding:7px!important;border-radius:10px!important;}

/* Modals and patient file */
.modal{border-radius:18px!important;max-height:92vh!important;}
.modal-header{padding:13px 15px!important;}.modal-title{font-size:16px!important;}.modal-body{padding:14px!important;}.modal-footer{padding:10px 14px!important;}
#detail-panel{top:68px!important;right:10px!important;bottom:10px!important;width:min(1180px,calc(100vw - 238px))!important;max-width:calc(100vw - 238px)!important;border-radius:17px!important;}
#detail-panel .dp-header{padding:12px 14px!important;}
#detail-panel .dp-name{font-size:20px!important;}
#detail-panel .dp-avatar{width:44px!important;height:44px!important;border-radius:12px!important;font-size:15px!important;}
#detail-panel .dp-tabs{padding:8px 12px!important;gap:5px!important;}
#detail-panel .dp-tab{height:32px!important;padding:0 10px!important;border-radius:9px!important;font-size:10.5px!important;}
#detail-panel .dp-body{padding:12px!important;}
.pf-card{padding:12px!important;border-radius:12px!important;}.pf-title{font-size:15px!important;}.pf-kpi{padding:10px!important;border-radius:12px!important;}.pf-kpi-value{font-size:16px!important;}

/* Settings tabs and menus */
.settings-tabs,.therapy-tabs,.cal-view-tabs{gap:6px!important;}
.settings-tab,.therapy-tabs .btn,.cal-view-tab{height:34px!important;min-height:34px!important;padding:0 10px!important;font-size:10.5px!important;border-radius:9px!important;}
.crm-admin-menu{width:300px!important;max-height:calc(100vh - 70px)!important;}

/* Prevent accidental horizontal zoom/overflow */
.page,.card,.section-header,.crm-appt-toolbar-stable,.crm-inline-filter-panel,.billing-filter-panel{max-width:100%!important;}
#content .page{min-width:0!important;}

@media(max-width:1366px){
  :root{--lx-sidebar:198px!important;}
  #sidebar,body.sidebar-collapsed #sidebar,#sidebar:hover{width:198px!important;min-width:198px!important;}
  #main,body.sidebar-collapsed #main{left:198px!important;width:calc(100% - 198px)!important;max-width:calc(100% - 198px)!important;}
  .sidebar-logo-img{width:135px!important;max-width:135px!important;}
  .topbar-utility-icons .topbar-icon-btn:nth-child(n+4){display:none!important;}
  .all-appt-filter-grid{grid-template-columns:minmax(200px,1.4fr) repeat(2,minmax(130px,.8fr)) repeat(2,minmax(120px,.7fr)) auto!important;}
}
@media(max-width:1100px){
  .crm-inline-filter-grid,#page-patients .crm-inline-filter-grid,.billing-filter-grid,.all-appt-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .all-appt-clear-btn{width:100%!important;}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #detail-panel{left:10px!important;right:10px!important;width:auto!important;max-width:none!important;}
}
@media(max-width:760px){
  #main,body.sidebar-collapsed #main{left:0!important;width:100%!important;max-width:100%!important;}
  #content{padding:10px!important;}
  .page>.section-header{padding:11px!important;border-radius:12px!important;}
  .section-title{font-size:18px!important;}
  .grid4,.grid3,.grid2,.crm-inline-filter-grid,#page-patients .crm-inline-filter-grid,.billing-filter-grid,.all-appt-filter-grid,.therapy-filter-grid{grid-template-columns:1fr!important;}
  .metric-card,.stat-block{min-height:82px!important;}
  .all-appt-table,.crm-patients-table{min-width:880px!important;}
}


/* V38 Appointment list polish */
/* Keep vertical scrolling functional but hide the visible vertical scrollbar. */
#content{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
#content::-webkit-scrollbar{
  width:0!important;
  height:8px!important;
}
#content::-webkit-scrollbar-thumb{background:#cbd3df!important;border-radius:999px!important;}

/* Appointment list should never create its own vertical scrollbar. */
#page-allappointments .all-appt-results,
#page-allappointments .all-appt-results .tbl-wrap{
  max-height:none!important;
  height:auto!important;
  overflow-y:visible!important;
}
#page-allappointments .all-appt-results .tbl-wrap{
  overflow-x:auto!important;
  padding-right:2px!important;
}

/* Give the action column enough space and keep the button fully visible. */
#page-allappointments .all-appt-table th:nth-child(1),
#page-allappointments .all-appt-table td:nth-child(1){width:14%!important;}
#page-allappointments .all-appt-table th:nth-child(2),
#page-allappointments .all-appt-table td:nth-child(2){width:20%!important;}
#page-allappointments .all-appt-table th:nth-child(3),
#page-allappointments .all-appt-table td:nth-child(3){width:12%!important;}
#page-allappointments .all-appt-table th:nth-child(4),
#page-allappointments .all-appt-table td:nth-child(4){width:12%!important;}
#page-allappointments .all-appt-table th:nth-child(5),
#page-allappointments .all-appt-table td:nth-child(5){width:11%!important;}
#page-allappointments .all-appt-table th:nth-child(6),
#page-allappointments .all-appt-table td:nth-child(6){width:12%!important;}
#page-allappointments .all-appt-table th:nth-child(7),
#page-allappointments .all-appt-table td:nth-child(7){width:11%!important;}
#page-allappointments .all-appt-table th:nth-child(8),
#page-allappointments .all-appt-table td:nth-child(8){width:8%!important;min-width:88px!important;}
#page-allappointments td.actions-cell{
  padding-left:6px!important;
  padding-right:6px!important;
  text-align:center!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
#page-allappointments .all-appt-booking-details-btn{
  width:auto!important;
  min-width:78px!important;
  max-width:100%!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

/* Date sorting control */
#page-allappointments .all-appt-sortable-date{
  cursor:pointer!important;
  user-select:none!important;
}
#page-allappointments .all-appt-sortable-date > span{
  display:inline-flex!important;
  align-items:center!important;
  vertical-align:middle!important;
}
#page-allappointments #all-appt-date-sort-icon{
  margin-left:6px!important;
  width:16px!important;
  height:16px!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#fff3ef!important;
  color:#ff5c35!important;
  font-size:11px!important;
  font-weight:900!important;
}
#page-allappointments .all-appt-sortable-date:hover{color:#ff5c35!important;}

@media(max-width:1180px){
  #page-allappointments .all-appt-table{min-width:980px!important;}
  #page-allappointments .all-appt-booking-details-btn{min-width:74px!important;padding:0 8px!important;font-size:9.5px!important;}
}
