/* Shared premium CRM look for Admin, Doctor, Therapist, Patient Portal, and Booking */
:root{
  --crm-bg:#f8f9fd;
  --crm-surface:#ffffff;
  --crm-surface-2:#f4f7fb;
  --crm-border:#e4e9f2;
  --crm-border-2:#d6deeb;
  --crm-text:#0f172a;
  --crm-text-2:#334155;
  --crm-text-3:#64748b;
  --crm-text-4:#94a3b8;
  --crm-primary:#0077a6;
  --crm-primary-dark:#005f86;
  --crm-primary-soft:#e8f6fb;
  --crm-green:#047857;
  --crm-red:#b42318;
  --crm-amber:#b7791f;
  --crm-radius:16px;
  --crm-shadow:0 4px 20px rgba(15,23,42,.035);
  --crm-shadow-hover:0 12px 32px rgba(15,23,42,.07);
}

html,body,input,select,textarea,button{
  font-family:Calibre, Calibri, "DM Sans", Arial, sans-serif !important;
  letter-spacing:0 !important;
}

body.bk-portal,
body.cp-portal{
  background:var(--crm-bg) !important;
  color:var(--crm-text) !important;
}

body.cp-portal,
body.bk-portal{
  --cp-bg:var(--crm-bg);
  --cp-surface:var(--crm-surface);
  --cp-surface2:var(--crm-surface-2);
  --cp-border:var(--crm-border);
  --cp-border2:var(--crm-border-2);
  --cp-text:#0f172a;
  --cp-text1:#0f172a;
  --cp-text2:#334155;
  --cp-text3:#64748b;
  --cp-text4:#94a3b8;
  --cp-amber:var(--crm-primary);
  --cp-amber-dark:var(--crm-primary-dark);
  --bh-bg:var(--crm-bg);
  --bh-surface:var(--crm-surface);
  --bh-border:var(--crm-border);
  --bh-border2:var(--crm-border-2);
  --bh-text1:#0f172a;
  --bh-text2:#334155;
  --bh-text3:#64748b;
  --bh-text4:#94a3b8;
  --bh-teal:var(--crm-primary);
  --bh-navy:#0f172a;
}

body:not(.bk-portal):not(.cp-portal){
  --bg:var(--crm-bg);
  --surface:var(--crm-surface);
  --surface2:var(--crm-surface-2);
  --border:var(--crm-border);
  --border2:var(--crm-border-2);
  --text:var(--crm-text);
  --text2:var(--crm-text-2);
  --text3:var(--crm-text-3);
  --text4:var(--crm-text-4);
  --blue:var(--crm-primary);
  --blue-dark:var(--crm-primary-dark);
  --blue-light:var(--crm-primary-soft);
  --radius:var(--crm-radius);
  --shadow:var(--crm-shadow);
  background:var(--crm-bg) !important;
}

/* Shared cards */
.card,.metric-card,.clinic-card,.rx-prescription-card,
.bk-panel,.bk-cal-card,.bk-slots-card,.bk-summary-card,.bk-confirm-card,
.doctor-card,.treatment-chip,.bk-option-card,
.cp-login-box,.cp-header,.cp-greeting-card,.cp-quick-btn,.cp-card,.cp-appt-card,.cp-lab-card,.cp-therapy-card,
.cp-lab-choice-card,.cp-upload-resource-box,.cp-lab-invoice-box,.cp-lab-self-box{
  background:var(--crm-surface) !important;
  border:1px solid var(--crm-border) !important;
  border-radius:var(--crm-radius) !important;
  box-shadow:var(--crm-shadow) !important;
}

.card:hover,.clinic-card:hover,.metric-card:hover,
.doctor-card:hover,.treatment-chip:hover,.cp-quick-btn:hover,.cp-appt-card:hover,.cp-card:hover{
  box-shadow:var(--crm-shadow-hover) !important;
}

/* Shared buttons */
.btn,.cp-btn,.cp-small-btn,.bk-cal-nav-btn,.bk-slot,.login-btn,.cp-login-tab,.login-role-tab,
button:not(.modal-close):not(.cp-nav-item):not(.nav-item):not(.notif-btn):not(.hamburger-btn){
  border-radius:0 !important;
  font-weight:500 !important;
}

.btn-primary,.login-btn,.cp-btn-amber,.bk-step.active .bk-step-num,
.cp-small-btn.primary,.cal-view-tab.active,#page-resources .filter-chip.active{
  background:var(--crm-primary) !important;
  color:#fff !important;
  border-color:var(--crm-primary) !important;
  box-shadow:none !important;
}

.btn-primary:hover,.login-btn:hover,.cp-btn-amber:hover:not(:disabled),.cp-small-btn.primary:hover{
  background:var(--crm-primary-dark) !important;
  border-color:var(--crm-primary-dark) !important;
  transform:none !important;
}

.btn-ghost,.cp-btn-ghost,.cp-small-btn,.bk-cal-nav-btn{
  background:#fff !important;
  color:var(--crm-text-2) !important;
  border:1px solid var(--crm-border-2) !important;
  box-shadow:none !important;
}

.btn-ghost:hover,.cp-btn-ghost:hover,.cp-small-btn:hover,.bk-cal-nav-btn:hover{
  background:var(--crm-surface-2) !important;
  color:var(--crm-primary) !important;
  border-color:var(--crm-primary) !important;
}

/* Shared inputs */
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=password],select,textarea,
.bk-field-input,.cp-field-input,.search-wrap input{
  background:#fff !important;
  border:1px solid var(--crm-border-2) !important;
  border-radius:12px !important;
  color:var(--crm-text) !important;
  box-shadow:none !important;
}

input:focus,select:focus,textarea:focus,.bk-field-input:focus,.cp-field-input:focus,.search-wrap input:focus{
  border-color:var(--crm-primary) !important;
  box-shadow:0 0 0 4px rgba(0,119,166,.10) !important;
  outline:none !important;
}

label,.bk-field-label,.cp-field-label{
  color:var(--crm-text-2) !important;
  font-weight:600 !important;
}

/* Admin, doctor, therapist portal */
#sidebar{
  background:#fff !important;
  border-right:1px solid var(--crm-border) !important;
  box-shadow:0 8px 28px rgba(15,23,42,.04) !important;
}
#topbar{
  background:rgba(255,255,255,.92) !important;
  border-bottom:1px solid var(--crm-border) !important;
  backdrop-filter:blur(16px) !important;
  box-shadow:0 2px 18px rgba(15,23,42,.035) !important;
}
#content{background:var(--crm-bg) !important;}
.nav-item{border-radius:0 !important;font-weight:500 !important;}
.nav-item.active{background:var(--crm-primary) !important;color:#fff !important;}
.nav-item.active .nav-icon,.nav-item.active span{color:#fff !important;}
.sidebar-logo{justify-content:center !important;}
.sidebar-logo-img{max-width:138px !important;height:auto !important;object-fit:contain !important;}
.page-title,.section-title,.card-title{color:var(--crm-text) !important;font-weight:700 !important;}
.section-sub,.card-subtitle,.metric-label{color:var(--crm-text-3) !important;}
.tbl-wrap,table{border-radius:var(--crm-radius) !important;overflow:hidden !important;}
thead th{background:#f6f8fc !important;color:var(--crm-text-2) !important;font-weight:600 !important;}
.modal{border-radius:22px !important;border:1px solid var(--crm-border) !important;box-shadow:0 24px 80px rgba(15,23,42,.18) !important;}
.modal-header,.modal-footer{background:#fff !important;border-color:var(--crm-border) !important;}
#login-screen{background:linear-gradient(135deg,#f8f9fd 0%,#eef7fb 48%,#ffffff 100%) !important;}
#login-screen .login-box{border:1px solid var(--crm-border) !important;border-radius:22px !important;box-shadow:0 24px 70px rgba(15,23,42,.10) !important;}
#login-screen .login-role-label{display:block !important;margin:4px 0 8px !important;font-size:12px !important;font-weight:700 !important;color:var(--crm-text-3) !important;}
#login-screen .login-role-tabs{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;background:#f4f7fb !important;border:1px solid var(--crm-border) !important;border-radius:0 !important;padding:4px !important;margin-bottom:18px !important;}
#login-screen .login-role-tab.active{background:var(--crm-primary) !important;color:#fff !important;box-shadow:none !important;}
#login-screen .login-logo-img{max-width:190px !important;height:auto !important;}

/* Booking page */
body.bk-portal .bk-header{
  height:76px !important;
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid var(--crm-border) !important;
  box-shadow:0 2px 18px rgba(15,23,42,.035) !important;
  backdrop-filter:blur(16px) !important;
}
body.bk-portal .bk-header-icon,
body.bk-portal .bk-header-icon img{width:138px !important;max-height:54px !important;}
body.bk-portal .bk-header-name,
body.bk-portal .bk-header-tag{display:none !important;}
body.bk-portal .bk-header-sub{
  background:var(--crm-primary-soft) !important;
  border:1px solid rgba(0,119,166,.18) !important;
  color:var(--crm-primary) !important;
  border-radius:0 !important;
  font-weight:500 !important;
}
body.bk-portal .bk-hero{
  background:var(--crm-bg) !important;
  padding:42px 24px 30px !important;
}
body.bk-portal .bk-hero-badge{
  background:#fff !important;
  color:var(--crm-primary) !important;
  border:1px solid var(--crm-border) !important;
  box-shadow:var(--crm-shadow) !important;
  border-radius:0 !important;
}
body.bk-portal .bk-hero h1{color:var(--crm-text) !important;font-weight:800 !important;}
body.bk-portal .bk-hero h1 .bk-title-accent,
body.bk-portal .bk-hero h1 span{color:var(--crm-primary) !important;}
body.bk-portal .steps-bar{background:#fff !important;border-color:var(--crm-border) !important;box-shadow:0 2px 18px rgba(15,23,42,.035) !important;}
body.bk-portal .bk-step-num{border-radius:0 !important;}
body.bk-portal .bk-step.active .bk-step-label{color:var(--crm-primary) !important;}
body.bk-portal .booking-wrap{background:var(--crm-bg) !important;}
body.bk-portal .bk-panel-title{color:var(--crm-text) !important;font-weight:700 !important;}
body.bk-portal .bk-panel-sub{color:var(--crm-text-3) !important;}
body.bk-portal .doctor-card.selected,
body.bk-portal .treatment-chip.selected,
body.bk-portal .bk-slot.selected{
  border-color:var(--crm-primary) !important;
  background:var(--crm-primary-soft) !important;
  color:var(--crm-primary) !important;
}
body.bk-portal .bk-notice{
  background:var(--crm-primary-soft) !important;
  border-color:rgba(0,119,166,.18) !important;
  color:var(--crm-text-2) !important;
  border-radius:var(--crm-radius) !important;
}

/* Patient portal */
body.cp-portal #cp-login{
  background:linear-gradient(135deg,#f8f9fd 0%,#eef7fb 48%,#ffffff 100%) !important;
}
body.cp-portal .cp-login-inner{background:transparent !important;}
body.cp-portal .cp-login-logo-only{width:180px !important;height:auto !important;}
body.cp-portal .cp-login-title{color:var(--crm-text) !important;font-weight:700 !important;}
body.cp-portal .cp-login-sub,
body.cp-portal .cp-login-tagline{color:var(--crm-text-3) !important;}
body.cp-portal .cp-header{
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid var(--crm-border) !important;
  box-shadow:0 2px 18px rgba(15,23,42,.035) !important;
  backdrop-filter:blur(16px) !important;
}
body.cp-portal .cp-header-logo-text{font-weight:700 !important;color:var(--crm-text) !important;}
body.cp-portal .cp-header-logo-text span{color:var(--crm-primary) !important;}
body.cp-portal .cp-greeting-card{
  background:#fff !important;
  color:var(--crm-text) !important;
}
body.cp-portal .cp-greeting-card::before{display:none !important;}
body.cp-portal .cp-greeting-name{color:var(--crm-text) !important;font-weight:700 !important;}
body.cp-portal .cp-greeting-sub{color:var(--crm-text-3) !important;}
body.cp-portal .cp-quick-btn-icon,
body.cp-portal .cp-nav-icon{color:var(--crm-primary) !important;}
body.cp-portal .cp-bottom-nav{
  background:#fff !important;
  border-top:1px solid var(--crm-border) !important;
  box-shadow:0 -8px 28px rgba(15,23,42,.06) !important;
}
body.cp-portal .cp-nav-item.active{color:var(--crm-primary) !important;}
body.cp-portal .cp-badge,
body.cp-portal .cp-nav-badge{background:var(--crm-primary) !important;color:#fff !important;}
body.cp-portal .cp-inner{max-width:1120px !important;}

@media(max-width:760px){
  body.bk-portal .bk-header{height:auto !important;padding:14px 18px !important;}
  body.bk-portal .bk-header-sub{display:none !important;}
  .card,.metric-card,.clinic-card,.bk-panel,.cp-login-box,.cp-card,.cp-appt-card{border-radius:14px !important;}
}

/* CRM MOBILE APPOINTMENT CALENDAR FINAL OVERRIDE 20260710 */
@media (max-width: 760px){
  #page-calendar{max-width:100%!important;overflow-x:hidden!important;}
  #page-calendar .section-header{gap:12px!important;margin-bottom:12px!important;}
  #page-calendar .section-header .section-title{font-size:20px!important;line-height:1.2!important;}
  #page-calendar .section-header>div:last-child{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;}
  #page-calendar .cal-view-tabs{grid-column:1/-1!important;width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;border-radius:12px!important;}
  #page-calendar .cal-view-tab{width:100%!important;height:42px!important;padding:0 10px!important;font-size:13px!important;}
  #page-calendar .section-header .btn{width:100%!important;min-width:0!important;height:44px!important;justify-content:center!important;}
  #page-calendar .cal-sync-section{padding:14px!important;margin-bottom:12px!important;border-radius:16px!important;}
  #page-calendar .cal-sync-title{font-size:13px!important;margin-bottom:4px!important;}
  #page-calendar .cal-sync-sub{font-size:12px!important;margin-bottom:10px!important;line-height:1.4!important;}
  #page-calendar .cal-providers{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  #page-calendar .cal-provider{min-width:0!important;width:100%!important;padding:10px 12px!important;border-radius:14px!important;gap:10px!important;}
  #page-calendar .cal-provider-icon{width:34px!important;height:34px!important;border-radius:10px!important;}
  #page-calendar .card{padding:10px!important;border-radius:16px!important;overflow:hidden!important;}
  #page-calendar .cal-header{display:grid!important;grid-template-columns:auto 1fr!important;gap:8px!important;align-items:center!important;padding:10px!important;margin-bottom:12px!important;border-radius:14px!important;}
  #page-calendar .cal-nav{gap:6px!important;}
  #page-calendar .cal-nav-btn{width:38px!important;height:38px!important;border-radius:10px!important;font-size:18px!important;}
  #page-calendar .cal-title{font-size:18px!important;text-align:right!important;letter-spacing:-.02em!important;white-space:nowrap!important;}
  #page-calendar .cal-header>div:last-child{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;width:100%!important;}
  #page-calendar #cal-doctor-filter{width:100%!important;min-width:0!important;height:40px!important;border-radius:12px!important;font-size:13px!important;}
  #page-calendar .cal-header>div:last-child .btn{height:40px!important;min-width:72px!important;}
  #page-calendar #cal-month-view{width:100%!important;overflow:hidden!important;}
  #page-calendar .cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;border:0!important;border-radius:0!important;overflow:visible!important;width:100%!important;max-width:100%!important;}
  #page-calendar .cal-day-header{padding:6px 0!important;font-size:9px!important;line-height:1!important;border:0!important;border-radius:8px!important;background:#F3F6FB!important;}
  #page-calendar .cal-cell{min-width:0!important;min-height:62px!important;padding:5px 3px!important;border-radius:10px!important;border:1px solid #EEF0F6!important;box-shadow:none!important;overflow:hidden!important;}
  #page-calendar .cal-cell.today{border-color:#B9AEFF!important;background:#FAF9FF!important;}
  #page-calendar .cal-date-num{font-size:11px!important;margin-bottom:4px!important;line-height:1!important;}
  #page-calendar .cal-date-num.today-num{width:22px!important;height:22px!important;font-size:10px!important;margin-bottom:3px!important;}
  #page-calendar .appt-chip{display:block!important;max-width:100%!important;font-size:8.5px!important;line-height:1.05!important;padding:3px 4px!important;margin:2px 0 0!important;border-radius:999px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #page-calendar .cal-more{font-size:8.5px!important;line-height:1!important;color:var(--text4)!important;padding:2px 3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #page-calendar #cal-week-view{width:100%!important;overflow-x:auto!important;padding-bottom:6px!important;}
  #page-calendar .week-grid{min-width:680px!important;max-height:520px!important;border-radius:14px!important;}
}
@media (max-width: 420px){
  #page-calendar .card{padding:8px!important;}
  #page-calendar .cal-grid{gap:3px!important;}
  #page-calendar .cal-cell{min-height:58px!important;padding:4px 2px!important;border-radius:9px!important;}
  #page-calendar .cal-day-header{font-size:8.5px!important;}
  #page-calendar .appt-chip{font-size:8px!important;padding:2px 3px!important;}
}

/* Shared HubSpot-style typography and mobile hierarchy 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,.btn,.cp-small-btn,.bk-btn{font-family:var(--crm-font-body)!important;}
h1,h2,h3,.bk-hero-title,.bk-section-title,.bk-card-title,.cp-page-title,.cp-card-title,.cp-login-title,.cp-brand-title{font-family:var(--crm-font-heading)!important;font-weight:400!important;letter-spacing:-.02em!important;line-height:1.06!important;}
@media(max-width:760px){
  .bk-shell,.cp-main{padding:14px 12px 78px!important;}
  .bk-hero,.cp-page-head{padding:16px 12px!important;text-align:left!important;}
  .bk-hero-title,.cp-page-title{font-size:32px!important;line-height:1.02!important;}
  .bk-stepper{overflow-x:auto!important;justify-content:flex-start!important;padding:9px 12px!important;gap:8px!important;}
  .bk-step{min-width:max-content!important;font-size:10.5px!important;}
  .bk-panel,.cp-card,.cp-appt-card{padding:13px!important;border-radius:15px!important;}
  .bk-actions{position:sticky!important;bottom:0!important;background:#fff!important;padding:10px 12px!important;box-shadow:0 -8px 24px rgba(15,23,42,.08)!important;}
  .bk-options{grid-template-columns:1fr!important;gap:10px!important;}
  .bk-option-card{min-height:auto!important;padding:12px!important;}
  .cp-grid,.cp-dashboard-grid{grid-template-columns:1fr!important;gap:10px!important;}
}

@media (max-width:480px){#login-screen .login-role-tabs{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}

/* GLOBAL HUBSPOT BUTTON + DESKTOP DENSITY PASS 20260710 */
:root{
  --hs-orange:#ff5c35;
  --hs-orange-dark:#e0441f;
  --hs-orange-soft:#fff3ee;
  --hs-ink:#111827;
  --hs-border:#d7dde8;
  --crm-density-font:14px;
}

@media (min-width:1025px){
  html,body{
    zoom:1 !important;
  }
}

.btn,
.cp-btn,
.bk-btn,
.login-btn,
.logout-btn,
button[type="submit"],
input[type="submit"]{
  border-radius:10px !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

.btn:hover,
.cp-btn:hover,
.bk-btn:hover,
.login-btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover{
  transform:translateY(-1px);
}

.btn.btn-primary,
.btn-primary,
.cp-btn-primary,
.cp-btn-amber,
.bk-btn-primary,
.login-btn,
#add-patient-btn,
button.primary,
button[data-primary="true"]{
  background:var(--hs-orange) !important;
  border-color:var(--hs-orange) !important;
  color:#fff !important;
  box-shadow:none !important;
}

.btn.btn-primary:hover,
.btn-primary:hover,
.cp-btn-primary:hover,
.cp-btn-amber:hover,
.bk-btn-primary:hover,
.login-btn:hover,
#add-patient-btn:hover,
button.primary:hover,
button[data-primary="true"]:hover{
  background:var(--hs-orange-dark) !important;
  border-color:var(--hs-orange-dark) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(255,92,53,.20) !important;
}

.btn.btn-ghost,
.btn-ghost,
.cp-btn-ghost,
.bk-btn-secondary,
.logout-btn{
  background:#fff !important;
  border:1.5px solid var(--hs-border) !important;
  color:var(--hs-ink) !important;
}

.btn.btn-ghost:hover,
.btn-ghost:hover,
.cp-btn-ghost:hover,
.bk-btn-secondary:hover,
.logout-btn:hover{
  background:var(--hs-orange-soft) !important;
  border-color:var(--hs-orange) !important;
  color:var(--hs-orange-dark) !important;
  box-shadow:0 8px 18px rgba(17,24,39,.06) !important;
}

.btn:disabled,
.cp-btn:disabled,
.bk-btn:disabled,
.login-btn:disabled,
button:disabled,
input[type="submit"]:disabled{
  background:#e5e7eb !important;
  border-color:#e5e7eb !important;
  color:#9ca3af !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
  transform:none !important;
  opacity:1 !important;
}

.btn-red,
.btn-danger,
button.danger{
  background:#ef4444 !important;
  border-color:#ef4444 !important;
  color:#fff !important;
}
.btn-red:hover,
.btn-danger:hover,
button.danger:hover{
  background:#dc2626 !important;
  border-color:#dc2626 !important;
  color:#fff !important;
}

.wa-btn,
.btn-success,
button.success{
  border-radius:10px !important;
}

input:focus,
select:focus,
textarea:focus,
#global-search:focus{
  border-color:var(--hs-orange) !important;
  box-shadow:0 0 0 3px rgba(255,92,53,.16) !important;
  outline:none !important;
}

.nav-item.active,
.login-role-tab.active,
.cal-view-tab.active,
.therapy-tabs .btn-primary,
.bk-step.active .bk-step-num,
.duration-pill.active,
.session-option-card.active,
.patient-type-card.active,
.specialist-card.active{
  border-color:var(--hs-orange) !important;
}

.login-role-tab.active,
.cal-view-tab.active,
.therapy-tabs .btn-primary{
  background:var(--hs-orange) !important;
  color:#fff !important;
}

@media(max-width:1024px){
  body{zoom:1 !important;}
}


/* CRM DESKTOP DENSITY WITHOUT PAGE ZOOM 20260710 FINAL
   Full viewport stays 100%. Elements, spacing, and typography are reduced slightly. */
@media (min-width:1025px){
  html, body{
    zoom:1 !important;
  }
  body:not(.bk-portal):not(.cp-portal){
    font-size:13px !important;
  }
  body:not(.bk-portal):not(.cp-portal){
    --topbar-h:54px !important;
    --radius:12px !important;
  }
  #topbar{
    height:54px !important;
    padding:0 16px !important;
    gap:10px !important;
  }
  #content{
    padding:14px 16px !important;
  }
  .page-title{
    font-size:14px !important;
  }
  .search-wrap input,
  input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=password],select{
    height:34px !important;
    font-size:12.5px !important;
  }
  textarea{
    font-size:12.5px !important;
  }
  .btn,.login-btn,.logout-btn{
    min-height:34px !important;
    padding:7px 13px !important;
    font-size:12.5px !important;
  }
  .btn-sm{
    min-height:30px !important;
    padding:6px 10px !important;
    font-size:11.5px !important;
  }
  .section-header{
    margin-bottom:10px !important;
  }
  .section-title{
    font-size:20px !important;
    line-height:1.15 !important;
  }
  .section-sub{
    font-size:12px !important;
    margin-top:4px !important;
  }
  .card,.metric-card,.clinic-card,.rx-prescription-card,.settings-section,.patient-panel,.modal-body .clinic-card{
    padding:14px !important;
    border-radius:14px !important;
  }
  .grid2,.grid3,.grid4,.therapy-card-grid,.rx-flex,.form-row{
    gap:12px !important;
  }
  .metric-card{
    min-height:0 !important;
  }
  .metric-icon{
    width:34px !important;
    height:34px !important;
    font-size:16px !important;
    margin-bottom:8px !important;
  }
  .metric-val{
    font-size:24px !important;
    line-height:1 !important;
  }
  .metric-label{
    font-size:11.5px !important;
    margin-top:4px !important;
  }
  .tbl-wrap table th{
    padding:8px 10px !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
  }
  .tbl-wrap table td{
    padding:9px 10px !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }
  .badge,.therapy-chip,.status-pill{
    font-size:10.5px !important;
    padding:3px 8px !important;
    font-weight:800 !important;
  }
  .modal{
    max-height:88vh !important;
  }
  .modal-header{
    padding:14px 18px !important;
  }
  .modal-body{
    padding:16px 18px !important;
  }
  .modal-footer{
    padding:12px 18px !important;
  }
  .form-group label{
    font-size:11.5px !important;
    margin-bottom:5px !important;
  }
  .sidebar-nav{
    padding:10px 10px !important;
  }
  .nav-item{
    min-height:38px !important;
    padding:8px 10px !important;
    font-size:13.5px !important;
  }
  .sidebar-logo{
    padding:14px 18px 12px !important;
  }
}

@media (min-width:1025px){
  body.bk-portal, body.cp-portal{
    font-size:13px !important;
  }
  body.bk-portal .bk-hero{
    padding:34px 20px 26px !important;
  }
  body.bk-portal .bk-hero h1{
    font-size:42px !important;
    line-height:1.05 !important;
  }
  body.bk-portal .bk-hero p{
    font-size:15px !important;
  }
  body.bk-portal .bk-wrap,
  body.bk-portal .bk-shell,
  body.bk-portal .bk-container{
    max-width:1040px !important;
  }
  body.bk-portal .bk-panel{
    padding:22px !important;
    border-radius:16px !important;
  }
  body.bk-portal .bk-panel-title{
    font-size:22px !important;
  }
  body.bk-portal .patient-type-card,
  body.bk-portal .specialist-card,
  body.bk-portal .session-option-card,
  body.bk-portal .bk-summary-card,
  body.bk-portal .bk-confirm-card{
    padding:18px !important;
    border-radius:16px !important;
  }
  body.bk-portal .cp-btn,
  body.cp-portal .cp-btn,
  body.cp-portal .cp-small-btn{
    min-height:36px !important;
    padding:8px 16px !important;
    font-size:13px !important;
  }
  body.cp-portal .cp-page,
  body.cp-portal .cp-main,
  body.cp-portal .cp-section{
    font-size:13px !important;
  }
  body.cp-portal .cp-card,
  body.cp-portal .cp-appt-card,
  body.cp-portal .cp-lab-card,
  body.cp-portal .cp-therapy-card,
  body.cp-portal .cp-greeting-card,
  body.cp-portal .cp-quick-btn{
    padding:14px !important;
    border-radius:14px !important;
  }
}
