:root{--sidebar:#102a43;--sidebar2:#163d5c;--bg:#f1f4f8;--text:#243b53;--muted:#829ab1;--border:#e5e9f0;--card:#fff;--primary:#246bfd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));color:#fff;padding:18px 14px;z-index:30;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 21px;border-bottom:1px solid #ffffff18}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#20b2aa;font-size:20px}.brand strong{display:block;font-size:15px;letter-spacing:.4px}.brand small{display:block;color:#b7c9d6;margin-top:2px}.sidebar-nav{padding-top:18px;gap:5px}.nav-section{font-size:10px;letter-spacing:1.25px;color:#8fb1c5;padding:8px 12px}.sidebar .nav-link{color:#d6e4ee;border-radius:9px;padding:10px 12px;display:flex;gap:11px;align-items:center}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#ffffff16;color:#fff}.sidebar .nav-link.active{box-shadow:inset 3px 0 0 #37d5c5}.sidebar .nav-link.disabled{opacity:.48}.sidebar-footer{margin-top:auto;padding:13px 10px;border-top:1px solid #ffffff18;color:#a8c3d4;display:flex;gap:8px}.main-content{margin-left:244px;min-height:100vh}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 26px;position:sticky;top:0;z-index:20}.topbar-title{font-weight:800;font-size:15px;color:#153b5b}.topbar-subtitle{font-size:12px;color:var(--muted)}.topbar-user{display:flex;align-items:center;gap:9px;color:#627d98}.status-dot{width:8px;height:8px;background:#20b77a;border-radius:50%}.avatar{width:35px;height:35px;border-radius:50%;background:#e8f0ff;color:#246bfd;display:grid;place-items:center;font-weight:800}.page-body{padding:24px}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.page-heading h1{font-size:25px;margin:0 0 5px;font-weight:800}.page-heading p,.data-toolbar p,.card-title-row p{margin:0;color:var(--muted)}.heading-actions{display:flex;gap:8px}.card-soft,.chart-card,.data-card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 3px 12px #2538580a}.filter-card{padding:16px;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:12px;align-items:end}.filter-grid label{font-size:12px;font-weight:700;color:#526d82;margin-bottom:6px}.filter-check{grid-column:span 3;align-self:center}.filter-actions{grid-column:span 3;display:flex;gap:8px;justify-content:flex-end}.demo-alert{border-radius:10px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0}.kpi-card{color:#fff;border-radius:12px;padding:16px 17px;min-height:108px;position:relative;overflow:hidden;box-shadow:0 5px 16px #1d35571a}.kpi-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:#ffffff18;right:-20px;bottom:-35px}.kpi-label{font-size:12px;opacity:.9}.kpi-value{font-size:25px;font-weight:800;margin:7px 0 5px}.kpi-meta{font-size:11px;opacity:.9}.kpi-purple{background:linear-gradient(135deg,#6a46f2,#5332da)}.kpi-indigo{background:linear-gradient(135deg,#4465e8,#3151cb)}.kpi-blue{background:linear-gradient(135deg,#13a7e8,#087fc8)}.kpi-orange{background:linear-gradient(135deg,#ff8b4a,#ee6331)}.kpi-gold{background:linear-gradient(135deg,#d89c20,#b97a0b)}.kpi-teal{background:linear-gradient(135deg,#2dbca8,#1e9f8c)}.kpi-green{background:linear-gradient(135deg,#42b96d,#2b9552)}.kpi-red{background:linear-gradient(135deg,#ef6b6b,#d94b4b)}.kpi-slate{background:linear-gradient(135deg,#63758a,#43566b)}.charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.chart-card{padding:16px;min-height:330px}.chart-wide{grid-column:span 2}.card-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.card-title-row h3,.data-toolbar h3{font-size:15px;font-weight:800;margin:0 0 4px}.badge-soft{background:#eef4ff;color:#3767c8;padding:5px 9px;border-radius:999px;font-size:11px}.insight-list{margin-top:20px}.insight-list>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px dashed var(--border)}.insight-list span{color:var(--muted)}.insight-list b{text-align:right}.data-card{margin-top:14px;overflow:hidden}.data-toolbar{padding:16px;display:flex;justify-content:space-between;gap:18px;align-items:center}.table-search{width:310px;display:flex;align-items:center;gap:8px;background:#f7f9fc;border:1px solid var(--border);border-radius:8px;padding:7px 11px}.table-search input{border:0;background:transparent;outline:0;width:100%}.revenue-tabs{padding:0 16px}.revenue-tabs .nav-link{font-size:12px;font-weight:700;color:#627d98}.revenue-tabs .nav-link.active{color:#246bfd}.tab-count{background:#eef3f8;border-radius:999px;padding:2px 6px;font-size:10px;margin-left:4px}.table-wrap{max-height:520px}.revenue-table{font-size:11.5px;white-space:nowrap;margin:0}.revenue-table thead th{position:sticky;top:0;background:#f8fafc;z-index:5;color:#526d82;border-bottom:1px solid var(--border);padding:10px 8px}.revenue-table td{padding:9px 8px;border-color:#edf0f3;vertical-align:middle}.revenue-table tfoot td{position:sticky;bottom:0;background:#f5f8fc;font-weight:700}.pager{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--border);color:var(--muted)}.pager>div{display:flex;align-items:center;gap:9px}.loading-overlay{position:fixed;inset:0;background:#102a4335;z-index:100;display:grid;place-items:center}.loader-card{background:#fff;border-radius:12px;padding:18px 24px;box-shadow:0 10px 40px #102a4345;display:flex;align-items:center;gap:12px;font-weight:700}@media(max-width:1200px){.filter-grid{grid-template-columns:repeat(3,1fr)}.filter-check,.filter-actions{grid-column:span 3}.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:repeat(2,1fr)}.chart-wide{grid-column:span 2}}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0}.page-body{padding:15px}}@media(max-width:700px){.filter-grid,.charts-grid{grid-template-columns:1fr}.filter-check,.filter-actions,.chart-wide{grid-column:span 1}.kpi-grid{grid-template-columns:1fr 1fr}.page-heading,.data-toolbar{flex-direction:column}.table-search{width:100%}}@media(max-width:450px){.kpi-grid{grid-template-columns:1fr}.filter-actions{justify-content:stretch}.filter-actions .btn{flex:1}}


/* ================================================================
   LOGIN - HIS Báo cáo
   ================================================================ */
.login-page{min-height:100vh;margin:0;background:#eef3f8;color:#243b53;overflow-x:hidden}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}.login-brand-panel{position:relative;display:flex;align-items:center;padding:56px;background:linear-gradient(145deg,#102a43 0%,#174a68 58%,#1d6c78 100%);color:#fff;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";position:absolute;border-radius:50%;background:#ffffff0d}.login-brand-panel:before{width:330px;height:330px;right:-130px;top:-90px}.login-brand-panel:after{width:240px;height:240px;left:-90px;bottom:-100px}.login-brand-content{position:relative;z-index:2;max-width:520px}.login-logo{width:68px;height:68px;border-radius:18px;background:linear-gradient(135deg,#36d1c4,#20a7c9);display:grid;place-items:center;font-size:32px;box-shadow:0 14px 30px #081d2d4d;margin-bottom:24px}.login-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;color:#a9d7df;margin-bottom:9px}.login-brand-content h1{font-size:38px;font-weight:850;margin:0 0 16px;letter-spacing:-.6px}.login-brand-content>p{font-size:16px;line-height:1.7;color:#d4e7ec;margin-bottom:32px;max-width:470px}.login-feature{display:flex;align-items:center;gap:12px;margin:15px 0;color:#e7f3f5;font-size:14px}.login-feature i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ffffff12;color:#5de0cf;font-size:17px}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:36px}.login-card{width:min(460px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:34px;box-shadow:0 20px 60px #102a4317}.login-card-title{display:flex;align-items:center;gap:14px;margin-bottom:28px}.login-mini-logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#edf4ff;color:#246bfd;font-size:22px}.login-card-title h2{font-size:25px;font-weight:850;margin:0 0 3px;color:#16324a}.login-card-title p{margin:0;color:#829ab1}.login-input-group .input-group-text{background:#f7f9fc;border-color:#d9e2ec;color:#627d98}.login-input-group .form-control{height:46px;border-color:#d9e2ec}.login-input-group .btn{border-color:#d9e2ec}.login-input-group:focus-within .input-group-text,.login-input-group:focus-within .form-control,.login-input-group:focus-within .btn{border-color:#7aa7ff}.login-submit{height:48px;font-weight:800;border-radius:10px;box-shadow:0 8px 20px #246bfd2e}.login-security{font-size:11px;color:#829ab1}.login-footer-note{margin-top:24px;padding-top:18px;border-top:1px solid #edf1f5;color:#829ab1;font-size:12px;display:flex;gap:7px;align-items:flex-start}.login-error:empty{display:none}.topbar-account{font-weight:700;color:#486581}.btn-logout{border-color:#d9e2ec;color:#627d98}.btn-logout:hover{color:#fff}.sidebar-footer{align-items:center}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{padding:20px;min-height:100vh}.login-card{padding:26px 22px}.topbar-account{display:none}}


/* ================================================================
   THỐNG KÊ KHÁM BỆNH THEO KHOA/PHÒNG
   ================================================================ */
.clinic-filter-grid{display:grid;grid-template-columns:minmax(190px,260px) minmax(190px,260px) 1fr;gap:14px;align-items:end}.clinic-filter-grid label{display:block;font-size:12px;font-weight:700;color:#526d82;margin-bottom:6px}.clinic-filter-actions{display:flex;justify-content:flex-end;gap:8px}.clinic-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:16px 0}.clinic-kpi-card{min-height:112px;border-radius:12px;padding:16px 17px;color:#fff;box-shadow:0 5px 16px #1d35571a;position:relative;overflow:hidden}.clinic-kpi-card:after{content:"";position:absolute;width:88px;height:88px;border-radius:50%;right:-24px;bottom:-32px;background:#ffffff17}.clinic-kpi-card span{display:block;font-size:12px;opacity:.92}.clinic-kpi-card strong{display:block;font-size:27px;line-height:1.15;margin:10px 0 7px}.clinic-kpi-card small{font-size:11px;opacity:.9}.clinic-kpi-total{background:linear-gradient(135deg,#5c43ee,#4630d4)}.clinic-kpi-ksk{background:linear-gradient(135deg,#1fb8a5,#168f82)}.clinic-kpi-dv{background:linear-gradient(135deg,#0fa4dd,#087bbb)}.clinic-kpi-bhyt{background:linear-gradient(135deg,#3d63df,#2d4fc2)}.clinic-kpi-nhap{background:linear-gradient(135deg,#f1913e,#dc6d22)}.clinic-kpi-chuyen{background:linear-gradient(135deg,#e85e6c,#ca4051)}.clinic-chart-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:17px 18px;box-shadow:0 3px 12px #2538580a}.clinic-chart-title{margin-bottom:4px}.clinic-data-card{margin-top:14px}.clinic-table-wrap{max-height:570px}.clinic-table{font-size:12px;white-space:nowrap;margin:0}.clinic-table thead th{background:#f5f8fc;color:#40566d;border-color:#dfe5eb;vertical-align:middle;padding:9px 8px;position:sticky;z-index:5}.clinic-table thead tr:first-child th{top:0}.clinic-table thead tr:nth-child(2) th{top:37px}.clinic-table tbody td{padding:9px 8px;border-color:#edf0f3;vertical-align:middle}.clinic-table tbody tr:hover td{background:#f8fbff}.clinic-table tfoot td{position:sticky;bottom:0;background:#edf4ff;border-top:2px solid #b7c8df;color:#173b5d;padding:10px 8px}.clinic-bhyt-head{background:#eef4ff!important}.clinic-room-code{display:block;color:#9aaabe;font-weight:400;margin-top:2px;font-size:10px}.clinic-data-toolbar{padding-bottom:13px}
@media(max-width:1400px){.clinic-kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.clinic-filter-grid{grid-template-columns:1fr 1fr}.clinic-filter-actions{grid-column:span 2}.clinic-kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.clinic-filter-grid{grid-template-columns:1fr}.clinic-filter-actions{grid-column:span 1;justify-content:stretch}.clinic-filter-actions .btn{flex:1}.clinic-kpi-grid{grid-template-columns:1fr 1fr}}

/* ================================================================
   CẬN LÂM SÀNG - DASHBOARD + DANH SÁCH THEO REPORT HIS
   ================================================================ */
.clinical-filter-grid{display:grid;grid-template-columns:minmax(190px,260px) minmax(190px,260px) 1fr;gap:14px;align-items:end}.clinical-filter-grid label{display:block;font-size:12px;font-weight:700;color:#526d82;margin-bottom:6px}.clinical-filter-actions{display:flex;justify-content:flex-end;gap:8px}.clinical-duplicate-alert{margin:14px 0 0;border-radius:10px;font-size:13px}.clinical-overview-card,.clinical-tech-chart-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:17px 18px;box-shadow:0 3px 12px #2538580a}.clinical-overview-card{margin-top:16px}.clinical-tabs-wrap{margin:14px 0 0;overflow-x:auto}.clinical-tabs{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:8px;min-width:820px}.clinical-tab{border:1px solid #dce5ef;background:#fff;color:#4b6278;border-radius:10px;padding:11px 12px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750;transition:.15s;box-shadow:0 2px 7px #25385808}.clinical-tab i{font-size:16px}.clinical-tab span{flex:1;text-align:left}.clinical-tab b{min-width:28px;padding:3px 6px;border-radius:10px;background:#edf2f8;color:#60758a;font-size:10px;text-align:center}.clinical-tab:hover{border-color:#a9bfda;background:#f8fbff}.clinical-tab.active{border-color:#3478f6;background:#edf4ff;color:#1c5fd1;box-shadow:0 3px 10px #3478f621}.clinical-tab.active b{background:#3478f6;color:#fff}.clinical-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:12px 0}.clinical-kpi{min-height:94px;background:#fff;border:1px solid #e0e7ef;border-radius:11px;padding:13px 14px;display:flex;gap:11px;align-items:center;box-shadow:0 3px 10px #25385808}.clinical-kpi-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.clinical-kpi span{display:block;color:#688096;font-size:11px;font-weight:700}.clinical-kpi strong{display:block;color:#183b56;font-size:23px;line-height:1.05;margin:4px 0}.clinical-kpi small{display:block;color:#91a3b4;font-size:9.5px;white-space:nowrap}.clinical-kpi-sl .clinical-kpi-icon{background:#eeeaff;color:#6744e8}.clinical-kpi-tp .clinical-kpi-icon{background:#e6f8f2;color:#159a75}.clinical-kpi-bh .clinical-kpi-icon{background:#e8efff;color:#3566d6}.clinical-kpi-ksk .clinical-kpi-icon{background:#e7f8fb;color:#1496b0}.clinical-kpi-child .clinical-kpi-icon{background:#fff1e7;color:#e0782e}.clinical-kpi-tech .clinical-kpi-icon{background:#f6eaf6;color:#a1479d}.clinical-tech-chart-card{margin-top:0}.clinical-data-card{margin-top:14px}.clinical-data-toolbar{padding-bottom:13px}.clinical-table-wrap{max-height:620px}.clinical-table{font-size:12px;white-space:nowrap;margin:0}.clinical-table th,.clinical-table td{border-color:#e3e8ee}.clinical-table thead th{background:#f3f6f9;color:#334e68;vertical-align:middle;padding:8px 7px;position:sticky;z-index:5}.clinical-table thead tr:first-child th{top:0}.clinical-table thead tr:nth-child(2) th{top:37px}.clinical-table tbody td{padding:8px 7px;vertical-align:middle}.clinical-table tbody tr:hover td{background:#f8fbff}.clinical-table tfoot td{position:sticky;bottom:0;background:#edf4ff;color:#183b56;border-top:2px solid #b8cae0;padding:9px 7px;z-index:4}.clinical-stt{width:58px}.clinical-tech-name{min-width:300px}.clinical-group-th{background:#eef7f3!important}.clinical-group-bhyt{background:#eef3ff!important}.clinical-name-cell{white-space:normal;min-width:300px;max-width:470px}.clinical-name-cell>span{font-weight:650;color:#253f57}.clinical-price-hint{display:block;color:#9aabb9;font-size:9.5px;margin-top:2px}.clinical-empty{text-align:center!important;color:#8b9bad!important;padding:28px!important}.clinical-tech-title{margin-bottom:4px}
@media(max-width:1450px){.clinical-kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.clinical-filter-grid{grid-template-columns:1fr 1fr}.clinical-filter-actions{grid-column:span 2}.clinical-kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.clinical-filter-grid{grid-template-columns:1fr}.clinical-filter-actions{grid-column:span 1}.clinical-filter-actions .btn{flex:1}.clinical-kpi-grid{grid-template-columns:1fr 1fr}.clinical-kpi{padding:11px}.clinical-kpi strong{font-size:20px}}


/* ================================================================
   BÁO CÁO GIAO BAN
   ================================================================ */
.handover-filter-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(220px,300px) 1fr;gap:14px;align-items:end}.handover-filter-grid label{display:block;font-size:12px;font-weight:700;color:#526d82;margin-bottom:6px}.handover-filter-actions{display:flex;justify-content:flex-end;gap:8px}.handover-range-note{margin-top:10px;padding-top:10px;border-top:1px dashed #d7dee7;color:#526d82;font-size:12px;display:flex;align-items:center;gap:8px}.handover-title-band{margin:15px 0;padding:18px;text-align:center}.handover-report-title{font-size:34px;font-weight:900;color:#12324d;letter-spacing:.3px}.handover-report-subtitle{margin-top:6px;font-size:15px;color:#61788c}.handover-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0}.handover-kpi-grid-secondary{grid-template-columns:repeat(4,1fr)}.handover-kpi-card{min-height:124px;border-radius:14px;padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 22px #1f31401a}.handover-kpi-card:after{content:"";position:absolute;width:96px;height:96px;border-radius:50%;right:-26px;bottom:-36px;background:#ffffff1f}.handover-kpi-card span{display:block;font-size:12px;opacity:.95}.handover-kpi-card strong{display:block;font-size:31px;line-height:1.1;margin:10px 0 7px}.handover-kpi-card small{font-size:11px;opacity:.92}.handover-kpi-total{background:linear-gradient(135deg,#4a56e2,#6a53f1)}.handover-kpi-bhyt{background:linear-gradient(135deg,#3b75df,#4d91ef)}.handover-kpi-dv{background:linear-gradient(135deg,#2aaf8c,#19a271)}.handover-kpi-ksk{background:linear-gradient(135deg,#f08b37,#ef6c3d)}.handover-kpi-money{background:linear-gradient(135deg,#18a7ce,#0d88bf)}.handover-kpi-vienphi{background:linear-gradient(135deg,#63748b,#4f6078)}.handover-kpi-ksktien{background:linear-gradient(135deg,#d86bd0,#b657b0)}.handover-kpi-noitru{background:linear-gradient(135deg,#9c6ade,#7c54d1)}.handover-chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}.handover-chart-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 3px 12px #2538580a}.handover-table-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.handover-table thead th{background:#f5f8fc;color:#35516a;border-color:#dfe6ee;font-size:12px}.handover-table tbody td,.handover-table tbody th{border-color:#edf1f5;font-size:13px;padding:10px 12px}.handover-table-mixed tbody th{font-weight:600;color:#2a445c}.handover-table-mixed tbody td{font-weight:700}.handover-page-heading .heading-actions{display:flex;gap:8px}
@media(max-width:1200px){.handover-kpi-grid,.handover-kpi-grid-secondary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.handover-filter-grid{grid-template-columns:1fr 1fr}.handover-filter-actions{grid-column:span 2}.handover-chart-grid,.handover-table-grid{grid-template-columns:1fr}}
@media(max-width:600px){.handover-filter-grid{grid-template-columns:1fr}.handover-filter-actions{grid-column:span 1;justify-content:stretch}.handover-filter-actions .btn{flex:1}.handover-kpi-grid,.handover-kpi-grid-secondary{grid-template-columns:1fr}.handover-report-title{font-size:28px}}

.handover-date-input{cursor:pointer;background:#fff!important}


/* ================================================================
   BÁO CÁO HOẠT ĐỘNG CHUYÊN MÔN
   ================================================================ */
.activity-filter-grid{display:grid;grid-template-columns:minmax(170px,220px) minmax(170px,220px) minmax(220px,1fr) auto;gap:14px;align-items:end}.activity-filter-grid label{display:block;font-size:12px;font-weight:750;color:#4a6378;margin-bottom:6px}.activity-filter-actions{display:flex;gap:8px;justify-content:flex-end}.activity-filter-note{margin-top:12px;padding-top:11px;border-top:1px dashed #d9e1ea;color:#60788d;font-size:12px;display:flex;align-items:center;gap:8px}.activity-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:15px 0}.activity-kpi-card{min-height:116px;border-radius:13px;padding:17px;color:#fff;position:relative;overflow:hidden;box-shadow:0 6px 18px #1c30451c}.activity-kpi-card:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-25px;bottom:-34px;background:#ffffff1c}.activity-kpi-card span{font-size:12px;display:block;opacity:.94}.activity-kpi-card strong{display:block;font-size:29px;line-height:1.1;margin:11px 0 7px}.activity-kpi-card small{font-size:10.5px;opacity:.92}.activity-kpi-kham{background:linear-gradient(135deg,#5b42ee,#4932d6)}.activity-kpi-noitru{background:linear-gradient(135deg,#3971dd,#315bc8)}.activity-kpi-ngt{background:linear-gradient(135deg,#11a982,#0d8e70)}.activity-kpi-cls{background:linear-gradient(135deg,#0e9fcf,#087cae)}.activity-kpi-pttt{background:linear-gradient(135deg,#e07c2e,#c76418)}.activity-kpi-cv{background:linear-gradient(135deg,#df5364,#bd3d50)}.activity-chart-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.activity-chart-wide{grid-row:span 2}.activity-chart-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:0 3px 12px #2538580a}.activity-data-card{margin-top:14px}.activity-data-toolbar{gap:12px}.activity-toolbar-info{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.activity-table-wrap{max-height:680px}.activity-table{font-size:12px;white-space:nowrap;margin:0;border-collapse:separate;border-spacing:0}.activity-table thead th{position:sticky;top:0;background:#edf3fb;color:#294963;z-index:8;border-bottom:1px solid #cbd8e6;padding:9px 8px;text-align:center;vertical-align:middle}.activity-table tbody td{padding:7px 8px;border-bottom:1px solid #edf1f5;vertical-align:middle}.activity-table tbody tr:hover td{background:#f8fbff}.activity-sticky-stt{position:sticky!important;left:0;z-index:7!important;background:#fff;min-width:58px}.activity-sticky-content{position:sticky!important;left:58px;z-index:7!important;background:#fff;min-width:320px;max-width:420px;white-space:normal}.activity-table thead .activity-sticky-stt,.activity-table thead .activity-sticky-content{z-index:12!important;background:#e8f0fa}.activity-bold-row td{font-weight:750;background:#fbfdff}.activity-bold-row .activity-sticky-stt,.activity-bold-row .activity-sticky-content{background:#fbfdff}.activity-group-row td{font-style:italic;background:#f5f5f5;color:#718096}.activity-group-row .activity-sticky-stt,.activity-group-row .activity-sticky-content{background:#f5f5f5}.activity-manual-input{width:92px;min-width:82px;border:1px solid #d4deea;border-radius:6px;padding:5px 6px;text-align:right;background:#fff}.activity-manual-input:focus{outline:none;border-color:#6d9ef9;box-shadow:0 0 0 2px #246bfd14}.activity-percent{font-weight:700;color:#245f9a}
@media(max-width:1450px){.activity-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1100px){.activity-filter-grid{grid-template-columns:1fr 1fr}.activity-filter-actions{grid-column:span 2}.activity-chart-grid{grid-template-columns:1fr}.activity-chart-wide{grid-row:auto}}@media(max-width:700px){.activity-kpi-grid{grid-template-columns:repeat(2,1fr)}.activity-filter-grid{grid-template-columns:1fr}.activity-filter-actions{grid-column:span 1}.activity-filter-actions .btn{flex:1}.activity-sticky-content{min-width:250px}}

.activity-month-select{font-weight:600;color:#243b53;background-color:#fff}
.activity-month-select option{font-weight:400}


/* ================================================================
   TÌNH HÌNH CÁC KHOA ĐIỀU TRỊ - NỘI TRÚ
   ================================================================ */
.inpatient-filter-grid{display:grid;grid-template-columns:minmax(190px,250px) minmax(190px,250px) 1fr;gap:14px;align-items:end}.inpatient-filter-grid label{display:block;font-size:12px;font-weight:750;color:#4a6378;margin-bottom:6px}.inpatient-filter-actions{display:flex;gap:8px;justify-content:flex-end}.inpatient-filter-note{margin-top:11px;padding-top:10px;border-top:1px dashed #d8e0e9;font-size:12px;color:#60788d;display:flex;gap:8px;align-items:center}.inpatient-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:15px 0}.inpatient-kpi-card{min-height:116px;border-radius:13px;padding:17px;color:#fff;position:relative;overflow:hidden;box-shadow:0 6px 18px #1c30451c}.inpatient-kpi-card:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-24px;bottom:-34px;background:#ffffff1b}.inpatient-kpi-card span{display:block;font-size:12px;opacity:.95}.inpatient-kpi-card strong{display:block;font-size:30px;line-height:1.1;margin:10px 0 7px}.inpatient-kpi-card small{font-size:10.5px;opacity:.92}.inpatient-kpi-admit{background:linear-gradient(135deg,#5b42ee,#4932d6)}.inpatient-kpi-internal{background:linear-gradient(135deg,#3774df,#315ac7)}.inpatient-kpi-day{background:linear-gradient(135deg,#11a982,#0d8e70)}.inpatient-kpi-discharge{background:linear-gradient(135deg,#ef8531,#d36a1f)}.inpatient-kpi-current{background:linear-gradient(135deg,#0e9fcf,#087cae)}.inpatient-kpi-link{background:linear-gradient(135deg,#d3526a,#b43d54)}.inpatient-chart-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px}.inpatient-chart-wide{grid-row:span 2}.inpatient-chart-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:0 3px 12px #2538580a;overflow:hidden}.inpatient-data-card{margin-top:14px}.inpatient-tabs{display:flex;border-bottom:1px solid #dfe6ee;padding:0 14px;background:#fafcff}.inpatient-tab-btn{border:0;background:transparent;padding:13px 18px;font-weight:800;color:#637b90;border-bottom:3px solid transparent}.inpatient-tab-btn.active{color:#1f63d9;border-bottom-color:#1f63d9}.inpatient-tab-panel{display:none}.inpatient-tab-panel.active{display:block}.inpatient-data-toolbar{padding:14px 16px}.inpatient-table-wrap{max-height:600px}.inpatient-summary-table{font-size:12px;white-space:nowrap;margin:0}.inpatient-summary-table thead th{background:#edf4ff;color:#294963;border-color:#cedbea;text-align:center;vertical-align:middle;padding:8px 7px;position:sticky;z-index:5}.inpatient-summary-table thead tr:first-child th{top:0}.inpatient-summary-table thead tr:nth-child(2) th{top:42px}.inpatient-summary-table thead tr:nth-child(3) th{top:78px}.inpatient-summary-table tbody td{padding:8px 7px;border-color:#edf1f5;vertical-align:middle}.inpatient-summary-row{cursor:pointer}.inpatient-summary-row:hover td{background:#f6faff}.inpatient-current-cell{background:#f0f7ff}.inpatient-summary-table tfoot td{position:sticky;bottom:0;background:#e7f0ff;border-top:2px solid #aec3df;color:#173b5d;padding:9px 7px;z-index:4}.inpatient-detail-filters{display:flex;gap:9px;align-items:center}.inpatient-detail-filters select{min-width:230px;max-width:300px}.inpatient-detail-wrap{max-height:650px}.inpatient-detail-table{font-size:11.5px;white-space:nowrap;margin:0}.inpatient-detail-table thead th{position:sticky;top:0;background:#edf4ff;color:#294963;z-index:5;padding:9px 8px}.inpatient-detail-table tbody td{padding:8px;border-color:#edf1f5;vertical-align:middle}.inpatient-detail-table tbody tr:hover td{background:#f7fbff}.inpatient-address-cell{min-width:190px;max-width:270px;white-space:normal}.inpatient-diagnosis-cell{min-width:220px;max-width:350px;white-space:normal}.inpatient-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:700}.inpatient-status-active{background:#e8f8f1;color:#087d59}.inpatient-status-done{background:#eef3fb;color:#315b91}.inpatient-status-default{background:#f1f3f5;color:#607080}
@media(max-width:1450px){.inpatient-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){.inpatient-filter-grid{grid-template-columns:1fr 1fr}.inpatient-filter-actions{grid-column:span 2}.inpatient-chart-grid{grid-template-columns:1fr}.inpatient-chart-wide{grid-row:auto}}@media(max-width:700px){.inpatient-kpi-grid{grid-template-columns:repeat(2,1fr)}.inpatient-filter-grid{grid-template-columns:1fr}.inpatient-filter-actions{grid-column:span 1}.inpatient-filter-actions .btn{flex:1}.inpatient-detail-filters{flex-direction:column;align-items:stretch}.inpatient-detail-filters select{max-width:none}}
