/* Shared visual language from the admin overview. Screen rules preserve receipt printing. */
@media screen {
  :root{--navy:#182e4a;--teal:#2563eb;--teal-dark:#1d4ed8;--teal-light:#edf4ff;--teal-mid:#c6d9fa;--slate-50:#f3f6fb;--slate-100:#edf2f8;--slate-200:#e2e8f0;--slate-300:#cad5dc;--slate-400:#7c8da4;--slate-500:#63748b;--slate-600:#536780;--radius:14px;--shadow-sm:none;--shadow-md:0 8px 24px #143c3510}
  body{background:#f3f6fb;color:#182e4a}
  .page{max-width:1656px;margin:0 auto;padding:30px}
  .header{box-shadow:none;border-color:#e2e8f0}
  .header-title{font-size:16px;letter-spacing:-.35px}
  .page .page-header{margin:4px 0 25px}
  .page .page-header h1{font-size:28px;letter-spacing:-1px;line-height:1.3;font-weight:800;color:#182e4a}
  .page .page-header p{font-size:13px;line-height:1.8;color:#63748b;margin-top:8px}
  .page .page-header .breadcrumb{font-size:10px;letter-spacing:.08em;font-weight:600;margin-bottom:9px}
  .page :is(.card,.doctor-card,.dept-card,.role-card,.merchant-card,.rp-stat,.stat-card){border-color:#e2e8f0;border-radius:14px;background:#fff;box-shadow:none}
  .page .card-header{padding:21px 22px 18px;border-color:#edf2f8;gap:12px;flex-wrap:wrap}
  .page .card-header h2,.page .section-title-row h2{font-size:16px;letter-spacing:-.35px;color:#182e4a}
  .page .card-body{padding:24px}
  .page .stat-card{padding:20px}
  .page .stat-card .label{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;color:#63748b}
  .page .stat-card .value{color:#182e4a;font-size:30px;letter-spacing:-1px;line-height:1.3}
  .page .stat-card .icon-wrap{width:36px;height:36px;border-radius:10px;font-size:18px}
  .page .stat-card .sub{font-size:11px;color:#75869d}
  .page .welcome-banner{background:linear-gradient(110deg,#edf4ff,#f5f9ff 65%,#e5efff);border:1px solid #dce7f7;border-radius:16px;padding:30px 34px;color:#182e4a;box-shadow:none}
  .page .welcome-banner h1{color:#182e4a;font-size:27px;letter-spacing:-.9px;line-height:1.3;margin-bottom:9px}
  .page .welcome-banner p{color:#63748b;font-size:13px;line-height:1.8}
  .page .welcome-banner .date-chip{background:#ffffff9e;border:1px solid #ffffffd9;color:var(--teal);font-size:12px;border-radius:10px;padding:11px 15px}
  .page .quick-action-card{border:1px solid #e2e8f0;padding:23px;box-shadow:none;transition:border-color .15s,background .15s}
  .page .quick-action-card:hover,.page .doctor-card:hover{border-color:#9ebef0;background:#fbfcff;box-shadow:none;transform:none}
  .page .quick-action-title{font-size:14px;color:#253b56}
  .page .quick-action-desc{font-size:12px;color:#63748b}
  .page .quick-action-arrow{font-size:11px;color:var(--teal)}
  .page .patient-avatar{background:#edf4ff;color:var(--teal);border-radius:10px}
  :is(.page,.login-wrap-page) .btn{border-radius:8px;font-size:12px;min-height:38px;line-height:1.5;padding:9px 15px;justify-content:center}
  :is(.page,.login-wrap-page) .btn-sm{min-height:32px;padding:6px 11px;font-size:11px}
  :is(.page,.login-wrap-page) .btn-primary{background:var(--teal);border-color:var(--teal);color:#fff}
  :is(.page,.login-wrap-page) .btn-primary:hover{background:var(--teal-dark)}
  :is(.page,.login-wrap-page) .btn-outline{border:1px solid #d9e3e7;color:#415873;background:#fff}
  :is(.page,.login-wrap-page) .btn-outline:hover{background:#edf4ff;border-color:#b7cff5}
  :is(.page,.login-wrap-page) .btn-secondary{background:var(--teal-light);color:var(--teal)}
  :is(.page,.login-wrap-page) .btn-secondary:hover{background:#dce9ff}
  :is(.page,.login-wrap-page) :is(button,.btn):disabled{cursor:not-allowed;opacity:.5}
  :is(.page,.login-wrap-page) .form-label{font-size:12px;color:#415873;margin-bottom:7px}
  :is(.page,.login-wrap-page) .form-control{border:1px solid #dce5e9;border-radius:8px;min-height:42px;padding:10px 12px;font-size:13px;color:#253b56}
  :is(.page,.login-wrap-page) .form-control:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal)14}
  :is(.page,.login-wrap-page) .form-control.invalid{border-color:var(--red);background:var(--red-light)}
  :is(.page,.login-wrap-page) .form-control.valid{border-color:#6ee7b7}
  :is(.page,.login-wrap-page) .form-hint{font-size:11px;color:#75869d}
  .page :is(.billing-search,.patients-search-row,.recent-appts-search,.today-search){border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:16px 20px}
  .page .dt-toolbar{background:#fbfcfc;padding:14px 20px;border-color:#edf2f8}
  .page .dt-toolbar label{font-size:11px;color:#63748b}
  .page .dt-toolbar input,.page .dt-toolbar select{border-color:#dce5e9;min-height:36px;font-size:12px;border-radius:8px}
  .page .table-wrap>table thead th{background:#f8fafb;color:#71839b;font-size:10px;letter-spacing:.07em;padding:14px 18px;border-color:#e2e8f0}
  .page .table-wrap>table tbody td{font-size:12px;color:#415873;border-color:#edf2f8;line-height:1.7}
  .page .table-wrap>table tbody tr:hover td{background:#f6f9ff}
  .page .table-wrap .td-primary{color:#253b56;font-weight:600}
  .page .table-wrap .badge{font-size:10px;padding:4px 9px}
  .page .badge-gray{background:#f1f5f7;border-color:#e2e8f0;color:#63748b}
  .page .badge-teal{background:var(--teal-light);color:var(--teal)}
  .page :is(.dt-footer,.recent-appts-footer){border-color:#edf2f8;color:#63748b;font-size:12px;padding:16px 20px}
  .page .dt-page-numbers [aria-current="page"]{background:var(--teal);border-color:var(--teal);color:#fff}
  .page :is(.record-tab,.dept-tab){font-size:12px;border-color:#e2e8f0}
  .page :is(.record-tab.active,.dept-tab.active){background:var(--teal-light);color:var(--teal);border-color:#b7cff5}
  .page :is(.modal-box,.rp-dialog){border-radius:14px;border-color:#e2e8f0;box-shadow:0 20px 70px #182e4a26}
  .page .empty-state{padding:42px 24px;color:#75869d;font-size:13px}
  .login-wrap-page{background:#f3f6fb}
  .login-wrap-page .top-bar{background:#fff;border-bottom:1px solid #e2e8f0;color:#182e4a;box-shadow:none}
  .login-wrap-page .top-bar :is(.logo-name,.top-bar-right){color:#182e4a}
  .login-wrap-page .top-bar a{color:var(--teal)}
  .login-wrap-page .auth-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 30px #143c3508;background:#fff;overflow:hidden}
  .login-wrap-page .auth-card-top{background:linear-gradient(110deg,#edf4ff,#f5f9ff);border-bottom:1px solid #dce7f7;color:#182e4a}
  .login-wrap-page .auth-card-top h1{color:#182e4a;letter-spacing:-.7px;line-height:1.4}
  .login-wrap-page .auth-card-top p{color:#63748b;line-height:1.8}
  .login-wrap-page :is(.doc-avatar-badge,.pat-avatar-badge){background:#ffffffa6;border-color:#c9e3da;color:var(--teal)}
  .login-wrap-page .submit-btn{background:var(--teal);border-radius:8px;font-size:13px;min-height:44px}
  .login-wrap-page .submit-btn:hover{background:var(--teal-dark)}
  .login-wrap-page .submit-btn:disabled{opacity:.5;cursor:not-allowed}
  .login-wrap-page .register-link{font-size:12px;color:#63748b}
  .login-wrap-page .register-link span,.login-wrap-page .auth-body a{color:var(--teal)}
  .login-wrap-page .auth-footer{color:#7c8da4;font-size:11px}
  .hms-public-booking .top{background:#fff;border-bottom:1px solid #e2e8f0}
  .hms-public-booking .top .logo{color:#182e4a}
  .hms-public-booking .top a.l{color:var(--teal)}
  .hms-public-booking .wrap>h1{color:#182e4a;letter-spacing:-.9px}
  .hms-public-booking .card{border-color:#e2e8f0;border-radius:14px;box-shadow:none}
  .hms-public-booking :is(input,select){border:1px solid #dce5e9;border-radius:8px}
  .hms-public-booking .n{background:var(--teal-light);color:var(--teal)}
  .hms-public-booking .btn:not(.alt):not(:disabled){background:var(--teal);border-radius:8px}
  .hms-public-booking .btn:not(.alt):not(:disabled):hover{background:var(--teal-dark)}
  .hms-home .hero{background:linear-gradient(110deg,#edf4ff,#f5f9ff 65%,#e5efff)}
  .hms-home .book{border-color:#dce7f7;box-shadow:0 8px 24px #143c3510}
  :is(.page,.login-wrap-page) :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--teal);outline-offset:3px}
}
@media screen and (max-width:700px){
  .page{padding:20px 16px}
  .page .page-header h1{font-size:24px}
  .page .welcome-banner{padding:23px}
  .page .welcome-banner h1{font-size:23px}
  .page .card-header{padding:18px 16px}
  .page .card-body{padding:20px 16px}
  .page .dt-toolbar,.page .dt-footer{padding:14px 16px}
  :is(.page,.login-wrap-page) .form-control{font-size:16px}
  .login-wrap-page .auth-card-top h1{font-size:22px}
  .login-wrap-page .auth-card-top{padding:24px 22px}
}
@media(prefers-reduced-motion:reduce){.page *, .login-wrap-page *{scroll-behavior:auto;transition:none!important}}

/* Same desktop palette as the splash and installation wizard. */
@media screen{
 body{font-family:'Segoe UI',system-ui,sans-serif;background:#f3f6fb;color:#182e4a}
 .sidebar{background:linear-gradient(155deg,#142e50,#0e2039);border-right:1px solid #213c5b}
 .sidebar .nav-item{color:#afc1d8;border-radius:8px}.sidebar .nav-item:hover{background:#ffffff0d;color:#fff}.sidebar .nav-item.active{background:#ffffff12;border-color:#75a7ff;box-shadow:inset 3px 0 #75a7ff;color:#fff}.sidebar .nav-label{color:#8fa8c9;letter-spacing:.12em}.sidebar .sub{color:#aabbd1}.sidebar .brand{color:#fff}
 .header{background:#e9eef4;border-bottom:1px solid #cdd7e3}.header-title{color:#182e4a;font-weight:650}.page .page-header h1,.overview-heading h1{font-weight:650;letter-spacing:-.8px}
 .page :is(.card,.stat-card,.overview-stat,.appointments-panel,.action-panel){box-shadow:0 2px 10px #18335403;border-color:#dfe7f2}
 .page .welcome-banner,.page .overview-banner{background:linear-gradient(110deg,#edf4ff,#f5f9ff 65%,#e5efff);border-color:#dce7f7}
 .page .welcome-banner h1,.page .overview-banner h2{color:#182e4a;font-weight:650}.page .welcome-banner p,.page .overview-banner p{color:#63748b}.page .banner-tag{background:#ffffffb3;color:var(--teal);border-color:#c6d9fa}.page .banner-summary{color:#536e8e;border-color:#fff}.page .banner-summary strong{color:#1c467e}
 :is(.page,.login-wrap-page) .btn-primary{box-shadow:0 3px 8px #2563eb20}.page .overview-stat:hover{border-color:var(--teal-mid);box-shadow:0 4px 14px #18335409}.page .team-panel{background:#f0f5fc;border-color:#dce7f7}
 .login-wrap-page{background:radial-gradient(ellipse at top left,#dce7f6,transparent 65%),#edf2f8}.login-wrap-page .auth-card{box-shadow:0 24px 70px #18335418;border-color:#d6dfeb;border-top:3px solid var(--teal)}.login-wrap-page .auth-card-top{background:linear-gradient(110deg,#edf4ff,#f5f9ff);border-color:#dce7f7}.login-wrap-page .auth-card-top h1{color:#182e4a}.login-wrap-page .auth-card-top p{color:#63748b}
}

/* Shared module navigation and controls across every inner page. */
@media screen{
 .page :is(.pharmacy-tabs,.settings-tabs,.settings-nav){gap:8px}.page .pharmacy-tabs a{background:#fff;border-color:#dfe7f2;color:#536780;border-radius:8px}.page .pharmacy-tabs a:hover{background:#f3f7ff;border-color:var(--teal-mid);color:var(--teal)}.page .pharmacy-tabs a.active{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 3px 8px #2563eb20}
 .page :is(.pharmacy-notice,.setup-note){background:var(--teal-light);border:1px solid var(--teal-mid);color:#365883}.page :is(.pharmacy-metric,.rp-stat){border-color:#dfe7f2}.page :is(.pharmacy-metric,.rp-stat) strong{color:#182e4a}.page :is(input,select,textarea){accent-color:var(--teal)}
 .page :is(.record-tab.active,.dept-tab.active){color:var(--teal);background:var(--teal-light);border-color:var(--teal-mid)}.page :is(.form-control,.pharmacy-fields input,.pharmacy-fields select):focus{border-color:var(--teal);box-shadow:0 0 0 3px #2563eb14}
 .sidebar .nav-submenu .nav-item.active{background:#ffffff12;color:#fff;box-shadow:inset 3px 0 #75a7ff}.sidebar .nav-group[open]>summary{color:#fff;background:#ffffff08}.sidebar :is(a,button,summary):focus-visible{outline-color:#75a7ff}.sidebar .sidebar-footer{background:#0e203980;border-color:#ffffff1c}
 .header :is(.hd-avatar,.hd-dd-avatar){background:linear-gradient(135deg,var(--teal),#5c95ff)}
}

@media screen{.hospital-brand-icon{display:block;width:40px;height:40px;object-fit:contain;flex-shrink:0;border-radius:9px}.sidebar-brand-link .hospital-brand-icon{margin-bottom:10px;background:#fff;padding:3px}.sidebar.collapsed .hospital-brand-icon{width:32px;height:32px;margin:0 auto}.top-logo{gap:12px}.hms-public-booking .logo{display:flex;align-items:center;gap:10px}.top-bar .top-logo{display:flex;align-items:center}}

@media screen{.sidebar-brand-row{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-brand-row .brand{min-width:0;flex:1}.sidebar-brand-link .sidebar-brand-row .hospital-brand-icon{margin:0;width:38px;height:38px;flex:0 0 38px}.sidebar-logo .sub{margin-top:9px}.sidebar-logo .sidebar-collapse-btn{align-self:flex-start;margin-top:5px}.sidebar.collapsed .sidebar-collapse-btn{margin-top:0}}
