/*
  The Autism Clinic CRM V35
  Complete visual redesign. Functionality and API contracts are unchanged.
*/
:root{
  --v35-bg:#f4f7fb;
  --v35-surface:#ffffff;
  --v35-surface-2:#f8fafc;
  --v35-surface-3:#eef3f8;
  --v35-text:#162438;
  --v35-text-2:#42526a;
  --v35-muted:#7c8ca3;
  --v35-line:#dfe7f0;
  --v35-line-strong:#cfd9e6;
  --v35-navy:#112538;
  --v35-navy-2:#19344d;
  --v35-blue:#2764ff;
  --v35-blue-soft:#edf3ff;
  --v35-teal:#0ca89f;
  --v35-teal-soft:#e9fbf8;
  --v35-orange:#ff6547;
  --v35-orange-dark:#e94b2f;
  --v35-orange-soft:#fff1ec;
  --v35-green:#12805c;
  --v35-green-soft:#eaf8f2;
  --v35-amber:#b66a05;
  --v35-amber-soft:#fff6df;
  --v35-red:#c33a45;
  --v35-red-soft:#fff0f1;
  --v35-radius:16px;
  --v35-radius-sm:11px;
  --v35-shadow:0 12px 32px rgba(18,38,63,.07);
  --v35-shadow-sm:0 4px 16px rgba(18,38,63,.055);
  --v35-sidebar:236px;
  --v35-topbar:64px;
}

html,body{height:100%;max-width:100%;overflow:hidden!important;}
*{box-sizing:border-box;}
body{
  margin:0!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:14px!important;
  color:var(--v35-text)!important;
  background:var(--v35-bg)!important;
  -webkit-font-smoothing:antialiased;
}
.hidden{display:none!important;}
button,input,select,textarea{font:inherit;}
button{cursor:pointer;}

/* LOGIN */
#login-screen{
  position:fixed!important;inset:0!important;z-index:99999!important;
  display:grid!important;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr)!important;
  background:#fff!important;overflow:hidden!important;
}
#login-screen::before{
  content:"";display:block;grid-column:1;grid-row:1;
  background:
    radial-gradient(circle at 18% 82%,rgba(12,168,159,.20) 0 17%,transparent 18%),
    radial-gradient(circle at 78% 18%,rgba(255,101,71,.20) 0 12%,transparent 13%),
    linear-gradient(145deg,#0d2133 0%,#17344d 55%,#214a66 100%);
}
#login-screen::after{
  content:"One workspace for patients, appointments, clinical care and revenue.";
  position:absolute;left:7vw;bottom:11vh;width:min(520px,38vw);
  color:#fff;font-size:clamp(28px,3.1vw,54px);line-height:1.08;font-weight:800;letter-spacing:-.045em;
}
#login-screen .login-box{
  grid-column:2;grid-row:1;align-self:center;justify-self:center;
  width:min(480px,calc(100% - 64px))!important;
  background:#fff!important;border:1px solid var(--v35-line)!important;border-radius:24px!important;
  padding:34px 38px!important;box-shadow:0 28px 80px rgba(14,35,54,.12)!important;
}
.login-logo{display:flex!important;justify-content:flex-start!important;margin:0 0 22px!important;}
.login-logo-img{width:154px!important;height:auto!important;max-height:70px!important;object-fit:contain!important;}
.login-title{font-size:30px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.035em!important;color:var(--v35-text)!important;margin:0 0 8px!important;}
.login-subtitle{font-size:14px!important;line-height:1.65!important;color:var(--v35-muted)!important;margin:0 0 24px!important;}
.login-box .form-group{margin:0 0 16px!important;}
.login-box .form-group label,.login-role-label{display:block!important;font-size:11px!important;letter-spacing:.085em!important;text-transform:uppercase!important;font-weight:800!important;color:#73839a!important;margin:0 0 7px!important;}
.login-box input{height:48px!important;width:100%!important;border-radius:12px!important;border:1px solid var(--v35-line-strong)!important;background:#fff!important;color:var(--v35-text)!important;padding:0 14px!important;outline:none!important;box-shadow:none!important;}
.login-box input:focus{border-color:var(--v35-blue)!important;box-shadow:0 0 0 4px rgba(39,100,255,.10)!important;}
.login-role-tabs{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important;padding:5px!important;background:var(--v35-surface-3)!important;border-radius:13px!important;margin:0 0 18px!important;}
.login-role-tab{height:38px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#697b92!important;font-size:12px!important;font-weight:700!important;}
.login-role-tab.active{background:#fff!important;color:var(--v35-blue)!important;box-shadow:var(--v35-shadow-sm)!important;}
.login-btn{width:100%!important;height:50px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--v35-orange),#ff7c5f)!important;color:#fff!important;font-weight:800!important;box-shadow:0 12px 24px rgba(255,101,71,.22)!important;}
.login-btn:hover{background:linear-gradient(135deg,var(--v35-orange-dark),var(--v35-orange))!important;transform:translateY(-1px)!important;}
.login-hint{margin-top:14px!important;color:#8a98aa!important;font-size:11.5px!important;text-align:center!important;}
.login-footnote{margin-top:18px!important;padding-top:18px!important;border-top:1px solid var(--v35-line)!important;color:#9aa7b8!important;font-size:11px!important;line-height:1.55!important;text-align:center!important;}
.login-error{border-radius:10px!important;margin-bottom:14px!important;}

/* APP SHELL */
#sidebar{
  position:fixed!important;inset:0 auto 0 0!important;width:var(--v35-sidebar)!important;
  background:linear-gradient(180deg,#10283c 0%,#0c1f30 100%)!important;color:#fff!important;
  border-right:1px solid rgba(255,255,255,.06)!important;z-index:300!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
}
.sidebar-logo{height:var(--v35-topbar)!important;min-height:var(--v35-topbar)!important;padding:8px 18px!important;display:flex!important;align-items:center!important;border-bottom:1px solid rgba(255,255,255,.07)!important;background:rgba(255,255,255,.025)!important;}
.sidebar-logo-img{width:134px!important;height:48px!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 3px 8px rgba(0,0,0,.08));}
.sidebar-nav{flex:1!important;overflow-y:auto!important;padding:18px 12px!important;scrollbar-width:thin!important;}
.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:99px}
.sidebar-nav .nav-section-label,.sidebar-nav .nav-group-title{padding:12px 12px 7px!important;color:#7892a8!important;font-size:9.5px!important;letter-spacing:.15em!important;text-transform:uppercase!important;font-weight:800!important;}
.sidebar-nav .nav-item{
  min-height:42px!important;margin:3px 0!important;padding:0 12px!important;border-radius:11px!important;
  color:#c9d6e0!important;font-weight:600!important;font-size:13px!important;gap:11px!important;
  display:flex!important;align-items:center!important;transition:.18s ease!important;background:transparent!important;
}
.sidebar-nav .nav-item:hover{background:rgba(255,255,255,.065)!important;color:#fff!important;transform:translateX(2px)!important;}
.sidebar-nav .nav-item.active{background:linear-gradient(90deg,rgba(39,100,255,.30),rgba(39,100,255,.12))!important;color:#fff!important;box-shadow:inset 3px 0 0 #70a0ff!important;}
.sidebar-nav .nav-icon,.sidebar-nav .nav-item>span:first-child{
  width:30px!important;height:30px!important;border-radius:9px!important;display:grid!important;place-items:center!important;
  background:rgba(255,255,255,.07)!important;color:#8fb0c7!important;font-size:15px!important;flex:0 0 30px!important;
}
.sidebar-nav .nav-item.active .nav-icon,.sidebar-nav .nav-item.active>span:first-child{background:var(--v35-blue)!important;color:#fff!important;}
.sidebar-footer{padding:12px!important;border-top:1px solid rgba(255,255,255,.07)!important;background:rgba(0,0,0,.08)!important;}
.sidebar-user{border-radius:12px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important;padding:11px!important;}
.user-avatar{background:linear-gradient(135deg,var(--v35-blue),#6d8cff)!important;color:#fff!important;}
.user-name{color:#fff!important;font-weight:700!important;}.user-role{color:#8ea5b7!important;}
.logout-btn{height:40px!important;width:100%!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;background:rgba(255,255,255,.035)!important;color:#c5d2dc!important;font-weight:700!important;}
.logout-btn:hover{background:rgba(255,101,71,.14)!important;border-color:rgba(255,101,71,.35)!important;color:#fff!important;}

#main{position:fixed!important;inset:0 0 0 var(--v35-sidebar)!important;display:flex!important;flex-direction:column!important;min-width:0!important;background:var(--v35-bg)!important;overflow:hidden!important;}
#topbar{
  height:var(--v35-topbar)!important;min-height:var(--v35-topbar)!important;margin:0!important;border-radius:0!important;
  padding:0 20px!important;background:rgba(255,255,255,.94)!important;border:0!important;border-bottom:1px solid var(--v35-line)!important;
  box-shadow:0 4px 20px rgba(17,37,56,.045)!important;display:flex!important;align-items:center!important;gap:12px!important;z-index:250!important;backdrop-filter:blur(14px)!important;
}
#hamburger-btn{width:38px!important;height:38px!important;border:1px solid var(--v35-line)!important;border-radius:10px!important;background:#fff!important;color:var(--v35-text)!important;}
.page-title{font-weight:800!important;font-size:15px!important;color:var(--v35-text)!important;white-space:nowrap!important;}
.search-wrap{flex:1 1 440px!important;max-width:620px!important;margin-left:8px!important;position:relative!important;}
.search-wrap input{height:40px!important;width:100%!important;border:1px solid var(--v35-line)!important;border-radius:12px!important;background:var(--v35-surface-2)!important;color:var(--v35-text)!important;padding:0 14px 0 40px!important;box-shadow:none!important;}
.search-wrap input:focus{border-color:#9bb6ff!important;background:#fff!important;box-shadow:0 0 0 4px rgba(39,100,255,.08)!important;}
.search-icon{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;color:#7a8da5!important;z-index:2!important;}
.hub-quick-add,.topbar-icon-btn,.notif-btn,.hub-notif-btn{width:38px!important;height:38px!important;border-radius:10px!important;border:1px solid var(--v35-line)!important;background:#fff!important;color:#51657d!important;display:grid!important;place-items:center!important;box-shadow:none!important;}
.hub-quick-add:hover,.topbar-icon-btn:hover,.notif-btn:hover{border-color:#a9bdff!important;background:var(--v35-blue-soft)!important;color:var(--v35-blue)!important;}
.topbar-actions{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;}
.topbar-utility-icons{display:flex!important;gap:6px!important;}
.hub-assistant-chip,.hub-account-chip,.hub-inline-btn{
  height:38px!important;border-radius:10px!important;border:1px solid var(--v35-line)!important;background:#fff!important;color:var(--v35-text-2)!important;font-weight:700!important;box-shadow:none!important;
}
.hub-assistant-chip{padding:0 13px!important;gap:7px!important;}.hub-assistant-icon{color:var(--v35-blue)!important;}
.hub-inline-btn{padding:0 14px!important;}
.hub-inline-btn.btn-primary,#add-patient-btn{background:var(--v35-orange)!important;border-color:var(--v35-orange)!important;color:#fff!important;box-shadow:0 8px 18px rgba(255,101,71,.16)!important;}
.hub-inline-btn.btn-primary:hover,#add-patient-btn:hover{background:var(--v35-orange-dark)!important;border-color:var(--v35-orange-dark)!important;}
.hub-account-chip{padding:0 10px 0 6px!important;gap:8px!important;max-width:180px!important;}
.hub-account-avatar{width:28px!important;height:28px!important;border-radius:8px!important;background:var(--v35-blue-soft)!important;color:var(--v35-blue)!important;font-weight:800!important;display:grid!important;place-items:center!important;}
.hub-account-name{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}

#content{flex:1!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:22px!important;background:var(--v35-bg)!important;}
#content>.page{max-width:1680px!important;width:100%!important;margin:0 auto!important;min-width:0!important;}
#content::-webkit-scrollbar{width:8px}#content::-webkit-scrollbar-thumb{background:#c7d2df;border-radius:99px}

/* PAGE HEADERS */
.section-header{
  min-height:64px!important;margin:0 0 16px!important;padding:14px 16px!important;border-radius:var(--v35-radius)!important;
  border:1px solid var(--v35-line)!important;background:var(--v35-surface)!important;box-shadow:var(--v35-shadow-sm)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;
}
.section-title{font-size:22px!important;line-height:1.2!important;font-weight:800!important;color:var(--v35-text)!important;letter-spacing:-.025em!important;margin:0!important;}
.section-sub{font-size:12.5px!important;color:var(--v35-muted)!important;margin-top:4px!important;line-height:1.45!important;}
.page .section-header .btn,.page .section-header input,.page .section-header select{height:38px!important;border-radius:10px!important;}

/* UNIVERSAL CARDS */
.card,.metric-card,.stat-block,.settings-section,.cal-sync-section,.billing-filter-panel,.crm-inline-filter-panel,.crm-patient-filter-panel,.all-appt-toolbar,.pf-card{
  background:var(--v35-surface)!important;border:1px solid var(--v35-line)!important;border-radius:var(--v35-radius)!important;box-shadow:var(--v35-shadow-sm)!important;
}
.card{padding:16px!important;overflow:hidden!important;}
.card-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0 0 13px!important;margin-bottom:13px!important;border-bottom:1px solid var(--v35-line)!important;}
.card-title{font-size:15px!important;font-weight:800!important;color:var(--v35-text)!important;letter-spacing:-.015em!important;}
.card-subtitle{font-size:12px!important;color:var(--v35-muted)!important;}
.grid2,.grid3,.grid4{gap:14px!important;min-width:0!important;}
.metric-card,.stat-block{padding:17px!important;min-height:116px!important;position:relative!important;overflow:hidden!important;}
.metric-card::after,.stat-block::after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-24px;top:-24px;background:rgba(39,100,255,.055);}
.metric-icon{width:38px!important;height:38px!important;border-radius:11px!important;display:grid!important;place-items:center!important;background:var(--v35-blue-soft)!important;color:var(--v35-blue)!important;font-size:17px!important;}
.metric-val,.stat-block-val{font-size:25px!important;line-height:1.1!important;font-weight:800!important;color:var(--v35-text)!important;letter-spacing:-.035em!important;margin-top:10px!important;}
.metric-label,.stat-block-label{font-size:11.5px!important;color:var(--v35-muted)!important;font-weight:600!important;margin-top:5px!important;}

/* BUTTONS & INPUTS */
.btn,.cp-btn,.bk-btn{border-radius:10px!important;font-weight:700!important;box-shadow:none!important;transition:.16s ease!important;}
.btn{min-height:38px!important;padding:0 14px!important;border:1px solid transparent!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;}
.btn-sm{min-height:34px!important;height:34px!important;padding:0 11px!important;font-size:12px!important;}
.btn-primary{background:var(--v35-orange)!important;border-color:var(--v35-orange)!important;color:#fff!important;}
.btn-primary:hover{background:var(--v35-orange-dark)!important;border-color:var(--v35-orange-dark)!important;transform:translateY(-1px)!important;}
.btn-ghost{background:#fff!important;border-color:var(--v35-line-strong)!important;color:var(--v35-text-2)!important;}
.btn-ghost:hover{background:var(--v35-blue-soft)!important;border-color:#b9c9ff!important;color:var(--v35-blue)!important;}
.btn-green{background:var(--v35-green)!important;color:#fff!important;border-color:var(--v35-green)!important;}
.btn-red{background:var(--v35-red-soft)!important;color:var(--v35-red)!important;border-color:#f4c9ce!important;}
input,select,textarea,.filter-select{
  border:1px solid var(--v35-line-strong)!important;background:#fff!important;color:var(--v35-text)!important;border-radius:10px!important;outline:none!important;box-shadow:none!important;
}
input,select{height:40px!important;padding:0 12px!important;}textarea{padding:11px 12px!important;line-height:1.5!important;}
input:focus,select:focus,textarea:focus{border-color:#9bb6ff!important;box-shadow:0 0 0 4px rgba(39,100,255,.08)!important;}
.form-group label,.crm-filter-field>span,.all-appt-filter-label,.billing-filter-grid label{font-size:10.5px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:#8190a5!important;margin-bottom:6px!important;}
.form-row{gap:12px!important;}

/* FILTER PANELS */
.crm-inline-filter-panel,.crm-patient-filter-panel,.billing-filter-panel,.all-appt-toolbar.crm-appt-filter-panel{padding:14px!important;margin:0 0 14px!important;}
.crm-inline-filter-head{padding:0 0 10px!important;margin:0 0 11px!important;border-bottom:1px solid var(--v35-line)!important;}
.crm-inline-filter-title{font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:#7b8ca3!important;}
.crm-inline-filter-grid,.billing-filter-grid,.all-appt-filter-grid{gap:10px!important;align-items:end!important;}
.filter-chip{border-radius:999px!important;border-color:var(--v35-line)!important;background:#fff!important;color:var(--v35-text-2)!important;}
.filter-chip.active{background:var(--v35-blue)!important;border-color:var(--v35-blue)!important;color:#fff!important;}

/* TABLES */
.tbl-wrap{max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;border:1px solid var(--v35-line)!important;border-radius:13px!important;background:#fff!important;}
table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;}
th{height:42px!important;padding:0 11px!important;background:var(--v35-surface-2)!important;color:#7e8ea4!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.075em!important;border-bottom:1px solid var(--v35-line)!important;white-space:nowrap!important;}
td{padding:11px!important;border-bottom:1px solid #edf1f6!important;color:var(--v35-text-2)!important;font-size:12.5px!important;vertical-align:middle!important;}
tbody tr:last-child td{border-bottom:0!important;}tbody tr:hover td{background:#fafcff!important;}
.td-name{color:var(--v35-text)!important;font-weight:800!important;}.td-sub{color:var(--v35-muted)!important;font-size:11.5px!important;}
.td-actions{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;}

/* BADGES */
.badge{min-height:24px!important;padding:0 9px!important;border-radius:999px!important;font-size:10.5px!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;}
.badge-new,.badge-pending,.badge-unpaid{background:var(--v35-amber-soft)!important;color:var(--v35-amber)!important;}
.badge-confirmed,.badge-arrived,.badge-completed,.badge-paid{background:var(--v35-green-soft)!important;color:var(--v35-green)!important;}
.badge-noshow,.badge-cancelled,.badge-rejected{background:var(--v35-red-soft)!important;color:var(--v35-red)!important;}
.badge-partial,.badge-checkin,.badge-in-progress{background:var(--v35-blue-soft)!important;color:var(--v35-blue)!important;}

/* APPOINTMENTS */
#page-allappointments .section-header{background:transparent!important;border:0!important;box-shadow:none!important;padding:2px 0!important;min-height:auto!important;}
.crm-appt-toolbar-stable{padding:10px!important;border-radius:var(--v35-radius)!important;border:1px solid var(--v35-line)!important;background:#fff!important;box-shadow:var(--v35-shadow-sm)!important;gap:10px!important;}
.crm-appt-tabs{background:var(--v35-surface-3)!important;border-radius:12px!important;padding:4px!important;display:flex!important;gap:4px!important;}
.crm-appt-tab{height:38px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#5f7188!important;font-size:12px!important;font-weight:700!important;padding:0 13px!important;}
.crm-appt-tab.active{background:#fff!important;color:var(--v35-blue)!important;box-shadow:0 3px 10px rgba(23,48,75,.08)!important;}
.crm-appt-tab-icon{stroke:currentColor!important;width:16px!important;height:16px!important;}
.crm-appt-action-secondary,.crm-appt-action-primary{height:38px!important;border-radius:10px!important;padding:0 14px!important;font-weight:700!important;}
.crm-appt-action-secondary{background:#fff!important;color:var(--v35-text-2)!important;border:1px solid var(--v35-line-strong)!important;}
.crm-appt-action-primary{background:var(--v35-orange)!important;color:#fff!important;border:1px solid var(--v35-orange)!important;}
.all-appt-results{padding:10px!important;}
.all-appt-table{min-width:1080px!important;table-layout:fixed!important;}

/* PATIENTS */
#page-patients .section-header{background:transparent!important;border:0!important;box-shadow:none!important;padding:2px 0!important;min-height:auto!important;}
#page-patients .crm-patient-filter-panel{box-shadow:var(--v35-shadow-sm)!important;}
#page-patients>.card{padding:10px!important;}
.crm-patients-table{min-width:1180px!important;}
.crm-patient-actions .btn-ghost{background:var(--v35-blue)!important;border-color:var(--v35-blue)!important;color:#fff!important;}
.wa-btn{border:1px solid #b9ded8!important;background:var(--v35-teal-soft)!important;color:#08776f!important;border-radius:9px!important;}

/* CALENDAR */
.cal-view-tabs{padding:4px!important;background:var(--v35-surface-3)!important;border-radius:11px!important;}
.cal-view-tab{height:34px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#66788f!important;font-weight:700!important;}
.cal-view-tab.active{background:#fff!important;color:var(--v35-blue)!important;box-shadow:0 3px 10px rgba(23,48,75,.07)!important;}
.cal-header{padding:0 0 14px!important;border-bottom:1px solid var(--v35-line)!important;margin-bottom:12px!important;}
.cal-nav-btn{width:34px!important;height:34px!important;border:1px solid var(--v35-line)!important;border-radius:9px!important;background:#fff!important;color:var(--v35-text)!important;}
.cal-title{font-size:17px!important;font-weight:800!important;color:var(--v35-text)!important;}
.cal-grid{border:1px solid var(--v35-line)!important;border-radius:13px!important;overflow:hidden!important;}
.cal-day-header{background:var(--v35-surface-2)!important;color:#8190a4!important;font-weight:800!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
.cal-cell{background:#fff!important;border-color:#edf1f6!important;min-height:112px!important;}
.cal-cell:hover{background:#fafcff!important;}.cal-cell.today{background:#f5f8ff!important;}
.appt-chip,.wg-appt{border-radius:7px!important;font-size:10.5px!important;font-weight:700!important;}
.cal-sync-section{padding:16px!important;}
.cal-provider{border:1px solid var(--v35-line)!important;border-radius:12px!important;background:#fff!important;}

/* PIPELINE, TASKS, MEDS, LABS, THERAPY */
.pipeline{gap:12px!important;overflow-x:auto!important;padding-bottom:8px!important;}
.pipeline-col,.pipeline-column{background:var(--v35-surface-3)!important;border:1px solid var(--v35-line)!important;border-radius:14px!important;padding:10px!important;}
.pipeline-card,.task-item,.med-card,.therapy-card,.lab-card{background:#fff!important;border:1px solid var(--v35-line)!important;border-radius:12px!important;box-shadow:none!important;}
.task-item:hover,.pipeline-card:hover,.med-card:hover{border-color:#b9c9ff!important;box-shadow:var(--v35-shadow-sm)!important;}

/* BILLING + REPORTS */
.billing-filter-panel{padding:14px!important;}
.stat-block{border-left:3px solid var(--v35-blue)!important;}
.bar-chart{min-width:0!important;}
.progress-bar{background:#e9eef5!important;border-radius:99px!important;overflow:hidden!important;}.progress-fill{border-radius:99px!important;}

/* SETTINGS */
.settings-tab-bar{display:flex!important;gap:6px!important;padding:5px!important;background:var(--v35-surface-3)!important;border-radius:12px!important;overflow-x:auto!important;margin-bottom:16px!important;}
.settings-tab{height:38px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#66778d!important;font-weight:700!important;white-space:nowrap!important;padding:0 13px!important;}
.settings-tab.active{background:#fff!important;color:var(--v35-blue)!important;box-shadow:0 3px 10px rgba(23,48,75,.07)!important;}
.settings-section{padding:18px!important;margin-bottom:14px!important;}
.settings-section-title{font-size:16px!important;font-weight:800!important;color:var(--v35-text)!important;}.settings-section-sub{color:var(--v35-muted)!important;}
.settings-row{padding:12px 0!important;border-bottom:1px solid var(--v35-line)!important;}.settings-row:last-child{border-bottom:0!important;}
.toggle{background:#dce4ee!important;}.toggle.on{background:var(--v35-blue)!important;}

/* MODALS + DETAIL PANEL */
.modal-overlay{background:rgba(8,23,36,.46)!important;backdrop-filter:blur(5px)!important;}
.modal{border:1px solid rgba(255,255,255,.65)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 30px 90px rgba(8,23,36,.22)!important;overflow:hidden!important;}
.modal-header{padding:17px 19px!important;border-bottom:1px solid var(--v35-line)!important;background:var(--v35-surface-2)!important;}
.modal-title{font-size:17px!important;font-weight:800!important;color:var(--v35-text)!important;}
.modal-body{padding:18px 19px!important;}.modal-footer{padding:14px 19px!important;border-top:1px solid var(--v35-line)!important;background:var(--v35-surface-2)!important;}
.modal-close,.dp-close{width:36px!important;height:36px!important;border:1px solid var(--v35-line)!important;border-radius:10px!important;background:#fff!important;color:#52667f!important;display:grid!important;place-items:center!important;}
.detail-panel{top:76px!important;right:14px!important;bottom:14px!important;width:min(1240px,calc(100vw - var(--v35-sidebar) - 36px))!important;max-width:calc(100vw - var(--v35-sidebar) - 36px)!important;border:1px solid var(--v35-line)!important;border-radius:20px!important;background:var(--v35-bg)!important;box-shadow:0 30px 90px rgba(8,23,36,.20)!important;overflow:hidden!important;}
.dp-header{padding:15px 18px!important;background:#fff!important;border-bottom:1px solid var(--v35-line)!important;}
.dp-name{font-size:22px!important;font-weight:800!important;color:var(--v35-text)!important;}.dp-sub{color:var(--v35-muted)!important;}
.dp-tabs{padding:10px 18px!important;background:var(--v35-surface-2)!important;border-bottom:1px solid var(--v35-line)!important;gap:6px!important;}
.dp-tab{height:36px!important;padding:0 12px!important;border-radius:9px!important;border:1px solid transparent!important;background:transparent!important;color:#66788f!important;font-weight:700!important;}
.dp-tab.active{background:#fff!important;border-color:var(--v35-line)!important;color:var(--v35-blue)!important;box-shadow:0 3px 10px rgba(23,48,75,.06)!important;}
.dp-body{padding:15px!important;background:var(--v35-bg)!important;}
.pf-card{padding:15px!important;box-shadow:none!important;}.pf-title{color:var(--v35-text)!important;}.pf-kicker,.pf-label,.pf-meta{color:var(--v35-muted)!important;}

/* NOTIFICATIONS + AI */
#notif-panel{border:1px solid var(--v35-line)!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(8,23,36,.18)!important;}
.crm-ai-panel{border-left:1px solid var(--v35-line)!important;background:#fff!important;}.crm-ai-fab{background:var(--v35-navy)!important;border-radius:13px!important;box-shadow:0 14px 32px rgba(17,37,56,.23)!important;}

/* DARK MODE */
body.crm-night-mode{
  --v35-bg:#0e1823;--v35-surface:#162330;--v35-surface-2:#1a2a39;--v35-surface-3:#203242;
  --v35-text:#eef5fb;--v35-text-2:#c3d0db;--v35-muted:#8fa3b6;--v35-line:#2a3b4a;--v35-line-strong:#3a4c5c;
}
body.crm-night-mode #main,body.crm-night-mode #content{background:var(--v35-bg)!important;}
body.crm-night-mode #topbar,body.crm-night-mode .section-header,body.crm-night-mode .card,body.crm-night-mode .metric-card,body.crm-night-mode .stat-block,body.crm-night-mode .settings-section,body.crm-night-mode .crm-inline-filter-panel,body.crm-night-mode .billing-filter-panel,body.crm-night-mode .all-appt-toolbar,body.crm-night-mode .modal,body.crm-night-mode .detail-panel,body.crm-night-mode .pf-card{background:var(--v35-surface)!important;border-color:var(--v35-line)!important;}
body.crm-night-mode input,body.crm-night-mode select,body.crm-night-mode textarea,body.crm-night-mode table,body.crm-night-mode td,body.crm-night-mode th,body.crm-night-mode .tbl-wrap{background:var(--v35-surface)!important;color:var(--v35-text)!important;border-color:var(--v35-line)!important;}
body.crm-night-mode th{background:var(--v35-surface-2)!important;color:var(--v35-muted)!important;}
body.crm-night-mode tbody tr:hover td{background:var(--v35-surface-2)!important;}
body.crm-night-mode .btn-ghost,body.crm-night-mode .topbar-icon-btn,body.crm-night-mode .hub-quick-add,body.crm-night-mode .hub-assistant-chip,body.crm-night-mode .hub-account-chip{background:var(--v35-surface-2)!important;border-color:var(--v35-line)!important;color:var(--v35-text-2)!important;}
body.crm-night-mode .search-wrap input{background:var(--v35-surface-2)!important;}
body.crm-night-mode .section-title,body.crm-night-mode .card-title,body.crm-night-mode .metric-val,body.crm-night-mode .stat-block-val,body.crm-night-mode .modal-title,body.crm-night-mode .dp-name,body.crm-night-mode .pf-title{color:var(--v35-text)!important;}
body.crm-night-mode .cal-cell,body.crm-night-mode .pipeline-card,body.crm-night-mode .task-item{background:var(--v35-surface)!important;border-color:var(--v35-line)!important;}
body.crm-night-mode .cal-cell:hover{background:var(--v35-surface-2)!important;}

/* RESPONSIVE */
@media(max-width:1320px){
  .topbar-utility-icons{display:none!important;}
  .hub-assistant-chip span:last-child{display:none!important;}.hub-assistant-chip{width:38px!important;padding:0!important;justify-content:center!important;}
  .hub-account-name{display:none!important;}.hub-account-chip{width:42px!important;padding:0!important;justify-content:center!important;}.hub-account-caret{display:none!important;}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:1024px){
  :root{--v35-sidebar:76px;}
  #sidebar{width:76px!important;}
  .sidebar-logo{padding:8px!important;justify-content:center!important;}.sidebar-logo-img{width:54px!important;object-fit:contain!important;object-position:center!important;}
  .sidebar-nav{padding:14px 8px!important;}.sidebar-nav .nav-item{justify-content:center!important;padding:0!important;}.sidebar-nav .nav-item .nav-label,.sidebar-nav .nav-item>span:last-child{display:none!important;}
  .sidebar-nav .nav-section-label,.sidebar-nav .nav-group-title{display:none!important;}
  .sidebar-footer{padding:8px!important;}.logout-btn{font-size:0!important;}.logout-btn::after{content:"↩";font-size:18px!important;}
  #main{left:76px!important;}.detail-panel{max-width:calc(100vw - 100px)!important;width:calc(100vw - 100px)!important;}
  .hub-inline-btn.btn-ghost{display:none!important;}.page-title{display:none!important;}.search-wrap{margin-left:0!important;}
}
@media(max-width:760px){
  html,body{overflow:auto!important;}
  #sidebar{transform:translateX(-100%);width:244px!important;transition:.22s ease!important;}.sidebar-open #sidebar,#sidebar.open{transform:translateX(0)!important;}
  .sidebar-logo-img{width:132px!important;}.sidebar-nav .nav-item{justify-content:flex-start!important;padding:0 12px!important;}.sidebar-nav .nav-item .nav-label,.sidebar-nav .nav-item>span:last-child{display:block!important;}
  #main{position:relative!important;inset:auto!important;min-height:100vh!important;width:100%!important;}
  #topbar{position:sticky!important;top:0!important;padding:0 10px!important;gap:7px!important;}
  #hamburger-btn{display:grid!important;}.search-wrap{flex:1!important;}.search-wrap input{height:38px!important;}
  .hub-quick-add,.hub-assistant-chip,.hub-inline-btn,.hub-account-chip,.topbar-actions .notif-btn{display:none!important;}
  #content{padding:14px!important;overflow:visible!important;}
  .section-header{padding:13px!important;border-radius:13px!important;}.section-title{font-size:19px!important;}
  .grid2,.grid3,.grid4{grid-template-columns:1fr!important;}
  .metric-card,.stat-block{min-height:104px!important;}
  .crm-inline-filter-grid,.billing-filter-grid,.all-appt-filter-grid{grid-template-columns:1fr!important;}
  .form-row{grid-template-columns:1fr!important;}
  .detail-panel{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;border-radius:0!important;}
  .patient-file-shell{grid-template-columns:1fr!important;}.pf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #login-screen{display:block!important;overflow-y:auto!important;background:linear-gradient(180deg,#f1f6fb,#fff)!important;padding:24px 14px!important;}
  #login-screen::before,#login-screen::after{display:none!important;}
  #login-screen .login-box{width:min(460px,100%)!important;margin:0 auto!important;padding:28px 22px!important;border-radius:20px!important;}
  .login-role-tabs{grid-template-columns:repeat(2,1fr)!important;}
}
