:root {
--teal-dark:#0A5C74; --teal:#0E7C91; --teal-light:#5FD4CB;
--accent:#0E7C91; --brand2:#2AA8A0; --amber:#E0A438; --rose:#E15B64;
--violet:#7C6FB0; --sky:#3B8FB5; --green:#1E8F6F; --green-dark:#0F5C46;
--bg:#F4F7F9; --card:#FFFFFF; --text:#1A2B33; --muted:#64748B; --border:#E1E7EC;
--radius-sm:8px; --radius-md:14px; --radius-lg:18px;
--shadow-sm:0 1px 3px rgba(15,42,58,.06);
--shadow-md:0 4px 16px rgba(15,42,58,.08);
--shadow-lg:0 10px 32px rgba(15,42,58,.12);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:86px}
*{scrollbar-width:auto;scrollbar-color:rgba(0,0,0,.45) rgba(0,0,0,.08)}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:rgba(0,0,0,.08);border-radius:10px}
*::-webkit-scrollbar-thumb{background:rgba(0,0,0,.45);border-radius:10px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.6)}
.rmodal,.cmodal,.hmodal,.efmodal,.ob-modal,#userMgmtModal,#rcptEditSheet,
#rcptViewOverlay>div,#rcptSearchOverlay>div,#patBillModal,#staffModal,#attModal,
#auditLogOverlay>div,.rcptViewBody,#rcptViewBody{
overflow-y:auto !important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}
.stats-scroll,.income-period-bar,.rcpt-tabs,.hdept-scroll,.hdept-tabs,.ef-period-row{scrollbar-width:none}
.stats-scroll::-webkit-scrollbar,.income-period-bar::-webkit-scrollbar,.rcpt-tabs::-webkit-scrollbar,
.hdept-scroll::-webkit-scrollbar,.hdept-tabs::-webkit-scrollbar,.ef-period-row::-webkit-scrollbar{display:none}
.header{background:linear-gradient(135deg,#0a5c74,#0e7c91);padding:16px 16px 0;position:sticky;top:0;z-index:99;box-shadow:0 2px 16px rgba(0,0,0,.18)}
.header-top{display:flex;align-items:center;gap:12px;padding-bottom:14px}
.logo-wrap{width:42px;height:42px;background:linear-gradient(135deg,var(--teal-light),var(--brand2));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 4px 12px rgba(212,160,23,.35)}
.header-text{flex:1}
.header-name{font-size:15px;font-weight:800;color:#5FD4CB;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,.25)}
.header-sub{font-size:10px;color:#fff;letter-spacing:.06em;text-transform:uppercase}
.header-actions{display:grid;grid-template-columns:repeat(2,36px);grid-template-rows:repeat(2,36px);gap:6px}
.hbtn{width:36px;height:36px;flex-shrink:0;background:rgba(255,255,255,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;position:relative;border:1px solid rgba(255,255,255,.2)}
.notif-dot{position:absolute;top:5px;right:6px;width:7px;height:7px;background:var(--rose);border-radius:50%;border:1.5px solid var(--teal)}
.date-bar{background:rgba(0,0,0,.15);margin:0 -16px;padding:7px 16px;font-size:11px;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:6px}
.content{padding:14px 14px 0;display:flex;flex-direction:column}
.dash-cols, .dash-col-main, .dash-col-side, .dash-tail-main, .dash-tail-side, .dash-tail-finance, .patient-modules-wrap { display: contents; }
.welcome { order: 1; }
.dash-col-main > *:nth-child(1) { order: 2; }
.dash-col-main > *:nth-child(2) { order: 3; }
#pmSecTitle { order: 10; }
.core-services-grid { order: 11; }
.dash-tail-main > *:nth-child(1) { order: 17; }
.dash-tail-main > *:nth-child(2) { order: 18; }
.dash-tail-main > *:nth-child(3) { order: 19; }
.dash-tail-main > *:nth-child(4) { order: 20; }
.dash-col-side > *:nth-child(2) { order: 1; }
.dash-col-side > *:nth-child(3) { order: 2; }
.dash-col-side > *:nth-child(4) { order: 7; }
.dash-col-side > *:nth-child(5) { order: 8; }
.dash-tail-side > *:nth-child(1) { order: 3; }
.dash-tail-side > *:nth-child(2) { order: 4; }
.dash-tail-side > *:nth-child(3) { order: 5; }
.dash-tail-side > *:nth-child(4) { order: 6; }
.dash-tail-finance > *:nth-child(1) { order: 12; }
.dash-tail-finance > *:nth-child(2) { order: 13; }
.dash-tail-finance > *:nth-child(3) { order: 14; }
.dash-tail-finance > *:nth-child(4) { order: 15; }
.dash-sep-line{
order:1;
height:3px;
border-radius:3px;
background:rgba(15,23,42,.16);
margin:4px 0 14px;
}
@media (min-width:768px){
.dash-sep-line{ display:none; }
}
.welcome{background:linear-gradient(135deg,#0e7c91,#0a5c74);border-radius:14px;padding:10px 16px;color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;box-shadow:0 4px 16px rgba(10,92,116,.3)}
#reviewToggle{order:1}
.review-toggle{display:flex;align-items:flex-end;gap:3px;margin-bottom:6px;padding-top:6px;position:relative}
.review-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 8px 8px;border-radius:12px 12px 5px 5px;background:var(--card);border:1.5px solid var(--border);border-bottom:none;font-size:10.5px;font-weight:700;color:var(--muted);cursor:pointer;box-shadow:var(--shadow-sm);position:relative;transform:translateY(4px) scale(.97);filter:saturate(.75);transition:transform .18s cubic-bezier(.34,1.4,.64,1),opacity .18s ease,box-shadow .2s ease,filter .2s ease,z-index 0s;z-index:1}
.review-toggle-btn:active{transform:translateY(2px) scale(.95)}
.review-toggle-btn .rt-icon{font-size:12px}
#reviewTabFin{background:linear-gradient(135deg,#e11d48,#9f1239);border-color:transparent;color:#fff;opacity:.75}
#reviewTabPat{background:linear-gradient(135deg,#e11d48,#9f1239);border-color:transparent;color:#fff;opacity:.75}
.review-toggle-btn.active{opacity:1;transform:translateY(0) scale(1);filter:saturate(1);box-shadow:0 8px 18px -4px rgba(159,18,57,.5),0 2px 0 rgba(159,18,57,.9);z-index:3}
.review-toggle-btn.active::after{content:'';position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #9f1239;filter:drop-shadow(0 2px 2px rgba(159,18,57,.25))}
.review-toggle-btn:not(.active):hover{transform:translateY(1px) scale(.985);filter:saturate(.9);opacity:.9}
#patientSearchBanner{border-radius:12px 12px 5px 5px !important;box-shadow:0 8px 18px -4px rgba(159,18,57,.5),0 2px 0 rgba(159,18,57,.9) !important;border:1.5px solid transparent !important;position:relative}
#patientSearchBanner::after{content:'';position:absolute;left:28px;bottom:-6px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #9f1239;filter:drop-shadow(0 2px 2px rgba(159,18,57,.25))}
@media (max-width:767px){
#patientSearchBanner{padding:6px 10px !important;min-height:0 !important;height:31px !important;box-sizing:border-box !important;margin-bottom:16px !important}
#patientSearchBanner > div:first-child{width:16px !important;height:16px !important;font-size:10px !important}
}
body.patient-review-mode .fin-block{display:none !important}
body:not(.patient-review-mode) .patient-modules-wrap{display:none !important}
body:not(.patient-review-mode) .pat-review-block{display:none !important}
.welcome-left{flex:1}
.welcome-greet{font-size:12px;color:rgba(255,255,255,.65)}
.welcome-name{font-size:18px;font-weight:700;margin-top:2px}
.welcome-role{font-size:11px;color:rgba(255,255,255,.55);margin-top:2px}
.welcome-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--teal-light),var(--brand2));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}
.sec-title{font-size:13px;font-weight:700;color:#0e7c91;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}
.sec-title span{display:flex;align-items:center;gap:6px}
.sec-title span::before{content:'';width:3px;height:14px;background:linear-gradient(to bottom,#5fd4cb,#0e7c91);border-radius:3px;display:inline-block}
.see-all{font-size:11px;font-weight:600;color:var(--teal);cursor:pointer}
.stats-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;margin-bottom:18px;scrollbar-width:none}
.stats-scroll::-webkit-scrollbar{display:none}
.stat-chip{flex-shrink:0;background:var(--card);border-radius:14px;padding:12px 14px;border:1px solid var(--border);width:110px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.04);cursor:pointer;transition:transform .15s}
.stat-chip:active{transform:scale(.96)}
.chip-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px}
.chip-val{font-size:22px;font-weight:700;line-height:1}
.chip-lbl{font-size:10px;color:var(--muted);font-weight:500}
.chip-chg{font-size:9.5px;font-weight:600}
.up{color:var(--accent)} .down{color:var(--rose)}
.c-teal{background:#CBE8FA;color:var(--teal-dark)}
.c-green{background:#C3E8C4;color:#0A5C0A}
.c-amber{background:#FFE59A;color:#9A6B00}
.c-rose{background:#FFCCD5;color:#C24807}
.c-violet{background:#DAC4FA;color:#6941A8}
.c-sky{background:#CBE8FA;color:var(--teal-dark)}
.c-gold{background:#FFE59A;color:#9A6B00}
.c-indigo{background:#CBE8FA;color:#005A9E}
.c-green-soft{background:#C3E8C4;color:#0A5C0A}
.income-period-bar{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.income-period-bar::-webkit-scrollbar{display:none}
.ip-tab{flex-shrink:0;padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;border:1.5px solid var(--border);background:var(--card);transition:all .2s;white-space:nowrap}
.ip-tab.active{background:var(--green-dark);color:#fff;border-color:var(--green-dark);box-shadow:0 3px 10px rgba(6,78,59,.2)}
.date-range-row{display:none;gap:8px;margin-bottom:10px;align-items:center}
.date-range-row.show{display:flex}
.date-range-row input[type=date]{flex:1;padding:7px 10px;border-radius:10px;border:1.5px solid var(--border);font-size:11px;font-family:'Inter',sans-serif;color:var(--text);background:var(--card);outline:none}
.date-range-row input[type=date]:focus{border-color:var(--green)}
.go-btn{padding:7px 14px;background:var(--green-dark);color:#fff;border:none;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer}
.income-hero-card{background:linear-gradient(135deg,#064e3b,#065f46 55%,#047857);border-radius:16px;padding:16px;margin-bottom:10px;position:relative;overflow:hidden;box-shadow:0 6px 20px rgba(6,78,59,.25)}
.income-hero-card::before{content:'₨';position:absolute;right:-8px;top:-14px;font-size:100px;color:rgba(255,255,255,.06);font-weight:900;line-height:1}
.ihc-label{font-size:14px;color:#FFD54A;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.ihc-amount{font-size:30px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1}
.ihc-amount span{font-size:14px;font-weight:500;color:rgba(255,255,255,.55);margin-right:3px}
.ihc-change{font-size:11px;color:#6ee7b7;margin-top:5px;font-weight:600}
.ihc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.ihc-sub{background:rgba(255,255,255,.1);border-radius:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.12);text-align:center}
.ihc-sub-lbl{font-size:9px;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.ihc-sub-val{font-size:14px;font-weight:800;color:#fff;margin-top:3px}
.ihc-sub-chg{font-size:9px;font-weight:600;margin-top:2px;color:rgba(255,255,255,.85)}
.ihc-row .ihc-sub:nth-child(1){background:#155E9E;border-color:#1B74C0}
.ihc-row .ihc-sub:nth-child(2){background:#7C3AED;border-color:#9061F9}
.ihc-row .ihc-sub:nth-child(3){background:#C4801E;border-color:#E0952A}
.ihc-chart{display:none}
.dept-income-list{margin-bottom:4px}
.dept-income-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--card);border-radius:11px;border:1px solid var(--border);margin-bottom:7px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.di-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.di-info{flex:1;min-width:0}
.di-name{font-size:12px;font-weight:600}
.di-prog-wrap{height:4px;background:var(--border);border-radius:99px;margin-top:5px;overflow:hidden}
.di-prog{height:100%;border-radius:99px}
.di-right{text-align:right;flex-shrink:0}
.di-amt{font-size:13px;font-weight:800}
.di-pct{font-size:9.5px;color:var(--muted);margin-top:2px}
.modules-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.mod-card{background:var(--card);border-radius:16px;border:2px solid var(--border);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.mod-card:active{transform:scale(.97);box-shadow:none}
.mod-card:hover{border-color:var(--teal);box-shadow:0 4px 16px rgba(10,92,116,.15)}
.mod-top{padding:13px 13px 10px}
.mod-icon-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}
.mod-icon{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px}
.mod-badge{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:20px}
.b-open{background:#C3E8C4;color:#0A5C0A}
.b-active{background:#CBE8FA;color:#005A9E}
.b-pending{background:#fde68a;color:#7C3E00}
.b-alert{background:#FFCCD5;color:#C24807}
.mod-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.mod-title{font-size:13px;font-weight:700;color:var(--text);line-height:1.2}
.mod-sub{font-size:10px;color:var(--muted);margin-top:2px}
.mod-income-today{text-align:right;cursor:pointer;flex-shrink:0;padding-left:6px}
.mit-lbl{font-size:8.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.mit-val{font-size:13px;font-weight:800;color:var(--teal-dark);white-space:nowrap;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--border);text-underline-offset:2px}
.mod-income-today:hover .mit-val{color:var(--teal)}
.mod-divider{height:1px;background:var(--border)}
.mod-stats{display:grid;grid-template-columns:1fr 1fr}
.mst{padding:8px 12px;text-align:center;border-right:1px solid var(--border);transition:background .15s;border-radius:6px}
.mst:active{background:var(--border)}
.mst:nth-child(even){border-right:none}
.mst-val{font-size:16px;font-weight:700}
.mst-lbl{font-size:9px;color:var(--muted);margin-top:1px}
.mod-btn{width:100%;padding:9px;background:var(--teal-dark);color:#fff;font-size:11px;font-weight:600;border:none;cursor:pointer;border-radius:0 0 15px 15px;letter-spacing:.02em;transition:background .15s}
.mod-btn:active{background:var(--teal)}
.mod-btn.emergency{background:var(--rose)}
.patient-item{background:var(--card);border-radius:12px;border:1px solid var(--border);padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:8px;cursor:pointer;transition:transform .15s;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.patient-item:active{transform:scale(.98)}
.p-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}
.p-info{flex:1;min-width:0}
.p-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-dept{font-size:11px;color:var(--muted);margin-top:2px}
.status-pill{font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.s-admitted{background:#e3f4f1;color:#0e7c91}
.s-discharge{background:#d1fae5;color:#065f46}
.s-critical{background:#ffe4e6;color:#be123c}
.s-stable{background:#fef3c7;color:#92400e}
.s-done{background:#f3f4f6;color:#374151}
.act-item{display:flex;gap:12px;padding:10px 14px;background:var(--card);border-radius:12px;border:1px solid var(--border);margin-bottom:8px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.act-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}
.act-content{flex:1}
.act-title{font-size:12.5px;font-weight:600}
.act-desc{font-size:11px;color:var(--muted);margin-top:2px}
.act-time{font-size:10px;color:var(--muted);margin-top:3px}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);display:flex;z-index:100;box-shadow:0 -4px 20px rgba(0,0,0,.08)}
.bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px 12px;cursor:pointer;position:relative;transition:all .15s}
.bnav-item.active .bnav-icon{color:var(--teal)}
.bnav-item.active .bnav-lbl{color:var(--teal);font-weight:700}
.bnav-item.active::after{content:'';position:absolute;top:0;left:25%;right:25%;height:3px;background:linear-gradient(to right,var(--teal-light),var(--brand2));border-radius:0 0 4px 4px}
.bnav-icon{font-size:20px;margin-bottom:2px}
.bnav-lbl{font-size:9.5px;color:var(--muted);font-weight:500}
.bnav-badge{position:absolute;top:6px;right:calc(50% - 16px);background:var(--rose);color:#fff;font-size:8px;font-weight:700;padding:1px 5px;border-radius:20px}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;display:none;opacity:0;transition:opacity .3s;backdrop-filter:blur(4px)}
.drawer-overlay.open{display:flex;opacity:1}
.drawer{width:280px;background:linear-gradient(165deg,#12181a 0%,#16231f 55%,#173a34 100%);height:100%;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden;border-radius:0 18px 18px 0;box-shadow:4px 0 32px rgba(0,0,0,.4)}
.drawer-overlay.open .drawer{transform:translateX(0)}
.drawer-logo{padding:22px 18px 16px;border-bottom:1px solid rgba(45,212,191,.10);display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.02)}
.d-logo-icon{width:46px;height:46px;background:linear-gradient(135deg,#0d9488,#134e4a);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 4px 14px rgba(20,184,166,.30)}
.d-logo-name{font-size:14px;font-weight:800;color:#fff;line-height:1.3;letter-spacing:-.01em}
.d-logo-sub{font-size:9px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}
.d-nav{padding:10px 8px;flex:1;overflow-y:auto}
.d-nav::-webkit-scrollbar{width:3px}.d-nav::-webkit-scrollbar-track{background:transparent}.d-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:99px}
.d-sec{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:rgba(45,212,191,.8);padding:9px 8px 4px;margin-top:1px;display:flex;align-items:center;gap:8px;opacity:0;transform:translateX(-8px)}
.d-sec:first-child{padding-top:6px}
.d-sec::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(45,212,191,.3),transparent)}
.drawer-overlay.open .d-sec{animation:dNavIn .3s cubic-bezier(.2,.8,.2,1) forwards}
.d-item{display:flex;align-items:center;gap:11px;padding:5px 12px;border-radius:10px;color:rgba(255,255,255,.62);font-size:11px;font-weight:500;cursor:pointer;margin-bottom:0px;transition:all .18s;position:relative;overflow:hidden;opacity:0;transform:translateX(-8px);line-height:1.15}
.drawer-overlay.open .d-item{animation:dNavIn .3s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes dNavIn{to{opacity:1;transform:translateX(0)}}
.d-item:hover{background:rgba(45,212,191,.09);backdrop-filter:blur(4px);color:#fff;transform:translateX(3px)}
.d-item:active{background:rgba(20,184,166,.16);transform:scale(.98)}
.d-item.active{background:rgba(20,184,166,.14);backdrop-filter:blur(4px);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(45,212,191,.28)}
.d-item.active::before{content:'';position:absolute;left:0;top:22%;height:56%;width:3px;background:linear-gradient(180deg,#14b8a6,#0d9488);border-radius:0 3px 3px 0}
.d-item-icon{width:25px;height:25px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;background:rgba(20,184,166,.09);transition:transform .22s ease,background .22s ease}
.d-item:hover .d-item-icon{transform:scale(1.08);background:rgba(20,184,166,.18)}
.d-item.active .d-item-icon{background:rgba(20,184,166,.22)}
.d-item-txt{flex:1;line-height:1.15}
.d-item-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:99px;min-width:18px;text-align:center}
.d-item-caret{font-size:10px;color:rgba(255,255,255,.35);transition:transform .25s;flex-shrink:0}
.d-item.expanded .d-item-caret{transform:rotate(90deg);color:#2dd4bf}
.d-submenu{max-height:0;overflow:hidden;transition:max-height .25s ease;padding-left:15px;border-left:1px dashed rgba(45,212,191,.25);margin-left:25px}
.d-submenu.open{max-height:560px}
.d-subitem{display:flex;align-items:center;gap:10px;padding:4px 12px;border-radius:8px;color:rgba(255,255,255,.52);font-size:10px;font-weight:500;cursor:pointer;margin:1px 0;transition:all .15s;line-height:1.1}
.d-subitem:hover{background:rgba(45,212,191,.10);color:#fff;transform:translateX(2px)}
.d-subitem:active{transform:scale(.98)}
.d-subitem-icon{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12.5px;flex-shrink:0;background:rgba(20,184,166,.07);transition:transform .2s ease}
.d-subitem:hover .d-subitem-icon{transform:scale(1.1)}
.d-subitem.d-sub-toggle{justify-content:space-between}
.d-sub-plus{display:inline-block;width:16px;text-align:center;font-size:13px;font-weight:450;line-height:1.3;color:rgba(255,255,255,.6);flex-shrink:0;cursor:pointer}
.d-subitem.d-sub-expanded{color:#2dd4bf}
.d-subitem.d-sub-expanded .d-sub-plus{color:#2dd4bf}
.d-subsubmenu{max-height:0;overflow:hidden;transition:max-height .25s ease;padding-left:12px;margin-left:34px;border-left:1px dashed rgba(45,212,191,.2)}
.d-subsubmenu.open{max-height:260px}
.d-subsubitem{padding:3px 10px;border-radius:7px;color:rgba(255,255,255,.48);font-size:9.5px;font-weight:500;cursor:pointer;margin:0px 0;transition:all .15s}
.d-subsubitem:hover{background:rgba(45,212,191,.10);color:#fff}
.d-badge{margin-left:auto;background:var(--rose);color:#fff;font-size:9px;font-weight:700;padding:1px 6px;border-radius:20px}
.d-user{padding:14px 16px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.03)}
.d-avatar{width:40px;height:40px;background:linear-gradient(135deg,#06b6d4,#6366f1);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 3px 10px rgba(99,102,241,.3)}
.d-uname{font-size:13px;font-weight:700;color:#fff;letter-spacing:-.01em}
.d-urole{font-size:10px;color:rgba(255,255,255,.4);margin-top:1px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.pulse{animation:pulse 1.8s ease infinite}
@keyframes fadeUp{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .3s ease}
.receipt-section{margin-bottom:18px}
.rcpt-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px;padding-bottom:2px}
.rcpt-tabs::-webkit-scrollbar{display:none}
.rcpt-tab{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);cursor:pointer;transition:all .2s}
.rcpt-tab .rt-icon{font-size:18px}
.rcpt-tab .rt-lbl{font-size:9.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.rcpt-tab.active{background:var(--teal-dark);border-color:var(--teal-dark)}
.rcpt-tab.active .rt-lbl{color:#fff}
.rcpt-form-card{background:var(--card);border-radius:16px;border:1px solid var(--border);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.rcft-header{padding:14px 16px 12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}
.rcft-icon-wrap{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.rcft-title{font-size:14px;font-weight:800;color:var(--text)}
.rcft-sub{font-size:10px;color:var(--muted);margin-top:1px}
.rcft-body{padding:14px 16px}
.rf-row{margin-bottom:10px}
.rf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}
.rf-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.rf-input{width:100%;padding:9px 12px;border-radius:10px;border:1.5px solid var(--border);font-size:13px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;transition:border-color .2s}
.rf-input:focus{border-color:var(--teal)}
.rf-select{width:100%;padding:9px 12px;border-radius:10px;border:1.5px solid var(--border);font-size:12.5px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .2s}
.rf-select:focus{border-color:var(--teal)}
.rf-fee-wrap{position:relative}
.rf-fee-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;color:var(--muted)}
.rf-fee-wrap .rf-input{padding-left:28px}
.rcft-items{margin-bottom:10px}
.rcft-item-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;margin-bottom:6px;align-items:center}
.rcft-item-row .rf-input{font-size:12px}
.add-item-btn{width:100%;padding:8px;border:1.5px dashed var(--border);border-radius:10px;background:transparent;color:var(--teal);font-size:12px;font-weight:600;cursor:pointer;margin-bottom:10px;transition:all .2s}
.add-item-btn:active{background:var(--bg)}
.rcft-totals{background:var(--bg);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.rcft-total-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;color:var(--muted)}
.rcft-total-row.grand{font-size:14px;font-weight:800;color:var(--text);border-top:1.5px solid var(--border);margin-top:4px;padding-top:6px}
.rcft-total-row.grand span:last-child{color:var(--teal-dark)}
.rcft-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 14px}
.rcft-btn-primary{padding:11px;background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff;border:none;border-radius:12px;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 3px 12px rgba(10,92,116,.25)}
.rcft-btn-secondary{padding:11px;background:var(--bg);color:var(--teal-dark);border:1.5px solid var(--border);border-radius:12px;font-size:12.5px;font-weight:700;cursor:pointer}
.print-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;display:none;align-items:flex-end}
.print-overlay.open{display:flex}
.print-sheet{background:#fff;width:100%;max-height:90vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:20px 16px 32px}
.rcpt-paper{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px 16px;font-family:'Inter',sans-serif}
.rcpt-hospital{text-align:center;margin-bottom:12px;padding-bottom:12px;border-bottom:2px dashed #e5e7eb}
.rh-logo{font-size:28px;margin-bottom:4px}
.rh-name{font-size:15px;font-weight:800;color:var(--teal-dark)}
.rh-sub{font-size:10px;color:var(--muted);margin-top:1px}
.rh-contact{font-size:10px;color:var(--muted);margin-top:3px}
.rcpt-dept-badge{display:inline-block;margin:0 auto 10px;padding:4px 14px;border-radius:20px;font-size:11px;font-weight:700}
.rcpt-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.rcpt-meta-item{background:#f8fafc;border-radius:8px;padding:7px 10px}
.rcpt-meta-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.rcpt-meta-val{font-size:12px;font-weight:700;margin-top:2px}
.rcpt-items-table{width:100%;border-collapse:collapse;margin-bottom:12px}
.rcpt-items-table th{font-size:9.5px;font-weight:700;color:var(--muted);text-transform:uppercase;padding:6px 8px;border-bottom:1.5px solid #e5e7eb;text-align:left}
.rcpt-items-table td{font-size:12px;padding:8px 8px;border-bottom:1px solid #f3f4f6;color:var(--text)}
.rcpt-items-table td:last-child,.rcpt-items-table th:last-child{text-align:right}
.rcpt-summary{background:#f8fafc;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.rcpt-sum-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:3px 0}
.rcpt-sum-row.total-row{font-size:14px;font-weight:800;color:var(--teal-dark);border-top:1.5px solid #e5e7eb;margin-top:4px;padding-top:7px}
.rcpt-stamp{text-align:center;margin-top:14px;padding-top:12px;border-top:2px dashed #e5e7eb}
.rcpt-stamp-lbl{font-size:9px;color:var(--muted);margin-bottom:30px;letter-spacing:.04em}
.rcpt-stamp-line{border-bottom:1px solid #374151;width:120px;margin:0 auto 4px}
.rcpt-stamp-name{font-size:10px;color:var(--muted)}
.rcpt-thankyou{font-size:11px;font-weight:600;color:var(--teal);margin-top:10px;text-align:center}
.print-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.print-btn{padding:12px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;border:none}
.print-btn-primary{background:var(--teal-dark);color:#fff}
.print-btn-close{background:var(--bg);color:var(--muted);border:1.5px solid var(--border)}
.receipt-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px;margin-bottom:6px}
.receipt-chip{display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;transition:transform .15s}
.receipt-chip:active{transform:scale(.93)}
.rchip-icon-wrap{width:58px;height:58px;border-radius:30% 70% 65% 35% / 35% 30% 70% 65%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 14px rgba(0,0,0,.14),inset 0 0 0 2.5px rgba(255,255,255,.55);transition:box-shadow .25s,border-radius .25s,transform .2s;position:relative}
.receipt-chip:hover .rchip-icon-wrap{border-radius:60% 40% 35% 65% / 65% 40% 60% 35%;transform:translateY(-2px)}
.receipt-chip:active .rchip-icon-wrap{box-shadow:0 2px 6px rgba(0,0,0,.12),inset 0 0 0 2.5px rgba(255,255,255,.55)}
.rchip-lbl{font-size:10px;font-weight:700;color:var(--muted);text-align:center;line-height:1.3;max-width:62px}
.rmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;display:none;align-items:flex-end;justify-content:center}
.rmodal-overlay.open{display:flex}
.rmodal{background:#FFFFFF;border-radius:22px 22px 0 0;width:100%;max-height:92vh;overflow-y:auto;padding:0 0 32px}
.rmodal-drag{width:40px;height:4px;background:#DCE6E5;border-radius:99px;margin:12px auto 0}
.receipt-paper{background:#fff;margin:0 14px;border-radius:16px;overflow:hidden;border:1px solid #dde3f0;box-shadow:0 4px 20px rgba(10,92,116,.10)}
.receipt-header{padding:20px 16px 18px;text-align:center;background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 100%);position:relative}
.receipt-header::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:10px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}
.rh-logo{font-size:30px;margin-bottom:6px}
.rh-name{font-size:15px;font-weight:800;color:#fff;letter-spacing:-.01em}
.rh-address{font-size:12px;color:rgba(255,255,255,.65);margin-top:3px}
.rh-dept-badge{display:inline-block;margin-top:10px;padding:4px 14px;border-radius:20px;font-size:11px;font-weight:700;background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.28)}
.rh-divider{margin:0 16px;border:none;border-top:1.5px dashed #d1d9ec}
.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:12px 16px;border-bottom:1px solid #f0f4fb}
.rm-item{padding:5px 0}
.rm-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.rm-val{font-size:12.5px;font-weight:700;margin-top:2px;color:var(--text)}
.receipt-items{padding:12px 16px 10px}
.ri-head{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:7px 10px;background:#f1f5fb;border-radius:8px;margin-bottom:6px;border:1px solid #e5eaf5}
.ri-head span{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.ri-head span:nth-child(2){text-align:center}
.ri-head span:last-child{text-align:right}
.ri-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:9px 10px;border-bottom:1px solid #f1f5f9;align-items:center}
.ri-row:last-child{border-bottom:none}
.ri-name{font-size:12px;font-weight:600;color:var(--text)}
.ri-sub{font-size:10px;color:var(--muted);margin-top:2px}
.ri-qty{font-size:12px;text-align:center;color:var(--muted);min-width:24px;font-weight:600}
.ri-price{font-size:12.5px;font-weight:700;text-align:right;white-space:nowrap}
.receipt-totals{padding:12px 16px;background:#f8fafc;border-top:1px solid #edf1f9}
.rt-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0}
.rt-label{font-size:12px;color:var(--muted)}
.rt-val{font-size:12.5px;font-weight:700;color:var(--text)}
.rt-total-row{border-top:2px solid #e2e8f0;margin-top:6px;padding-top:10px}
.rt-total-row .rt-label{font-size:12px;font-weight:800;color:var(--text)}
.rt-total-row .rt-val{font-size:12.5px;font-weight:800;color:var(--green)}
.receipt-footer{padding:14px 16px 18px;text-align:center;background:#fafbff;border-top:2px dashed #d1d9ec}
.rf-thank{font-size:13px;font-weight:800;color:var(--teal-dark);margin-bottom:3px;letter-spacing:-.01em}
.rf-sub{font-size:10.5px;color:var(--muted)}
.rf-contact{font-size:10px;color:var(--muted);margin-top:6px}
.receipt-barcode{display:flex;justify-content:center;gap:2px;margin:10px auto;padding:0 16px}
.rbc-bar{width:2px;background:var(--teal);border-radius:1px;opacity:.6}
.receipt-actions{display:flex;flex-direction:column;gap:8px;padding:14px 14px 0}
.ra-row{display:flex;gap:8px}
.r-act-btn{flex:1;padding:11px;border-radius:12px;border:none;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.r-print{background:var(--teal-dark);color:#fff}
.r-share{background:#ecfdf5;color:var(--green)}
.r-view{background:#E7F4FB;color:var(--teal-dark)}
.r-edit{background:#fff7ed;color:#c2410c}
.r-nav{background:#f1f5f9;color:#334155;flex:1}
.r-nav:disabled{opacity:.4;cursor:not-allowed}
.r-search{background:#f5f3ff;color:#6d28d9;flex:1.4}
.rform{padding:0 16px 16px;background:#6FA79F;border-radius:18px;margin:10px;overflow:hidden;border:none}
.rform-title{font-family:Georgia,'Times New Roman',serif;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0A4645,#071615);margin:0 -16px 0;padding:14px 16px 6px;display:block;line-height:1.05;border-radius:17px 17px 0 0}
.rform-title::before{display:none}
.rform-subtitle{font-size:10px;color:#8FC9C2;background:linear-gradient(135deg,#0A4645,#071615);margin:0 -16px 12px;padding:0 16px 10px;font-weight:600;letter-spacing:.01em;line-height:1.05}
.rform-body{background:transparent}
.rform input,.rform select{width:100%;padding:7px 10px;border-radius:10px;border:1px solid #DCE6E5;font-size:11px;line-height:1.1;font-family:'Inter',sans-serif;color:#132B2B;background:#fff;outline:none;margin-bottom:6px}
.rform input::placeholder{color:#7E9494}
.rform input:focus,.rform select:focus{border-color:#0E5E5C;background:#fff}
.rform input[readonly]{background:#fff;color:#0E5E5C;font-weight:700}
.rform-row-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rform-row-2 input,.rform-row-2 select{margin-bottom:0}
.rform-group{margin-bottom:6px}
.rform label{display:block;font-size:9px;line-height:1.2;font-weight:700;color:#4B6363;text-transform:none;letter-spacing:0;margin-bottom:3px}
.rform-total-box{background:#fff;border:1px solid #DCE6E5;border-radius:12px;padding:12px 14px;margin:6px 0 14px;display:flex;justify-content:space-between;align-items:center}
.rform-total-box .rtb-label{font-size:11px;font-weight:800;color:#4B6363;text-transform:none;letter-spacing:0}
.rform-total-box .rtb-val{font-size:20px;font-weight:800;color:#0E5E5C}
.rform-actions-row{display:flex;align-items:center;gap:6px;padding:10px 8px 6px;flex-wrap:wrap;background:#fff;border-radius:12px;margin-top:4px;border-top:1px solid #DCE6E5}
.rform-actions-row .rfa-circle{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#0E5E5C 0%,#0E5E5C 40%,#0A4645 100%);color:#fff;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid #E4F0EF;box-shadow:0 2px 5px rgba(0,0,0,.35),inset 0 2px 3px rgba(255,255,255,.55),inset 0 -3px 6px rgba(0,0,0,.3)}
.rform-actions-row .rfa-circle:active{opacity:.85}
.rform-actions-row .rfa-mid{flex:1 1 0;min-width:84px;padding:10px 8px;border-radius:8px;background:#0E5E5C;color:#fff;font-size:11.5px;font-weight:600;text-align:center;cursor:pointer;border:none;white-space:nowrap}
.rform-actions-row .rfa-mid:active{opacity:.85}
.rr4{display:grid;grid-template-columns:.7fr 1fr 1fr .8fr;gap:8px}
.rr3{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:8px}
.rr5{display:grid;grid-template-columns:.6fr 1fr 1fr 1.1fr 1.3fr;gap:8px}
.rr4b{display:grid;grid-template-columns:1.5fr 1.5fr 56px 84px;gap:8px}
.rr6{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;gap:8px}
.rr3c{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
#r_age::-webkit-outer-spin-button,#r_age::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#r_age{-moz-appearance:textfield}
@media (max-width:480px){
.rr4{grid-template-columns:1fr 1fr;row-gap:10px}
.rr3{grid-template-columns:1fr 1fr;row-gap:10px}
.rr5{grid-template-columns:1fr 1fr;row-gap:10px}
.rr4b{grid-template-columns:1fr 1fr;row-gap:10px}
.rr6{grid-template-columns:1fr 1fr;row-gap:10px}
.rr3c{grid-template-columns:1fr;row-gap:10px}
}
#patientReportOverlay .rform-group{margin-bottom:6px}
.pr-check-row{display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;color:var(--text);cursor:pointer;border-bottom:1px solid #f1f5f9}
.pr-check-row:last-child{border-bottom:none}
.pr-check-row:active{background:#f8fafc}
.pr-check-row input[type="checkbox"]{width:15px;height:15px;flex-shrink:0;accent-color:var(--teal-dark)}
.pr-check-empty{padding:12px;font-size:12px;color:#94a3b8;text-align:center}
.rgen-btn{width:100%;padding:13px;background:#0E5E5C;color:#fff;border:none;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;margin-bottom:4px}
.rgen-btn:active{opacity:.88}
.r-close-btn{position:absolute;top:14px;right:14px;width:30px;height:30px;background:#0A4645;color:#fff;border-radius:50%;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}
.cmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:600;display:none;align-items:flex-end}
.cmodal-overlay.open{display:flex}
.cmodal{background:#fff;border-radius:22px 22px 0 0;width:100%;max-height:94vh;overflow-y:auto;padding-bottom:32px}
.cmodal-drag{width:40px;height:4px;background:#e2e8f0;border-radius:99px;margin:12px auto 4px}
.cmodal-header{padding:10px 16px 0;display:flex;align-items:center;justify-content:space-between}
.cmodal-title{font-size:15px;font-weight:800;color:var(--teal-dark)}
.cmodal-close{width:30px;height:30px;background:#f1f5f9;border-radius:50%;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sc-row{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;font-size:13px;color:var(--text);border-bottom:1px solid #f1f5f9}
.sc-row:last-child{border-bottom:none}
.sc-key{font-size:11px;font-weight:700;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;padding:3px 9px;font-family:monospace;white-space:nowrap}
.cmodal-tabs{display:flex;background:#f1f5f9;margin:12px 14px;border-radius:12px;padding:3px;gap:2px}
.cmodal-tab{flex:1;padding:8px;border-radius:9px;font-size:11.5px;font-weight:700;text-align:center;cursor:pointer;color:var(--muted);transition:all .2s}
.cmodal-tab.active{background:#fff;color:var(--teal-dark);box-shadow:0 1px 6px rgba(0,0,0,.1)}
.cpanel{display:none;padding:0 14px}
.cpanel.active{display:block}
.c-form-card{background:var(--bg);border-radius:14px;padding:14px;margin-bottom:12px;border:1px solid var(--border)}
.c-form-title{font-size:12px;font-weight:700;color:var(--teal-dark);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.c-form-title::before{content:'';width:3px;height:13px;background:linear-gradient(to bottom,var(--teal-light),var(--brand2));border-radius:3px;display:inline-block}
.c-field{margin-bottom:10px}
.c-field label{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.c-field input,.c-field select{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--border);font-size:13px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;transition:border-color .2s}
.c-field input:focus,.c-field select:focus{border-color:var(--teal)}
.c-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.c-save-btn{width:100%;padding:13px;background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff;border:none;border-radius:12px;font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(10,92,116,.25)}
.c-save-btn:active{opacity:.88}
.consultant-card{background:#fff;border-radius:14px;border:1px solid var(--border);padding:13px 14px;margin-bottom:10px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.cc-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff;flex-shrink:0}
.cc-info{flex:1;min-width:0}
.cc-name{font-size:13.5px;font-weight:700}
.cc-spec{font-size:11px;color:var(--teal);font-weight:600;margin-top:2px}
.cc-meta{font-size:10.5px;color:var(--muted);margin-top:3px}
.cc-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.cc-btn{width:30px;height:30px;border-radius:8px;border:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cc-edit{background:#e3f4f1;color:var(--teal)}
.cc-del{background:#ffe4e6;color:var(--rose)}
.cc-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:9.5px;font-weight:700;margin-top:4px}
.badge-active{background:#E7F4FB;color:#0e7c91}
.badge-inactive{background:#f1f5f9;color:#64748b}
.c-search-wrap{position:relative;margin-bottom:12px}
.c-search-wrap input{width:100%;padding:10px 12px 10px 36px;border-radius:12px;border:1.5px solid var(--border);font-size:13px;font-family:'Inter',sans-serif;background:#f8fafc;outline:none}
.c-search-wrap input:focus{border-color:var(--teal)}
.c-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px}
.c-empty{text-align:center;padding:30px 20px}
.c-empty-icon{font-size:40px;margin-bottom:8px}
.c-empty-text{font-size:13px;font-weight:600;color:var(--muted)}
.c-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.c-stat{background:var(--bg);border-radius:12px;border:1px solid var(--border);padding:12px 10px;text-align:center}
.c-stat-val{font-size:22px;font-weight:800}
.c-stat-lbl{font-size:9.5px;color:var(--muted);margin-top:2px}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.hmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:700;display:none;align-items:flex-end}
.hmodal-overlay.open{display:flex}
.hmodal{background:#fff;border-radius:22px 22px 0 0;width:100%;max-height:95vh;overflow-y:auto;padding-bottom:36px}
.hmodal-drag{width:40px;height:4px;background:#e2e8f0;border-radius:99px;margin:12px auto 4px}
.hmodal-header{padding:10px 16px 0;display:flex;align-items:center;justify-content:space-between}
.hmodal-title{font-size:15px;font-weight:800;color:var(--teal-dark)}
.hmodal-close{width:30px;height:30px;background:#f1f5f9;border-radius:50%;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.hdept-scroll{display:flex;gap:8px;overflow-x:auto;padding:12px 14px 4px;scrollbar-width:none}
.hdept-scroll::-webkit-scrollbar{display:none}
.hdept-chip{flex-shrink:0;padding:7px 14px;border-radius:20px;font-size:11.5px;font-weight:700;border:1.5px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer;transition:all .2s;white-space:nowrap}
.hdept-chip.active{color:#fff}
.hlist-wrap{padding:10px 14px}
.hlist-stats{display:flex;gap:10px;margin-bottom:12px}
.hstat{flex:1;background:var(--bg);border-radius:12px;padding:10px;text-align:center;border:1px solid var(--border)}
.hstat-val{font-size:20px;font-weight:800}
.hstat-lbl{font-size:10px;color:var(--muted);margin-top:2px}
.head-card{background:var(--card);border-radius:12px;border:1px solid var(--border);padding:12px 14px;margin-bottom:8px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.head-idx{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0}
.head-info{flex:1;min-width:0}
.head-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.head-fee{font-size:11px;font-weight:700;margin-top:2px}
.head-sub{font-size:10.5px;color:var(--muted);margin-top:1px}
.head-actions{display:flex;gap:6px;flex-shrink:0}
.h-edit-btn{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;background:#e3f4f1;color:var(--teal)}
.h-del-btn{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;background:#ffe4e6;color:var(--rose)}
.hadd-form{background:var(--card);border-radius:16px;border:1px solid var(--border);padding:14px;margin:0 14px 14px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.hadd-title{font-size:13px;font-weight:700;color:var(--teal-dark);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.hadd-title::before{content:'';width:3px;height:14px;border-radius:3px;display:inline-block}
.hadd-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.hadd-field{margin-bottom:10px}
.hadd-field label{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.hadd-field input,.hadd-field select{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--border);font-size:13px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none}
.hadd-field input:focus,.hadd-field select:focus{border-color:var(--teal)}
.hadd-save-btn{width:100%;padding:13px;border:none;border-radius:12px;color:#fff;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.hadd-save-btn:active{opacity:.88}
.h-empty{text-align:center;padding:30px 20px}
.h-empty-icon{font-size:36px;margin-bottom:8px}
.h-empty-text{font-size:13px;font-weight:600;color:var(--muted)}
.hmodal-drag{width:40px;height:4px;background:#e2e8f0;border-radius:99px;margin:12px auto 4px}
.hmodal-header{padding:10px 16px 0;display:flex;align-items:center;justify-content:space-between}
.hmodal-title{font-size:15px;font-weight:800;color:var(--teal-dark)}
.hmodal-close{width:30px;height:30px;background:#f1f5f9;border-radius:50%;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.hdept-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 14px 0;scrollbar-width:none}
.hdept-tabs::-webkit-scrollbar{display:none}
.hdept-tab{flex-shrink:0;padding:7px 14px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:#fff;color:var(--muted);transition:all .2s;white-space:nowrap}
.hdept-tab.active{color:#fff;border-color:transparent}
.hpanel{display:none;padding:14px}
.hpanel.active{display:block}
.head-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:11px;border:1px solid var(--border);margin-bottom:8px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.head-item-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.head-item-info{flex:1;min-width:0}
.head-item-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.head-item-fee{font-size:11px;font-weight:700;margin-top:2px}
.head-item-actions{display:flex;gap:6px;flex-shrink:0}
.h-edit-btn{padding:5px 10px;border-radius:8px;border:none;font-size:11px;font-weight:700;cursor:pointer;background:#e3f4f1;color:var(--teal)}
.h-del-btn{padding:5px 10px;border-radius:8px;border:none;font-size:11px;font-weight:700;cursor:pointer;background:#ffe4e6;color:#be123c}
.h-status-badge{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:20px}
.h-active{background:#d1fae5;color:#065f46}
.h-inactive{background:#f3f4f6;color:#64748b}
.hadd-form{background:#f8fafc;border-radius:14px;padding:14px;margin-bottom:14px;border:1.5px solid var(--border)}
.hadd-title{font-size:12px;font-weight:700;color:var(--teal-dark);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.hadd-title::before{content:'';width:3px;height:12px;background:linear-gradient(to bottom,var(--teal-light),var(--brand2));border-radius:3px;display:inline-block}
.hadd-form input,.hadd-form select{width:100%;padding:9px 12px;border-radius:10px;border:1.5px solid var(--border);font-size:12.5px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;margin-bottom:8px}
.hadd-form input:focus,.hadd-form select:focus{border-color:var(--teal)}
.hadd-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hadd-row-2 input,.hadd-row-2 select{margin-bottom:0}
.hadd-save-btn{width:100%;padding:11px;border:none;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;color:#fff;margin-top:4px;box-shadow:0 3px 10px rgba(0,0,0,.12);transition:opacity .2s}
.hadd-save-btn:active{opacity:.85}
.hadd-cancel-btn{width:100%;padding:9px;border:1.5px solid var(--border);border-radius:11px;font-size:12px;font-weight:700;cursor:pointer;color:var(--muted);background:#fff;margin-top:6px}
.hempty{text-align:center;padding:30px 16px;color:var(--muted)}
.hempty-icon{font-size:36px;margin-bottom:8px}
.hempty-text{font-size:13px;font-weight:600}
.hempty-sub{font-size:11px;margin-top:4px}
.hadd-new-btn{width:100%;padding:11px;background:var(--teal-dark);color:#fff;border:none;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:12px}
.efmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:700;display:none;align-items:flex-end}
.efmodal-overlay.open{display:flex}
.efmodal{background:#fff;border-radius:22px 22px 0 0;width:100%;max-height:94vh;overflow-y:auto;padding-bottom:32px}
.efmodal-drag{width:40px;height:4px;background:#e2e8f0;border-radius:99px;margin:12px auto 4px}
.efmodal-header{padding:10px 16px 0;display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.efmodal-title{font-size:15px;font-weight:800;color:var(--teal-dark)}
.efmodal-close{width:30px;height:30px;background:#f1f5f9;border-radius:50%;border:none;font-size:16px;cursor:pointer}
.mir-preview{padding:14px 16px}
.mir-header{text-align:center;border-bottom:2px solid #0a5c74;padding-bottom:6px;margin-bottom:8px}
.mir-hospital{font-size:16px;font-weight:800;color:#0a5c74}
.mir-title{font-size:13px;font-weight:700;margin-top:4px;color:var(--text)}
.mir-sub{font-size:10.5px;color:var(--muted);margin-top:2px}
table.mir-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:auto}
.mir-table{line-height:1.15}
.mir-table th,.mir-table td{padding:3px 6px;border:1px solid var(--border);text-align:left;white-space:nowrap;line-height:1.15;height:auto}
.mir-table th{background:#f1f5f9;font-weight:700}
.mir-table .amt{text-align:right}
.mir-table .sub-row td{background:#f8fafc;font-weight:700}
.mir-table .grand-row td{background:#0a5c74;color:#fff;font-weight:800;font-size:11.5px}
.mir-words{margin-top:6px;font-size:12px;font-style:italic;color:var(--text)}
.mir-sign-row{display:flex;justify-content:space-between;margin-top:30px}
.mir-sign{text-align:center;flex:1}
.mir-sign-line{border-top:1px solid #334155;width:80%;margin:0 auto 4px}
.mir-sign-lbl{font-size:10.5px;color:var(--muted)}
.mir-modal{padding-top:0 !important;overflow:hidden}
.mir-titlebar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0a5c74,#0e7c91);padding:14px 18px;margin-bottom:10px;border-radius:22px 22px 0 0}
.mir-titlebar-label{font-size:13.5px;font-weight:800;color:#fff;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mir-winbtns{display:flex;gap:6px;flex-shrink:0}
.mir-winbtn{width:26px;height:26px;border-radius:7px;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .15s}
.mir-winbtn:hover{background:rgba(255,255,255,.3)}
.mir-winbtn-close:hover{background:#dc2626}
.mir-modal.mir-maximized{max-width:97vw !important;width:97vw}
.mir-modal.mir-maximized .mir-preview{max-height:78vh !important}
.mir-modal.mir-minimized .mir-preview,
.mir-modal.mir-minimized .mir-actions{display:none !important}
.mir-modal.mir-minimized{max-width:340px !important}
.mir-actions{display:flex;gap:8px;margin-top:14px;padding:0 16px 4px;flex-wrap:wrap}
.mir-action-btn{flex:1;min-width:110px;padding:10px;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:12px;cursor:pointer}
.mir-action-btn:hover{filter:brightness(1.1)}
.eftabs{display:flex;background:#f1f5f9;margin:10px 14px;border-radius:12px;padding:3px;gap:2px}
.eftab{flex:1;padding:8px 4px;border-radius:9px;font-size:11px;font-weight:700;text-align:center;cursor:pointer;color:var(--muted);transition:all .2s}
.eftab.active{background:#fff;color:var(--teal-dark);box-shadow:0 1px 6px rgba(0,0,0,.1)}
.efpanel{display:none;padding:0 14px}
.efpanel.active{display:block}
.ef-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.ef-sum-card{border-radius:14px;padding:14px;text-align:center}
.ef-sum-val{font-size:22px;font-weight:800;line-height:1;margin-bottom:4px}
.ef-sum-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.75}
.ef-sum-sub{font-size:11px;font-weight:600;margin-top:4px}
.ef-form{background:#f8fafc;border-radius:14px;padding:14px;margin-bottom:14px;border:1.5px solid var(--border)}
.ef-form-title{font-size:12px;font-weight:700;color:var(--teal-dark);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.ef-form-title::before{content:'';width:3px;height:12px;background:linear-gradient(to bottom,var(--rose),#f97316);border-radius:3px;display:inline-block}
.ef-form input,.ef-form select,.ef-form textarea{width:100%;padding:9px 12px;border-radius:10px;border:1.5px solid var(--border);font-size:12.5px;font-family:'Inter',sans-serif;color:var(--text);background:#fff;outline:none;margin-bottom:8px}
.ef-form input:focus,.ef-form select:focus{border-color:var(--rose)}
.ef-form textarea{min-height:60px;resize:vertical;margin-bottom:8px}
.ef-form-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ef-form-row2 input,.ef-form-row2 select{margin-bottom:0}
.ef-save-btn{width:100%;padding:11px;border:none;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#dc2626,#f97316);box-shadow:0 3px 10px rgba(220,38,38,.25);margin-top:4px}
.ef-save-btn:active{opacity:.85}
.ef-item{background:#fff;border-radius:12px;border:1px solid var(--border);padding:11px 13px;margin-bottom:8px;display:flex;align-items:center;gap:11px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.ef-item-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ef-item-info{flex:1;min-width:0}
.ef-item-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ef-item-meta{font-size:10.5px;color:var(--muted);margin-top:2px}
.ef-item-amt{font-size:14px;font-weight:800;text-align:right;flex-shrink:0}
.ef-item-del{padding:5px 8px;border-radius:7px;border:none;background:#ffe4e6;color:#be123c;font-size:11px;font-weight:700;cursor:pointer;flex-shrink:0}
.ef-period-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px;padding-bottom:2px}
.ef-period-row::-webkit-scrollbar{display:none}
.ef-ptab{flex-shrink:0;padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;border:1.5px solid var(--border);background:#fff;transition:all .18s;white-space:nowrap}
.ef-ptab.active{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark)}
.fr-card{background:#fff;border-radius:14px;border:1px solid var(--border);margin-bottom:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.fr-card-head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.fr-card-title{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px}
.fr-row{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid #f1f5f9}
.fr-row:last-child{border-bottom:none}
.fr-label{font-size:12px;color:var(--muted)}
.fr-val{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.fr-total-row{background:#f8fafc;padding:11px 14px;display:flex;justify-content:space-between;align-items:center}
.fr-total-label{font-size:13px;font-weight:800}
.fr-total-val{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.mini-bar-wrap{display:flex;align-items:flex-end;gap:5px;height:80px;padding:0 14px 8px;border-top:1px solid var(--border);margin-top:4px}
.mini-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}
.mini-bar{width:100%;border-radius:4px 4px 0 0;min-height:4px;transition:height .5s}
.mini-bar-lbl{font-size:8px;color:var(--muted);font-weight:600}
.ef-empty{text-align:center;padding:30px 16px}
.ef-empty-icon{font-size:36px;margin-bottom:8px}
.ef-empty-txt{font-size:13px;font-weight:600;color:var(--muted)}
.net-strip{border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.net-strip-label{font-size:12px;font-weight:700;color:#fff;opacity:.85}
.net-strip-val{font-size:22px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.net-strip-sub{font-size:10px;color:#fff;opacity:.7;margin-top:3px}
.cash-pos-card{background:linear-gradient(135deg,#0a5c74,#0e7c91);border-radius:16px;padding:14px 16px;margin-bottom:16px;box-shadow:0 6px 20px rgba(10,92,116,.3);position:relative;overflow:hidden}
.cash-pos-card::before{content:'💵';position:absolute;right:-6px;top:-10px;font-size:90px;opacity:.07;line-height:1}
.cash-pos-title{font-size:14px;font-weight:800;color:#FFD54A;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.cash-pos-edit{font-size:10px;font-weight:700;color:rgba(255,255,255,.7);cursor:pointer;background:rgba(255,255,255,.12);padding:3px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.2)}
.cash-pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cash-pos-grid-4{grid-template-columns:repeat(2,1fr)}
@media (min-width:420px){.cash-pos-grid-4{grid-template-columns:repeat(4,1fr)}}
.cp-box{background:rgba(255,255,255,.1);border-radius:11px;padding:12px 10px;text-align:center;border:1px solid rgba(255,255,255,.12)}
.cp-box-lbl{font-size:9px;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.cp-box-val{font-size:16px;font-weight:800;color:#fff;margin-top:5px;line-height:1.15;white-space:nowrap}
.cp-box-sub{font-size:9px;color:rgba(255,255,255,.7);margin-top:3px}
.cash-pos-card .cp-box:nth-child(1){background:#155E9E;border-color:#1B74C0}
.cash-pos-card .cp-box:nth-child(2){background:#0E8F5E;border-color:#12A96E}
.cash-pos-card .cp-box:nth-child(3){background:#C43C3C;border-color:#DE4747}
.cash-pos-card .cp-box:nth-child(4){background:#C4801E;border-color:#E0952A}
.bank-pos-card{background:linear-gradient(135deg,#0a5c74,#0e7c91);border-radius:16px;padding:14px 16px;margin-bottom:16px;box-shadow:0 6px 20px rgba(10,92,116,.3);position:relative;overflow:hidden}
.bank-pos-card::before{content:'🏦';position:absolute;right:-6px;top:-10px;font-size:90px;opacity:.09;line-height:1}
.bank-pos-card .cp-box:nth-child(1){background:#155E9E;border-color:#1B74C0}
.bank-pos-card .cp-box:nth-child(2){background:#0E8F5E;border-color:#12A96E}
.bank-pos-card .cp-box:nth-child(3){background:#C43C3C;border-color:#DE4747}
.bank-pos-card .cp-box:nth-child(4){background:#C4801E;border-color:#E0952A}
.book-tabs{display:flex;gap:6px;padding:0 14px 10px;overflow-x:auto}
.book-tab{flex-shrink:0;padding:7px 14px;border-radius:20px;font-size:11.5px;font-weight:700;border:1.5px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;white-space:nowrap}
.book-tab.active{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark)}
.book-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 14px 12px}
.book-sum-box{background:#f8fafc;border:1.5px solid var(--border);border-radius:12px;padding:9px 8px;text-align:center}
.book-sum-lbl{font-size:9px;color:#64748b;text-transform:uppercase;font-weight:700;letter-spacing:.04em}
.book-sum-val{font-size:14px;font-weight:800;margin-top:3px}
.book-list{padding:0 14px}
.book-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.book-row:last-child{border-bottom:none}
.book-row-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.book-row-info{flex:1;min-width:0}
.book-row-desc{font-size:12.5px;font-weight:700;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.book-row-date{font-size:10px;color:#94a3b8;margin-top:1px}
.book-row-right{text-align:right;flex-shrink:0}
.book-row-amt{font-size:13px;font-weight:800}
.book-row-amt.in{color:#059669}
.book-row-amt.out{color:#dc2626}
.book-row-bal{font-size:9.5px;color:#94a3b8;margin-top:1px}
.book-row-del{width:24px;height:24px;border-radius:50%;border:none;background:#fef2f2;color:#dc2626;font-size:11px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.book-empty{text-align:center;padding:40px 20px;color:#94a3b8;font-size:12.5px}
.book-add-btn{margin:0 14px 12px;width:calc(100% - 28px)}
.bb-add-form{margin:0 14px 14px;background:#f8fafc;border:1.5px solid #e3f4f1;border-radius:14px;padding:14px;display:none}
.bb-add-form.open{display:block}
.bb-form-row{display:flex;gap:8px;margin-bottom:10px}
.bb-form-row>div{flex:1}
.bb-form-row label{display:block;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.bb-form-row input,.bb-form-row select{width:100%;padding:9px 10px;border-radius:10px;border:1.5px solid #e3f4f1;font-size:13px;font-family:inherit;color:#0f172a;background:#fff;outline:none}
.bb-type-toggle{display:flex;gap:6px}
.bb-type-btn{flex:1;padding:9px;border-radius:10px;border:1.5px solid #e3f4f1;background:#fff;font-size:11.5px;font-weight:700;color:#64748b;cursor:pointer;text-align:center}
.bb-type-btn.active-in{background:#d1fae5;border-color:#059669;color:#065f46}
.bb-type-btn.active-out{background:#fee2e2;border-color:#dc2626;color:#991b1b}
.ob-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:800;display:none;align-items:flex-end}
.ob-modal-overlay.open{display:flex}
.ob-modal{background:#fff;border-radius:22px 22px 0 0;width:100%;padding:0 0 32px;max-height:80vh;overflow-y:auto}
.ob-drag{width:40px;height:4px;background:#e2e8f0;border-radius:99px;margin:12px auto 4px}
.fr-cash-card{background:linear-gradient(135deg,#0a5c74,#0a5c74);border-radius:14px;padding:14px;margin-bottom:12px;overflow:hidden;position:relative}
.fr-cash-card::before{content:'🏦';position:absolute;right:-4px;top:-8px;font-size:70px;opacity:.07}
.fr-cash-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.fr-cash-row:last-child{border-bottom:none}
.fr-cash-lbl{font-size:12px;color:rgba(255,255,255,.7);font-weight:500}
.fr-cash-val{font-size:14px;font-weight:800;color:#fff}
.fr-cash-val.positive{color:#6ee7b7}
.fr-cash-val.negative{color:#fca5a5}
.c-section-head{font-size:10.5px;font-weight:800;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.07em;padding:10px 0 6px;margin-top:4px;border-bottom:1.5px solid var(--border);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.pm-dept-chip{flex-shrink:0;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;border:1.5px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .18s}
.pm-dept-chip.active{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark)}
#loginScreen{position:fixed;inset:0;background:linear-gradient(145deg,#0d1117 0%,#11162e 45%,#1a0f3c 100%);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;overflow:hidden}
#loginScreen::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(124,92,252,.18) 0%,transparent 70%);pointer-events:none}
#loginScreen::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(124,92,252,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,92,252,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.login-logo-wrap{width:80px;height:80px;background:linear-gradient(135deg,#7c5cfc,#5b8dee);border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:38px;margin-bottom:16px;box-shadow:0 0 0 1px rgba(124,92,252,.4),0 12px 40px rgba(124,92,252,.45);position:relative;z-index:1}
.login-title{font-size:24px;font-weight:900;color:#fff;text-align:center;letter-spacing:-.02em;position:relative;z-index:1;background:linear-gradient(90deg,#fff 50%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.login-sub{font-size:11.5px;color:rgba(255,255,255,.4);text-align:center;margin-top:5px;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1}
.login-card{background:rgba(30,39,64,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(124,92,252,.22);border-radius:24px;padding:28px 26px;width:100%;max-width:400px;margin-top:24px;box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 0 1px rgba(124,92,252,.15);position:relative;z-index:1}
.login-field{margin-bottom:16px}
.login-field label{display:block;font-size:10px;font-weight:700;color:rgba(167,139,250,.7);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.login-field input{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid rgba(124,92,252,.2);font-size:14px;font-family:'Inter',sans-serif;color:#e4e9f5;outline:none;transition:border-color .2s,box-shadow .2s;background:rgba(13,17,23,.6)}
.login-field input::placeholder{color:rgba(255,255,255,.25)}
.login-field input:focus{border-color:#7c5cfc;background:rgba(13,17,23,.8);box-shadow:0 0 0 3px rgba(124,92,252,.2)}
.login-btn{width:100%;padding:14px;background:linear-gradient(135deg,#7c5cfc,#5b8dee);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;margin-top:4px;box-shadow:0 4px 20px rgba(124,92,252,.4);transition:opacity .2s,transform .15s,box-shadow .2s;letter-spacing:.02em}
.login-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 8px 28px rgba(124,92,252,.5)}
.login-btn:active{opacity:.88;transform:translateY(0)}
.login-err{display:none;background:rgba(241,65,108,.15);color:#fca5a5;border:1px solid rgba(241,65,108,.3);border-radius:10px;padding:10px 12px;font-size:12px;font-weight:600;margin-top:12px;text-align:center}
@keyframes shakeErr{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.login-footer{font-size:11px;color:rgba(255,255,255,.25);margin-top:22px;text-align:center;position:relative;z-index:1}
#userMgmtOverlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:700;display:none;align-items:flex-end}
#userMgmtOverlay.open{display:flex}
#userMgmtModal{background:#fff;border-radius:22px 22px 0 0;width:100%;max-height:92vh;overflow-y:auto;padding-bottom:28px}
.um-user-card{background:#f8fafc;border-radius:12px;padding:12px 14px;margin-bottom:8px;border:1.5px solid var(--border);display:flex;align-items:center;gap:12px}
.um-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0}
.um-info{flex:1;min-width:0}
.um-name{font-size:13px;font-weight:700}
.um-role-badge{display:inline-block;font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:20px;margin-top:3px}
.um-actions{display:flex;gap:6px;flex-shrink:0}
.um-btn{width:30px;height:30px;border-radius:8px;border:none;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.role-admin{background:#e3f4f1;color:#0e7c91}
.role-opd{background:#d1fae5;color:#065f46}
.role-lab{background:#fef9c3;color:#b45309}
.role-xray{background:#e3f4f1;color:#4338ca}
.role-ct{background:#fef3c7;color:#92400e}
.role-nursery{background:#ede9fe;color:#7c3aed}
.role-emergency{background:#ffe4e6;color:#be123c}
.role-ipd{background:#d1fae5;color:#065f46}
.role-reception{background:#e0f2fe;color:#0a5c74}
.role-accounts{background:#fef3c7;color:#b45309}
.um-role-chip{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:11px;border:1.5px solid var(--border);background:#f8fafc;cursor:pointer;transition:all .18s;user-select:none;-webkit-user-select:none}
.um-role-chip.selected{border-width:2px}
.um-role-chip .rc-icon{font-size:16px;flex-shrink:0}
.um-role-chip .rc-text{flex:1;min-width:0}
.um-role-chip .rc-label{font-size:11.5px;font-weight:700;line-height:1.2}
.um-role-chip .rc-desc{font-size:9px;color:var(--muted);margin-top:1px;line-height:1.3}
.um-role-chip .rc-check{width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;transition:all .18s}
.um-role-chip.selected .rc-check{border-color:currentColor;color:#fff;font-size:10px}
@media (min-width: 768px) {
:root {
--d-bg1:        #F4F7F9;
--d-bg2:        #F4F7F9;
--d-bg3:        #EBF1F4;
--d-card:       #FFFFFF;
--d-card2:      #E6F2F1;
--d-border:     #E1E7EC;
--d-border2:    rgba(15,42,58,.10);
--d-text:       #1A2B33;
--d-muted:      #64748B;
--d-accent:     #0E7C91;
--d-accent2:    #2AA8A0;
--d-gold:       #E0A438;
--d-green:      #1E8F6F;
--d-rose:       #E15B64;
--d-sb-bg:      linear-gradient(165deg,#12181a 0%,#16231f 55%,#173a34 100%);
--d-sb-active:  rgba(20,184,166,.20);
--d-sb-hover:   rgba(45,212,191,.08);
--d-glow:       0 0 0 1px rgba(20,184,166,.25), 0 8px 32px rgba(20,184,166,.12);
}
body {
padding-bottom: 0;
background: var(--d-bg2);
color: var(--d-text);
}
body, input, select, textarea, button, * {
font-family: 'Calibri', 'Calibri Light', 'Segoe UI', Arial, sans-serif !important;
}
.sc-key { font-family: monospace !important; }
--bg:     var(--d-bg2);
--card:   var(--d-card);
--text:   var(--d-text);
--muted:  var(--d-muted);
--border: var(--d-border);
.header {
padding: 0 32px;
background: linear-gradient(135deg,#0a5c74,#0e7c91) !important;
border-bottom: 1px solid rgba(255,255,255,.15);
box-shadow: 0 2px 16px rgba(0,0,0,.18);
position: sticky;
top: 0;
z-index: 99;
}
.header-top {
padding: 14px 0;
max-width: 1500px;
margin: 0 auto;
}
.header-name {
font-size: 30px;
color: #5FD4CB;
font-weight: 700;
text-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.header-sub { color: #fff; font-size: 14px; }
.header-contact { font-size: 14px !important; }
.logo-wrap {
width: 58px !important;
height: 58px !important;
font-size: 28px !important;
}
.date-bar {
padding: 7px 32px;
font-size: 12px;
background: rgba(0,0,0,.15) !important;
border-top: 1px solid rgba(255,255,255,.12);
color: #fff;
}
.hbtn {
width: 40px; height: 40px; font-size: 18px;
background: rgba(255,255,255,.12) !important;
border: 1px solid rgba(255,255,255,.2) !important;
border-radius: 11px;
transition: background .2s;
}
.header-actions {
display: flex !important;
flex-direction: row;
align-items: center;
}
.hbtn:hover { background: rgba(255,255,255,.22) !important; }
.logo-wrap {
background: linear-gradient(135deg,var(--teal-light),var(--brand2)) !important;
box-shadow: 0 4px 16px rgba(14,124,145,.35) !important;
}
#desktopShell {
display: flex;
max-width: 1500px;
margin: 0 auto;
gap: 0;
padding: 0;
align-items: flex-start;
background: transparent;
min-height: calc(100vh - 86px);
}
:root {
--sb-collapsed: 62px;
--sb-expanded:  268px;
}
#desktopSidebar {
display: flex !important;
flex-direction: column;
width: var(--sb-collapsed);
flex-shrink: 0;
position: sticky;
top: var(--dsb-header-h, 86px);
height: calc(100vh - var(--dsb-header-h, 86px));
overflow: hidden;
background: linear-gradient(165deg,#0a1110 0%,#0e1c19 45%,#123c36 100%);
border-right: 1px solid rgba(45,212,191,.10);
border-radius: 0 18px 18px 0;
box-shadow: 6px 0 28px rgba(0,0,0,.30), inset -1px 0 0 rgba(255,255,255,.02);
padding: 24px 6px 28px;
gap: 0;
transition: width 0.28s cubic-bezier(.4,0,.2,1);
z-index: 100;
}
#desktopSidebar::after {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(420px 220px at 15% 0%, rgba(45,212,191,.10), transparent 60%),
radial-gradient(280px 200px at 100% 85%, rgba(56,189,248,.06), transparent 65%);
pointer-events: none;
z-index: 0;
}
#desktopSidebar, #desktopSidebar * {
font-family: 'Inter','Segoe UI',sans-serif !important;
}
#desktopSidebar > * { position: relative; z-index: 1; }
#desktopSidebar .dsb-scroll-area {
padding-right: 2px;
}
#desktopSidebar .dsb-scroll-area::-webkit-scrollbar { width: 4px; }
#desktopSidebar .dsb-scroll-area::-webkit-scrollbar-thumb {
background: rgba(45,212,191,.45);
border-radius: 6px;
}
#desktopSidebar .dsb-scroll-area::-webkit-scrollbar-thumb:hover {
background: rgba(45,212,191,.7);
}
#desktopSidebar.sb-open {
width: var(--sb-expanded);
padding: 16px 10px 28px;
}
.dsb-collapse-row {
flex-shrink: 0;
display: flex;
justify-content: center;
padding: 0 4px 10px;
}
.dsb-collapse-btn {
width: 28px;
height: 28px;
border-radius: 50%;
background: rgba(255,255,255,.05);
border: 1px solid rgba(45,212,191,.30);
color: rgba(255,255,255,.65);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: background .2s, transform .25s, border-color .2s, box-shadow .2s;
flex-shrink: 0;
box-shadow: 0 0 0 3px rgba(45,212,191,.05);
}
.dsb-collapse-btn:hover {
background: linear-gradient(135deg,#2dd4bf,#0d9488);
border-color: transparent;
color: #fff;
box-shadow: 0 3px 12px rgba(20,184,166,.4);
}
#desktopSidebar:not(.sb-open) .dsb-collapse-btn { transform: rotate(180deg); }
#desktopSidebar:not(.sb-open) .dsb-collapse-row { justify-content: center; }
.dsb-scroll-area {
flex: 1 1 auto;
min-height: 0;
overflow-x: hidden;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: rgba(14,124,145,.3) transparent;
}
.dsb-scroll-area::-webkit-scrollbar { width: 3px; }
.dsb-scroll-area::-webkit-scrollbar-thumb {
background: rgba(14,124,145,.35);
border-radius: 4px;
}
.dsb-card {
background: none;
backdrop-filter: none;
-webkit-backdrop-filter: none;
border-radius: 0;
border: none;
padding: 0;
box-shadow: none;
margin: 0;
}
#desktopSidebar.sb-open .dsb-card {
width: 100%;
}
.dsb-title {
display: none;
align-items: center;
gap: 6px;
font-size: 9px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: rgba(45,212,191,.8);
padding: 14px 10px 5px;
opacity: 0;
transition: opacity .2s;
white-space: nowrap;
cursor: pointer;
}
.dsb-scroll-area .dsb-card:first-child .dsb-title { padding-top: 4px; }
#desktopSidebar.sb-open .dsb-title { display: flex; opacity: 1; }
.dsb-group-icon { display: inline-flex; align-items: center; flex-shrink: 0; color: rgba(45,212,191,.85); font-size: 10px; }
.dsb-group-caret {
margin-left: auto;
font-size: 11px;
opacity: .55;
transition: transform .2s;
}
.dsb-card.group-open .dsb-group-caret { transform: rotate(90deg); opacity: .9; }
.dsb-group-body {
max-height: 0;
overflow: hidden;
transition: max-height .3s ease-out;
}
.dsb-card.group-open .dsb-group-body {
max-height: 3000px;
transition: max-height .35s ease-in;
}
#desktopSidebar:not(.sb-open) .dsb-group-body { max-height: none; overflow: visible; }
#desktopSidebar:not(.sb-open) .dsb-group-caret { display: none; }
.dsb-nav-item {
display: flex;
align-items: center;
gap: 9px;
padding: 4px 10px;
border-radius: 9px;
cursor: pointer;
font-size: 11px;
font-weight: 500;
line-height: 1.1;
letter-spacing: .01em;
color: rgba(255,255,255,.70);
transition: background .18s, color .18s, transform .18s;
margin-bottom: 0px;
white-space: nowrap;
overflow: hidden;
position: relative;
}
.dsb-nav-item:hover {
background: var(--d-sb-hover);
color: #fff;
transform: translateX(2px);
}
.dsb-nav-item.active {
background: none;
backdrop-filter: none;
color: rgba(255,255,255,.70);
font-weight: 500;
box-shadow: none;
}
.dsb-nav-item.active::before {
content: none;
}
.dsb-nav-item.active .dsb-nav-icon,
.dsb-nav-item.active .dsb-nav-label { color: inherit; }
.receipt-menu-header {
font-size: 11.5px;
font-weight: 600;
letter-spacing: .03em;
color: #2dd4bf;
padding: 9px 10px 6px;
margin-bottom: 3px;
border-bottom: 1px solid rgba(45,212,191,.25);
}
.receipt-bank-item {
padding: 4px 10px;
margin: 0;
cursor: pointer;
display: flex;
align-items: center;
justify-content: flex-start;
gap: 9px;
font-size: 11px;
font-weight: 500;
line-height: 1.1;
color: rgba(255,255,255,.72);
transition: all .18s;
border-radius: 9px;
}
.receipt-bank-item:hover {
background: var(--d-sb-hover);
color: #fff;
transform: translateX(2px);
}
.receipt-bank-item.expanded {
color: #5eead4;
background: rgba(20,184,166,.12);
box-shadow: inset 0 0 0 1px rgba(45,212,191,.22);
}
.receipt-bank-caret {
margin-left: auto;
font-size: 12px;
transition: transform .2s;
opacity: .6;
}
.receipt-bank-item.expanded .receipt-bank-caret {
transform: rotate(90deg);
opacity: 1;
}
#desktopSidebar:not(.sb-open) .receipt-bank-caret {
display: none;
}
#desktopSidebar:not(.sb-open) .receipt-bank-submenu {
display: none;
}
.receipt-bank-submenu {
max-height: 0;
overflow: hidden;
transition: max-height .3s ease-out;
}
.receipt-bank-submenu.open {
max-height: 500px;
transition: max-height .3s ease-in;
}
.receipt-bank-subitem {
padding: 1px 10px 1px 26px;
font-size: 10.5px;
font-weight: 450;
line-height: 1.1;
color: rgba(255,255,255,.54);
cursor: pointer;
transition: background .18s, color .18s;
margin: 0;
border-radius: 6px;
}
.receipt-bank-subitem:hover {
background: rgba(45,212,191,.12);
color: #99f6e4;
}
.receipt-bank-subitem.receipt-sub-toggle {
display: flex;
align-items: center;
gap: 4px;
padding-right: 6px;
}
.receipt-bank-subitem.receipt-sub-toggle > span:last-of-type {
flex: 1;
}
.receipt-sub-plus {
margin-right: 0;
display: inline-block;
width: 16px;
text-align: center;
font-size: 14px;
font-weight: 450;
line-height: 1.3;
color: rgba(255,255,255,.7);
flex-shrink: 0;
cursor: pointer;
}
.receipt-sub-plus:hover {
color: #2dd4bf;
}
.receipt-bank-subitem.expanded {
color: #2dd4bf;
}
.receipt-bank-subitem.expanded .receipt-sub-plus {
color: #2dd4bf;
}
.receipt-bank-subsubmenu {
max-height: 0;
overflow: hidden;
transition: max-height .25s ease-out;
}
.receipt-bank-subsubmenu.open {
max-height: 200px;
transition: max-height .25s ease-in;
}
.receipt-bank-subsubitem {
padding: 1px 10px 1px 42px;
font-size: 10px;
font-weight: 450;
line-height: 1.1;
color: rgba(255,255,255,.5);
cursor: pointer;
border-radius: 6px;
transition: background .18s, color .18s;
}
.receipt-bank-subsubitem:hover {
background: rgba(45,212,191,.12);
color: #99f6e4;
}
#desktopSidebar:not(.sb-open) .receipt-sub-plus,
#desktopSidebar:not(.sb-open) .receipt-bank-subsubmenu {
display: none;
}
.dsb-nav-icon {
font-size: 13px;
width: 27px;
min-width: 27px;
height: 27px;
line-height: 27px;
text-align: center;
flex-shrink: 0;
transition: transform .22s, background .18s, box-shadow .22s;
background: rgba(255,255,255,.06);
border-radius: 9px;
}
.dsb-nav-item:hover .dsb-nav-icon,
.receipt-bank-item:hover .dsb-nav-icon {
background: rgba(255,255,255,.12);
transform: scale(1.08);
}
.dsb-nav-item.active .dsb-nav-icon {
background: rgba(255,255,255,.06);
box-shadow: none;
}
.receipt-bank-item.expanded .dsb-nav-icon {
background: linear-gradient(135deg,#2dd4bf,#0d9488);
box-shadow: 0 2px 10px rgba(20,184,166,.4);
}
#desktopSidebar:not(.sb-open) .dsb-nav-icon { border-radius: 9px; }
.mi {
font-size: 14px;
display: inline-block;
width: 16px;
text-align: center;
line-height: 1;
vertical-align: -2px;
}
.dsb-nav-icon {
font-size: 0;
}
.dsb-nav-icon::before {
content: attr(data-icon);
font-size: 13px;
}
#desktopSidebar:not(.sb-open) .dsb-nav-item {
justify-content: center;
padding: 4px 6px;
}
#desktopSidebar:not(.sb-open) .dsb-nav-icon {
transform: scale(1.05);
}
.dsb-nav-label { white-space: nowrap; }
#desktopSidebar:not(.sb-open) .dsb-nav-label {
display: none;
}
#desktopSidebar:not(.sb-open) .receipt-menu-header {
display: none;
}
#desktopSidebar:not(.sb-open) .receipt-bank-item {
justify-content: center;
padding: 4px 6px;
}
.dsb-badge {
margin-left: auto;
background: var(--d-rose);
color: #fff;
font-size: 9.5px;
font-weight: 700;
padding: 1px 6px;
border-radius: 20px;
flex-shrink: 0;
opacity: 0;
transition: opacity .15s;
}
#desktopSidebar.sb-open .dsb-badge { opacity: 1; }
.dsb-divider {
height: 1px;
background: linear-gradient(90deg, transparent, rgba(45,212,191,.20), transparent);
margin: 6px 4px;
min-width: 42px;
}
@keyframes dsbItemIn {
from { opacity: 0; transform: translateX(-6px); }
to   { opacity: 1; transform: translateX(0); }
}
#desktopSidebar.sb-open .dsb-nav-item,
#desktopSidebar.sb-open .receipt-bank-item {
animation: dsbItemIn .3s cubic-bezier(.2,.8,.2,1) both;
}
.dsb-nav-caret {
margin-left: auto;
font-size: 11px;
color: rgba(255,255,255,.35);
transition: transform .25s, opacity .15s;
flex-shrink: 0;
opacity: 0;
}
#desktopSidebar.sb-open .dsb-nav-caret { opacity: 1; }
.dsb-nav-item.expanded .dsb-nav-caret { transform: rotate(90deg); }
.dsb-submenu {
max-height: 0;
overflow: hidden;
transition: max-height .25s ease;
margin-left: 18px;
padding-left: 10px;
border-left: 1px dashed rgba(45,212,191,.22);
}
.dsb-submenu.open { max-height: 480px; }
#desktopSidebar:not(.sb-open) .dsb-submenu { display: none; }
.dsb-subitem {
display: flex;
align-items: center;
gap: 7px;
padding: 4px 10px;
border-radius: 6px;
cursor: pointer;
font-size: 10.5px;
font-weight: 450;
line-height: 1.3;
color: rgba(255,255,255,.5);
transition: background .15s, color .15s;
margin-bottom: 0px;
white-space: nowrap;
}
.dsb-subitem:hover {
background: var(--d-sb-hover);
color: rgba(255,255,255,.88);
}
.dsb-subitem-icon {
font-size: 12px;
width: 18px;
text-align: center;
flex-shrink: 0;
}
.dsb-brand-icon {
width: 32px;
height: 32px;
min-width: 32px;
border-radius: 9px;
background: linear-gradient(135deg,var(--teal-light),var(--brand2));
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
flex-shrink: 0;
}
.dsb-brand-text {
flex: 1;
min-width: 0;
opacity: 0;
transition: opacity .18s;
white-space: nowrap;
}
#desktopSidebar.sb-open .dsb-brand-text { opacity: 1; }
.dsb-brand-name {
font-size: 12px;
font-weight: 800;
color: #fff;
line-height: 1.2;
}
.dsb-brand-sub {
font-size: 11px;
font-weight: 700;
color: rgba(255,255,255,.75);
text-transform: none;
letter-spacing: 0;
margin-top: 1px;
}
#desktopMain {
flex: 1;
min-width: 0;
padding: 26px 30px 48px;
background: var(--d-bg2);
transition: padding-left .28s cubic-bezier(.4,0,.2,1);
}
.content { padding: 0; }
#desktopMain::before {
content: '';
position: fixed;
inset: 0;
pointer-events: none;
background-image:
linear-gradient(rgba(14,124,145,.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(14,124,145,.03) 1px, transparent 1px);
background-size: 48px 48px;
z-index: -1;
}
.content { position: relative; }
.dash-cols {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 22px 24px;
align-items: start;
order: 2;
}
.dash-col-main > *:nth-child(1) { grid-column: 1 / -1; grid-row: 1; }
.dash-col-main > *:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
.dash-col-side > *:nth-child(3) { grid-column: 1 / 6;  grid-row: 3; }
.dash-col-side > *:nth-child(4) { grid-column: 6 / -1; grid-row: 3; }
.dash-col-side > *:nth-child(5) { grid-column: 6 / -1; grid-row: 4; }
.dash-col-side > *:nth-child(2) { grid-column: 6 / -1; grid-row: 2; align-self: end; }
#reviewToggle { grid-column: 1 / 6; grid-row: 2; align-self: end; }
#reviewToggle, #patientSearchBanner { height: 44px; box-sizing: border-box; }
#patientSearchBanner { height: 32px; padding: 5px 12px !important; }
#patientSearchBanner { align-items: center; }
.dash-tail-side {
grid-column: 1 / 6;
grid-row: 4 / 7;
display: flex;
flex-direction: column;
gap: 18px;
}
.dash-tail-finance {
grid-column: 6 / -1;
grid-row: 5;
display: flex;
flex-direction: column;
gap: 18px;
}
.patient-modules-wrap {
grid-column: 1 / 8;
grid-row: 3;
display: flex;
flex-direction: column;
gap: 14px;
}
.patient-modules-wrap .modules-grid.core-services-grid { grid-template-columns: repeat(3, 1fr) !important; }
.patient-modules-wrap .mod-card:nth-child(9) { grid-column: span 1 !important; }
.patient-modules-wrap .mod-top { padding: 9px 13px 7px !important; }
.patient-modules-wrap .mod-icon { width: 32px !important; height: 32px !important; font-size: 15px !important; }
.patient-modules-wrap .mod-icon-row { margin-bottom: 5px !important; }
.patient-modules-wrap .mst { padding: 6px 12px !important; }
.patient-modules-wrap .mst-val { font-size: 14px !important; }
.patient-modules-wrap .mod-btn { padding: 7px !important; font-size: 10.5px !important; }
.patient-modules-wrap .mod-card:nth-child(9) .mod-top { padding: 12px 16px 9px !important; }
.patient-modules-wrap .mod-card:nth-child(9) .mod-icon { width: 38px !important; height: 38px !important; font-size: 18px !important; }
.patient-modules-wrap .mod-card:nth-child(9) .mod-title { font-size: 14px !important; }
.patient-modules-wrap .mod-card:nth-child(9) .mst-val { font-size: 17px !important; }
.dash-tail-main {
grid-column: 1 / -1;
grid-row: 7;
display: flex;
flex-direction: column;
gap: 22px;
}
.dash-col-main > *, .dash-col-side > *, .dash-tail-main > *, .dash-tail-side > *, .dash-tail-finance > *, .patient-modules-wrap > * { margin-bottom: 0 !important; }
#reviewToggle, #patientSearchBanner { margin-top: -8px !important; margin-bottom: 0 !important; }
#reviewToggle { padding-bottom: 14px !important; }
#reviewToggle, #patientSearchBanner { margin-bottom: 8px !important; }
#patientSearchBanner { margin-bottom: 18px !important; }
.dash-cols::after {
content: '';
grid-column: 1 / -1;
grid-row: 2;
align-self: end;
height: 4px;
border-radius: 3px;
background: rgba(15,23,42,.22);
margin-bottom: 2px;
}
#pmSecTitle,
.modules-grid.core-services-grid {
grid-column: 1 / -1 !important;
}
.modules-grid.core-services-grid {
display: grid !important;
grid-template-columns: repeat(4, 1fr) !important;
gap: 16px;
}
.core-services-grid .mod-card:nth-child(9) { order: 1; grid-column: span 2; }
.core-services-grid .mod-card:nth-child(1) { order: 2; }
.core-services-grid .mod-card:nth-child(2) { order: 3; }
.core-services-grid .mod-card:nth-child(3) { order: 6; }
.core-services-grid .mod-card:nth-child(4) { order: 7; }
.core-services-grid .mod-card:nth-child(5) { order: 8; }
.core-services-grid .mod-card:nth-child(6) { order: 9; }
.core-services-grid .mod-card:nth-child(7) { order: 10; }
.core-services-grid .mod-card:nth-child(8) { order: 11; }
.core-services-grid .mod-card:nth-child(9) .mod-top { padding: 22px 22px 16px; }
.core-services-grid .mod-card:nth-child(9) .mod-icon { width: 54px; height: 54px; font-size: 26px; border-radius: 15px; }
.core-services-grid .mod-card:nth-child(9) .mod-title { font-size: 17px; }
.core-services-grid .mod-card:nth-child(9) .mod-sub { font-size: 11px; }
.core-services-grid .mod-card:nth-child(9) .mst-val { font-size: 26px; }
.ihc-chart {
display: flex;
align-items: flex-end;
justify-content: space-around;
gap: 12px;
height: 84px;
margin-top: 16px;
padding-top: 12px;
border-top: 1px solid rgba(255,255,255,.14);
}
.ihc-bar-col { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:6px; height:100%; flex:1; }
.ihc-bar-val { font-size:9.5px; font-weight:800; color:#fff; }
.ihc-bar {
width: 100%;
max-width: 34px;
min-height: 4px;
border-radius: 6px 6px 3px 3px;
background: linear-gradient(180deg,#fde68a,#f59e0b);
box-shadow: 0 2px 10px rgba(0,0,0,.25);
transition: height .6s cubic-bezier(.4,0,.2,1);
}
.ihc-bar-col span { font-size:9px; color:rgba(255,255,255,.55); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.welcome {
border-radius: 18px;
padding: 12px 20px;
margin-bottom: 6px;
background: linear-gradient(135deg, #0e7c91, #0a5c74) !important;
box-shadow: 0 12px 40px rgba(10,92,116,.3) !important;
border: none;
position: relative;
overflow: hidden;
}
.welcome::after {
content: '🏥';
position: absolute;
right: 24px;
bottom: -10px;
font-size: 80px;
opacity: .06;
pointer-events: none;
}
.welcome-name {
font-size: 18px;
color: #fff;
}
.welcome-greet { color: rgba(255,255,255,.65); font-size: 12px; }
.welcome-role  { color: rgba(255,255,255,.55); font-size: 11px; }
.welcome-avatar {
width: 42px; height: 42px; font-size: 17px;
background: linear-gradient(135deg,var(--teal-light),var(--brand2)) !important;
box-shadow: 0 4px 16px rgba(14,124,145,.3);
border: 2px solid rgba(255,255,255,.3) !important;
}
.sec-title {
font-size: 13.5px;
margin-bottom: 14px;
color: #0e7c91 !important;
font-weight: 800;
letter-spacing: .01em;
}
.sec-title span::before {
background: linear-gradient(to bottom, #5fd4cb, #0e7c91) !important;
}
.see-all { color: var(--teal) !important; }
.receipt-scroll:not([style*="display:none"]):not([style*="display: none"]) {
display: flex !important;
flex-wrap: wrap !important;
justify-content: center !important;
gap: 14px 10px;
margin-bottom: 22px;
}
.receipt-chip {
flex: 0 0 calc((100% - 60px) / 7) !important;
max-width: calc((100% - 60px) / 7) !important;
}
.receipt-chip {
background: var(--d-card) !important;
border: 1px solid var(--d-border) !important;
box-shadow: 0 2px 12px rgba(0,0,0,.25) !important;
transition: transform .18s, box-shadow .18s, border-color .18s;
border-radius: 14px !important;
}
.receipt-chip:hover {
transform: translateY(-3px);
border-color: rgba(14,124,145,.4) !important;
box-shadow: 0 8px 24px rgba(14,124,145,.2) !important;
}
.rchip-lbl { color: var(--d-text) !important; font-size: 10.5px !important; }
.stats-scroll {
display: grid;
grid-template-columns: repeat(4, 1fr);
overflow: visible;
gap: 14px;
padding-bottom: 0;
margin-bottom: 24px;
}
.stat-chip {
width: auto;
background: var(--d-card) !important;
border: 1px solid var(--d-border) !important;
box-shadow: 0 2px 14px rgba(0,0,0,.25) !important;
transition: transform .18s, box-shadow .18s;
padding: 16px 16px;
border-radius: 16px;
}
.stat-chip:hover {
transform: translateY(-3px);
box-shadow: 0 8px 28px rgba(14,124,145,.18) !important;
border-color: rgba(14,124,145,.3) !important;
}
.chip-val { font-size: 28px; color: var(--d-text); }
.chip-lbl { color: var(--d-muted) !important; }
.chip-icon { border-radius: 11px; }
.income-hero-card {
padding: 24px 28px;
border-radius: 18px;
}
.ihc-amount { font-size: 42px; }
.ihc-label { color: rgba(255,255,255,.5); }
.income-period-bar { flex-wrap: wrap; overflow: visible; gap: 8px; }
.ip-tab {
font-size: 12px; padding: 7px 18px;
background: var(--d-card) !important;
border-color: var(--d-border) !important;
color: var(--d-muted) !important;
}
.dept-income-item {
padding: 12px 16px;
background: var(--d-card) !important;
border: 1px solid var(--d-border) !important;
box-shadow: 0 1px 8px rgba(0,0,0,.06) !important;
transition: border-color .18s;
}
.dept-income-item:hover {
border-color: rgba(16,124,16,.3) !important;
}
.di-name { color: var(--d-text); }
.modules-grid {
grid-template-columns: repeat(3, 1fr) !important;
gap: 16px;
}
.mod-card {
border-radius: 18px;
background: var(--d-card) !important;
border: 1px solid var(--d-border) !important;
box-shadow: 0 2px 16px rgba(0,0,0,.25) !important;
transition: transform .18s, box-shadow .18s, border-color .2s;
}
.mod-card:hover {
transform: translateY(-3px);
box-shadow: 0 10px 36px rgba(14,124,145,.2) !important;
border-color: rgba(14,124,145,.35) !important;
}
.mod-top { padding: 18px 18px 12px; }
.mod-icon { width: 46px; height: 46px; font-size: 22px; border-radius: 13px; }
.mst-val { font-size: 22px; color: var(--d-text); }
.mst-lbl { color: var(--d-muted); }
.mod-title { font-size: 14px; color: var(--d-text); }
.mod-sub { color: var(--d-muted); }
.mod-divider { background: var(--d-border2); }
.mst { border-right-color: var(--d-border2) !important; }
.mod-btn {
background: linear-gradient(90deg, var(--teal-dark), var(--teal)) !important;
letter-spacing: .03em;
}
.mod-btn:hover { background: linear-gradient(90deg, var(--teal), var(--brand2)) !important; }
.patient-item {
background: var(--d-card) !important;
border: 1px solid var(--d-border) !important;
box-shadow: 0 1px 8px rgba(0,0,0,.2) !important;
transition: border-color .18s;
}
.patient-item:hover { border-color: rgba(14,124,145,.3) !important; }
.p-name { color: var(--d-text); }
.p-dept { color: var(--d-muted); }
.act-item {
background: var(--d-card) !important;
border: 1px solid var(--d-border) !important;
}
.act-title { color: var(--d-text); }
.act-desc, .act-time { color: var(--d-muted); }
div[onclick="openPatientModule()"] {
border-radius: 14px !important;
}
.cmodal-overlay,
.hmodal-overlay,
.efmodal-overlay { align-items: center !important; padding: 24px; }
.cmodal, .hmodal, .efmodal {
border-radius: 22px !important;
max-width: 760px;
margin: 0 auto;
max-height: 74vh;
background: var(--d-card) !important;
border: 1px solid var(--d-border) !important;
box-shadow: 0 24px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(14,124,145,.2) !important;
}
.cmodal-title, .hmodal-title, .efmodal-title { color: var(--d-text) !important; }
.rmodal-overlay,
.ob-modal-overlay,
#patBillOverlay,
#staffOverlay,
#attOverlay,
#rcptEditOverlay,
#auditLogOverlay,
#userMgmtOverlay,
#rcptViewOverlay,
#rcptSearchOverlay { align-items: center !important; padding: 24px; }
.rmodal, .ob-modal,
#patBillModal, #staffModal, #attModal,
#rcptEditSheet, #auditLogOverlay > div, #userMgmtModal,
#rcptViewOverlay > div, #rcptSearchOverlay > div {
border-radius: 22px !important;
max-width: 640px;
margin: 0 auto;
max-height: 88vh !important;
box-shadow: 0 24px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(14,124,145,.15) !important;
}
.rmodal { max-width: 704px !important; }
.rmodal-drag { display: none !important; }
.rmodal { padding-bottom: 0 !important; }
.rmodal .wc-bar,
#rcptSearchOverlay .wc-bar,
#patientReportOverlay .wc-bar {
position: absolute !important;
top: 10px; right: 10px; left: auto;
padding: 4px !important;
background: transparent !important;
z-index: 70;
}
.rmodal .wc-title-chip,
#rcptSearchOverlay .wc-title-chip,
#patientReportOverlay .wc-title-chip { display: none; }
#auditLogOverlay > div { max-height: 88vh !important; }
.rform input, .rform select,
.c-field input, .c-field select,
.hadd-field input, .hadd-field select,
.ef-form input, .ef-form select, .ef-form textarea,
.hadd-form input, .hadd-form select {
background-color: var(--d-bg3) !important;
border-color: var(--d-border) !important;
color: var(--d-text) !important;
font-size: 13.5px !important;
padding: 11px 14px !important;
}
.rform select, .c-field select, .hadd-field select,
.ef-form select, .hadd-form select {
appearance: none !important;
-webkit-appearance: none !important;
background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%235E5C59%22 stroke-width=%222%22%3E%3Cpolyline points=%226 9 12 15 18 9%22%3E%3C/polyline%3E%3C/svg%3E') !important;
background-repeat: no-repeat !important;
background-position: right 12px center !important;
padding-right: 32px !important;
}
.rmodal .rform input, .rmodal .rform select {
font-size: 11px !important;
line-height: 1.1 !important;
padding: 7px 10px !important;
margin-bottom: 6px !important;
background-color: #fff !important;
border-color: #DCE6E5 !important;
color: #132B2B !important;
}
.rmodal .rform input[readonly] {
background-color: #fff !important;
color: #0E5E5C !important;
}
.rmodal .rform input:focus, .rmodal .rform select:focus {
border-color: #0E5E5C !important;
box-shadow: 0 0 0 3px rgba(14,94,92,.18) !important;
}
.rmodal .rform select {
padding-right: 26px !important;
background-position: right 8px center !important;
}
.rform input:focus, .rform select:focus,
.c-field input:focus, .c-field select:focus,
.hadd-field input:focus, .hadd-field select:focus {
border-color: var(--teal) !important;
box-shadow: 0 0 0 3px rgba(14,124,145,.18) !important;
}
.rform label, .c-field label, .hadd-field label,
.ef-form-title, .rform-title { color: var(--d-muted) !important; }
.rmodal .rform label { color: #4B6363 !important; font-size: 9px !important; text-transform: none !important; letter-spacing: 0 !important; }
.rmodal .rform-title { color: #fff !important; }
.rmodal .rform-subtitle { color: #8FC9C2 !important; }
.c-form-title, .hadd-title { color: var(--teal-dark) !important; }
.c-form-card, .hadd-form { background: var(--d-bg3) !important; border-color: var(--d-border) !important; }
.cpanel .c-stat { background: var(--d-bg3) !important; border-color: var(--d-border) !important; }
.c-stat-val, .c-stat-lbl { color: var(--d-text) !important; }
.cmodal-tabs { background: var(--d-bg1) !important; }
.cmodal-tab { color: var(--d-muted) !important; }
.cmodal-tab.active { background: var(--d-card2) !important; color: var(--teal-dark) !important; }
.head-item, .consultant-card, .ef-item, .um-user-card {
background: var(--d-bg3) !important;
border-color: var(--d-border) !important;
}
.eftabs { background: var(--d-bg1) !important; }
.eftab { color: var(--d-muted) !important; }
.eftab.active { background: var(--d-card2) !important; color: var(--d-text) !important; }
#patBillPrintOverlay { align-items: center !important; padding: 20px; }
#patBillPrintContent { max-height: 88vh !important; background: #fff !important; }
.bottom-nav { display: none !important; }
#drawerOverlay { display: none !important; }
}
@media (min-width: 1100px) {
.modules-grid  { grid-template-columns: repeat(4, 1fr) !important; }
.stats-scroll  { grid-template-columns: repeat(5, 1fr); }
}
@media (min-width: 768px) {
.dash-col-side .modules-grid {
grid-template-columns: repeat(2, 1fr) !important;
}
}
@media (min-width: 768px) and (max-width: 899px) {
.dash-col-side .modules-grid {
grid-template-columns: 1fr !important;
}
}
@media (min-width: 1400px) {
#desktopShell  { max-width: 1600px; }
#desktopMain   { padding: 30px 40px 56px; }
.modules-grid  { gap: 18px; }
}
input[type="text"],
input[type="date"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
textarea {
border: 2.5px solid var(--border) !important;
border-radius: 12px !important;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
font-size: 14px !important;
}
input[type="text"]:focus,
input[type="date"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
border-color: var(--teal) !important;
box-shadow: 0 0 0 4px rgba(0, 120, 212, 0.12) !important;
outline: none !important;
}
input[type="text"]:hover,
input[type="date"]:hover,
input[type="number"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
select:hover,
textarea:hover {
border-color: var(--teal-dark) !important;
background-color: rgba(0, 120, 212, 0.02) !important;
}
.patient-item,
.stat-chip,
.mod-card,
.department-card {
border: 2px solid var(--border);
transition: all 0.25s ease !important;
}
.patient-item:hover,
.stat-chip:hover,
.mod-card:hover,
.department-card:hover {
border-color: var(--teal) !important;
box-shadow: 0 6px 20px rgba(0, 120, 212, 0.15) !important;
transform: translateY(-2px) !important;
background: linear-gradient(135deg, rgba(255,255,255,1), rgba(14,124,145,0.03)) !important;
}
button, .btn {
transition: all 0.3s ease !important;
border-radius: 12px !important;
}
button:hover, .btn:hover {
transform: translateY(-1px) !important;
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
}
button:active, .btn:active {
transform: translateY(0) !important;
}
.c-teal { background: linear-gradient(135deg, #E7F4FB, #D5E9F5) !important; }
.c-green { background: linear-gradient(135deg, #E7F3E7, #D5E9D5) !important; }
.c-amber { background: linear-gradient(135deg, #FFF4CE, #FFF0B8) !important; }
.c-rose { background: linear-gradient(135deg, #FFEBEE, #FFE0E3) !important; }
.border-teal { border-color: var(--teal) !important; }
.border-green { border-color: var(--green) !important; }
.modal, .overlay {
border-radius: 20px !important;
backdrop-filter: blur(8px);
}
table {
border-collapse: separate !important;
border-spacing: 0 !important;
}
th {
background: linear-gradient(135deg, rgba(14,124,145,0.08), rgba(23,176,240,0.05)) !important;
border: 2px solid var(--border) !important;
font-weight: 700 !important;
color: var(--teal-dark) !important;
}
td {
border: 1px solid var(--border) !important;
padding: 12px 14px !important;
}
tr:hover {
background-color: rgba(14,124,145,0.04) !important;
}
.sec-title {
color: #0e7c91 !important;
font-weight: 700 !important;
font-size: 15px !important;
}
.badge, .mod-badge {
border-radius: 8px !important;
font-weight: 700 !important;
transition: all 0.2s ease !important;
}
.badge:hover, .mod-badge:hover {
transform: scale(1.05) !important;
filter: brightness(1.1) !important;
}
@media (min-width: 768px) {
.modules-grid { gap: 16px !important; }
.mod-card { border: 2.5px solid var(--border) !important; }
}
@media (min-width: 1024px) {
input[type="text"],
input[type="date"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
textarea {
padding: 11px 16px !important;
font-size: 14px !important;
}
.modules-grid { gap: 18px !important; }
.stat-chip { padding: 14px 16px !important; }
}
.chip-icon, .mod-icon, .di-icon {
border: 2px solid var(--border) !important;
background: linear-gradient(135deg, rgba(14,124,145,0.08), rgba(14,124,145,0.04)) !important;
transition: all 0.2s ease !important;
}
.chip-icon:hover, .mod-icon:hover, .di-icon:hover {
border-color: var(--teal) !important;
background: linear-gradient(135deg, rgba(14,124,145,0.15), rgba(14,124,145,0.08)) !important;
}
body{ letter-spacing:-.005em; }
h1,h2,h3,h4,h5,h6{ letter-spacing:-.01em; color:var(--text); }
::selection{ background:rgba(14,124,145,.18); }
.header{
background:linear-gradient(120deg,#0a5c74 0%,#0e7c91 55%,#2aa8a0 100%) !important;
box-shadow:0 2px 20px rgba(10,92,116,.28) !important;
}
.header-name{ font-weight:700 !important; letter-spacing:-.02em !important; }
.logo-wrap{
background:linear-gradient(135deg,#5FD4CB,#2AA8A0) !important;
box-shadow:0 4px 14px rgba(42,168,160,.35) !important;
}
.hbtn{ border-radius:12px !important; }
.stat-chip{
border-radius:var(--radius-md) !important;
border:1px solid var(--border) !important;
box-shadow:var(--shadow-sm) !important;
background:linear-gradient(160deg,#FFFFFF,#FBFDFE) !important;
}
.stat-chip:hover{
border-color:rgba(14,124,145,.35) !important;
box-shadow:var(--shadow-md) !important;
transform:translateY(-2px) !important;
}
.mod-card{
border-radius:var(--radius-md) !important;
border:1px solid var(--border) !important;
box-shadow:var(--shadow-sm) !important;
background:var(--card) !important;
}
.mod-card:hover{
border-color:rgba(14,124,145,.4) !important;
box-shadow:var(--shadow-md) !important;
transform:translateY(-3px) !important;
background:linear-gradient(160deg,#FFFFFF,#F3FAF9) !important;
}
.patient-item,.department-card{
border-radius:var(--radius-md) !important;
border:1px solid var(--border) !important;
box-shadow:var(--shadow-sm) !important;
}
.patient-item:hover,.department-card:hover{
border-color:rgba(14,124,145,.4) !important;
box-shadow:var(--shadow-md) !important;
transform:translateY(-2px) !important;
background:linear-gradient(160deg,#FFFFFF,#F3FAF9) !important;
}
.sec-title{ font-weight:700 !important; letter-spacing:-.01em !important; }
.sec-title .see-all{ color:var(--teal) !important; font-weight:600 !important; }
.status-pill{
border-radius:99px !important;
font-weight:700 !important;
letter-spacing:.01em !important;
padding:3px 10px !important;
}
button, .btn{
border-radius:11px !important;
font-weight:600 !important;
letter-spacing:.005em !important;
}
button:hover, .btn:hover{
box-shadow:0 6px 18px rgba(14,124,145,.16) !important;
}
input, select, textarea{
border-radius:10px !important;
border-color:var(--border) !important;
transition:border-color .18s, box-shadow .18s !important;
}
input:focus, select:focus, textarea:focus{
border-color:var(--teal) !important;
box-shadow:0 0 0 3px rgba(14,124,145,.14) !important;
outline:none !important;
}
table{ border-radius:var(--radius-sm) !important; overflow:hidden !important; }
th{
background:linear-gradient(135deg,rgba(14,124,145,.09),rgba(42,168,160,.06)) !important;
border:1px solid var(--border) !important;
color:var(--teal-dark) !important;
font-weight:700 !important;
letter-spacing:.01em !important;
}
td{
border:1px solid var(--border) !important;
padding:11px 14px !important;
}
tr:hover{ background-color:rgba(14,124,145,.045) !important; }
.modal, .overlay{
border-radius:var(--radius-lg) !important;
backdrop-filter:blur(8px);
}
.c-teal{ background:linear-gradient(135deg,#E6F3F4,#D6EAEC) !important; }
.c-green{ background:linear-gradient(135deg,#E5F4EE,#D3EBE1) !important; }
.c-amber{ background:linear-gradient(135deg,#FBF0DC,#F7E6C4) !important; }
.c-rose{ background:linear-gradient(135deg,#FBE9EA,#F6D8DA) !important; }
.border-teal{ border-color:var(--teal) !important; }
.border-green{ border-color:var(--green) !important; }
.chip-icon,.mod-icon,.di-icon{
border-radius:12px !important;
}
.bottom-nav{ box-shadow:0 -4px 24px rgba(15,42,58,.08) !important; }
.bnav-item.active::after{
background:linear-gradient(to right,#5FD4CB,#2AA8A0) !important;
}

.wc-bar{display:flex;align-items:center;gap:6px;justify-content:space-between;padding:14px 16px;position:relative;z-index:60;flex-shrink:0;background:linear-gradient(135deg,#0a5c74,#0e7c91);border-radius:22px 22px 0 0;margin-bottom:10px}
.wc-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}
.wc-title-chip{font-size:13.5px;font-weight:800;color:#fff;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.wc-btn{width:26px;height:26px;border:none;border-radius:7px;background:rgba(255,255,255,.15);color:#fff;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .1s;font-family:inherit;padding:0}
.wc-btn:hover{background:rgba(255,255,255,.3)}
.wc-btn:active{transform:scale(.9)}
.wc-min-btn:hover{background:rgba(255,255,255,.3)}
.wc-max-btn:hover{background:rgba(255,255,255,.3)}
.wc-close-btn{color:#fff;background:rgba(255,255,255,.15)}
.wc-close-btn:hover{background:#dc2626}
.wc-body > .cmodal-header,
.wc-body > .efmodal-header,
.wc-body > .hmodal-header,
.wc-body > .efmodal-title,
.wc-body > .cmodal-title,
.wc-body > .hmodal-title,
.wc-body > .mir-titlebar,
.wc-body .cmodal-drag,
.wc-body .efmodal-drag,
.wc-body .hmodal-drag { display:none !important; }
.wc-max{position:fixed !important;top:16px !important;left:16px !important;right:16px !important;bottom:16px !important;width:auto !important;height:auto !important;max-width:none !important;max-height:none !important;margin:0 !important;border-radius:14px !important;overflow:auto !important;transform:none !important}
.wc-min{position:fixed !important;top:auto !important;left:auto !important;bottom:16px !important;right:16px !important;width:230px !important;height:auto !important;max-width:230px !important;max-height:none !important;border-radius:12px !important;overflow:hidden !important;box-shadow:0 10px 30px rgba(0,0,0,.3) !important;margin:0 !important;transform:none !important}
.wc-min .wc-body{display:none !important}
.wc-min .wc-bar{padding:9px 14px;margin-bottom:0}
.wc-backdrop-passthrough{background:transparent !important;pointer-events:none !important}
.wc-backdrop-passthrough > *{pointer-events:auto !important}
