:root{--sidebar-width:260px}.auth-body{background:linear-gradient(135deg,#edf8f8,#f8fafc);min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-card{width:min(440px,100%);background:#fff;border-radius:1.25rem;padding:2.25rem;box-shadow:0 20px 60px rgba(15,23,42,.12)}.auth-icon,.brand-mark{display:inline-grid;place-items:center;background:var(--hospital-primary);color:#fff;border-radius:1rem}.auth-icon{width:60px;height:60px;font-size:1.7rem}.sidebar{width:var(--sidebar-width);min-height:100vh;background:#102a2e;color:#d8ebed;padding:1.25rem;position:sticky;top:0}.brand{display:flex;align-items:center;gap:.8rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem}.brand-mark{width:40px;height:40px}.sidebar nav a{display:flex;gap:.8rem;align-items:center;color:#bcd1d4;text-decoration:none;padding:.75rem .9rem;border-radius:.65rem;margin:.2rem 0}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.sidebar .submenu{margin:.15rem 0 .55rem 1.25rem;padding-left:.55rem;border-left:1px solid rgba(255,255,255,.16)}.sidebar .submenu a{font-size:.88rem;padding:.5rem .7rem}.sidebar .submenu a i{font-size:.65rem}.topbar{height:68px;border-bottom:1px solid #e9ecef;background:#fff;display:flex;align-items:center;padding:0 1.5rem}.content{min-width:0;background:#f4f7f8;min-height:100vh}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.page-heading h1{font-size:1.75rem;margin:0}.eyebrow{text-transform:uppercase;color:var(--hospital-primary);letter-spacing:.12em;font-size:.72rem;font-weight:700;margin:0}.card{border:1px solid #e6ecee;border-radius:.85rem;box-shadow:0 2px 9px rgba(15,23,42,.03)}.kpi-card strong{display:block;font-size:1.65rem;color:#173d42;margin-top:.5rem}.kpi-card span{color:#6c757d;font-size:.8rem}.btn-primary{--bs-btn-bg:var(--hospital-primary);--bs-btn-border-color:var(--hospital-primary)}th{text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;color:#6c757d}dt{color:#6c757d;font-size:.8rem}dd{font-weight:600}@media(max-width:900px){.sidebar{width:76px;padding:.8rem}.sidebar a span,.sidebar nav a{font-size:0}.sidebar nav a i{font-size:1.15rem}.sidebar .submenu{display:none}.content{width:calc(100% - 76px)}}@media print{body{background:#fff}.content,main{background:#fff!important;padding:0!important}.card{box-shadow:none;border-color:#999}.page-heading .btn{display:none}.print-document{font-size:11pt}}
.management-page-tabs{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 .7rem}.management-page-tab{display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.15rem .9rem;color:#8a8a8a;text-decoration:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:400;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.management-page-tab i{font-size:1.25rem;line-height:1;color:inherit}.management-page-tab:hover{color:#4d4d4d;background:transparent}.management-page-tab.active{color:#202124;border-bottom-color:#409eff;background:transparent}
.profile-menu-trigger{display:flex;align-items:center;gap:.65rem;border:0;background:transparent;color:#34464a;padding:.35rem .45rem;border-radius:.75rem}.profile-menu-trigger:hover,.profile-menu-trigger[aria-expanded="true"]{background:#eef3f4}.profile-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--hospital-primary);color:#fff;font-weight:700}.profile-menu-name{font-size:.9rem;font-weight:600}.profile-dropdown{min-width:230px;padding:.4rem}.profile-dropdown .dropdown-item{display:flex;align-items:center;gap:.7rem;border-radius:.45rem;padding:.65rem .75rem}.profile-dropdown form{margin:0}
.patient-care-tabs{background:#fff;border-bottom:1px solid #e5e7eb}.patient-care-tab{display:inline-flex;align-items:center;gap:.65rem;padding:1rem 1.4rem .9rem;color:#7a8588;text-decoration:none;border-bottom:3px solid transparent;font-size:1rem}.patient-care-tab:hover{color:#34464a}.patient-care-tab.active{color:#202124;border-bottom-color:#409eff}.patient-care-tab .badge{font-size:.7rem}
.kpi-subtext{display:block;margin-top:.3rem;text-align:right;color:#34464a;font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}
.appointment-patient-results{position:absolute;z-index:1050;left:calc(var(--bs-gutter-x)*.5);right:calc(var(--bs-gutter-x)*.5);margin-top:.15rem;max-height:280px;overflow-y:auto;box-shadow:0 12px 30px rgba(15,23,42,.15)}.appointment-stats strong{color:#173d42;font-variant-numeric:tabular-nums}
.appointment-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:.55rem}.appointment-slot-grid .btn{font-variant-numeric:tabular-nums}.appointment-slot-grid .btn:disabled{opacity:.48;text-decoration:line-through}
.appointment-form-section{position:relative;padding-bottom:1rem;border-bottom:1px solid #e7edef}.appointment-form-section>.row{align-items:flex-start}.appointment-remarks-section{border-bottom:0;padding-bottom:0}.appointment-lookup-section{z-index:2}@media(max-width:767.98px){.appointment-form-section{padding-bottom:.85rem}.appointment-form-section .pt-md-4{padding-top:0!important}}
.dashboard-heading{align-items:flex-end}.dashboard-kpis .kpi-card{overflow:hidden}.dashboard-kpis .card-body{display:flex;min-height:118px;flex-direction:column;justify-content:space-between;padding:1rem 1.1rem}.kpi-label{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.kpi-label span{font-size:.76rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase;color:#6b7b80}.kpi-label i{font-size:1.15rem;color:var(--hospital-primary);opacity:.8}.kpi-card .kpi-value{display:block;margin-top:1rem;text-align:right;font-size:1.55rem;line-height:1.1;color:#173d42;font-variant-numeric:tabular-nums}.analytics-card{overflow:hidden}.analytics-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid #edf1f2}.analytics-header h2{margin:0;font-size:1.05rem;color:#173d42}.analytics-header p{margin:.25rem 0 0;color:#718085;font-size:.8rem}.analytics-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#edf7f7;color:var(--hospital-primary);font-size:1.1rem}.analytics-card .card-body{padding:1rem 1.15rem}.chart-legend{display:flex;justify-content:flex-end;gap:1.15rem;margin-bottom:.35rem;color:#68777c;font-size:.75rem}.chart-legend span{display:inline-flex;align-items:center;gap:.4rem}.legend-bar{width:14px;height:9px;border-radius:2px;background:#4f86c6}.legend-bar.ipd{background:#7c3aed}.legend-bar.payments{background:var(--hospital-primary)}.legend-line{width:16px;height:3px;border-radius:2px;background:var(--hospital-primary);position:relative}.legend-line:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;border:2px solid var(--hospital-primary);left:5px;top:-2px}.chart-frame{height:250px;min-width:0}.chart-frame canvas{display:block;max-width:100%}.analytics-table-wrap{border-top:1px solid #edf1f2}.analytics-table{font-variant-numeric:tabular-nums}.analytics-table th,.analytics-table td{padding:.58rem 1.15rem}.analytics-table tbody tr:last-child td{border-bottom:0}.payment-mode-body{display:grid;place-items:center}.donut-frame{position:relative;width:100%;height:250px}.donut-frame canvas{display:block;max-width:100%}.donut-total{position:absolute;left:50%;top:50%;width:130px;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.donut-total small{display:block;color:#718085;font-size:.68rem}.donut-total strong{display:block;margin-top:.2rem;color:#173d42;font-size:1rem;font-variant-numeric:tabular-nums}@media(max-width:575px){.dashboard-heading{align-items:flex-start;gap:1rem}.dashboard-heading .badge{display:none}.dashboard-kpis .card-body{min-height:100px}.analytics-table th,.analytics-table td{padding:.55rem .7rem}}
.kpi-card-link{color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.kpi-card-link:hover,.kpi-card-link:focus-visible{transform:translateY(-2px);border-color:var(--hospital-primary);box-shadow:0 8px 24px rgba(15,23,42,.1)}.kpi-card-link:focus-visible{outline:3px solid rgba(8,127,140,.2);outline-offset:2px}.kpi-card-link:hover .kpi-label i{opacity:1}
.brand{min-height:44px}.brand-mark{width:56px;height:42px;flex:0 0 56px}.brand-mark.has-logo{overflow:hidden;border-radius:.55rem;background:#fff;padding:4px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-name{line-height:1.25;overflow-wrap:anywhere}@media(max-width:900px){.brand-mark{width:44px;height:40px;flex-basis:44px}.brand{justify-content:center;gap:0}}
@media(min-width:901px){.brand-mark.has-logo.logo-square{width:56px;height:56px;flex-basis:56px;border-radius:.75rem}.brand-mark.has-logo.logo-wide{width:80px;height:36px;flex-basis:80px}.brand-name{min-width:0;flex:1}}
.sidebar{background:var(--hospital-sidebar);color:var(--hospital-sidebar-text)}.brand{color:var(--hospital-sidebar-text)}.sidebar nav a{color:color-mix(in srgb,var(--hospital-sidebar-text) 78%,transparent)}.sidebar nav a:hover,.sidebar nav a.active{color:var(--hospital-sidebar-text);background:color-mix(in srgb,var(--hospital-primary) 38%,transparent)}body,.content{background:var(--hospital-page-background)}.auth-body{background:linear-gradient(135deg,var(--hospital-page-background),var(--hospital-surface))}.topbar,.card,.auth-card,.management-page-tabs,.patient-care-tabs{background-color:var(--hospital-surface)}.content,.card,.auth-card{color:var(--hospital-theme-text)}.content a:not(.btn):not(.dropdown-item):not(.management-page-tab):not(.patient-care-tab){color:var(--hospital-primary)}.kpi-card strong,.kpi-card .kpi-value,.analytics-header h2,.donut-total strong{color:var(--hospital-theme-text)}.kpi-card span,.analytics-header p,.chart-legend,.donut-total small{color:var(--hospital-theme-muted)}.legend-bar.ipd,.text-bg-secondary{background-color:var(--hospital-secondary)!important}.btn-primary{--bs-btn-bg:var(--hospital-primary);--bs-btn-border-color:var(--hospital-primary);--bs-btn-hover-bg:color-mix(in srgb,var(--hospital-primary) 82%,#000);--bs-btn-hover-border-color:color-mix(in srgb,var(--hospital-primary) 82%,#000)}.btn-outline-primary{--bs-btn-color:var(--hospital-primary);--bs-btn-border-color:var(--hospital-primary);--bs-btn-hover-bg:var(--hospital-primary);--bs-btn-hover-border-color:var(--hospital-primary)}[data-bs-theme=dark] .table{--bs-table-bg:var(--hospital-surface)}[data-bs-theme=dark] .text-bg-light{color:#e5e7eb!important;background-color:color-mix(in srgb,var(--hospital-surface) 70%,#fff 12%)!important}
.auth-icon.has-logo{width:min(220px,75%);height:76px;margin-inline:auto;padding:.35rem 1rem;border-radius:.85rem;background:transparent}.auth-icon.has-logo img{display:block;width:100%;height:100%;object-fit:contain}.auth-card h1{color:var(--hospital-theme-text)}
