/* HMS design brief: shared screen-only system. Clinical print sheets keep their own styles. */
@media screen {
:root{--teal:#0ea5e9;--teal-dark:#0284c7;--teal-light:#e0f2fe;--teal-mid:#0ea5e966;--sky:#0ea5e9;--navy:#1e293b;--workspace-sidebar:#0f172a;--sidebar-w:240px;--header-h:64px;--radius:16px;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--ui-font:'Inter',system-ui,sans-serif;--ui-ink:#1e293b;--ui-body:#64748b;--ui-muted:#94a3b8;--ui-line:#e2e8f0;--ui-bg:#f8fafc;--ui-surface:#fff;--ui-shadow:0 1px 3px #0000000d;--c-ink:#1e293b;--c-muted:#64748b;--c-line:#e2e8f0;--c-bg:#f8fafc;--signal:#0ea5e9;--forest-2:#0ea5e9;--ink:#1e293b;--muted:#64748b;--paper:#f8fafc;--line:#e2e8f0;--display:var(--ui-font);--body:var(--ui-font)}
body.hms-ui{font:400 14px/1.6 var(--ui-font);color:#64748b;background:#f8fafc;-webkit-font-smoothing:antialiased}
.hms-ui :is(h1,h2,h3,h4,button,input,select,textarea){font-family:var(--ui-font)}
.hms-ui :is(h1,h2,h3,h4){color:#1e293b;font-weight:600;letter-spacing:-.02em}
.hms-ui :focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}
.hms-ui .sidebar{width:var(--sidebar-w);background:#0f172a;border-right:0;box-shadow:none}
.hms-ui .sidebar-logo{min-height:88px;padding:16px;border-bottom:1px solid #1e293b}
.hms-ui .sidebar-logo .brand{font:700 20px/1.4 var(--ui-font);color:#fff}
.hms-ui .sidebar-logo .sub{font-size:12px;color:#94a3b8}
.hms-ui .sidebar-menu{padding:16px;scrollbar-color:#334155 transparent}
.hms-ui .sidebar .nav-label{font-size:12px;font-weight:500;color:#94a3b8;padding:0 8px 8px;letter-spacing:.04em}
.hms-ui .sidebar .nav-item{min-height:44px;margin:0 0 8px;padding:12px 8px;gap:8px;font-size:14px;font-weight:400;line-height:20px;border-radius:8px;color:#cbd5e1;border-color:transparent}
.hms-ui .sidebar .nav-item:hover{background:#1e293b;color:white}
.hms-ui .sidebar .nav-item.active{background:#0ea5e926;color:#fff;border-color:transparent;box-shadow:inset 3px 0 #0ea5e9;font-weight:500}
.hms-ui .sidebar .nav-item.active .icon{color:#38bdf8}
.hms-ui .sidebar .nav-item .icon,.hms-ui .sidebar .nav-item .icon svg{width:20px;height:20px;flex-basis:20px}
.hms-ui .sidebar .nav-section{margin-bottom:8px}
.hms-ui .sidebar .nav-submenu{margin:0 0 8px 16px;padding-left:8px;border-color:#1e293b}
.hms-ui .sidebar .nav-submenu .nav-item{font-size:13px;padding:8px;min-height:44px}
.hms-ui .sidebar .nav-group[open]>summary{background:#1e293b;color:#fff}
.hms-ui .sidebar-footer{background:#0f172a;border-top:1px solid #1e293b;padding:16px;margin-top:auto}
.hms-ui .workspace-avatar{border-radius:50%;background:#1e293b}
.hms-ui .workspace-identity strong{font-size:14px}.hms-ui .workspace-identity small{font-size:12px;color:#94a3b8}
.hms-ui .logout-tile{color:#cbd5e1;min-height:44px}.hms-ui .logout-tile:hover{color:#fecaca;background:#ef444419}
.hms-ui .header{height:64px;padding:0 24px;background:#ffffffeb;backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0;box-shadow:none}
.hms-ui .header-title{font-size:18px;font-weight:600;letter-spacing:-.02em;color:#1e293b}
.hms-ui .header .hd-avatar{width:32px;height:32px;border-radius:50%;background:#e0f2fe;color:#0284c7}
.hms-ui .header .user-btn-hd{border:0;background:transparent;border-radius:8px;min-height:44px}
.hms-ui .header .hd-name{font-size:14px;color:#1e293b}
.hms-ui .workspace-role{font-size:12px;color:#64748b;background:#f8fafc;border-color:#e2e8f0}
.hms-ui .main{height:100dvh;overflow-y:auto;overflow-x:hidden;padding-top:64px}
.hms-ui .page{width:100%;max-width:1600px;padding:24px;margin:0 auto}
.hms-ui .page .page-header{margin-bottom:24px;gap:16px}
.hms-ui .page .page-header h1{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.02em}
.hms-ui .page .page-header p{font-size:14px;color:#64748b;margin-top:8px}
.hms-ui .page :is(.card,.stat-card,.doctor-card,.dept-card,.role-card,.merchant-card,.rp-stat,.dx-panel,.dx-kpi){border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000d;background:#fff}
.hms-ui .page :is(.card-header,.card-body){padding:24px}
.hms-ui .page .card-header{border-radius:16px 16px 0 0;border-bottom:1px solid #f1f5f9;background:#fff;gap:16px}
.hms-ui .page .card-header :is(h2,h3){font-size:14px;font-weight:600}
.hms-ui .page .section-title-row h2{font-size:18px;font-weight:600}
.hms-ui .page :is(.stats-grid,.stats-grid-5,.dx-kpis){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 0 24px}
.hms-ui .page .stat-card{padding:24px}
.hms-ui .page .stat-card .label,.hms-ui .dx-kpi .lbl{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}
.hms-ui .page .stat-card .value,.hms-ui .dx-kpi .val{font:700 28px/1.3 var(--ui-font);color:#1e293b;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.hms-ui .page .stat-card .sub,.hms-ui .dx-kpi .cap{font-size:12px;color:#64748b}
.hms-ui .page :is(.stat-icon,.dx-chip,.metric-icon){width:40px;height:40px;border-radius:50%;background:#e0f2fe;color:#0284c7}
.hms-ui .page :is(.form-row,.form-row-3,.two-col,.three-col){gap:24px}
.hms-ui .page .form-group{margin-bottom:24px}
.hms-ui .page .form-label{font-size:12px;font-weight:500;color:#64748b;margin-bottom:8px}
.hms-ui :is(.page,.login-wrap-page) .form-control{min-height:40px;padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#1e293b;font:400 14px/1.6 var(--ui-font);box-shadow:none}
.hms-ui :is(.page,.login-wrap-page) .form-control:focus{border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e966;outline:0}
.hms-ui .page textarea.form-control{min-height:112px}
.hms-ui .page :is(.form-hint,.text-muted){font-size:12px;color:#94a3b8}
.hms-ui .page .btn,.hms-ui .dx-btn{min-height:40px;padding:8px 16px;border-radius:8px;font:500 14px/1.6 var(--ui-font);box-shadow:none}
.hms-ui .page .btn-primary,.hms-ui .dx-btn.sig{background:#0ea5e9;border:1px solid #0ea5e9;color:#fff}
.hms-ui .page .btn-primary:hover,.hms-ui .dx-btn.sig:hover{background:#0284c7;border-color:#0284c7;filter:none}
.hms-ui .page :is(.btn-secondary,.btn-outline),.hms-ui .dx-btn.ghost{background:white;color:#1e293b;border:1px solid #e2e8f0;box-shadow:none}
.hms-ui .page .btn-ghost{background:transparent;color:#64748b;border-color:transparent}
.hms-ui .page :is(.btn-secondary,.btn-outline,.btn-ghost):hover{background:#f1f5f9;color:#0284c7}
.hms-ui .page .btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}
.hms-ui .page :is(.badge,.status-badge){font-size:12px;font-weight:500;border-radius:999px;padding:4px 8px}
.hms-ui .page :is(.badge-green,.badge-success,.status-completed,.status-confirmed){background:#d1fae5;color:#047857}
.hms-ui .page :is(.badge-amber,.badge-warning,.status-waiting,.status-pending){background:#fef3c7;color:#b45309}
.hms-ui .page :is(.badge-red,.badge-danger,.status-cancelled){background:#fee2e2;color:#b91c1c}
.hms-ui .page :is(.badge-teal,.badge-blue){background:#e0f2fe;color:#0284c7}
.hms-ui .page .table-wrap{max-width:100%;overflow-x:auto;border-radius:0}
.hms-ui .page .table-wrap>table{border:0;font-size:14px}
.hms-ui .page .table-wrap>table thead th{padding:16px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;background:#fff;color:#94a3b8;border-bottom:1px solid #e2e8f0}
.hms-ui .page .table-wrap>table tbody td{height:48px;padding:12px 16px;color:#1e293b;border-bottom:1px solid #f1f5f9;font-size:14px}
.hms-ui .page .table-wrap>table tbody tr:hover td{background:#f8fafc}
.hms-ui .page :is(.record-tab,.status-tab,.dept-tab){font-size:14px;border-radius:8px}
.hms-ui .page :is(.record-tab.active,.status-tab.active,.dept-tab.active){background:#e0f2fe;color:#0284c7;border-color:#bae6fd}
.hms-ui .page :is(.modal-box,.rp-dialog){border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 16px 48px #0f172a20}
/* Calm dashboard header, independent KPI row and aligned content panels. */
.hms-ui .page .dx-hero{background:#fff;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000d;color:#1e293b;padding:24px;border-radius:16px;margin-bottom:24px;gap:24px}
.hms-ui .dx-hero:before{display:none}.hms-ui .dx-hero h1{font:600 24px/1.4 var(--ui-font);color:#1e293b;letter-spacing:-.02em}
.hms-ui .dx-hero h1 em{color:#0284c7}.hms-ui .dx-eyebrow{font-size:12px;color:#64748b;font-weight:500}
.hms-ui .dx-hero p{color:#64748b;font-size:14px;line-height:1.6}
.hms-ui .dx-fig{background:#f8fafc;border:1px solid #f1f5f9;border-radius:16px;padding:24px}
.hms-ui .dx-fig .lbl,.hms-ui .dx-fig .cap,.hms-ui .dx-fig .sub span{color:#64748b;font-size:12px}
.hms-ui .dx-fig .big{font:700 32px/1.3 var(--ui-font);color:#1e293b}.hms-ui .dx-fig .sub b{font:600 18px var(--ui-font);color:#1e293b}.hms-ui .dx-fig .sub{border-color:#e2e8f0}
.hms-ui .page .dx-kpi{padding:24px;gap:8px}.hms-ui a.dx-kpi:hover{transform:none;border-color:#bae6fd}
.hms-ui .dx-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;margin-top:24px}
.hms-ui .dx-ph{padding:24px;gap:16px}.hms-ui .dx-ph h2{font:600 14px var(--ui-font)}.hms-ui .dx-ph .ey{font-size:12px;font-weight:500;color:#94a3b8}
.hms-ui .dx-panel.pad{padding:24px}.hms-ui .dx-panel .card{border-radius:0;border:0;box-shadow:none}
.hms-ui .dx-tools{padding:0 24px 16px;gap:8px}.hms-ui .dx-act{padding:16px 24px;gap:16px;border-color:#f1f5f9}.hms-ui .dx-act strong{font-size:14px;font-weight:500;color:#1e293b}.hms-ui .dx-act small{font-size:12px;color:#64748b}
.hms-ui .dx-link{color:#0284c7;font-size:12px;font-weight:500}.hms-ui .dx-rail{gap:24px}
.hms-ui .dx-note{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.hms-ui .dx-note b{color:#0369a1}
/* Public and account pages share the palette and type scale. */
body.hms-home{--signal:#0ea5e9;--forest-2:#0284c7;--ink:#1e293b;--muted:#64748b;--paper:#f8fafc;--line:#e2e8f0;font-size:14px;background:#f8fafc}
.hms-ui .stage{background:#f8fafc}.hms-ui .live{background:#e0f2fe;border-color:#bae6fd;color:#0284c7;font-size:12px}
.hms-ui .hero h1{font-size:24px;font-weight:600}.hms-ui .hero .lead{font-size:14px}.hms-ui .hero .btn{font-size:14px;min-height:40px}
.hms-ui .brand{font-size:20px}.hms-ui .nav nav{font-size:14px}.hms-ui .nav .login{background:#0ea5e9}
.hms-ui .mini b,.hms-ui .care-visual strong{font-size:14px}.hms-ui .mini div,.hms-ui .care-visual figcaption div>span{font-size:12px}
.hms-ui :is(.book,.dept,.b,.role){background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:24px}
.hms-ui :is(.sh h2,.close h2){font-size:18px;font-weight:600}.hms-ui :is(.dept h3,.b h3,.role h3,.book h2){font-size:14px;font-weight:600}.hms-ui :is(.sh p,.dept p,.b p,.role ul){font-size:14px}
.hms-ui :is(.tag,.f label,.dept .opd,.dept .go){font-size:12px}.hms-ui .ico{background:#e0f2fe;color:#0284c7}
.hms-ui .f select,.hms-ui .f input{border-color:#e2e8f0;font-size:14px;height:40px;border-radius:8px}
.hms-ui .close{background:#0f172a}.hms-ui .close h2{color:#fff}.hms-ui .close h2 span{color:#7dd3fc}.hms-ui .info div{font-size:14px}.hms-ui .foot{font-size:12px}
.hms-ui .login-wrap-page{background:#f8fafc}.hms-ui .login-layout{border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000d}
.hms-ui .auth-card-top{background:#f0f9ff;border-color:#e0f2fe}.hms-ui .auth-card-top h1{font-size:24px;color:#1e293b}
.hms-ui .submit-btn{background:#0ea5e9;border-color:#0ea5e9;border-radius:8px;font-size:14px;min-height:40px}.hms-ui .submit-btn:hover{background:#0284c7}
.hms-ui .login-wrap-page :is(.auth-body a,.top-bar a){color:#0284c7}
.hms-ui :is(.hd-dropdown,.dt-menu){border-radius:16px;border-color:#f1f5f9;box-shadow:0 8px 32px #0f172a14}
.hms-ui :is(button,a,input,select,textarea){transition:background-color .15s ease-in-out,color .15s ease-in-out,border-color .15s ease-in-out}
}
@media screen and (min-width:768px){body.hms-ui.sidebar-collapsed{--sidebar-w:72px}.hms-ui .sidebar.collapsed .workspace-identity>div{display:none}.hms-ui .sidebar.collapsed .workspace-identity{padding:0;justify-content:center}.hms-ui .sidebar.collapsed .sidebar-brand-link,.hms-ui .sidebar.collapsed .nav-label,.hms-ui .sidebar.collapsed .nav-item>span:not(.icon),.hms-ui .sidebar.collapsed .group-chevron,.hms-ui .sidebar.collapsed .nav-submenu,.hms-ui .sidebar.collapsed .logout-tile span{display:none}.hms-ui .sidebar.collapsed .sidebar-menu{padding:16px 8px}.hms-ui .sidebar.collapsed .nav-item{justify-content:center;padding:12px 0}.hms-ui .sidebar.collapsed .sidebar-logo{justify-content:center;padding:16px 0}.hms-ui .sidebar.collapsed .sidebar-collapse-btn{transform:rotate(180deg)}}
@media screen and (min-width:768px) and (max-width:1023px){.hms-ui .dx-grid{grid-template-columns:1fr}.hms-ui .page :is(.stats-grid,.stats-grid-5,.dx-kpis){grid-template-columns:repeat(2,minmax(0,1fr))}.hms-ui .sidebar-toggle{display:none}.hms-ui .sidebar{transform:none;z-index:100}.hms-ui .main{margin-left:var(--sidebar-w)}.hms-ui .header{left:var(--sidebar-w)}.hms-ui .sidebar-collapse-btn{display:flex}}
@media screen and (max-width:767px){.hms-ui .page{padding:16px}.hms-ui .header{padding:0 16px;left:0}.hms-ui .header-title{font-size:18px}.hms-ui .main{margin-left:0}.hms-ui .sidebar{width:240px;z-index:200}.hms-ui .sidebar-toggle{display:flex}.hms-ui .sidebar-collapse-btn{display:none}.hms-ui .page :is(.stats-grid,.stats-grid-5,.dx-kpis,.dx-grid){grid-template-columns:minmax(0,1fr);gap:16px}.hms-ui .dx-hero{grid-template-columns:1fr}.hms-ui .page :is(.card-header,.card-body,.stat-card,.dx-kpi,.dx-hero,.dx-panel.pad){padding:16px}.hms-ui .page .page-header h1{font-size:24px}.hms-ui :is(.btn,.dx-btn,button,.nav .login){min-height:44px}.hms-ui .page .form-control,.hms-ui .f select,.hms-ui .f input{min-height:44px;font-size:16px}.hms-ui .page :is(.form-row,.form-row-3,.two-col,.three-col){grid-template-columns:1fr;gap:16px}.hms-ui .workspace-role{display:none}.hms-ui .dx-ph{padding:16px}.hms-ui .dx-tools{padding:0 16px 16px}}
@media(prefers-reduced-motion:reduce){.hms-ui *,.hms-ui *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media screen {
.hms-ui .login-wrap-page{font-family:var(--ui-font)}
.hms-ui .login-wrap-page .top-bar{background:#fff;border-color:#e2e8f0;min-height:64px;padding-top:16px;padding-bottom:16px}
.hms-ui .login-wrap-page .top-bar .logo-name{color:#1e293b;font-size:20px;font-weight:700}
.hms-ui .login-wrap-page .top-bar-right{font-size:12px;color:#64748b}
.hms-ui .login-intro{background:#f0f9ff;border-color:#e0f2fe;padding:32px}
.hms-ui .login-intro h2{font:600 24px/1.4 var(--ui-font);color:#1e293b}
.hms-ui .login-intro p{font-size:14px;color:#64748b;line-height:1.6}
.hms-ui .login-eyebrow{font-size:12px;color:#0284c7;font-weight:500}
.hms-ui .login-features span{font-size:12px;background:#e0f2fe;border-color:#bae6fd;color:#0369a1}
.hms-ui .auth-card,.hms-ui .auth-card.wide{border-radius:16px;border-color:#f1f5f9;box-shadow:0 1px 3px #0000000d}
.hms-ui .auth-card h1{font-size:24px;font-weight:600}.hms-ui .auth-card h2{font-size:18px;font-weight:600}
.hms-ui .auth-body :is(.form-label,label){font-size:12px;color:#64748b;font-weight:500}
.hms-ui .auth-body .form-control{min-height:40px;font-size:14px;border-radius:8px;border-color:#e2e8f0}
.hms-ui .login-layout :is(.auth-card-top,.auth-body){padding:24px}
.hms-ui .login-layout .auth-card-top{background:#fff;padding-bottom:0}
.hms-ui .auth-subtitle,.hms-ui .auth-sub,.hms-ui .auth-body .register-link{font-size:14px;color:#64748b}
.hms-ui .reg-section-title{font-size:14px;font-weight:600;color:#1e293b}.hms-ui .reg-step-num{background:#e0f2fe;color:#0284c7}
.hms-ui.hms-public-booking .top{background:#0f172a}.hms-ui.hms-public-booking .logo{font:700 20px var(--ui-font)}
.hms-ui.hms-public-booking h1{font-size:24px;font-weight:600}.hms-ui.hms-public-booking .card{border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:24px}
.hms-ui.hms-public-booking :is(input,select){font-size:14px;min-height:40px;padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px}
.hms-ui.hms-public-booking :is(input,select):focus{outline:2px solid #0ea5e966;border-color:#0ea5e9;box-shadow:none}
.hms-ui.hms-public-booking label{font-size:12px;font-weight:500;color:#64748b}.hms-ui.hms-public-booking .sec{font-size:14px;font-weight:600}
.hms-ui.hms-public-booking .btn:not(.alt):not(:disabled){background:#0ea5e9;border-color:#0ea5e9;font-size:14px;border-radius:8px}
.hms-ui .page :is(.ipd-stat,.ward-tile){padding:24px;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000d;background:#fff}
.hms-ui .ipd-stats,.hms-ui .ward-board{gap:24px;margin-bottom:24px}
.hms-ui .page .ipd-stat .lbl{font-size:12px;font-weight:500;color:#94a3b8}
.hms-ui .page .ipd-stat .val{font:700 28px/1.3 var(--ui-font);color:#1e293b}
.hms-ui .page .ipd-stat.red .val{color:#ef4444}.hms-ui .page .ward-tile h4{font-size:14px;font-weight:600}
.hms-ui .page .welcome-banner,.hms-ui .page .overview-banner{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000d;color:#1e293b}
.hms-ui .page .welcome-banner h1,.hms-ui .page .overview-banner h2{color:#1e293b;font-size:24px;font-weight:600}
.hms-ui .page .welcome-banner p,.hms-ui .page .overview-banner p{color:#64748b;font-size:14px}
}
@media screen and (max-width:767px){.hms-ui .auth-body .form-control,.hms-ui.hms-public-booking :is(input,select){font-size:16px;min-height:44px}.hms-ui .login-intro{padding:24px}.hms-ui .ipd-stats{grid-template-columns:1fr;gap:16px}}
