/* SmartHeals compact visual density, derived from the unified access portal. */
body.reference-density { font-size: 14.5px; line-height: 1.5; }
body.reference-density :is(.panel, .card, .item, .kpi, .metrics article) { border-radius: 16px; box-shadow: 0 8px 24px rgba(15, 23, 42, .04); }

body.module-patient :is(.card, .item), body.module-medicines :is(.card, .item) { border-color: #cfe3ec; }
body.module-patient .hero, body.module-medicines .hero { border-radius: 18px; box-shadow: 0 8px 24px rgba(15, 23, 42, .06); }

body.module-clinician > header { min-height: 68px; height: auto; padding: 10px 20px; }
body.module-clinician #workspace { grid-template-columns: 210px minmax(0, 1fr); min-height: calc(100vh - 68px); }
body.module-clinician #workspace > aside { padding: 16px 14px; }
body.module-clinician .content { width: 100%; max-width: 1120px; padding: 20px 22px 48px; }
body.module-clinician :is(.panel, .hero) { padding: 16px; }
body.module-clinician .hero { margin-bottom: 14px; border-radius: 18px; box-shadow: 0 8px 24px rgba(15, 23, 42, .06); }
body.module-clinician .grid { gap: 12px; }
body.module-clinician .panel strong { font-size: 22px; }

body.module-pharmacy .app-shell { grid-template-columns: 232px minmax(0, 1fr); }
body.module-pharmacy .app-shell > aside { padding: 18px 14px; }
body.module-pharmacy main { padding: 20px 22px 48px; }
body.module-pharmacy main > header { gap: 18px; margin-bottom: 16px; }
body.module-pharmacy header h1 { font-size: 25px; }
body.module-pharmacy .hero { gap: 22px; padding: 20px; margin-bottom: 14px; border-radius: 18px; box-shadow: 0 8px 24px rgba(15, 23, 42, .06); }
body.module-pharmacy .hero h2 { font-size: 24px; }
body.module-pharmacy .metrics { margin-bottom: 14px; }
body.module-pharmacy .metrics article { padding: 14px; }
body.module-pharmacy .metrics strong { margin: 5px 0; font-size: 24px; }
body.module-pharmacy .panel { padding: 17px; margin-bottom: 14px; }

body.module-mutual .app-shell { grid-template-columns: 232px minmax(0, 1fr); }
body.module-mutual .sidebar { padding: 18px 14px; }
body.module-mutual .module-title { margin: 22px 0 18px; padding: 12px; border-radius: 16px; }
body.module-mutual nav { gap: 5px; }
body.module-mutual nav button { min-height: 42px; padding: 9px 11px; border-radius: 12px; font-size: 14px; }
body.module-mutual .workspace { padding: 20px 22px 48px; }
body.module-mutual .topbar { gap: 18px; margin-bottom: 16px; }
body.module-mutual .topbar h1 { font-size: clamp(24px, 2.6vw, 34px); }
body.module-mutual .content { gap: 14px; }
body.module-mutual .hero { grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr); gap: 16px; padding: 20px; border-radius: 20px; box-shadow: 0 8px 24px rgba(15, 23, 42, .06); }
body.module-mutual .hero h2 { font-size: clamp(25px, 2.5vw, 34px); }
body.module-mutual .ai-box { padding: 14px; border-radius: 15px; }
body.module-mutual :is(.kpi-grid, .card-grid) { gap: 12px; }
body.module-mutual .kpi { padding: 14px; }
body.module-mutual .kpi strong { margin: 4px 0 2px; font-size: 24px; }
body.module-mutual .card { padding: 16px; }
body.module-mutual .panel { padding: 17px; }
body.module-mutual .panel-head { margin-bottom: 12px; }
body.module-mutual .finance-hero { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 16px; padding: 20px; border-radius: 20px; box-shadow: 0 8px 24px rgba(15, 23, 42, .06); }
body.module-mutual .finance-hero h2 { font-size: clamp(25px, 2.5vw, 34px); }
body.module-mutual .finance-ai { padding: 14px; border-radius: 15px; }
body.module-mutual .finance-kpi { padding: 15px; border-radius: 16px; box-shadow: 0 8px 24px rgba(15, 23, 42, .04); }
body.module-mutual .finance-kpi strong { font-size: 23px; }

body.module-coverage .shell { grid-template-columns: 232px minmax(0, 1fr); }
body.module-coverage aside { padding: 18px 14px; }
body.module-coverage .module { margin: 22px 0 18px; padding: 12px; border-radius: 16px; }
body.module-coverage nav { gap: 5px; }
body.module-coverage nav button { min-height: 42px; padding: 9px 11px; border-radius: 12px; font-size: 14px; }
body.module-coverage main { padding: 20px 22px 48px; }
body.module-coverage main > header { gap: 18px; margin-bottom: 16px; }
body.module-coverage header h1 { font-size: clamp(24px, 2.6vw, 34px); }
body.module-coverage #content { gap: 14px; }
body.module-coverage .hero { grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr); gap: 16px; padding: 20px; border-radius: 20px; box-shadow: 0 8px 24px rgba(15, 23, 42, .06); }
body.module-coverage .hero h2 { font-size: clamp(25px, 2.5vw, 34px); }
body.module-coverage .ai { padding: 14px; border-radius: 15px; }
body.module-coverage :is(.kpis, .cards) { gap: 12px; }
body.module-coverage .kpi { padding: 14px; }
body.module-coverage .kpi strong { margin: 4px 0; font-size: 24px; }
body.module-coverage .panel { padding: 17px; }
body.module-coverage .card { min-height: 170px; padding: 16px; }
body.module-coverage dialog { width: min(740px, calc(100% - 30px)); border-radius: 18px; }
body.module-coverage dialog form { padding: 19px; }

body.module-admin { min-width: 0; }
body.module-admin > header { min-height: 68px; height: auto; padding: 10px 20px; }
body.module-admin > main { width: 100%; max-width: 1120px; padding: 20px 22px 48px; }
body.module-admin :is(.panel, .hero) { padding: 17px; border-radius: 16px; }
body.module-admin .hero { margin-bottom: 14px; box-shadow: 0 8px 24px rgba(15, 23, 42, .06); }
body.module-admin .grid { gap: 12px; margin-bottom: 14px; }
body.module-admin .panel strong { font-size: 21px; }

@media (max-width: 1050px) {
  body.module-mutual .hero, body.module-mutual .finance-hero, body.module-coverage .hero { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  body.module-clinician #workspace, body.module-pharmacy .app-shell, body.module-mutual .app-shell, body.module-coverage .shell { display: block; }
  body.module-clinician #workspace > aside { position: fixed; padding: 7px; }
  body.module-clinician .content { padding: 14px 14px 80px; }
  body.module-pharmacy .app-shell > aside { position: static; height: auto; padding: 12px; }
  body.module-pharmacy main { padding: 15px; }
  body.module-mutual .sidebar, body.module-coverage aside { position: static; width: 100%; height: auto; padding: 13px; }
  body.module-mutual .workspace { padding: 17px 14px 45px; }
  body.module-coverage main { padding: 16px 13px 45px; }
  body.module-mutual .hero, body.module-mutual .finance-hero, body.module-coverage .hero { padding: 18px; }
  body.module-admin > header { flex-wrap: wrap; }
  body.module-admin > main { padding: 15px; }
  body.module-admin .grid, body.module-admin .readiness-gates { grid-template-columns: 1fr; }
  body.module-admin .row { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 480px) {
  body.module-mutual :is(.kpi-grid, .card-grid), body.module-coverage :is(.kpis, .cards) { grid-template-columns: 1fr; }
  body.module-mutual .panel, body.module-coverage .panel { padding: 15px; }
}
