@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
/* Premium light CRM visual refresh. UI only, no feature logic changed. */
:root{
  --bg:#F8F9FD;
  --surface:#ffffff;
  --surface2:#fbfcff;
  --border:#E8EAF2;
  --border2:#DDE2EE;
  --text:#1A1D20;
  --text2:#3B4252;
  --text3:#7A8398;
  --text4:#9AA3B5;
  --blue:#7A5CFA;
  --blue-light:#F1EEFF;
  --blue-dark:#6548F0;
  --purple:#7A5CFA;
  --pink:#EF6BA8;
  --green:#00A66B;
  --green-light:#EAFBF3;
  --amber:#D98A00;
  --amber-light:#FFF7E6;
  --red:#E5485D;
  --red-light:#FFF0F3;
  --teal:#17A2B8;
  --sidebar-w:244px;
  --topbar-h:76px;
  --radius:16px;
  --shadow:0 4px 20px rgba(0,0,0,.03);
  --shadow-md:0 12px 32px rgba(16,24,40,.07);
  --shadow-lg:0 24px 70px rgba(28,35,55,.16);
}

html,body{font-family:Inter,'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;background:#F8F9FD!important;color:var(--text)!important;letter-spacing:-.01em;}
body{font-size:14px;}
*{scrollbar-color:#D6DBE8 transparent;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-thumb{background:#D6DBE8;border-radius:99px;}
::-webkit-scrollbar-track{background:transparent;}

#installBtn{display:none!important;}

/* Login */
#login-screen{background:radial-gradient(circle at 20% 15%,rgba(122,92,250,.34),transparent 32%),linear-gradient(135deg,#F8F9FD 0%,#EEF2FF 52%,#F8F9FD 100%)!important;padding:36px!important;}
#login-screen .login-box{border-radius:28px!important;border:1px solid rgba(255,255,255,.85)!important;box-shadow:0 24px 80px rgba(68,52,145,.16)!important;padding:42px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);}
#login-screen .login-logo-img{max-width:170px!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.05));}
#login-screen .login-tagline{color:var(--text3)!important;font-weight:800!important;font-size:14px!important;letter-spacing:.02em!important;text-align:center!important;margin:8px 0 26px!important;}
.login-role-tabs{background:#F4F5FB!important;border:1px solid var(--border)!important;border-radius:16px!important;padding:5px!important;gap:5px!important;}
.login-role-tab{border-radius:13px!important;color:var(--text3)!important;font-weight:800!important;padding:10px 8px!important;}
.login-role-tab.active{background:var(--blue)!important;color:#fff!important;box-shadow:0 8px 18px rgba(122,92,250,.24)!important;}
.login-btn{height:48px!important;border-radius:16px!important;background:var(--blue)!important;box-shadow:0 12px 24px rgba(122,92,250,.22)!important;}
.login-btn:hover{background:var(--blue-dark)!important;transform:translateY(-1px);}

/* Loading */
#loading-screen{background:#F8F9FD!important;}
.ls-logo{background:linear-gradient(135deg,var(--blue),#A78BFA)!important;border-radius:18px!important;box-shadow:0 16px 30px rgba(122,92,250,.24)!important;}
.ls-fill{background:linear-gradient(90deg,var(--blue),var(--pink))!important;}

/* Shell */
#sidebar{background:#fff!important;border-right:1px solid var(--border)!important;box-shadow:8px 0 30px rgba(28,35,55,.025)!important;padding:16px 12px!important;}
.sidebar-logo{height:auto!important;min-height:88px!important;padding:10px 10px 18px!important;border-bottom:1px solid var(--border)!important;justify-content:flex-start!important;gap:12px!important;}
.sidebar-logo-img{max-width:170px!important;max-height:56px!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.sidebar-nav{padding:16px 2px!important;}
.nav-section{margin-bottom:10px!important;}
.nav-label{font-size:10px!important;font-weight:900!important;color:#B1B8C9!important;letter-spacing:.13em!important;padding:15px 12px 7px!important;}
.nav-item{height:44px!important;padding:0 14px!important;border-radius:14px!important;color:#747D91!important;font-size:14px!important;font-weight:750!important;letter-spacing:-.01em!important;margin:4px 0!important;gap:12px!important;position:relative!important;}
.nav-item:hover{background:#F5F6FB!important;color:var(--text)!important;transform:translateX(2px);}
.nav-item.active{background:var(--blue)!important;color:#fff!important;box-shadow:0 12px 24px rgba(122,92,250,.22)!important;}
.nav-item.active .nav-icon,.nav-item.active .nav-badge{color:#fff!important;}
.nav-icon{width:22px!important;font-size:17px!important;opacity:.95;}
.nav-badge{background:#F84E6A!important;color:#fff!important;box-shadow:0 3px 10px rgba(248,78,106,.28)!important;}
.sidebar-footer{border-top:1px solid var(--border)!important;padding:14px 4px 2px!important;}
.sidebar-user{border-radius:18px!important;padding:10px!important;background:#FBFCFF!important;border:1px solid var(--border)!important;}
.sidebar-user:hover{background:#F4F5FB!important;}
.user-avatar,.avatar,.dp-avatar{background:linear-gradient(135deg,#F2EFFF,#FFF2D9)!important;color:#7A3E00!important;border-radius:18px!important;box-shadow:none!important;}
.logout-btn{height:38px!important;border-radius:14px!important;border:1px solid var(--border2)!important;color:#687184!important;font-weight:800!important;background:#fff!important;margin-top:10px!important;}
.logout-btn:hover{background:var(--red-light)!important;color:var(--red)!important;border-color:#FFD3DB!important;}

#main{background:#F8F9FD!important;}
#topbar{height:76px!important;background:rgba(255,255,255,.9)!important;border-bottom:1px solid var(--border)!important;box-shadow:0 4px 18px rgba(16,24,40,.025)!important;backdrop-filter:blur(14px);padding:0 24px!important;gap:18px!important;}
#hamburger-btn{border-radius:14px!important;background:#F5F6FB!important;border:1px solid var(--border)!important;color:var(--text)!important;}
.page-title{font-size:17px!important;font-weight:900!important;color:var(--text)!important;letter-spacing:-.03em!important;}
.search-wrap{max-width:520px!important;margin-left:16px!important;}
.search-wrap input{height:44px!important;border-radius:16px!important;background:#F7F8FC!important;border:1px solid #E4E7F0!important;padding-left:42px!important;font-size:14px!important;color:var(--text)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;}
.search-wrap input:focus{background:#fff!important;border-color:#C9C0FF!important;box-shadow:0 0 0 4px rgba(122,92,250,.10)!important;}
.search-icon{left:15px!important;color:#99A2B3!important;}
.search-results{border-radius:18px!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-lg)!important;overflow:hidden!important;}
.topbar-actions{gap:10px!important;}
.notif-btn{width:44px!important;height:44px!important;border-radius:16px!important;background:#fff!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important;color:var(--text2)!important;}
.notif-dot{background:#7A5CFA!important;width:8px!important;height:8px!important;}

#content{padding:28px 32px!important;background:#F8F9FD!important;}
.page{animation:crmFadeIn .18s ease-out;}
@keyframes crmFadeIn{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}

/* Dashboard sections */
.section-header{margin-bottom:20px!important;align-items:center!important;}
.section-title{font-size:24px!important;font-weight:950!important;letter-spacing:-.04em!important;color:var(--text)!important;}
.section-sub{font-size:13px!important;color:var(--text3)!important;margin-top:4px!important;font-weight:600!important;}
.grid4{gap:18px!important;}
.grid2{gap:18px!important;}
.grid3{gap:18px!important;}
.mt16{margin-top:18px!important;}
.mt12{margin-top:14px!important;}
.card,.metric-card,.settings-section,.user-card,.tpl-card,.pipeline-col,.billing-item,.all-appt-card,.cal-sync-section,.cal-provider,.filter-bar,#page-therapy .card,#page-labtests .card{background:#fff!important;border:1px solid #ECEEF5!important;border-radius:16px!important;box-shadow:0 4px 20px rgba(0,0,0,.03)!important;}
.card{padding:22px!important;}
.card:hover,.metric-card:hover,.user-card:hover,.pipeline-card:hover,.cal-provider:hover{box-shadow:0 14px 36px rgba(25,30,45,.07)!important;transform:translateY(-1px);}
.card-header{margin-bottom:18px!important;}
.card-title{font-size:17px!important;font-weight:950!important;color:var(--text)!important;letter-spacing:-.03em!important;}
.card-subtitle{font-size:12px!important;color:var(--text3)!important;font-weight:700!important;}

.metric-card{position:relative!important;min-height:140px!important;padding:22px!important;overflow:hidden!important;transition:all .18s ease!important;}
.metric-card:before{content:'';position:absolute;right:-34px;top:-44px;width:110px;height:110px;background:radial-gradient(circle,rgba(122,92,250,.12),transparent 68%);pointer-events:none;}
.metric-card:after{content:'';position:absolute;left:18px;right:18px;bottom:16px;height:38px;opacity:.72;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 48'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='0' y1='0' y2='1'%3E%3Cstop stop-color='%237A5CFA' stop-opacity='.22'/%3E%3Cstop offset='1' stop-color='%237A5CFA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 38 L0 28 C22 17 32 9 52 18 C73 28 86 42 108 27 C129 13 142 3 162 16 C180 28 195 36 214 22 C234 7 245 10 260 18 L260 48 L0 48Z' fill='url(%23g)'/%3E%3Cpath d='M0 28 C22 17 32 9 52 18 C73 28 86 42 108 27 C129 13 142 3 162 16 C180 28 195 36 214 22 C234 7 245 10 260 18' fill='none' stroke='%237A5CFA' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");}
.metric-icon{width:44px!important;height:44px!important;border-radius:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#F2EFFF!important;color:var(--blue)!important;font-size:20px!important;margin-bottom:14px!important;}
.metric-val{font-size:32px!important;font-weight:950!important;letter-spacing:-.06em!important;color:#0E1320!important;line-height:1!important;position:relative;z-index:1;}
.metric-label{font-size:13px!important;font-weight:750!important;color:#667085!important;margin-top:8px!important;position:relative;z-index:1;}

/* Tables and lists */
.tbl-wrap{border-radius:16px!important;border:1px solid #ECEEF5!important;background:#fff!important;box-shadow:var(--shadow)!important;overflow:hidden!important;}
.tbl-wrap table{border-collapse:separate!important;border-spacing:0!important;background:#fff!important;}
th,td{border-color:#EEF0F6!important;}
.tbl-wrap th{background:#FBFCFF!important;color:#9AA3B5!important;font-size:11px!important;font-weight:950!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding:15px 16px!important;}
.tbl-wrap td{padding:16px!important;color:#1A1D20!important;font-size:13px!important;}
.tbl-wrap tr:hover td{background:#FBFCFF!important;}
.td-name{font-weight:900!important;color:#121621!important;}
.td-sub{color:#8B94A7!important;font-weight:600!important;}
.task-item,.timeline-item,.sr-item,.info-row{border-radius:14px!important;border:1px solid #EEF0F6!important;background:#FBFCFF!important;padding:14px!important;}
.task-item:hover,.timeline-item:hover,.sr-item:hover{background:#fff!important;box-shadow:0 8px 22px rgba(16,24,40,.05)!important;}
.progress-bar{height:8px!important;background:#EEF0F6!important;border-radius:999px!important;overflow:hidden!important;}
.progress-fill{background:linear-gradient(90deg,var(--purple),var(--pink))!important;border-radius:999px!important;}

/* Buttons */
.btn,.wa-btn,button{font-family:Inter,'DM Sans',sans-serif!important;}
.btn{border-radius:13px!important;font-weight:850!important;min-height:38px!important;transition:all .16s ease!important;}
.btn-primary,.btn-purple{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;box-shadow:0 10px 20px rgba(122,92,250,.18)!important;}
.btn-primary:hover,.btn-purple:hover{background:var(--blue-dark)!important;transform:translateY(-1px);}
.btn-ghost{background:#fff!important;border:1px solid var(--border2)!important;color:#394154!important;box-shadow:var(--shadow)!important;}
.btn-ghost:hover{background:#F5F6FB!important;border-color:#D3D8E6!important;color:var(--text)!important;}
.btn-green{background:var(--green)!important;color:#fff!important;box-shadow:0 10px 18px rgba(0,166,107,.14)!important;}
.btn-red{background:var(--red)!important;color:#fff!important;box-shadow:0 10px 18px rgba(229,72,93,.14)!important;}
.btn-amber{background:var(--amber)!important;color:#fff!important;}
.btn-sm{min-height:32px!important;border-radius:11px!important;padding:6px 12px!important;font-size:12px!important;}
.crm-refresh-btn{background:#fff!important;color:#6E55EA!important;border-color:#DCD6FF!important;}

/* Inputs */
input,select,textarea{border:1px solid #DDE2EE!important;border-radius:13px!important;background:#fff!important;color:var(--text)!important;font-family:Inter,'DM Sans',sans-serif!important;box-shadow:none!important;}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:#B7AAFF!important;box-shadow:0 0 0 4px rgba(122,92,250,.10)!important;}
label,.form-group label{font-size:12px!important;color:#596276!important;font-weight:850!important;letter-spacing:.01em!important;}
.form-row{gap:14px!important;}
.filter-bar{padding:18px!important;margin-bottom:18px!important;gap:14px!important;align-items:flex-end!important;}
.filter-select{height:40px!important;border-radius:13px!important;}
.filter-chip{border-radius:999px!important;background:#fff!important;border:1px solid var(--border2)!important;color:#687184!important;font-weight:850!important;}
.filter-chip.active{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;}

/* Badges */
.badge,.appt-chip,.role-badge,[class*='chip-']{border-radius:999px!important;font-weight:900!important;padding:5px 10px!important;font-size:11px!important;line-height:1!important;}
.badge.blue,.chip-new{background:#F1EEFF!important;color:#6E55EA!important;}
.badge.green,.chip-arrived,.chip-completed{background:#EAFBF3!important;color:#008B59!important;}
.badge.red,.chip-noshow{background:#FFF0F3!important;color:#D92D48!important;}
.badge.amber,.chip-confirmed{background:#FFF7E6!important;color:#B76B00!important;}

/* Charts */
.donut-wrap,.bar-chart{background:linear-gradient(180deg,#fff,#FBFCFF)!important;border-radius:16px!important;border:1px solid #EEF0F6!important;padding:18px!important;}
.donut{filter:drop-shadow(0 14px 16px rgba(122,92,250,.10));}
.legend-item{font-weight:750!important;color:#657086!important;}
.legend-dot{border-radius:999px!important;}
.bar-chart .bar,.bar{border-radius:999px 999px 8px 8px!important;background:linear-gradient(180deg,#7A5CFA,#EF6BA8)!important;}

/* Calendar */
.cal-header{border-radius:16px!important;background:#FBFCFF!important;border:1px solid #EEF0F6!important;padding:14px!important;margin-bottom:16px!important;}
.cal-title{font-size:20px!important;font-weight:950!important;letter-spacing:-.04em!important;color:var(--text)!important;}
.cal-nav-btn,.cal-view-tab{border-radius:12px!important;border:1px solid var(--border2)!important;background:#fff!important;font-weight:900!important;color:#697386!important;}
.cal-view-tab.active,.cal-nav-btn:hover{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;}
.cal-grid{gap:10px!important;}
.cal-cell{border-radius:16px!important;border:1px solid #EEF0F6!important;background:#fff!important;box-shadow:var(--shadow)!important;}
.cal-cell.today{border-color:#C8BEFF!important;background:#FAF9FF!important;}
.cal-date-num{font-weight:950!important;color:#1A1D20!important;}
.wg-slot,.wg-header{border-radius:12px!important;}
.wg-appt{border-radius:12px!important;background:#F1EEFF!important;color:#6E55EA!important;border:1px solid #DDD6FE!important;}

/* Pipeline */
.pipeline{gap:16px!important;}
.pipeline-col{padding:12px!important;background:#fff!important;}
.pipeline-col-header{border-radius:14px!important;padding:12px!important;background:#FBFCFF!important;font-weight:950!important;}
.pipeline-cards{background:#F8F9FD!important;border-radius:14px!important;padding:10px!important;}
.pipeline-card{border-radius:14px!important;border:1px solid #ECEEF5!important;background:#fff!important;padding:13px!important;}

/* Detail panel and modals */
.detail-panel{background:#fff!important;border-left:none!important;border-radius:26px 0 0 26px!important;box-shadow:-22px 0 80px rgba(16,24,40,.14)!important;}
.dp-header{background:linear-gradient(180deg,#FFFFFF,#FBFCFF)!important;border-bottom:1px solid var(--border)!important;padding:28px 34px 20px!important;}
.dp-name{font-size:26px!important;font-weight:950!important;letter-spacing:-.05em!important;color:#101420!important;}
.dp-sub{font-size:14px!important;color:#8791A5!important;font-weight:700!important;}
.dp-tabs{gap:8px!important;padding:0 34px!important;background:#fff!important;border-bottom:1px solid var(--border)!important;overflow-x:auto!important;}
.dp-tab{border-radius:12px 12px 0 0!important;color:#8A93A6!important;font-weight:900!important;padding:14px 14px!important;}
.dp-tab.active{color:var(--blue)!important;border-bottom-color:var(--blue)!important;background:#FAF9FF!important;}
.dp-body{background:#fff!important;padding:26px 34px!important;}
.dp-close,.modal-close{border-radius:14px!important;background:#F5F6FB!important;color:#748094!important;}
.dp-close:hover,.modal-close:hover{background:#EEEFF6!important;color:#1A1D20!important;}
.modal-overlay{background:rgba(15,18,32,.44)!important;backdrop-filter:blur(6px);}
.modal{border-radius:24px!important;border:1px solid rgba(255,255,255,.7)!important;box-shadow:0 30px 90px rgba(15,18,32,.24)!important;background:#fff!important;}
.modal-header{padding:22px 26px 16px!important;border-bottom:1px solid var(--border)!important;background:#FBFCFF!important;}
.modal-title{font-size:18px!important;font-weight:950!important;letter-spacing:-.03em!important;color:#111522!important;}
.modal-body{padding:24px 26px!important;}
.modal-footer{padding:16px 26px!important;background:#FBFCFF!important;border-top:1px solid var(--border)!important;}

/* Settings */
.settings-section{padding:24px!important;}
.settings-section-title{font-size:17px!important;font-weight:950!important;color:var(--text)!important;}
.settings-section-sub{color:#8B94A7!important;font-weight:650!important;}
.settings-row{border-bottom:1px solid #EEF0F6!important;padding:16px 0!important;}
.settings-row-label{font-weight:900!important;color:#1A1D20!important;}
.settings-row-sub{color:#8B94A7!important;font-weight:650!important;}
.settings-tab-bar{border-bottom:1px solid var(--border)!important;gap:8px!important;padding-bottom:8px!important;}
.settings-tab{border-radius:999px!important;border:1px solid var(--border2)!important;background:#fff!important;color:#657086!important;margin-bottom:0!important;padding:9px 14px!important;font-weight:900!important;}
.settings-tab.active{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;box-shadow:0 10px 20px rgba(122,92,250,.18)!important;}

/* Therapy manager */
.therapy-selected-slot-summary{border-radius:16px!important;border-color:#C8BEFF!important;background:#FAF9FF!important;color:#6E55EA!important;}
.therapy-selected-slot-summary.has-slot{border-color:#B7F2D8!important;background:#F0FFF8!important;color:#008B59!important;}
.therapy-schedule-panel,.therapy-slot-panel{border-radius:18px!important;background:#fff!important;border:1px solid #ECEEF5!important;box-shadow:var(--shadow)!important;}
.therapy-slot-btn{border-radius:14px!important;border:1px solid #DCD6FF!important;background:#F6F3FF!important;color:#5C43D8!important;font-weight:950!important;}
.therapy-slot-btn:hover,.therapy-slot-btn.active{background:var(--blue)!important;color:#fff!important;box-shadow:0 10px 18px rgba(122,92,250,.18)!important;}

/* Notifications */
#notif-panel{border-radius:22px!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-lg)!important;background:#fff!important;}
.notif-tab.active{color:var(--blue)!important;border-bottom-color:var(--blue)!important;}
.toast{border-radius:16px!important;box-shadow:0 18px 50px rgba(16,24,40,.20)!important;}

/* Mobile */
@media (max-width:1100px){
  :root{--sidebar-w:232px;}
  #content{padding:22px!important;}
  .grid4{grid-template-columns:repeat(2,1fr)!important;}
  .grid2{grid-template-columns:1fr!important;}
}
@media (max-width:700px){
  #sidebar{padding:12px 10px!important;}
  #topbar{height:68px!important;padding:0 14px!important;}
  #content{padding:16px!important;}
  .grid4,.grid3{grid-template-columns:1fr!important;}
  .section-title{font-size:20px!important;}
  .metric-card{min-height:120px!important;}
  .detail-panel{border-radius:22px 22px 0 0!important;}
  .modal{border-radius:22px 22px 0 0!important;}
  .topbar-actions .btn{padding:7px 10px!important;font-size:12px!important;}
  .search-wrap{margin-left:0!important;max-width:none!important;}
}

/* Final polish requested: Calibri font, square normal buttons, clean login tabs, logo-only sidebar, aligned payment column. */
:root{
  --app-font:'Calibre','Calibri','Arial',sans-serif;
}
body *{
  font-family:var(--app-font)!important;
}
html,body,#login-screen,#main,#content,.page,.card,.modal,.detail-panel,
input,select,textarea,button,.btn,.wa-btn,table,th,td,label,
.section-title,.card-title,.page-title,.nav-item,.login-role-tab,.login-btn{
  font-family:var(--app-font)!important;
}

/* Sidebar should show logo only, no repeated clinic name beside it. */
.sidebar-logo-name{display:none!important;}
.sidebar-logo{
  justify-content:center!important;
  align-items:center!important;
  gap:0!important;
  min-height:74px!important;
  padding:14px 10px!important;
}
.sidebar-logo-img{
  max-width:150px!important;
  max-height:54px!important;
  padding:0!important;
  margin:0 auto!important;
  display:block!important;
}

/* Buttons: normal weight and square corners. */
.btn,.wa-btn,button,.login-btn,.login-role-tab,.logout-btn,
.cal-nav-btn,.cal-view-tab,.filter-chip,.settings-tab,.receipt-view-btn{
  border-radius:0!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
.btn-primary,.btn-purple,.btn-green,.btn-red,.btn-amber,.btn-ghost{
  box-shadow:none!important;
}
.btn:hover,.btn-primary:hover,.btn-purple:hover,.btn-ghost:hover,
.login-btn:hover,.nav-item:hover,.card:hover,.metric-card:hover,.user-card:hover,.pipeline-card:hover,.cal-provider:hover{
  transform:none!important;
}
.topbar-actions .btn,.section-header .btn{
  height:40px!important;
  padding:8px 16px!important;
  font-size:13px!important;
  font-weight:500!important;
}
.btn-sm{
  min-height:30px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:500!important;
}

/* Login role tabs: clean rectangular tabs, no cramped pill layout. */
#login-screen .login-role-label{
  margin:4px 0 8px!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#6b7280!important;
}
#login-screen .login-role-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0 0 18px!important;
}
#login-screen .login-role-tab{
  min-height:42px!important;
  padding:10px 8px!important;
  border:1px solid #DDE2EE!important;
  background:#fff!important;
  color:#596276!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  font-size:13px!important;
}
#login-screen .login-role-tab.active{
  background:#F7F5FF!important;
  color:var(--blue)!important;
  border-color:var(--blue)!important;
  box-shadow:inset 0 -2px 0 var(--blue)!important;
}
#login-screen .login-btn{
  height:46px!important;
  font-size:15px!important;
}
#login-screen .form-group input,
#login-screen input,
#login-screen select,
#login-screen textarea{
  font-family:var(--app-font)!important;
}
@media (max-width:480px){
  #login-screen .login-role-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #login-screen .login-role-tab{justify-content:center!important;padding-left:8px!important;}
}

/* All Appointments payment alignment. */
#page-allappointments .tbl-wrap th,
#page-allappointments .tbl-wrap td{
  vertical-align:middle!important;
  text-align:left!important;
}
#page-allappointments .tbl-wrap th:nth-child(6),
#page-allappointments .tbl-wrap td:nth-child(6){
  text-align:left!important;
  width:13%!important;
}
#page-allappointments .tbl-wrap td:nth-child(6) .badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 6px 0!important;
  min-width:58px!important;
}
#page-allappointments .tbl-wrap td:nth-child(6) .td-sub{
  display:block!important;
  margin:0 0 6px 0!important;
  line-height:1.25!important;
  text-align:left!important;
}
#page-allappointments .tbl-wrap td:nth-child(6) .receipt-empty,
#page-allappointments .tbl-wrap td:nth-child(6) .receipt-view-btn{
  display:inline-flex!important;
  margin-top:0!important;
  align-items:center!important;
}
#page-allappointments .all-appt-card-badges{
  align-items:center!important;
}
#page-allappointments .all-appt-card-row strong,
#page-allappointments .all-appt-card-badges .td-sub{
  text-align:left!important;
}


.badge-therapist{background:#cffafe;color:#0e7490;}

/* Billing filters and patient history summary */
.billing-filter-panel{
  border:1px solid var(--border);
  background:var(--surface2);
  border-radius:16px;
  padding:14px;
  margin-bottom:14px;
}
.billing-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  align-items:end;
}
.billing-filter-grid label{
  display:block;
  font-size:11px;
  font-weight:800;
  color:var(--text4);
  margin-bottom:5px;
  letter-spacing:.02em;
}
.billing-filter-grid select,
.billing-filter-grid input{
  width:100%;
  height:38px;
  font-size:12.5px;
  padding:0 10px;
  border:1px solid var(--border2);
  border-radius:8px;
  background:#fff;
  color:var(--text1);
}
.billing-clear-wrap{
  display:flex;
  align-items:end;
}
.billing-clear-wrap .btn{
  width:100%;
  height:38px;
}
.billing-filter-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(140px,1fr));
  gap:10px;
  margin-top:12px;
}
.billing-summary-item{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:11px 12px;
  min-width:0;
}
.billing-summary-item span{
  display:block;
  font-size:11px;
  font-weight:800;
  color:var(--text4);
  margin-bottom:5px;
}
.billing-summary-item strong{
  display:block;
  font-size:14px;
  font-weight:900;
  color:var(--text1);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:1100px){
  .billing-filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr));}
  .billing-filter-summary{grid-template-columns:repeat(2,minmax(140px,1fr));}
}
@media(max-width:640px){
  .billing-filter-grid,
  .billing-filter-summary{grid-template-columns:1fr;}
  .billing-filter-panel{padding:12px;}
}

/* Mobile compact dashboard and stats layout */
@media (max-width:767px){
  html,body{background:#F8F9FD!important;}
  #main{min-height:100vh!important;background:#F8F9FD!important;}
  #topbar{height:56px!important;padding:0 12px!important;gap:8px!important;border-radius:0!important;}
  #hamburger-btn{width:42px!important;height:42px!important;border-radius:14px!important;flex:0 0 42px!important;font-size:20px!important;}
  .page-title{max-width:82px!important;font-size:12px!important;font-weight:900!important;}
  .search-wrap{flex:0 0 48px!important;max-width:48px!important;margin-left:0!important;}
  .search-wrap input{width:48px!important;height:42px!important;border-radius:14px!important;padding:0!important;color:transparent!important;caret-color:transparent!important;}
  .search-wrap input::placeholder{color:transparent!important;}
  .search-wrap .search-icon{left:50%!important;transform:translate(-50%,-50%)!important;font-size:16px!important;}
  .topbar-actions{gap:8px!important;margin-left:auto!important;}
  .topbar-actions .btn{height:42px!important;border-radius:0!important;padding:0 10px!important;font-size:12px!important;white-space:nowrap!important;}
  .topbar-actions #add-patient-btn{display:none!important;}
  .notif-btn{width:42px!important;height:42px!important;border-radius:14px!important;}

  #content{padding:12px 12px 76px!important;background:#F8F9FD!important;}
  .page{padding:0!important;}
  .section-header{margin:0 0 12px!important;padding:10px 0 0!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;text-align:left!important;}
  .section-title{font-size:17px!important;line-height:1.25!important;letter-spacing:-.02em!important;margin:0!important;text-align:left!important;}
  .section-sub{font-size:11px!important;line-height:1.35!important;margin-top:2px!important;text-align:left!important;}
  #page-dashboard .section-header .btn{display:none!important;}
  #dashboard-greeting{font-size:18px!important;}
  #dash-date{font-size:12px!important;}

  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  #metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important;}
  .metric-card{min-height:74px!important;padding:11px 12px!important;border-radius:14px!important;box-shadow:0 3px 14px rgba(15,23,42,.035)!important;display:grid!important;grid-template-columns:34px 1fr!important;grid-template-rows:auto auto!important;column-gap:10px!important;row-gap:2px!important;align-items:center!important;overflow:hidden!important;}
  .metric-card:before,.metric-card:after{display:none!important;content:none!important;}
  .metric-icon{grid-row:1 / span 2!important;width:34px!important;height:34px!important;border-radius:11px!important;font-size:16px!important;margin:0!important;}
  .metric-val{font-size:22px!important;line-height:1!important;letter-spacing:-.03em!important;margin:0!important;align-self:end!important;}
  .metric-label{font-size:10.8px!important;line-height:1.15!important;margin:0!important;font-weight:800!important;color:#667085!important;align-self:start!important;}

  .grid2,.grid3{grid-template-columns:1fr!important;gap:12px!important;}
  .mt16{margin-top:12px!important;}
  .mt12{margin-top:10px!important;}
  .card{border-radius:14px!important;padding:14px!important;box-shadow:0 3px 14px rgba(15,23,42,.035)!important;}
  .card-header{margin-bottom:12px!important;align-items:center!important;gap:8px!important;}
  .card-title{font-size:14px!important;letter-spacing:-.01em!important;}
  .card-subtitle{font-size:11px!important;}

  #lead-donut{display:grid!important;grid-template-columns:100px 1fr!important;gap:12px!important;align-items:center!important;}
  #lead-donut .donut{width:100px!important;height:100px!important;}
  #lead-donut .legend{gap:6px!important;}
  #lead-donut .legend-item{font-size:11px!important;padding:6px 0!important;}
  .bar-chart{min-height:150px!important;}

  #mobile-bottom-nav{height:58px!important;border-radius:0!important;box-shadow:0 -8px 24px rgba(15,23,42,.08)!important;}
  .bottom-nav-item{font-size:10px!important;gap:2px!important;}
  .bottom-nav-icon{font-size:18px!important;}
}

@media (max-width:390px){
  .metric-card{padding:10px!important;grid-template-columns:30px 1fr!important;column-gap:8px!important;}
  .metric-icon{width:30px!important;height:30px!important;font-size:14px!important;}
  .metric-val{font-size:20px!important;}
  .metric-label{font-size:10px!important;}
  .topbar-actions .btn{max-width:88px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
}

/* CRM MOBILE PRIORITY + HUBSPOT-STYLE FONT POLISH 20260710 */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Lexend+Deca:wght@300;400;500;600;700;800;900&display=swap');
:root{
  --crm-font-body:'Lexend Deca','Inter','Calibri','Arial',sans-serif;
  --crm-font-heading:'DM Serif Display','Georgia','Times New Roman',serif;
}
html,body,button,input,select,textarea,table,.btn,.nav-item,.badge,.filter-chip{font-family:var(--crm-font-body)!important;}
.section-title,.card-title,.modal-title,.settings-section-title,.therapy-calendar-title,.therapy-card-title,.bk-hero-title,h1,h2,h3{font-family:var(--crm-font-heading)!important;font-weight:400!important;letter-spacing:-.02em!important;line-height:1.06!important;}
.metric-val,.stat-block-val{font-family:var(--crm-font-heading)!important;font-weight:400!important;letter-spacing:-.02em!important;}

.crm-mobile-card-list{display:none;}
.crm-mobile-card{background:#fff;border:1px solid #ECEEF5;border-radius:16px;padding:12px 13px;box-shadow:0 4px 18px rgba(15,23,42,.035);display:grid;gap:9px;}
.crm-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.crm-mobile-card-title{font-size:14px;font-weight:800;color:var(--text1);line-height:1.25;}
.crm-mobile-card-sub{font-size:11.5px;color:var(--text4);line-height:1.35;margin-top:2px;word-break:break-word;}
.crm-mobile-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.crm-mobile-card-cell{background:#f8fafc;border:1px solid #edf0f6;border-radius:11px;padding:8px;min-width:0;}
.crm-mobile-card-cell span{display:block;font-size:10px;font-weight:800;color:var(--text4);text-transform:uppercase;letter-spacing:.035em;margin-bottom:3px;}
.crm-mobile-card-cell strong{display:block;font-size:12px;font-weight:800;color:var(--text1);line-height:1.35;word-break:break-word;}
.crm-mobile-card-actions{display:flex;gap:7px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #edf0f6;}
.crm-mobile-card-actions .btn,.crm-mobile-card-actions .wa-btn{height:31px!important;padding:6px 9px!important;font-size:11px!important;}
.crm-mobile-status-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}

@media (max-width:767px){
  body{background:#F8F9FD!important;}
  #content{padding:14px 12px 76px!important;}
  .page{padding-bottom:74px!important;}
  .section-header{padding:12px!important;margin-bottom:12px!important;border-radius:14px!important;gap:10px!important;align-items:flex-start!important;}
  .section-header .section-title{font-size:26px!important;line-height:1.02!important;}
  .section-sub{font-size:11px!important;line-height:1.45!important;}
  .section-header>div:last-child{display:flex!important;gap:7px!important;overflow-x:auto!important;max-width:100%!important;padding-bottom:2px!important;}
  .section-header .btn,.section-header select{height:34px!important;font-size:11.5px!important;white-space:nowrap!important;padding:0 10px!important;}
  .grid4,.grid3,#page-therapy .grid4,#page-allappointments .grid4,#page-billing .grid3{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important;}
  .metric-card,#page-therapy .metric-card,#page-allappointments .metric-card,#page-billing .metric-card{min-height:54px!important;padding:8px 9px!important;border-radius:13px!important;display:grid!important;grid-template-columns:26px 1fr!important;grid-template-rows:auto auto!important;column-gap:8px!important;align-items:center!important;box-shadow:0 3px 12px rgba(15,23,42,.035)!important;}
  .metric-card:before,.metric-card:after{display:none!important;content:none!important;}
  .metric-icon{width:26px!important;height:26px!important;border-radius:10px!important;font-size:14px!important;grid-row:1 / span 2!important;}
  .metric-val{font-size:22px!important;line-height:1!important;margin:0!important;}
  .metric-label{font-size:10.5px!important;line-height:1.2!important;margin:0!important;white-space:normal!important;}
  .card,.clinic-card,.settings-section{border-radius:15px!important;padding:12px!important;box-shadow:0 4px 18px rgba(15,23,42,.035)!important;}
  .card-header{display:flex!important;gap:8px!important;align-items:flex-start!important;margin-bottom:10px!important;}
  .card-title{font-size:21px!important;}
  .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}

  #page-allappointments>.section-header+div,
  #page-patients .crm-patient-filter-panel,
  #page-billing .billing-filter-panel{padding:8px!important;margin-bottom:10px!important;border-radius:13px!important;box-shadow:none!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  #page-allappointments>.section-header+div>div,
  #page-patients .crm-patient-filter-panel,
  #page-billing .billing-filter-grid{display:flex!important;flex-wrap:nowrap!important;gap:7px!important;align-items:center!important;min-width:max-content!important;}
  #page-patients .crm-patient-filter-panel>div:first-child{display:none!important;}
  #page-patients .crm-patient-filter-panel .filter-bar{order:99!important;display:flex!important;margin:0!important;}
  #page-patients .crm-patient-filter-panel .filter-bar>div>div:first-child,
  #page-patients .crm-patient-filter-panel div[style*="font-size:11px"],
  #page-allappointments>.section-header+div div[style*="font-size:11px"],
  #page-billing .billing-filter-grid label{display:none!important;}
  #page-patients .crm-patient-filter-panel>div:last-child{display:flex!important;flex-wrap:nowrap!important;gap:7px!important;margin-top:0!important;order:1!important;}
  #page-patients .filter-select,
  #page-allappointments select,#page-allappointments input[type="date"],#page-allappointments input[type="text"],
  #page-billing .billing-filter-grid select,#page-billing .billing-filter-grid input{height:34px!important;border-radius:10px!important;font-size:11px!important;padding:0 9px!important;min-width:88px!important;max-width:138px!important;background:#fff!important;}
  #all-appt-search{width:150px!important;}
  #patient-search{width:100%!important;min-width:180px!important;}
  #page-patients .filter-chip{height:34px!important;min-width:36px!important;padding:0 9px!important;border-radius:10px!important;font-size:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
  #page-patients .filter-chip::first-letter{font-size:15px!important;}
  #page-patients .filter-chip::after{content:attr(data-mobile-label);font-size:11px!important;}
  #page-patients .filter-chip[data-mobile-icon]::after{content:attr(data-mobile-icon);font-size:15px!important;}
  #page-patients .filter-chip.active{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;}
  #page-billing .billing-filter-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;min-width:100%!important;margin-top:8px!important;}
  #page-billing .billing-summary-item{padding:8px!important;border-radius:11px!important;}
  #page-billing .billing-summary-item span{font-size:9.5px!important;}
  #page-billing .billing-summary-item strong{font-size:12px!important;}

  #page-patients .tbl-wrap,#page-billing .tbl-wrap{display:none!important;}
  #patients-mobile-list,#billing-mobile-list{display:grid!important;gap:9px!important;}
  #recept-queue table{display:none!important;}
  #recept-mobile-list{display:grid!important;gap:9px!important;}
  #page-allappointments .all-appt-mobile-list{gap:9px!important;}
  #page-allappointments .all-appt-card{padding:11px 12px!important;border-radius:14px!important;}
  #page-allappointments .all-appt-card-patient{font-size:14px!important;}
  #page-allappointments .all-appt-card-row{font-size:11.5px!important;padding:6px 0!important;}

  #page-therapy .section-header{order:0;}
  #page-therapy .metric-card{min-height:50px!important;}
  #page-therapy .therapy-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:7px!important;margin-bottom:10px!important;}
  #page-therapy .therapy-tabs .btn{width:auto!important;min-width:max-content!important;height:34px!important;font-size:11px!important;padding:0 10px!important;}
  #page-therapy .therapy-filter-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:7px!important;}
  #page-therapy .therapy-filter-grid>div{min-width:160px!important;}
  #page-therapy .therapy-filter-grid label{display:none!important;}
  #page-therapy .therapy-filter-grid input,#page-therapy .therapy-filter-grid select{height:34px!important;font-size:11px!important;border-radius:10px!important;}
  #page-therapy #therapy-book-cta-panel{display:flex!important;padding:10px!important;margin-bottom:10px!important;}
  #page-therapy #therapy-book-cta-panel>div div:first-child{font-size:13px!important;}
  #page-therapy #therapy-book-cta-panel .therapy-muted{display:none!important;}

  #page-receptionist .grid4{margin-top:8px!important;}
  #page-receptionist .card.mt16{margin-top:10px!important;}
  #page-receptionist .card-header{align-items:center!important;}
  #page-receptionist #recept-status-filter{height:32px!important;max-width:130px!important;font-size:11px!important;}
  .cal-sync-section{padding:12px!important;margin-bottom:12px!important;}
  .cal-providers{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .cal-provider{min-height:auto!important;padding:10px!important;border-radius:13px!important;}
  .cal-provider-icon{width:34px!important;height:34px!important;font-size:18px!important;}
  .cal-provider-name{font-size:13px!important;}
  .cal-provider-status{font-size:11px!important;}
}

@media (min-width:768px){
  #patients-mobile-list,#billing-mobile-list,#recept-mobile-list{display:none!important;}
}

/* SIDEBAR WIDTH FIX 20260710 */
@media (min-width:1024px){
  :root{--sidebar-w:300px!important;}
  #sidebar{width:300px!important;padding-left:16px!important;padding-right:16px!important;}
  .nav-item{white-space:nowrap!important;font-size:14px!important;line-height:1!important;}
  .nav-item .nav-icon{flex:0 0 22px!important;}
  .sidebar-logo-img{max-width:210px!important;}
  .sidebar-user>div:last-child{min-width:0!important;}
  .user-name,.user-role{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
}
@media (max-width:767px){
  #sidebar{width:300px!important;max-width:86vw!important;}
  .nav-item{white-space:nowrap!important;}
  .sidebar-logo-img{max-width:210px!important;}
}

/* CRM desktop and mobile appointment optimization 20260710 */
:root{
  --crm-brand-blue:#0084ad;
  --crm-brand-blue-dark:#006f93;
}
.search-wrap input:focus,
#topbar .search-wrap input:focus,
input:focus,
select:focus,
textarea:focus{
  border-color:var(--crm-brand-blue)!important;
  box-shadow:0 0 0 4px rgba(0,132,173,.14)!important;
  outline:none!important;
}
.search-wrap input:focus::placeholder,
#topbar .search-wrap input:focus::placeholder{
  color:transparent!important;
}
.badge,
.therapy-chip,
.all-appt-card-badges .td-sub{
  font-weight:900!important;
}
.metric-card:after{
  display:none!important;
  content:none!important;
  background-image:none!important;
}
.metric-card:before{
  opacity:.55!important;
}
#page-allappointments > .section-header > div:last-child .btn-primary[onclick*="modal-appt"]{
  display:none!important;
}
#page-allappointments .crm-appt-filter-panel{
  padding:14px!important;
  border-radius:16px!important;
}
#page-allappointments .crm-appt-filter-panel > div{
  display:grid!important;
  grid-template-columns:minmax(240px,1.35fr) minmax(160px,1fr) minmax(160px,1fr) minmax(145px,.85fr) minmax(145px,.85fr) auto!important;
  gap:12px!important;
  align-items:end!important;
}
#page-allappointments .crm-appt-filter-panel input,
#page-allappointments .crm-appt-filter-panel select,
#page-allappointments .crm-appt-filter-panel .filter-select{
  width:100%!important;
  height:40px!important;
}
#page-allappointments .crm-appt-filter-panel .btn{
  height:40px!important;
  white-space:nowrap!important;
}
#page-allappointments table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
#page-allappointments th,
#page-allappointments td{
  vertical-align:middle!important;
  border-bottom:1px solid #f0f2f6!important;
}
#page-allappointments th:nth-child(1),
#page-allappointments td:nth-child(1){width:15%!important;}
#page-allappointments th:nth-child(2),
#page-allappointments td:nth-child(2){width:25%!important;}
#page-allappointments th:nth-child(3),
#page-allappointments td:nth-child(3){width:13%!important;}
#page-allappointments th:nth-child(4),
#page-allappointments td:nth-child(4){width:14%!important;}
#page-allappointments th:nth-child(5),
#page-allappointments td:nth-child(5){width:11%!important;text-align:center!important;}
#page-allappointments th:nth-child(6),
#page-allappointments td:nth-child(6){width:12%!important;text-align:center!important;}
#page-allappointments th:nth-child(7),
#page-allappointments td:nth-child(7){width:10%!important;text-align:right!important;}
#page-allappointments td:nth-child(3),
#page-allappointments td:nth-child(4){
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#page-allappointments td:nth-child(7) .btn{
  margin-bottom:4px!important;
}
#page-allappointments .all-appt-results{
  overflow:hidden!important;
}
.crm-mobile-filter-trigger,
.crm-mobile-filter-overlay,
.crm-mobile-filter-close{
  display:none;
}
@media(max-width:900px){
  #page-allappointments .crm-appt-filter-panel > div{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:767px){
  #sidebar{
    transform:translateX(-105%);
  }
  body.sidebar-open #sidebar,
  #sidebar.open{
    transform:translateX(0)!important;
  }
  #page-allappointments > .section-header,
  #page-patients > .section-header,
  #page-billing > .section-header,
  #page-receptionist > .section-header,
  #page-therapy > .section-header{
    gap:10px!important;
    margin-bottom:10px!important;
  }
  #page-allappointments > .section-header > div:first-child .section-sub,
  #page-patients > .section-header > div:first-child .section-sub,
  #page-therapy > .section-header > div:first-child .section-sub{
    display:none!important;
  }
  #page-allappointments .section-title,
  #page-patients .section-title,
  #page-billing .section-title,
  #page-receptionist .section-title,
  #page-therapy .section-title{
    font-size:18px!important;
    line-height:1.2!important;
  }
  #page-allappointments .crm-appt-filter-panel,
  #page-patients .crm-patient-filter-panel,
  #page-billing .billing-filter-panel{
    display:none!important;
  }
  body.crm-filter-open #page-allappointments .crm-appt-filter-panel.crm-filter-panel-open,
  body.crm-filter-open #page-patients .crm-patient-filter-panel.crm-filter-panel-open,
  body.crm-filter-open #page-billing .billing-filter-panel.crm-filter-panel-open{
    display:block!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:10002!important;
    max-height:82vh!important;
    overflow:auto!important;
    margin:0!important;
    border-radius:22px 22px 0 0!important;
    padding:18px 16px 20px!important;
    box-shadow:0 -18px 44px rgba(15,23,42,.22)!important;
    background:#fff!important;
  }
  body.crm-filter-open #page-allappointments .crm-appt-filter-panel.crm-filter-panel-open:before,
  body.crm-filter-open #page-patients .crm-patient-filter-panel.crm-filter-panel-open:before,
  body.crm-filter-open #page-billing .billing-filter-panel.crm-filter-panel-open:before{
    content:'Filter Results';
    display:block;
    font-size:18px;
    font-weight:950;
    color:var(--text1);
    margin-bottom:14px;
  }
  .crm-mobile-filter-overlay{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.35);
    z-index:10001;
    opacity:0;
    pointer-events:none;
    transition:.18s ease;
  }
  body.crm-filter-open .crm-mobile-filter-overlay{
    display:block;
    opacity:1;
    pointer-events:auto;
  }
  .crm-mobile-filter-close{
    display:none;
    position:fixed;
    right:16px;
    bottom:calc(82vh - 46px);
    z-index:10003;
    width:36px;
    height:36px;
    border-radius:50%!important;
    border:1px solid var(--border)!important;
    background:#fff!important;
    color:var(--text1)!important;
    font-size:18px!important;
    line-height:1!important;
  }
  body.crm-filter-open .crm-mobile-filter-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .crm-mobile-filter-trigger{
    display:flex!important;
    width:100%!important;
    height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0 0 10px!important;
    border:1px solid var(--border2)!important;
    background:#fff!important;
    color:var(--text1)!important;
    font-weight:900!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.crm-filter-open .crm-filter-panel-open > div,
  body.crm-filter-open #page-allappointments .crm-filter-panel-open > div,
  body.crm-filter-open #page-patients .crm-filter-panel-open > div,
  body.crm-filter-open #page-billing .crm-filter-panel-open .billing-filter-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body.crm-filter-open .crm-filter-panel-open input,
  body.crm-filter-open .crm-filter-panel-open select,
  body.crm-filter-open .crm-filter-panel-open .filter-select,
  body.crm-filter-open .crm-filter-panel-open .btn{
    width:100%!important;
    height:42px!important;
  }
  #page-allappointments .tbl-wrap,
  #page-patients .tbl-wrap,
  #page-billing .tbl-wrap{
    display:none!important;
  }
  #all-appt-mobile-list,
  #patients-mobile-list,
  #billing-mobile-list{
    display:grid!important;
    gap:10px!important;
  }
  #page-allappointments .all-appt-card,
  #page-allappointments .crm-mobile-appt-card,
  #page-patients .crm-mobile-card,
  #page-billing .crm-mobile-card,
  #page-receptionist .crm-mobile-card{
    padding:12px!important;
    border-radius:14px!important;
    box-shadow:0 4px 18px rgba(15,23,42,.035)!important;
  }
  #page-allappointments .crm-mobile-appt-card{
    background:#fff!important;
    border:1px solid #ECEEF5!important;
    display:grid!important;
    gap:10px!important;
  }
  .crm-mobile-appt-head{
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  .crm-mobile-appt-title{
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:950!important;
    color:var(--text1)!important;
  }
  .crm-mobile-appt-sub{
    font-size:11.5px!important;
    color:var(--text4)!important;
    margin-top:3px!important;
  }
  .crm-mobile-appt-line{
    display:grid!important;
    grid-template-columns:78px 1fr!important;
    gap:8px!important;
    font-size:12.5px!important;
    line-height:1.4!important;
    padding:2px 0!important;
  }
  .crm-mobile-appt-line span{
    color:var(--text4)!important;
    font-weight:850!important;
  }
  .crm-mobile-appt-line strong{
    color:var(--text1)!important;
    font-weight:850!important;
  }
  .crm-mobile-appt-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding-top:8px!important;
    border-top:1px solid #edf0f6!important;
  }
  .crm-mobile-appt-actions .btn,
  .crm-mobile-appt-actions button{
    width:100%!important;
    height:34px!important;
    font-size:11.5px!important;
    padding:6px 8px!important;
  }
  #page-allappointments #all-appt-metrics .metric-card,
  #page-therapy .grid4 .metric-card,
  #page-billing .grid3 .metric-card{
    min-height:48px!important;
    padding:8px!important;
    grid-template-columns:24px 1fr!important;
  }
  #page-allappointments #all-appt-metrics .metric-icon,
  #page-therapy .metric-icon,
  #page-billing .metric-icon{
    width:24px!important;
    height:24px!important;
    font-size:13px!important;
    border-radius:8px!important;
  }
  #page-allappointments #all-appt-metrics .metric-val,
  #page-therapy .metric-val,
  #page-billing .metric-val{
    font-size:18px!important;
  }
  #page-allappointments #all-appt-metrics .metric-label,
  #page-therapy .metric-label,
  #page-billing .metric-label{
    font-size:10.5px!important;
    line-height:1.15!important;
  }
  .badge{
    font-size:10.5px!important;
    padding:4px 7px!important;
  }
}

/* CRM UX upgrade 20260710, collapsible sidebar and calendar polish */
@media (min-width:768px){
  #hamburger-btn{
    display:flex!important;
  }
  #sidebar,
  #main{
    transition:width .3s ease-in-out, margin-left .3s ease-in-out!important;
  }
  body.sidebar-collapsed{
    --sidebar-w:70px!important;
  }
  body.sidebar-collapsed #sidebar{
    width:70px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed #main{
    margin-left:70px!important;
  }
  body.sidebar-collapsed .sidebar-logo{
    min-height:64px!important;
    padding:8px 0 12px!important;
    justify-content:center!important;
  }
  body.sidebar-collapsed .sidebar-logo-img{
    max-width:44px!important;
    max-height:44px!important;
  }
  body.sidebar-collapsed .sidebar-logo-name,
  body.sidebar-collapsed .nav-label,
  body.sidebar-collapsed .sidebar-user > div:last-child{
    display:none!important;
  }
  body.sidebar-collapsed .nav-section{
    margin-bottom:6px!important;
  }
  body.sidebar-collapsed .nav-item{
    width:52px!important;
    height:48px!important;
    padding:0!important;
    justify-content:center!important;
    gap:0!important;
    font-size:0!important;
    margin:5px auto!important;
    overflow:visible!important;
    position:relative!important;
  }
  body.sidebar-collapsed .nav-item .nav-icon{
    font-size:20px!important;
    line-height:1!important;
    flex:0 0 auto!important;
  }
  body.sidebar-collapsed .nav-item .nav-badge{
    position:absolute!important;
    top:4px!important;
    right:4px!important;
    min-width:16px!important;
    height:16px!important;
    padding:0 4px!important;
    font-size:9px!important;
    line-height:16px!important;
  }
  body.sidebar-collapsed .nav-item[data-label]:hover::after{
    content:attr(data-label);
    position:absolute;
    left:62px;
    top:50%;
    transform:translateY(-50%);
    background:#0f172a;
    color:#fff;
    padding:7px 10px;
    border-radius:8px;
    white-space:nowrap;
    font-size:12px;
    font-weight:800;
    line-height:1;
    box-shadow:0 10px 24px rgba(15,23,42,.20);
    z-index:9999;
    pointer-events:none;
  }
  body.sidebar-collapsed .sidebar-footer{
    padding:8px 0!important;
    gap:8px!important;
  }
  body.sidebar-collapsed .sidebar-user{
    justify-content:center!important;
    padding:8px 0!important;
  }
  body.sidebar-collapsed .logout-btn{
    width:52px!important;
    height:42px!important;
    padding:0!important;
    font-size:0!important;
    margin:0 auto!important;
  }
  body.sidebar-collapsed .logout-btn::before{
    content:'↩';
    font-size:18px!important;
  }
}

#page-calendar .section-header{
  align-items:center!important;
  gap:14px!important;
}
#page-calendar .section-header > div:last-child{
  align-items:center!important;
  flex-wrap:wrap!important;
}
.cal-sync-section{
  transition:all .2s ease!important;
}
.cal-sync-section .cal-sync-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.crm-sync-toggle{
  height:32px!important;
  padding:0 12px!important;
  border:1px solid var(--border2)!important;
  background:#fff!important;
  color:var(--text1)!important;
  border-radius:0!important;
  font-size:12px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.cal-sync-section.crm-sync-collapsed{
  padding:12px 14px!important;
  margin-bottom:12px!important;
}
.cal-sync-section.crm-sync-collapsed .cal-sync-sub,
.cal-sync-section.crm-sync-collapsed .cal-providers,
.cal-sync-section.crm-sync-collapsed .cal-sync-actions{
  display:none!important;
}
.cal-cell{
  max-height:138px!important;
  overflow:hidden!important;
}
.cal-cell .appt-chip{
  max-width:100%!important;
}
.cal-more{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:3px!important;
  padding:4px 7px!important;
  background:#f1f5f9!important;
  border:1px solid #e2e8f0!important;
  color:#334155!important;
  border-radius:999px!important;
  font-size:10.5px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.cal-more:hover{
  background:#e2e8f0!important;
}
.crm-day-list{
  display:grid;
  gap:10px;
}
.crm-day-appt-card,
.crm-agenda-card{
  background:#fff!important;
  border:1px solid #eceef5!important;
  border-radius:14px!important;
  padding:12px!important;
  display:grid!important;
  gap:8px!important;
  box-shadow:0 4px 16px rgba(15,23,42,.035)!important;
}
.crm-day-appt-head,
.crm-agenda-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.crm-agenda-date{
  font-size:12px!important;
  color:var(--text4)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin:12px 2px 6px!important;
}
.crm-agenda-empty{
  background:#fff!important;
  border:1px dashed var(--border2)!important;
  border-radius:16px!important;
  padding:24px!important;
  text-align:center!important;
  color:var(--text4)!important;
  font-weight:850!important;
}
@media (max-width:760px){
  #page-calendar .section-header{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  #page-calendar .section-header > div:last-child{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  #page-calendar .section-header .cal-view-tabs{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  #page-calendar .section-header .btn{
    width:100%!important;
    height:40px!important;
    font-size:12px!important;
  }
  .cal-sync-section{
    padding:10px 12px!important;
    margin-bottom:10px!important;
  }
  .cal-sync-section .cal-sync-title{
    font-size:13px!important;
  }
  .crm-sync-toggle{
    height:30px!important;
    font-size:11px!important;
    padding:0 9px!important;
  }
  .cal-header{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    gap:10px!important;
  }
  .cal-header .cal-title{
    text-align:right!important;
    font-size:16px!important;
  }
  .cal-header > div:last-child{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
  }
  #cal-month-view .cal-grid{
    display:none!important;
  }
  .crm-mobile-agenda{
    display:block!important;
  }
  .week-grid{
    overflow-x:auto!important;
    min-width:760px!important;
  }
}


/* CRM Therapy duplicate CTA removal and All Appointments polish 20260710 */
#therapy-book-cta-panel{display:none!important;}
#page-allappointments .all-appt-results{overflow:hidden;padding:0!important;}
#page-allappointments .tbl-wrap{border-radius:16px;overflow:hidden;border:1px solid #e8edf4;}
#page-allappointments .all-appt-table{width:100%;border-collapse:collapse;table-layout:fixed;}
#page-allappointments .all-appt-table th,#page-allappointments .all-appt-table td{padding:12px 14px!important;vertical-align:middle;border-bottom:1px solid #eef2f6;}
#page-allappointments .all-appt-table tbody tr:nth-child(even){background:#f8fafc;}
#page-allappointments .all-appt-table tbody tr:hover{background:#f1f5f9;}
#page-allappointments .all-appt-table tbody tr:last-child td{border-bottom:0;}
#page-allappointments .all-appt-table th{font-size:10.5px;letter-spacing:.07em;color:#64748b;text-transform:uppercase;background:#f8fafc;white-space:nowrap;}
#page-allappointments .all-appt-table td{font-size:12.5px;color:#0f172a;}
#page-allappointments .all-appt-table th:nth-child(1),#page-allappointments .all-appt-table td:nth-child(1){width:15%;}
#page-allappointments .all-appt-table th:nth-child(2),#page-allappointments .all-appt-table td:nth-child(2){width:25%;}
#page-allappointments .all-appt-table th:nth-child(3),#page-allappointments .all-appt-table td:nth-child(3){width:10%;}
#page-allappointments .all-appt-table th:nth-child(4),#page-allappointments .all-appt-table td:nth-child(4){width:12%;}
#page-allappointments .all-appt-table th:nth-child(5),#page-allappointments .all-appt-table td:nth-child(5){width:12%;text-align:left;}
#page-allappointments .all-appt-table th:nth-child(6),#page-allappointments .all-appt-table td:nth-child(6){width:12%;}
#page-allappointments .all-appt-table th:nth-child(7),#page-allappointments .all-appt-table td:nth-child(7){width:14%;}
#page-allappointments .actions-cell > div,#page-allappointments td.actions-cell{display:flex!important;flex-direction:row!important;gap:6px!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;}
#page-allappointments .actions-cell .btn-sm{font-size:9px!important;line-height:1.1!important;padding:7px 8px!important;min-height:28px!important;white-space:nowrap!important;}
#page-allappointments .actions-cell .btn-ghost{border:1px solid #cbd5e1!important;background:transparent!important;color:#334155!important;}
#page-allappointments .actions-cell .btn-primary{background:#ff5c35!important;border-color:#ff5c35!important;color:#fff!important;}
#page-allappointments .all-appt-payment-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
#page-allappointments .receipt-view-btn{height:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:#ff5c35!important;text-decoration:underline!important;font-size:10.5px!important;font-weight:900!important;box-shadow:none!important;}
#page-allappointments .badge{font-weight:900!important;}
#page-allappointments .td-sub{font-size:10.5px!important;line-height:1.35!important;color:#64748b!important;}
@media(max-width:767px){#page-allappointments .tbl-wrap{display:none!important;}#page-allappointments .all-appt-mobile-list{display:block!important;}}

/* CRM FINAL SYSTEM POLISH 20260710 1542 */
:root{--crm-accent:#ff5c35;--crm-accent-dark:#e04421;--crm-soft:#f8fafc;--crm-line:#e8edf5;--crm-text:#0f172a;--crm-muted:#64748b;}
html,body,#main,#content,.page,.card,.modal,.tbl-wrap{box-sizing:border-box!important;}
.btn.btn-primary,.login-btn{background:var(--crm-accent)!important;border-color:var(--crm-accent)!important;color:#fff!important;box-shadow:none!important;border-radius:0!important;font-weight:850!important;}
.btn.btn-primary:hover,.login-btn:hover{background:var(--crm-accent-dark)!important;border-color:var(--crm-accent-dark)!important;}
.btn.btn-ghost{background:#fff!important;border:1px solid #cbd5e1!important;color:#334155!important;box-shadow:none!important;border-radius:0!important;}
.btn.btn-red{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important;border-radius:0!important;}
.btn.btn-green{background:#10b981!important;border-color:#10b981!important;color:#fff!important;border-radius:0!important;}
.badge,.chip,.therapy-chip{font-weight:900!important;}

/* Modern desktop sidebar collapse. No breadcrumb style button on desktop. */
@media (min-width:768px){
  #hamburger-btn{display:none!important;}
  #sidebar{width:300px!important;transition:width .26s ease, padding .26s ease!important;overflow:visible!important;position:fixed!important;}
  #main{margin-left:300px!important;transition:margin-left .26s ease!important;}
  .sidebar-logo{position:relative!important;min-height:82px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px 12px 16px!important;}
  .sidebar-logo-img{max-width:188px!important;max-height:58px!important;object-fit:contain!important;transition:all .26s ease!important;}
  .crm-sidebar-collapse-btn{position:absolute!important;right:-14px!important;top:20px!important;width:28px!important;height:28px!important;border-radius:50%!important;border:1px solid #d8e0ec!important;background:#fff!important;color:#334155!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 8px 20px rgba(15,23,42,.12)!important;z-index:200!important;}
  .crm-sidebar-collapse-btn:hover{background:var(--crm-accent)!important;color:#fff!important;border-color:var(--crm-accent)!important;}
  .sidebar-nav{scrollbar-width:thin!important;padding:12px 4px!important;}
  .nav-item{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .nav-item .nav-icon{flex:0 0 24px!important;text-align:center!important;}
  body.sidebar-collapsed{--sidebar-w:82px!important;}
  body.sidebar-collapsed #sidebar{width:82px!important;padding:14px 10px!important;}
  body.sidebar-collapsed #main{margin-left:82px!important;}
  body.sidebar-collapsed .crm-sidebar-collapse-btn{right:-13px!important;transform:rotate(180deg)!important;}
  body.sidebar-collapsed .sidebar-logo{min-height:78px!important;padding:12px 0!important;}
  body.sidebar-collapsed .sidebar-logo-img{max-width:48px!important;max-height:48px!important;}
  body.sidebar-collapsed .sidebar-nav{overflow-y:auto!important;scrollbar-width:none!important;padding:10px 0!important;}
  body.sidebar-collapsed .sidebar-nav::-webkit-scrollbar{display:none!important;}
  body.sidebar-collapsed .nav-section{height:8px!important;margin:0!important;padding:0!important;color:transparent!important;overflow:hidden!important;}
  body.sidebar-collapsed .nav-label,
  body.sidebar-collapsed .nav-item span:not(.nav-icon):not(.nav-badge),
  body.sidebar-collapsed .sidebar-user>div:last-child{display:none!important;}
  body.sidebar-collapsed .nav-item{width:46px!important;height:46px!important;padding:0!important;margin:6px auto!important;justify-content:center!important;gap:0!important;border-radius:14px!important;overflow:visible!important;position:relative!important;}
  body.sidebar-collapsed .nav-item .nav-icon{font-size:19px!important;line-height:1!important;flex:0 0 auto!important;}
  body.sidebar-collapsed .nav-item .nav-badge{position:absolute!important;top:3px!important;right:2px!important;min-width:16px!important;height:16px!important;line-height:16px!important;font-size:9px!important;padding:0 4px!important;}
  body.sidebar-collapsed .nav-item[data-label]:hover::after{content:attr(data-label)!important;position:absolute!important;left:56px!important;top:50%!important;transform:translateY(-50%)!important;background:#111827!important;color:#fff!important;border-radius:8px!important;padding:7px 10px!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;box-shadow:0 10px 24px rgba(15,23,42,.22)!important;z-index:9999!important;pointer-events:none!important;}
  body.sidebar-collapsed .sidebar-footer{padding:8px 0 4px!important;}
  body.sidebar-collapsed .sidebar-user{justify-content:center!important;padding:8px 0!important;}
  body.sidebar-collapsed .logout-btn{width:48px!important;height:40px!important;padding:0!important;font-size:0!important;margin:0 auto!important;}
  body.sidebar-collapsed .logout-btn::before{content:'↩';font-size:18px!important;}
}
@media (max-width:767px){#hamburger-btn{display:flex!important;}.crm-sidebar-collapse-btn{display:none!important;}}

/* Patient table, fixed right side and clear compact actions. */
#page-patients .card:has(#patients-tbody){overflow:hidden!important;}
#page-patients .tbl-wrap{overflow:hidden!important;border:1px solid var(--crm-line)!important;border-radius:16px!important;}
#page-patients .crm-patients-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;}
#page-patients .crm-patients-table th,#page-patients .crm-patients-table td{border-bottom:1px solid var(--crm-line)!important;vertical-align:middle!important;}
#page-patients .crm-patients-table tbody tr:nth-child(even){background:#f8fafc!important;}
#page-patients .crm-patients-table tbody tr:hover{background:#f1f5f9!important;}
#page-patients .crm-patients-table th{padding:10px 8px!important;font-size:10px!important;letter-spacing:.06em!important;color:#8390a6!important;white-space:nowrap!important;}
#page-patients .crm-patients-table td{padding:10px 8px!important;font-size:12px!important;line-height:1.3!important;}
#page-patients .crm-patients-table th:nth-child(1),#page-patients .crm-patients-table td:nth-child(1){width:20%!important;}
#page-patients .crm-patients-table th:nth-child(2),#page-patients .crm-patients-table td:nth-child(2){width:15%!important;}
#page-patients .crm-patients-table th:nth-child(3),#page-patients .crm-patients-table td:nth-child(3){width:9%!important;}
#page-patients .crm-patients-table th:nth-child(4),#page-patients .crm-patients-table td:nth-child(4){width:9%!important;}
#page-patients .crm-patients-table th:nth-child(5),#page-patients .crm-patients-table td:nth-child(5){width:17%!important;}
#page-patients .crm-patients-table th:nth-child(6),#page-patients .crm-patients-table td:nth-child(6){width:15%!important;}
#page-patients .crm-patients-table th:nth-child(7),#page-patients .crm-patients-table td:nth-child(7){width:15%!important;min-width:0!important;}
#page-patients .crm-patient-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:5px!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;width:100%!important;}
#page-patients .crm-patient-actions .btn,#page-patients .crm-patient-actions .wa-btn{width:auto!important;min-width:36px!important;height:28px!important;min-height:28px!important;padding:0 7px!important;font-size:9px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;border-radius:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
#page-patients .crm-patient-actions .btn-red{grid-column:auto!important;min-width:54px!important;}
#page-patients .crm-patient-name-main,#page-patients .crm-patient-name-sub,#page-patients .crm-patient-contact-main,#page-patients .crm-patient-contact-sub,#page-patients .crm-patient-visit-main,#page-patients .crm-patient-visit-sub{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
@media(max-width:1200px){#page-patients .crm-patients-table th:nth-child(3),#page-patients .crm-patients-table td:nth-child(3){display:none!important;}#page-patients .crm-patients-table th:nth-child(1),#page-patients .crm-patients-table td:nth-child(1){width:24%!important;}#page-patients .crm-patients-table th:nth-child(7),#page-patients .crm-patients-table td:nth-child(7){width:18%!important;}}

/* All Appointments table, compact scan-friendly rows. */
#page-allappointments .all-appt-results{overflow:hidden!important;padding:0!important;}
#page-allappointments .tbl-wrap{border:1px solid var(--crm-line)!important;border-radius:16px!important;overflow:hidden!important;}
#page-allappointments .all-appt-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;}
#page-allappointments .all-appt-table th,#page-allappointments .all-appt-table td{padding:10px 10px!important;border-bottom:1px solid var(--crm-line)!important;vertical-align:middle!important;}
#page-allappointments .all-appt-table tbody tr:nth-child(even){background:#f8fafc!important;}
#page-allappointments .all-appt-table tbody tr:hover{background:#f1f5f9!important;}
#page-allappointments .all-appt-table th{font-size:10px!important;letter-spacing:.07em!important;color:#8390a6!important;text-transform:uppercase!important;white-space:nowrap!important;background:#fbfcff!important;}
#page-allappointments .all-appt-table td{font-size:12px!important;line-height:1.3!important;color:#0f172a!important;}
#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:24%!important;}
#page-allappointments .all-appt-table th:nth-child(3),#page-allappointments .all-appt-table td:nth-child(3){width:9%!important;}
#page-allappointments .all-appt-table th:nth-child(4),#page-allappointments .all-appt-table td:nth-child(4){width:11%!important;}
#page-allappointments .all-appt-table th:nth-child(5),#page-allappointments .all-appt-table td:nth-child(5){width:12%!important;}
#page-allappointments .all-appt-table th:nth-child(6),#page-allappointments .all-appt-table td:nth-child(6){width:13%!important;}
#page-allappointments .all-appt-table th:nth-child(7),#page-allappointments .all-appt-table td:nth-child(7){width:17%!important;}
#page-allappointments .actions-cell>div,#page-allappointments td.actions-cell{display:flex!important;flex-direction:row!important;gap:5px!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;min-width:0!important;}
#page-allappointments .actions-cell .btn-sm{font-size:9px!important;height:28px!important;min-height:28px!important;padding:0 8px!important;line-height:1!important;white-space:nowrap!important;border-radius:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
#page-allappointments .actions-cell .btn-ghost{min-width:38px!important;background:#fff!important;border:1px solid #cbd5e1!important;color:#334155!important;}
#page-allappointments .actions-cell .btn-primary{min-width:52px!important;background:var(--crm-accent)!important;border-color:var(--crm-accent)!important;color:#fff!important;}
#page-allappointments .all-appt-payment-line{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;}
#page-allappointments .receipt-view-btn{display:inline!important;min-height:0!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;color:var(--crm-accent)!important;text-decoration:underline!important;font-size:10px!important;font-weight:900!important;box-shadow:none!important;}
#page-allappointments .td-sub{font-size:10px!important;line-height:1.25!important;color:#64748b!important;}

/* Booking details modal, CRM unified style. */
#modal-booking-details .modal{border-radius:22px!important;border:1px solid #dbe3ef!important;background:#fff!important;font-family:var(--crm-font-body,'DM Sans',Arial,sans-serif)!important;box-shadow:0 28px 80px rgba(15,23,42,.22)!important;}
#modal-booking-details .modal-header{padding:18px 24px!important;background:#fff!important;border-bottom:1px solid var(--crm-line)!important;}
#modal-booking-details .modal-title{font-size:20px!important;line-height:1.2!important;font-weight:900!important;color:#0f172a!important;font-family:var(--crm-font-body,'DM Sans',Arial,sans-serif)!important;}
#modal-booking-details .modal-body{padding:16px 22px!important;background:#fff!important;}
#modal-booking-details .modal-body>div{gap:16px!important;}
#modal-booking-details .modal-body [style*="box-shadow"]{box-shadow:none!important;border:1px solid var(--crm-line)!important;border-radius:18px!important;}
#modal-booking-details .form-group label{font-size:11px!important;font-weight:850!important;color:#64748b!important;}
#modal-booking-details input,#modal-booking-details select,#modal-booking-details textarea{border-radius:10px!important;border-color:#d5deea!important;min-height:38px!important;font-size:13px!important;}
#modal-booking-details .modal>div:last-child{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;padding:12px 22px!important;background:#fff!important;border-top:1px solid var(--crm-line)!important;}
#modal-booking-details .modal>div:last-child>div{display:flex!important;gap:7px!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-end!important;}
#modal-booking-details .modal>div:last-child .btn,#modal-booking-details .btn-sm{height:34px!important;min-height:34px!important;padding:0 12px!important;font-size:11px!important;font-weight:850!important;border-radius:0!important;box-shadow:none!important;}#modal-booking-details .bd-footer-group-label{display:none!important;}#modal-booking-details .bd-footer{justify-content:flex-end!important;}#modal-booking-details .bd-status-compact{align-self:start!important;}#modal-booking-details .bd-status-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}#modal-booking-details .bd-status-compact .form-group{margin-bottom:0!important;}#modal-booking-details .bd-status-compact select{min-height:34px!important;font-size:12.5px!important;}#modal-booking-details .bd-method-mini{margin-top:10px!important;padding-top:10px!important;border-top:1px solid var(--crm-line)!important;}#modal-booking-details .bd-method-mini span{display:block!important;font-size:10.5px!important;font-weight:900!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.05em!important;}#modal-booking-details .bd-method-mini span b{color:#059669!important;margin-left:4px!important;}#modal-booking-details .bd-method-mini strong{display:block!important;margin-top:5px!important;font-size:16px!important;font-weight:900!important;color:#0f172a!important;}#modal-booking-details .bd-method-mini em{display:block!important;font-size:11px!important;color:#64748b!important;font-style:normal!important;margin-top:4px!important;}
#modal-booking-details [id^="bd-save-"]{background:var(--crm-accent)!important;border-color:var(--crm-accent)!important;color:#fff!important;box-shadow:none!important;}
#modal-booking-details .modal-close{width:38px!important;height:38px!important;border-radius:50%!important;background:#f6f8fc!important;border:1px solid #e5eaf2!important;color:#64748b!important;}
@media(max-width:900px){#modal-booking-details .modal-body>div{grid-template-columns:1fr!important;}#modal-booking-details .modal{width:96vw!important;max-height:94vh!important;}#modal-booking-details .bd-status-grid{grid-template-columns:1fr!important;}#modal-booking-details .modal>div:last-child{display:grid!important;grid-template-columns:1fr!important;}#modal-booking-details .modal>div:last-child>div,#modal-booking-details .modal>div:last-child .btn{width:100%!important;justify-content:center!important;}}

/* Balanced logo rail and top bar 20260710 */
@media (min-width:768px){:root{--sidebar-w:88px!important;--topbar-h:72px!important;}#sidebar,body.sidebar-collapsed #sidebar{width:88px!important;min-width:88px!important;max-width:88px!important;border-right:1px solid #d9e2ee!important;}#sidebar:hover,body.sidebar-collapsed #sidebar:hover{width:292px!important;min-width:292px!important;max-width:292px!important;}#main,body.sidebar-collapsed #main{margin-left:88px!important;}#sidebar .sidebar-logo,body.sidebar-collapsed #sidebar .sidebar-logo{height:72px!important;min-height:72px!important;max-height:72px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border-bottom:1px solid #d9e2ee!important;background:#fff!important;}#sidebar .sidebar-logo-img,body.sidebar-collapsed #sidebar .sidebar-logo-img{width:58px!important;height:auto!important;max-width:58px!important;max-height:58px!important;object-fit:contain!important;flex:0 0 auto!important;}#sidebar:hover .sidebar-logo,body.sidebar-collapsed #sidebar:hover .sidebar-logo{justify-content:flex-start!important;padding:0 20px!important;}#sidebar:hover .sidebar-logo-img,body.sidebar-collapsed #sidebar:hover .sidebar-logo-img{width:112px!important;max-width:112px!important;max-height:54px!important;}#topbar{height:72px!important;min-height:72px!important;padding:0 22px!important;gap:18px!important;display:flex!important;align-items:center!important;border-bottom:1px solid #d9e2ee!important;background:rgba(255,255,255,.96)!important;box-shadow:0 2px 12px rgba(15,23,42,.035)!important;}#topbar .page-title{min-width:120px!important;max-width:180px!important;margin:0!important;font-size:16px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}#topbar .search-wrap{margin-left:0!important;flex:1 1 520px!important;max-width:720px!important;min-width:280px!important;}#topbar .search-wrap input{height:42px!important;border-radius:14px!important;}#topbar .topbar-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important;}#topbar .topbar-actions .btn{height:40px!important;min-height:40px!important;padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;}#topbar .notif-btn{width:44px!important;height:44px!important;min-width:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;}#sidebar .sidebar-nav,body.sidebar-collapsed #sidebar .sidebar-nav{padding-top:10px!important;}}
@media (max-width:767px){#topbar{height:58px!important;min-height:58px!important;align-items:center!important;}#topbar .page-title{line-height:1.1!important;}}

/* Icon only CRM refresh button 20260710 */
.crm-refresh-btn{
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:16px !important;
  line-height:1 !important;
}
@media(max-width:768px){
  .crm-refresh-btn{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
  }
}
.badge-payment-confirmation-pending,
.badge-cash-at-clinic,
.badge-pending-review{
  background:#fff7ed!important;
  color:#c2410c!important;
}

/* Appointment Cards View Polish 20260711 */
#page-allappointments.crm-appointments-cards-mode #all-appt-mobile-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;gap:16px!important;align-items:stretch!important;}
#page-allappointments .all-appt-card-pro{position:relative!important;overflow:hidden!important;background:#fff!important;border:1px solid #dbe4ef!important;border-radius:18px!important;padding:0!important;box-shadow:0 10px 28px rgba(15,23,42,.055)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;}
#page-allappointments .all-appt-card-pro:hover{transform:translateY(-2px)!important;border-color:#b9c7d8!important;box-shadow:0 16px 38px rgba(15,23,42,.085)!important;}
#page-allappointments .all-appt-card-pro:before{content:""!important;position:absolute!important;left:0!important;top:0!important;width:4px!important;height:100%!important;background:#f59e0b!important;}
#page-allappointments .all-appt-card-pro.tone-green:before{background:#10b981!important;}#page-allappointments .all-appt-card-pro.tone-red:before{background:#ef4444!important;}#page-allappointments .all-appt-card-pro.tone-blue:before{background:#3b82f6!important;}
#page-allappointments .all-appt-card-head-pro{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important;padding:16px 16px 14px 18px!important;border-bottom:1px solid #eef2f7!important;background:#fbfdff!important;}
#page-allappointments .all-appt-card-identity{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important;}
#page-allappointments .all-appt-card-patient{font-size:14px!important;line-height:1.25!important;font-weight:800!important;color:#0f172a!important;margin:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#page-allappointments .all-appt-card-muted{margin-top:3px!important;font-size:11.5px!important;font-weight:700!important;color:#0077a8!important;white-space:nowrap!important;}
#page-allappointments .all-appt-card-status-stack{display:flex!important;flex-direction:column!important;gap:6px!important;align-items:flex-end!important;flex-shrink:0!important;}
#page-allappointments .all-appt-card-status-stack .badge{font-size:10.5px!important;padding:4px 9px!important;border-radius:999px!important;}
#page-allappointments .all-appt-card-section-title{padding:12px 16px 0 18px!important;color:#94a3b8!important;font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:900!important;}
#page-allappointments .all-appt-card-grid-pro{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:12px 16px 14px 18px!important;}
#page-allappointments .all-appt-card-field{min-width:0!important;background:#f8fafc!important;border:1px solid #edf2f7!important;border-radius:12px!important;padding:10px 11px!important;}
#page-allappointments .all-appt-card-field span,#page-allappointments .all-appt-card-footer-pro span{display:block!important;font-size:9.5px!important;line-height:1.1!important;color:#94a3b8!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;margin-bottom:5px!important;}
#page-allappointments .all-appt-card-field strong{display:block!important;font-size:12.5px!important;line-height:1.35!important;color:#0f172a!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#page-allappointments .all-appt-card-footer-pro{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:13px 16px 14px 18px!important;border-top:1px solid #eef2f7!important;background:#fff!important;}
#page-allappointments .all-appt-card-footer-pro strong{display:block!important;font-size:11.5px!important;line-height:1.2!important;color:#64748b!important;font-weight:800!important;max-width:200px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#page-allappointments .all-appt-card-footer-pro .all-appt-booking-details-btn{min-width:72px!important;height:34px!important;font-size:10px!important;border-radius:8px!important;}
@media(max-width:767px){#page-allappointments #all-appt-mobile-list,#page-allappointments.crm-appointments-cards-mode #all-appt-mobile-list{grid-template-columns:1fr!important;gap:12px!important;}#page-allappointments .all-appt-card-grid-pro{grid-template-columns:1fr!important;}}

/* Stable Appointments layout, no flicker, final 20260711 */
#page-allappointments .section-header.crm-appt-title-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:10px!important;
}
#page-allappointments .section-title{
  font-size:22px!important;
  line-height:1.15!important;
  margin:0!important;
}
#page-allappointments .section-sub{
  margin-top:4px!important;
  font-size:12px!important;
}
#page-allappointments .crm-appt-toolbar-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
#page-allappointments .crm-appt-toolbar-actions .btn{
  height:34px!important;
  min-height:34px!important;
  padding:0 12px!important;
  font-size:12px!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#page-allappointments .crm-appt-viewbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:8px 10px!important;
  background:#fff!important;
  border:1px solid #dbe4ef!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.025)!important;
}
#page-allappointments .crm-appt-view-tabs,
#page-allappointments .crm-appt-mini-stats{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
#page-allappointments .crm-appt-view-btn,
#page-allappointments .crm-appt-mini-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 11px!important;
  border:1px solid #dbe4ef!important;
  background:#fff!important;
  color:#172033!important;
  border-radius:10px!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
#page-allappointments .crm-appt-view-btn.active{
  background:#ff5c35!important;
  border-color:#ff5c35!important;
  color:#fff!important;
}
#page-allappointments .crm-appt-mini-chip{
  border-radius:999px!important;
  color:#526176!important;
  font-weight:500!important;
}
#page-allappointments .crm-appt-mini-chip strong{
  font-weight:700!important;
  color:#172033!important;
  margin-right:4px!important;
}
#page-allappointments .crm-appt-filter-panel-static{
  display:block!important;
  margin:0 0 10px!important;
  padding:12px!important;
  background:#fff!important;
  border:1px solid #dbe4ef!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.025)!important;
}
#page-allappointments .crm-appt-filter-grid-static{
  display:grid!important;
  grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) minmax(150px,1fr) minmax(140px,.9fr) minmax(140px,.9fr) auto!important;
  gap:8px!important;
  align-items:end!important;
}
#page-allappointments .crm-filter-label{
  font-size:10.5px!important;
  font-weight:600!important;
  color:#8390a6!important;
  margin-bottom:4px!important;
}
#page-allappointments .crm-appt-filter-panel-static input,
#page-allappointments .crm-appt-filter-panel-static select{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  border:1px solid #dbe4ef!important;
  border-radius:10px!important;
  padding:0 10px!important;
  font-size:12px!important;
  box-sizing:border-box!important;
}
#page-allappointments .crm-appt-filter-panel-static .btn{
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  font-size:11px!important;
  border-radius:0!important;
}
#page-allappointments #all-appt-metrics{display:none!important;}
#page-allappointments .all-appt-results{
  margin-top:10px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
#page-allappointments .all-appt-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
#page-allappointments .all-appt-table th{
  height:36px!important;
  padding:8px 12px!important;
  background:#fbfcff!important;
  color:#8390a6!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
#page-allappointments .all-appt-table td{
  padding:11px 12px!important;
  font-size:12px!important;
  line-height:1.32!important;
  vertical-align:middle!important;
  border-bottom:1px solid #eef2f6!important;
}
#page-allappointments .all-appt-table tbody tr:nth-child(even){background:#f8fafc!important;}
#page-allappointments .all-appt-table tbody tr:hover{background:#f1f5f9!important;}
#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:21%!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:12%!important;}
#page-allappointments .all-appt-table th:nth-child(6),#page-allappointments .all-appt-table td:nth-child(6){width:13%!important;text-align:center!important;}
#page-allappointments .all-appt-table th:nth-child(7),#page-allappointments .all-appt-table td:nth-child(7){width:9%!important;text-align:center!important;}
#page-allappointments .all-appt-table th:nth-child(8),#page-allappointments .all-appt-table td:nth-child(8){width:7%!important;text-align:center!important;min-width:82px!important;}
#page-allappointments .td-patient-cell{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;}
#page-allappointments .td-main-mono,
#page-allappointments .td-mr,
#page-allappointments .td-phone{font-family:'DM Sans', Arial, sans-serif!important;font-size:11.5px!important;font-weight:700!important;white-space:nowrap!important;}
#page-allappointments .td-mr{color:#0077a8!important;}
#page-allappointments .td-sub{font-size:10.5px!important;color:#64748b!important;line-height:1.35!important;}
#page-allappointments td.actions-cell{text-align:center!important;white-space:nowrap!important;overflow:visible!important;}
#page-allappointments .all-appt-booking-details-btn{height:30px!important;min-height:30px!important;min-width:58px!important;padding:0 10px!important;font-size:9px!important;font-weight:700!important;border-radius:0!important;background:#ff5c35!important;border-color:#ff5c35!important;color:#fff!important;box-shadow:none!important;}
#page-allappointments .all-appt-payment-line{display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;}
#page-allappointments:not(.crm-appointments-cards-mode) #all-appt-mobile-list{display:none!important;}
#page-allappointments.crm-appointments-cards-mode .tbl-wrap{display:none!important;}
#page-allappointments.crm-appointments-cards-mode #all-appt-mobile-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  padding:12px!important;
}
#page-allappointments .all-appt-card-pro{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dbe4ef!important;
  border-radius:18px!important;
  padding:0!important;
  box-shadow:0 10px 28px rgba(15,23,42,.055)!important;
  cursor:pointer!important;
}
#page-allappointments .all-appt-card-pro:before{content:""!important;position:absolute!important;left:0!important;top:0!important;width:4px!important;height:100%!important;background:#f59e0b!important;}
#page-allappointments .all-appt-card-pro.tone-green:before{background:#10b981!important;}
#page-allappointments .all-appt-card-pro.tone-red:before{background:#ef4444!important;}
#page-allappointments .all-appt-card-pro.tone-blue:before{background:#3b82f6!important;}
#page-allappointments .all-appt-card-head-pro{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important;padding:16px 16px 14px 18px!important;border-bottom:1px solid #eef2f7!important;background:#fbfdff!important;}
#page-allappointments .all-appt-card-identity{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important;}
#page-allappointments .all-appt-card-patient{font-size:14px!important;line-height:1.25!important;font-weight:800!important;color:#0f172a!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#page-allappointments .all-appt-card-muted{margin-top:3px!important;font-size:11.5px!important;font-weight:700!important;color:#0077a8!important;white-space:nowrap!important;}
#page-allappointments .all-appt-card-status-stack{display:flex!important;flex-direction:column!important;gap:6px!important;align-items:flex-end!important;flex-shrink:0!important;}
#page-allappointments .all-appt-card-section-title{padding:12px 16px 0 18px!important;color:#94a3b8!important;font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:900!important;}
#page-allappointments .all-appt-card-grid-pro{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:12px 16px 14px 18px!important;}
#page-allappointments .all-appt-card-field{min-width:0!important;background:#f8fafc!important;border:1px solid #edf2f7!important;border-radius:12px!important;padding:10px 11px!important;}
#page-allappointments .all-appt-card-field span,#page-allappointments .all-appt-card-footer-pro span{display:block!important;font-size:9.5px!important;line-height:1.1!important;color:#94a3b8!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;margin-bottom:5px!important;}
#page-allappointments .all-appt-card-field strong{display:block!important;font-size:12.5px!important;line-height:1.35!important;color:#0f172a!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#page-allappointments .all-appt-card-footer-pro{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:13px 16px 14px 18px!important;border-top:1px solid #eef2f7!important;background:#fff!important;}
#page-allappointments .all-appt-card-footer-pro strong{display:block!important;font-size:11.5px!important;line-height:1.2!important;color:#64748b!important;font-weight:800!important;max-width:200px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media(max-width:1100px){
  #page-allappointments .crm-appt-filter-grid-static{grid-template-columns:1fr 1fr!important;}
  #page-allappointments .section-header.crm-appt-title-row{align-items:flex-start!important;flex-direction:column!important;}
}
@media(max-width:767px){
  #page-allappointments .crm-appt-viewbar{align-items:flex-start!important;flex-direction:column!important;}
  #page-allappointments .crm-appt-view-tabs{width:100%!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;}
  #page-allappointments .crm-appt-view-btn{width:100%!important;padding:0 6px!important;font-size:10px!important;}
  #page-allappointments .crm-appt-mini-stats{width:100%!important;display:grid!important;grid-template-columns:repeat(2,1fr)!important;}
  #page-allappointments .crm-appt-mini-chip{width:100%!important;}
  #page-allappointments .crm-appt-toolbar-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;}
  #page-allappointments .crm-appt-filter-grid-static{grid-template-columns:1fr!important;}
  #page-allappointments .tbl-wrap{display:none!important;}
  #page-allappointments #all-appt-mobile-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:10px!important;}
  #page-allappointments .all-appt-card-grid-pro{grid-template-columns:1fr!important;}
}
