:root{
  --hmis-navy:#102a43;
  --hmis-navy-2:#173f5f;
  --hmis-blue:#2563eb;
  --hmis-cyan:#0ea5e9;
  --hmis-green:#16a34a;
  --hmis-amber:#d97706;
  --hmis-red:#dc2626;
  --hmis-purple:#7c3aed;
  --hmis-bg:#f3f6fa;
  --hmis-border:#e5eaf0;
  --hmis-text:#172033;
  --hmis-muted:#6b778c;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--hmis-bg);color:var(--hmis-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px}
a{text-decoration:none}
.topbar{height:68px;position:fixed;top:0;right:0;left:272px;z-index:1020;background:#fff;border-bottom:1px solid var(--hmis-border);display:flex;align-items:center;padding:0 24px;transition:left .2s ease}
.sidebar{width:272px;position:fixed;inset:0 auto 0 0;z-index:1030;background:linear-gradient(180deg,#0f2940 0%,#0c2236 100%);color:#fff;overflow-y:auto}
.sidebar-brand{height:88px;padding:18px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#38bdf8,#2563eb);display:grid;place-items:center;font-size:20px;font-weight:800;box-shadow:0 8px 24px rgba(37,99,235,.25)}
.brand-title{font-size:15px;font-weight:750;line-height:1.2;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-subtitle{font-size:11px;color:#9fb4c7;margin-top:4px;letter-spacing:.04em;text-transform:uppercase}
.sidebar-section{padding:18px 14px 0}
.sidebar-label{font-size:10px;font-weight:700;letter-spacing:.12em;color:#7893aa;text-transform:uppercase;padding:0 10px 8px}
.sidebar .nav-link{color:#cbd8e4;border-radius:10px;padding:10px 11px;margin:2px 0;display:flex;align-items:center;gap:11px;font-weight:550}
.sidebar .nav-link i{font-size:17px;width:21px;text-align:center;color:#91a9bd}
.sidebar .nav-link:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar .nav-link.active{background:linear-gradient(90deg,rgba(56,189,248,.20),rgba(37,99,235,.12));color:#fff;box-shadow:inset 3px 0 0 #38bdf8}
.sidebar .nav-link.active i{color:#38bdf8}
.sidebar .nav-link.disabled-hmis{opacity:.52;cursor:default}
.sidebar .soon{margin-left:auto;font-size:9px;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.1);color:#a9bed0}
.main-content{margin-left:272px;padding-top:68px;min-height:100vh;transition:margin-left .2s ease}
.content-wrap{padding:26px 28px 40px;max-width:1700px;margin:0 auto}
.topbar-search{position:relative;width:min(460px,44vw)}
.topbar-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#91a0b2}
.topbar-search input{padding-left:40px;border-radius:11px;border:1px solid #e0e7ef;background:#f8fafc;height:42px;font-size:13px}
.topbar-search input:focus{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.user-chip{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:11px;color:var(--hmis-text)}
.user-chip:hover{background:#f5f7fa}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e8f1ff;color:#1d4ed8;font-weight:800}
.page-kicker{font-size:12px;color:#7b8798;font-weight:650;text-transform:uppercase;letter-spacing:.07em}
.page-title{font-size:27px;font-weight:760;letter-spacing:-.02em;margin:2px 0 0}
.page-subtitle{color:var(--hmis-muted);margin-top:5px}
.hmis-card,.card{border:1px solid var(--hmis-border);border-radius:14px;box-shadow:0 4px 18px rgba(15,42,67,.045);background:#fff}
.card-header{border-bottom:1px solid var(--hmis-border);padding:16px 18px;background:#fff;border-radius:14px 14px 0 0!important}
.card-body{padding:18px}
.metric-card{position:relative;overflow:hidden;padding:18px;height:100%}
.metric-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-30px;top:-34px;background:var(--metric-soft,#eef4ff)}
.metric-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--metric-soft,#eef4ff);color:var(--metric,#2563eb);font-size:19px;position:relative;z-index:1}
.metric-label{font-size:12px;color:var(--hmis-muted);font-weight:650;margin-top:16px}
.metric-value{font-size:28px;line-height:1.05;font-weight:800;margin-top:5px;letter-spacing:-.03em}
.metric-foot{font-size:11px;color:#8793a3;margin-top:8px}
.metric-blue{--metric:#2563eb;--metric-soft:#eaf1ff}.metric-green{--metric:#16a34a;--metric-soft:#eaf8ef}.metric-purple{--metric:#7c3aed;--metric-soft:#f2ecff}.metric-amber{--metric:#d97706;--metric-soft:#fff3df}.metric-cyan{--metric:#0891b2;--metric-soft:#e7f8fb}.metric-red{--metric:#dc2626;--metric-soft:#feecec}
.quick-action{display:flex;align-items:center;gap:13px;border:1px solid var(--hmis-border);border-radius:12px;padding:13px 14px;background:#fff;color:var(--hmis-text);transition:.16s ease;height:100%}
.quick-action:hover{transform:translateY(-1px);border-color:#b9d2fa;box-shadow:0 8px 20px rgba(37,99,235,.08)}
.quick-action .qa-icon{width:38px;height:38px;border-radius:10px;background:#eef4ff;color:#2563eb;display:grid;place-items:center;font-size:17px;flex:0 0 auto}
.quick-action strong{display:block;font-size:13px}.quick-action small{display:block;color:var(--hmis-muted);font-size:11px;margin-top:2px}
.section-title{font-size:16px;font-weight:750;margin:0}.section-subtitle{font-size:12px;color:var(--hmis-muted);margin-top:3px}
.table{--bs-table-bg:transparent;margin-bottom:0}.table thead th{background:#f8fafc;color:#6c788a;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:750;border-bottom:1px solid var(--hmis-border);padding:12px 14px;white-space:nowrap}.table tbody td{padding:13px 14px;border-color:#eef1f5;color:#334155}.table tbody tr:hover{background:#fbfdff}
.badge-soft{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex;align-items:center;gap:5px}.badge-soft-success{background:#eaf8ef;color:#15803d}.badge-soft-warning{background:#fff4df;color:#b45309}.badge-soft-info{background:#e8f4ff;color:#1d4ed8}.badge-soft-danger{background:#feecec;color:#b91c1c}.badge-soft-neutral{background:#f0f3f7;color:#526174}
.patient-name{font-weight:700;color:#1e293b}.patient-meta{font-size:11px;color:#8793a3;margin-top:2px}
.form-label{font-size:12px;font-weight:700;color:#4b596b;margin-bottom:6px}.form-control,.form-select{border-radius:10px;border-color:#dce3eb;min-height:42px;font-size:13px}.form-control:focus,.form-select:focus{border-color:#86b6ff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.btn{border-radius:10px;font-weight:650;font-size:13px;padding:.58rem .9rem}.btn-primary{background:#2563eb;border-color:#2563eb}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}
.profile-hero{background:linear-gradient(135deg,#ffffff 10%,#f3f8ff 100%);border:1px solid #dfe9f6;border-radius:16px;padding:20px}.profile-avatar{width:62px;height:62px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;font-size:22px;font-weight:800}.profile-name{font-size:23px;font-weight:800;letter-spacing:-.02em}.meta-chip{display:inline-flex;align-items:center;gap:6px;margin:7px 7px 0 0;padding:5px 9px;border-radius:8px;background:#f3f6fa;color:#526174;font-size:11px}.clinical-alert{border-radius:12px;padding:13px 14px;display:flex;gap:11px;align-items:flex-start}.clinical-alert.warning{background:#fff8e9;border:1px solid #f9df9d;color:#8a5a00}.clinical-alert.info{background:#edf7ff;border:1px solid #cfe8fa;color:#0d5f8d}
.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:#e4eaf1}.timeline-item{position:relative;padding:0 0 20px 12px}.timeline-dot{position:absolute;left:-22px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #3b82f6}.timeline-title{font-weight:720;font-size:13px}.timeline-meta{font-size:11px;color:#8491a2;margin-top:2px}.timeline-text{font-size:12px;color:#526174;margin-top:5px}
.empty-state{text-align:center;padding:36px 20px;color:#7b8798}.empty-state i{font-size:34px;color:#c0cad6;margin-bottom:10px}
.progress-thin{height:6px;background:#edf1f5;border-radius:999px}.progress-thin .progress-bar{border-radius:999px}
.mobile-menu{display:none}.sidebar-overlay{display:none}
.login-page{min-height:100vh;background:#eef3f9}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,46%) 1fr}.login-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:42px}.login-form-wrap{width:min(420px,100%)}.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#0c2740,#14527a 55%,#1f78a7);color:#fff;padding:70px;display:flex;align-items:center}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}.login-visual:before{width:520px;height:520px;right:-180px;top:-160px}.login-visual:after{width:320px;height:320px;left:-120px;bottom:-100px}.login-visual-content{position:relative;z-index:2;max-width:620px}.login-visual h1{font-size:44px;line-height:1.08;font-weight:820;letter-spacing:-.04em}.login-visual p{font-size:16px;line-height:1.7;color:#c9deeb;max-width:560px}.feature-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:10px;margin:5px 5px 0 0;font-size:12px;color:#e5f3fb}
@media(max-width:991.98px){.sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar.show{transform:translateX(0)}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(5,21,35,.42);z-index:1025}.topbar{left:0;padding:0 14px}.main-content{margin-left:0}.content-wrap{padding:20px 14px 32px}.mobile-menu{display:inline-flex}.topbar-search{width:min(360px,54vw)}.login-shell{grid-template-columns:1fr}.login-visual{display:none}}
@media(max-width:620px){.topbar-search{display:none}.topbar{height:62px}.main-content{padding-top:62px}.page-title{font-size:23px}.content-wrap{padding-top:18px}.user-details{display:none}}

/* ===== Venture HMIS v2 professional layer ===== */
:root{
  --hmis-bg:#f5f7fb;
  --hmis-surface:#ffffff;
  --hmis-primary:#1769e0;
  --hmis-primary-dark:#0f57bd;
  --hmis-sidebar:#0b2740;
  --hmis-sidebar-2:#0a2034;
}
body{background:linear-gradient(180deg,#f8fafc 0,#f4f7fb 180px,#f4f7fb 100%)}
.sidebar{background:linear-gradient(180deg,var(--hmis-sidebar) 0%,var(--hmis-sidebar-2) 100%);box-shadow:12px 0 36px rgba(10,32,52,.08)}
.sidebar-brand{height:82px;padding:16px 18px}
.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#20b9ef,#1769e0);font-size:22px}
.sidebar-section{padding-top:14px}
.sidebar .nav-link{font-size:12.5px;padding:9px 11px;border:1px solid transparent}
.sidebar .nav-link:hover{border-color:rgba(255,255,255,.06)}
.topbar{height:72px;box-shadow:0 1px 0 rgba(16,42,67,.03)}
.main-content{padding-top:72px}
.topbar-context{min-width:150px}.topbar-title{font-size:13px;font-weight:800;color:#1c2b3d}.topbar-breadcrumb{font-size:10px;color:#98a4b3;margin-top:2px}
.topbar-search{max-width:560px;flex:1}.topbar-search input{height:40px;border-radius:10px;background:#f7f9fc}
.topbar-action{height:38px;align-items:center;gap:7px;padding:0 11px;border:1px solid #dce7f5;border-radius:10px;background:#f4f8ff;color:#175fc5;font-size:11px;font-weight:750}.topbar-action:hover{background:#eaf3ff;color:#0d4fa9}
.date-chip{align-items:center;gap:7px;height:38px;padding:0 11px;border:1px solid #e6ebf1;border-radius:10px;background:#fff;color:#64748b;font-size:11px}
.user-menu{min-width:220px;border-radius:13px!important}
.content-wrap{padding:24px 28px 46px}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.page-title{font-size:25px}.page-subtitle{font-size:12px}
.hmis-card,.card{border-radius:13px;box-shadow:0 3px 14px rgba(30,54,84,.045)}
.card-header{padding:14px 16px}.card-body{padding:16px}
.metric-card{padding:16px;border-color:#e8edf3}.metric-value{font-size:26px}.metric-label{margin-top:13px}
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hmis-border);background:#fff;border-radius:13px;overflow:hidden}.stat-strip-item{padding:14px 16px;border-right:1px solid var(--hmis-border)}.stat-strip-item:last-child{border-right:0}.stat-strip-label{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:#8a96a6}.stat-strip-value{font-size:18px;font-weight:800;margin-top:4px}.stat-strip-meta{font-size:10px;color:#8a96a6;margin-top:2px}
.module-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f3b67,#1769e0);color:#fff;border-radius:16px;padding:22px 24px;box-shadow:0 10px 30px rgba(23,105,224,.14)}.module-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-90px;top:-95px;background:rgba(255,255,255,.08)}.module-hero h1{font-size:24px;font-weight:800;margin:0}.module-hero p{margin:6px 0 0;color:#d9eaff;font-size:12px}.module-hero .hero-icon{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:20px}
.filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filter-bar .filter-field{min-width:150px}.filter-bar .form-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8591a2}
.queue-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #edf1f5}.queue-row:last-child{border-bottom:0}.queue-time{width:62px;text-align:center}.queue-time strong{display:block;font-size:14px}.queue-time small{font-size:10px;color:#8793a3}.queue-patient{min-width:0;flex:1}.queue-actions{display:flex;gap:6px;align-items:center}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.status-booked{background:#2563eb}.status-queue{background:#d97706}.status-clinical{background:#7c3aed}.status-done{background:#16a34a}.status-cancelled{background:#94a3b8}
.patient-summary-bar{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--hmis-border);border-radius:13px;padding:13px 15px}.patient-summary-avatar{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#e9f2ff;color:#1769e0;font-weight:800}.patient-summary-main{min-width:0;flex:1}.patient-summary-name{font-weight:800;font-size:13px}.patient-summary-meta{font-size:10px;color:#8290a2;margin-top:2px}.clinical-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.clinical-side{display:flex;flex-direction:column;gap:14px}.clinical-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;margin-bottom:12px}.clinical-section-title i{color:#1769e0}.clinical-panel{background:#fff;border:1px solid var(--hmis-border);border-radius:13px;padding:16px}.vital-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vital-box{border:1px solid #e7ebf1;border-radius:10px;padding:10px;background:#fbfcfe}.vital-box .label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8c98a8}.vital-box .value{font-size:16px;font-weight:800;margin-top:3px}.vital-box .unit{font-size:9px;color:#8c98a8;margin-left:2px}
.emr-tabs{display:flex;gap:6px;overflow:auto;padding:4px;background:#eef3f8;border-radius:11px}.emr-tabs a{white-space:nowrap;padding:8px 11px;border-radius:8px;color:#667486;font-size:11px;font-weight:700}.emr-tabs a:hover,.emr-tabs a.active{background:#fff;color:#1769e0;box-shadow:0 2px 7px rgba(35,64,96,.08)}
.note-block{border-left:3px solid #83b6fa;padding-left:12px}.note-label{font-size:10px;font-weight:800;text-transform:uppercase;color:#7c899a}.note-text{font-size:12px;line-height:1.65;margin-top:4px;color:#344256}
.order-list-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1f5}.order-list-item:last-child{border-bottom:0}.order-name{font-size:12px;font-weight:750}.order-meta{font-size:10px;color:#8a96a6;margin-top:2px}
.money{font-variant-numeric:tabular-nums}.money-lg{font-size:22px;font-weight:850;letter-spacing:-.03em}.balance-due{color:#b42318}.paid-ok{color:#15803d}
.invoice-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.invoice-summary .summary-box{background:#f8fafc;border:1px solid #e6ebf1;border-radius:10px;padding:11px}.invoice-summary .summary-label{font-size:9px;color:#8a96a6;text-transform:uppercase;font-weight:750}.invoice-summary .summary-value{font-size:14px;font-weight:800;margin-top:4px}
.hmis-alert{border:0;box-shadow:0 4px 14px rgba(30,54,84,.07);border-radius:11px}
.sticky-actions{position:sticky;bottom:14px;z-index:4;background:rgba(255,255,255,.92);backdrop-filter:blur(9px);border:1px solid #e4e9f0;border-radius:13px;padding:10px;box-shadow:0 10px 25px rgba(24,45,72,.1)}
.form-section{border:1px solid #e6ebf1;border-radius:12px;background:#fff;overflow:hidden}.form-section-head{padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e6ebf1;font-weight:800;font-size:12px}.form-section-body{padding:15px}
@media(max-width:1199px){.clinical-workspace{grid-template-columns:1fr}.clinical-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vital-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.stat-strip{grid-template-columns:repeat(2,1fr)}.stat-strip-item:nth-child(2){border-right:0}.stat-strip-item:nth-child(-n+2){border-bottom:1px solid var(--hmis-border)}.clinical-side{display:flex}.vital-grid{grid-template-columns:repeat(2,1fr)}.invoice-summary{grid-template-columns:repeat(2,1fr)}.page-header{align-items:flex-start;flex-direction:column}.topbar-context{display:none!important}.content-wrap{padding-left:12px;padding-right:12px}}
.service-select-row{cursor:pointer;transition:.14s ease}.service-select-row:hover{background:#f8fbff}.service-select-row.selected{background:#eef6ff;box-shadow:inset 3px 0 0 #1769e0}.service-select-row:last-child{border-bottom:0!important}
@media print{.sidebar,.topbar,.sidebar-overlay,.btn,.sticky-actions,.emr-tabs{display:none!important}.main-content{margin:0!important;padding:0!important}.content-wrap{max-width:none!important;padding:0!important}body{background:#fff!important}.hmis-card,.card{box-shadow:none!important;break-inside:avoid}.page-header{margin-bottom:12px}.page-kicker{display:none}}
