/*
 * Central H.I.S portal theme
 * Loaded by materials/header-links-clean.php for every participating module.
 * New pages can use portal-heading, portal-card, portal-tab, portal-filter,
 * portal-table, portal-badge and portal-action-icon. Existing Medical Records
 * patient-* classes are kept as compatible aliases.
 */
:root {
    --his-navy:#102f55;
    --his-navy-dark:#0b1734;
    --his-blue:#1393d2;
    --his-green:#18b57d;
    --his-text:#243e58;
    --his-border:#d9e9ef;
}
.horizontal-logo svg { display:none !important; }
body { padding-bottom:62px !important; color:#0f2a4d; font-family:'Segoe UI',Arial,Helvetica,sans-serif !important; }
#main-container {
    min-height:100vh;
    background:radial-gradient(circle at 10% 10%,rgba(197,239,255,.95),transparent 32%),radial-gradient(circle at 90% 15%,rgba(188,245,212,.95),transparent 30%),radial-gradient(circle at 45% 90%,rgba(202,255,239,.8),transparent 34%),linear-gradient(135deg,#f6fdff 0%,#dff5ff 45%,#dffbea 100%) !important;
    animation:none !important;
}
#header-fix {
    min-height:70px; background:linear-gradient(90deg,rgba(247,253,255,.97),rgba(238,252,248,.97)) !important;
    border-top:4px solid var(--his-navy); border-bottom:1px solid rgba(31,132,163,.16) !important;
    box-shadow:0 9px 28px rgba(31,95,120,.11) !important; backdrop-filter:blur(14px);
}
#header-fix .site-width { max-width:none !important; padding:0 !important; }
#header-fix nav { min-height:66px; gap:0; }
#header-fix .logo-bar {
    width:250px; min-width:250px; flex:0 0 250px; padding:0 18px; display:flex; align-items:center;
    background:linear-gradient(135deg,var(--his-navy-dark),#15365a) !important; border-radius:0 !important;
}
#header-fix .horizontal-logo { display:flex; align-items:center; width:100%; color:#fff !important; }
#header-fix .horizontal-logo::before {
    content:""; display:block; width:40px; height:40px; flex:0 0 40px;
    background:transparent url("../../image/idealogic-mark.png") center/contain no-repeat;
    filter:drop-shadow(0 3px 6px rgba(0,0,0,.18));
}
#header-fix .horizontal-logo span { color:#fff !important; font-size:15px !important; letter-spacing:.08em; }
#header-fix .collapse-menu-bar { margin-left:12px; }
#header-fix .collapse-menu-bar a { width:42px; height:42px; display:flex; align-items:center; justify-content:center; color:#0f6985; background:#e7f7fa; border:1px solid #cae8ee; border-radius:12px; }
#header-fix .search-form { flex:1 1 auto; max-width:760px; }
#header-fix .bg-search { min-height:42px; color:#284764 !important; background:#fff !important; border:1px solid #cfe3e9 !important; border-radius:13px !important; }
.portal-account-menu { height:100%; }
.portal-account-trigger { display:flex !important; align-items:center; justify-content:center; height:100%; padding:0 12px !important; border:0 !important; }
.portal-account-trigger-icon { display:inline-flex; align-items:center; justify-content:center; width:39px; height:39px; color:#fff; background:linear-gradient(135deg,var(--his-blue),var(--his-green)); border:1px solid rgba(255,255,255,.75); border-radius:12px; box-shadow:0 8px 18px rgba(24,154,169,.18); }
.portal-account-trigger-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.portal-account-dropdown { min-width:230px !important; margin-top:7px !important; overflow:hidden; background:#fff !important; border:1px solid #d5e6eb !important; border-radius:14px !important; box-shadow:0 18px 42px rgba(18,59,86,.19) !important; }
.portal-account-dropdown .dropdown-item { align-items:center !important; gap:10px; min-height:43px; padding:10px 13px !important; color:#334b62; font-size:13px; }
.portal-account-dropdown .dropdown-item:hover { color:#0e7e8c; background:#edf9f8; }
.portal-account-dropdown .dropdown-item.text-danger { color:#e6475b !important; }
.portal-account-dropdown .dropdown-item.text-danger:hover { background:#fff0f2; }
.portal-account-dropdown .dropdown-divider { margin:0; border-color:#dce8ec; }
.portal-account-item-icon { flex:0 0 19px; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.portal-heading,.patient-list-heading {
    position:relative; overflow:hidden; padding:22px 26px !important; background:rgba(255,255,255,.88) !important;
    border:1px solid rgba(38,145,170,.16) !important; border-radius:24px !important;
    box-shadow:0 16px 38px rgba(39,111,139,.11) !important;
}
.portal-heading::before,.patient-list-heading::before { content:''; position:absolute; inset:0 0 auto; height:6px; background:linear-gradient(90deg,var(--his-blue),var(--his-green)); }
.portal-heading h4,.patient-list-heading h4 { color:var(--his-navy) !important; font-size:27px !important; font-weight:800 !important; letter-spacing:-.4px; }
.portal-card,.patient-list-card {
    overflow:hidden; background:rgba(255,255,255,.92) !important; border:1px solid rgba(38,145,170,.16) !important;
    border-radius:24px !important; box-shadow:0 18px 45px rgba(39,111,139,.12) !important; backdrop-filter:blur(12px);
}
.portal-card > .card-header,.patient-list-card > .card-header { padding:24px !important; background:rgba(250,254,255,.88) !important; border-bottom:1px solid var(--his-border) !important; }
.portal-tab,.patient-tab {
    display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 18px !important; color:#173451 !important;
    font-size:13px; font-weight:800; border:1px solid #bfd9e3 !important; border-radius:14px !important; background:#fff !important;
}
.portal-tab:hover,.patient-tab:hover { color:#0f6f84 !important; text-decoration:none; transform:translateY(-1px); box-shadow:0 8px 18px rgba(28,136,160,.14); }
.portal-tab.active,.patient-tab.active { color:#fff !important; border-color:transparent !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; box-shadow:0 12px 25px rgba(24,154,169,.22); }
.portal-tab.active.text-dark { color:#fff !important; }
.portal-tab .badge,.patient-tab .badge { min-width:25px; padding:5px 7px; color:#123455; background:#fff; border-radius:9px; }
.portal-filter label,.patient-filter label { color:#2e4d68 !important; font-size:12px !important; font-weight:800; text-transform:uppercase; letter-spacing:.35px; }
.portal-filter .form-control,.patient-filter .form-control { min-height:46px; color:#173451; border:1px solid #cfdfe7 !important; border-radius:13px !important; background:rgba(255,255,255,.97) !important; }
.portal-filter .btn,.patient-filter .btn { min-height:46px; border-radius:13px !important; font-weight:700; }
.portal-filter .btn-primary,.patient-filter .btn-primary { border:0 !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; box-shadow:0 10px 22px rgba(24,154,169,.2); }
.portal-table,.patient-table { margin-bottom:0 !important; }
.portal-table thead th,.patient-table thead th { padding:14px 13px !important; color:#fff !important; background:#173451 !important; border-color:#2b4964 !important; font-size:12px; font-weight:800; letter-spacing:.35px; white-space:nowrap; }
.portal-table tbody td,.patient-table tbody td { padding:13px !important; color:var(--his-text) !important; font-size:13px; vertical-align:middle !important; border-color:#e1ebef !important; }
.portal-table.table-striped tbody tr:nth-of-type(odd),.portal-table tbody tr:nth-child(odd),.patient-table.table-striped tbody tr:nth-of-type(odd),.patient-table tbody tr:nth-child(odd) { background:rgba(255,255,255,.82) !important; }
.portal-table.table-striped tbody tr:nth-of-type(even),.portal-table tbody tr:nth-child(even),.patient-table.table-striped tbody tr:nth-of-type(even),.patient-table tbody tr:nth-child(even) { background:rgba(231,248,250,.52) !important; }
.portal-table tbody tr:hover,.patient-table tbody tr:hover { background:rgba(204,244,234,.6) !important; }
.portal-badge,.membership-badge { display:inline-flex !important; align-items:center; padding:6px 10px !important; color:#fff !important; font-size:11px !important; font-weight:800 !important; border-radius:10px !important; background:#173f7a !important; }
.portal-badge.muted,.membership-badge.non-phic { background:#697b8a !important; }
.portal-action-icon,.view-patient-icon { display:inline-flex !important; align-items:center; justify-content:center; width:40px !important; height:40px !important; color:#fff !important; border-radius:12px !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; box-shadow:0 8px 18px rgba(24,154,169,.2) !important; }
.portal-action-icon:hover,.view-patient-icon:hover { color:#fff !important; transform:translateY(-2px); filter:brightness(1.04); }
.portal-action-icon svg,.view-patient-icon svg { width:21px !important; height:21px !important; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }

.sidebar { background:linear-gradient(180deg,#0b1734 0%,#102b4e 58%,#0b6f78 100%) !important; border-right:0 !important; box-shadow:10px 0 28px rgba(14,42,73,.13); }
.sidebar .site-width { padding:14px 10px !important; }
.sidebar-menu { padding:0 !important; }
.sidebar-menu > li { margin:0 0 10px !important; }
.sidebar-menu li a { border-radius:10px !important; color:#d9f4f2 !important; font-weight:600; transition:background .2s ease,color .2s ease,transform .2s ease; }
.sidebar-menu li a:hover,.sidebar-menu li.active > a { color:#fff !important; background:linear-gradient(135deg,rgba(23,166,194,.82),rgba(24,184,137,.82)) !important; transform:translateX(2px); }
.sidebar-menu > li > a { padding:12px 13px !important; background:rgba(255,255,255,.07); text-transform:uppercase; letter-spacing:.035em; }
.sidebar-menu > li ul { margin-top:6px !important; padding:5px 0 3px 10px !important; background:transparent !important; }
.sidebar-menu > li ul li a { padding:10px 12px !important; }
.sidebar-menu i { color:#37dbc0 !important; }
.sidebar-menu li a:hover i,.sidebar-menu li.active > a i { color:#fff !important; }

/* Billing and OPD Billing use the sidebar as a horizontal workflow menu. Keep
 * every flyout opaque after navigating away from the patient-bill page. */
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li:hover > a,
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li.active > a {
    color:#fff !important;
    background:linear-gradient(135deg,#1393d2,#18b57d) !important;
}
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li:hover > a i,
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li.active > a i {
    color:#fff !important;
}
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li ul {
    z-index:1080;
    margin-top:0 !important;
    padding:8px !important;
    background:#fff !important;
    border:1px solid #c9dce5 !important;
    border-radius:0 0 14px 14px !important;
    box-shadow:0 18px 38px rgba(11,47,85,.24) !important;
}
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li ul li a {
    display:block;
    color:#173451 !important;
    background:#fff !important;
}
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li ul li a i {
    color:#139f9d !important;
}
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li ul li a:hover,
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li ul li.active > a {
    color:#fff !important;
    background:linear-gradient(135deg,#1393d2,#18b57d) !important;
}
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li ul li a:hover i,
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li ul li.active > a i {
    color:#fff !important;
}

.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li > a.billing-discharge-disabled,
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li > a.billing-discharge-disabled:hover,
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li > a.billing-discharge-disabled:focus {
    color:#fff !important;
    background:#dc3545 !important;
    box-shadow:inset 0 -3px 0 rgba(126,20,31,.22) !important;
    cursor:not-allowed;
}
.his-billing-suite body.horizontal-menu .sidebar .sidebar-menu > li > a.billing-discharge-disabled i {
    color:#fff !important;
}

/* Central Billing and OPD Billing presentation. The module class is placed on
 * the root element by materials/header-links.php so legacy pages can share one
 * design layer without duplicating page-level markup or affecting printouts. */
.his-billing-suite #header-fix .horizontal-logo span { font-size:0 !important; }
.his-billing-suite #header-fix .horizontal-logo span::after {
    display:inline-block; color:#fff; font-size:15px; font-weight:800;
    letter-spacing:.08em; white-space:nowrap;
}
.his-billing-module #header-fix .horizontal-logo span::after { content:'BILLING'; }
.his-opdbilling-module #header-fix .horizontal-logo span::after { content:'OPD BILLING'; }
.his-admission-module #header-fix .horizontal-logo span::after { content:'ADMISSION'; }
.his-er-module #header-fix .horizontal-logo span::after { content:'EMERGENCY ROOM'; }
.his-or-module #header-fix .horizontal-logo span::after { content:'OPERATING ROOM'; }
.his-hdu-module #header-fix .horizontal-logo span::after { content:'HDU / HEMODIALYSIS'; }
.his-dental-module #header-fix .horizontal-logo span::after { content:'DENTAL'; }
.his-ns1-module #header-fix .horizontal-logo span::after { content:'NURSE STATION 1'; }
.his-ns2-module #header-fix .horizontal-logo span::after { content:'NURSE STATION 2'; }
.his-ns3-module #header-fix .horizontal-logo span::after { content:'NURSE STATION 3'; }
.his-ns4-module #header-fix .horizontal-logo span::after { content:'NURSE STATION 4'; }
.his-ns5-module #header-fix .horizontal-logo span::after { content:'NURSE STATION 5'; }
.his-ns6-module #header-fix .horizontal-logo span::after { content:'NURSE STATION 6'; }
.his-laboratory-module #header-fix .horizontal-logo span::after { content:'LABORATORY'; }
.his-radiology-module #header-fix .horizontal-logo span::after { content:'RADIOLOGY'; }

.his-billing-suite body:not(.horizontal-menu) main { color:var(--his-text); }
.his-billing-suite body:not(.horizontal-menu) main > .container-fluid {
    padding-top:8px; padding-bottom:34px;
}
.his-billing-suite body:not(.horizontal-menu) main .sub-header {
    position:relative; overflow:hidden; min-height:100px; margin-top:12px !important; margin-bottom:18px !important;
    padding:22px 26px !important; align-items:center;
    background:rgba(255,255,255,.9) !important; border:1px solid rgba(38,145,170,.16) !important;
    border-radius:24px !important; box-shadow:0 16px 38px rgba(39,111,139,.11) !important;
}
.his-billing-suite body:not(.horizontal-menu) main .sub-header::before {
    content:''; position:absolute; inset:0 0 auto; height:6px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.his-billing-suite body:not(.horizontal-menu) main .sub-header h4 {
    color:var(--his-navy) !important; font-size:27px !important; font-weight:800 !important; letter-spacing:-.35px;
}
.his-billing-suite body:not(.horizontal-menu) main .sub-header small {
    color:#10958f !important; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.his-billing-suite body:not(.horizontal-menu) main .sub-header .text-muted,
.his-billing-suite body:not(.horizontal-menu) main .sub-header p { color:#648097 !important; }

.his-billing-suite body:not(.horizontal-menu) main .card {
    overflow:hidden; margin-bottom:18px;
    background:rgba(255,255,255,.94) !important; border:1px solid rgba(38,145,170,.16) !important;
    border-radius:20px !important; box-shadow:0 15px 36px rgba(39,111,139,.1) !important;
}
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header {
    position:relative; padding:16px 20px !important; color:#fff !important;
    background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important;
}
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header::after {
    content:''; position:absolute; inset:auto 0 0; height:3px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header h4,
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header h5,
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header h6,
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header strong,
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header span { color:#fff !important; }
.his-billing-suite body:not(.horizontal-menu) main .card > .card-body { padding:21px !important; }

.his-billing-suite body:not(.horizontal-menu) main label {
    color:#34536e; font-size:12px; font-weight:800; letter-spacing:.025em;
}
.his-billing-suite body:not(.horizontal-menu) main .form-control,
.his-billing-suite body:not(.horizontal-menu) main .custom-select,
.his-billing-suite body:not(.horizontal-menu) main .select2-selection {
    min-height:44px; color:#173451; background:#fff !important;
    border:1px solid #cadde5 !important; border-radius:11px !important;
}
.his-billing-suite body:not(.horizontal-menu) main textarea.form-control { min-height:90px; }
.his-billing-suite body:not(.horizontal-menu) main .btn { border-radius:11px !important; font-weight:700; }
.his-billing-suite body:not(.horizontal-menu) main .btn-primary,
.his-billing-suite body:not(.horizontal-menu) main .btn-success,
.his-billing-suite body:not(.horizontal-menu) main .btn-info,
.his-billing-suite body:not(.horizontal-menu) main button.btn-dark[type="submit"] {
    color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
    box-shadow:0 8px 18px rgba(24,154,169,.17) !important;
}
.his-billing-suite body:not(.horizontal-menu) main form[method="get" i] .btn-secondary,
.his-billing-suite body:not(.horizontal-menu) main form[method="get" i] .btn-outline-secondary {
    color:#52697c !important; border:1px solid #cadbe2 !important;
    background:#f4f8fa !important; box-shadow:none !important;
}
.his-billing-suite body:not(.horizontal-menu) main .patient-type-nav {
    gap:8px; padding:2px;
}
.his-billing-suite body:not(.horizontal-menu) main .patient-type-nav .btn {
    min-height:42px; margin:0 !important; padding:10px 17px !important;
    color:#264965 !important; border:1px solid #c8dde5 !important; background:#fff !important;
}
.his-billing-suite body:not(.horizontal-menu) main .patient-type-nav .btn-primary,
.his-billing-suite body:not(.horizontal-menu) main .patient-type-nav .btn-info,
.his-billing-suite body:not(.horizontal-menu) main .patient-type-nav .btn-success,
.his-billing-suite body:not(.horizontal-menu) main .patient-type-nav .btn-danger,
.his-billing-suite body:not(.horizontal-menu) main .patient-type-nav .btn-warning {
    color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
}
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header .patient-type-nav .badge {
    min-width:25px; padding:5px 7px; color:#173451 !important;
    background:#e7f5f8 !important; border-radius:8px;
}
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header .patient-type-nav .btn-primary .badge,
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header .patient-type-nav .btn-info .badge,
.his-billing-suite body:not(.horizontal-menu) main .card > .card-header .patient-type-nav .btn-success .badge {
    color:#123455 !important; background:#fff !important;
}
.his-clinical-suite body:not(.horizontal-menu) main .card > .card-header .patient-filter label {
    color:#e8f8fb !important;
}

/* Keep Laboratory/Radiology archive filters readable independently of the
 * active patient-list state. */
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .patient-type-nav .btn {
    color:#264965 !important; border:1px solid #c8dde5 !important; background:#fff !important;
}
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .patient-type-nav .btn-primary,
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .patient-type-nav .btn-info,
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .patient-type-nav .btn-success {
    color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
}
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .card > .card-header .patient-type-nav .badge {
    color:#173451 !important; background:#e7f5f8 !important;
}
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .card > .card-header .patient-type-nav .btn-primary .badge,
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .card > .card-header .patient-type-nav .btn-info .badge,
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .card > .card-header .patient-type-nav .btn-success .badge {
    color:#123455 !important; background:#fff !important;
}
.his-clinical-suite body.labrad-patient-list-archive:not(.horizontal-menu) main .card > .card-header .patient-filter label {
    color:#e8f8fb !important;
}

.his-billing-suite body:not(.horizontal-menu) main .table,
.his-billing-suite body:not(.horizontal-menu) main table.table-sm,
.his-billing-suite body:not(.horizontal-menu) main .table-responsive > table {
    margin-bottom:0; background:#fff;
}
.his-billing-suite body:not(.horizontal-menu) main .table thead th,
.his-billing-suite body:not(.horizontal-menu) main table.table-sm thead th,
.his-billing-suite body:not(.horizontal-menu) main .table-responsive > table thead th {
    padding:13px 12px !important; color:#fff !important; background:#173451 !important;
    border-color:#2b4964 !important; font-size:12px; font-weight:800; letter-spacing:.03em; vertical-align:middle;
}
.his-billing-suite body:not(.horizontal-menu) main .table tbody td,
.his-billing-suite body:not(.horizontal-menu) main table.table-sm tbody td,
.his-billing-suite body:not(.horizontal-menu) main .table-responsive > table tbody td {
    padding:12px !important; color:var(--his-text); border-color:#dfebef !important; vertical-align:middle;
}
.his-billing-suite body:not(.horizontal-menu) main .table tbody tr:nth-child(even),
.his-billing-suite body:not(.horizontal-menu) main table.table-sm tbody tr:nth-child(even) { background:rgba(231,248,250,.52); }
.his-billing-suite body:not(.horizontal-menu) main .table tbody tr:hover,
.his-billing-suite body:not(.horizontal-menu) main table.table-sm tbody tr:hover { background:rgba(204,244,234,.55); }
.his-billing-suite body:not(.horizontal-menu) main .table img { border-radius:12px; }
.his-billing-suite body:not(.horizontal-menu) main .dataTables_wrapper .dataTables_filter input,
.his-billing-suite body:not(.horizontal-menu) main .dataTables_wrapper .dataTables_length select {
    min-height:38px; border:1px solid #cadde5; border-radius:9px; background:#fff;
}
.his-billing-suite body:not(.horizontal-menu) .modal-content {
    overflow:hidden; border:0; border-radius:20px; box-shadow:0 24px 70px rgba(15,47,76,.25);
}
.his-billing-suite body:not(.horizontal-menu) .modal-header {
    color:#fff; background:linear-gradient(135deg,var(--his-navy),#176b82); border:0;
}
.his-billing-suite body:not(.horizontal-menu) .modal-header .modal-title { color:#fff; font-weight:800; }
.his-billing-suite body:not(.horizontal-menu) .modal-header .close { color:#fff; opacity:.9; text-shadow:none; }
.his-billing-suite body:not(.horizontal-menu) .modal-footer { background:#f4fafb; border-top:1px solid var(--his-border); }

/* Patient-bill and related horizontal workflows use the same centralized
 * surfaces while retaining their denser, billing-specific information layout. */
.his-billing-suite body.horizontal-menu main {
    padding-bottom:42px; color:var(--his-text);
}
.his-billing-suite body.horizontal-menu main > div { padding-right:14px; padding-left:14px; }
.his-billing-suite body.horizontal-menu main .card {
    overflow:hidden; background:rgba(255,255,255,.95) !important;
    border:1px solid rgba(38,145,170,.16) !important; border-radius:20px !important;
    box-shadow:0 15px 36px rgba(39,111,139,.1) !important;
}
.his-billing-suite body.horizontal-menu main .card.bg {
    overflow:visible; background:transparent !important; border:0 !important;
    border-radius:0 !important; box-shadow:none !important;
}
.his-billing-suite body.horizontal-menu main .card.bg > .card-body { padding:10px 4px 24px !important; }
.his-billing-suite body.horizontal-menu main .card > .card-header,
.his-billing-suite body.horizontal-menu main .bg-dark.card-header {
    position:relative; padding:15px 20px !important; color:#fff !important;
    background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important;
}
.his-billing-suite body.horizontal-menu main .card > .card-header::after,
.his-billing-suite body.horizontal-menu main .bg-dark.card-header::after {
    content:''; position:absolute; inset:auto 0 0; height:3px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.his-billing-suite body.horizontal-menu main .card > .card-header h4,
.his-billing-suite body.horizontal-menu main .card > .card-header h5,
.his-billing-suite body.horizontal-menu main .card > .card-header h6,
.his-billing-suite body.horizontal-menu main .card > .card-header strong,
.his-billing-suite body.horizontal-menu main .bg-dark.card-header h6,
.his-billing-suite body.horizontal-menu main .bg-dark.card-header strong { color:#fff !important; }
.his-billing-suite body.horizontal-menu main label {
    color:#34536e; font-size:12px; font-weight:800; letter-spacing:.025em;
}
.his-billing-suite body.horizontal-menu main .form-control,
.his-billing-suite body.horizontal-menu main .custom-select,
.his-billing-suite body.horizontal-menu main .select2-selection {
    min-height:44px; color:#173451; background:#fff !important;
    border:1px solid #cadde5 !important; border-radius:11px !important;
}
.his-billing-suite body.horizontal-menu main textarea.form-control { min-height:90px; }
.his-billing-suite select.form-control.autodistro-select {
    padding-right:12px !important; color:#173451 !important;
    background-color:#fff !important; background-image:none !important;
    -webkit-appearance:auto !important; -moz-appearance:auto !important; appearance:auto !important;
}
.his-billing-suite select.form-control.autodistro-select option {
    color:#173451; background:#fff;
}
.his-billing-suite select.form-control.autodistro-select:disabled {
    color:#71879a !important; background-color:#eef4f6 !important;
    cursor:not-allowed; opacity:1;
}

/* Billing and OPD Billing still contain legacy light-text utility classes on
 * form fields. The centralized design uses light control surfaces, so enforce
 * readable values consistently in page forms and dynamically loaded modals. */
.his-billing-suite main input.form-control:not([type="hidden"]),
.his-billing-suite main textarea.form-control,
.his-billing-suite main select.form-control,
.his-billing-suite .modal input.form-control:not([type="hidden"]),
.his-billing-suite .modal textarea.form-control,
.his-billing-suite .modal select.form-control {
    color:#173451 !important; -webkit-text-fill-color:#173451 !important;
    caret-color:#173451; background-color:#fff !important;
}
.his-billing-suite main input.form-control:not([type="hidden"])::placeholder,
.his-billing-suite main textarea.form-control::placeholder,
.his-billing-suite .modal input.form-control:not([type="hidden"])::placeholder,
.his-billing-suite .modal textarea.form-control::placeholder {
    color:#8295a5 !important; -webkit-text-fill-color:#8295a5 !important; opacity:1;
}
.his-billing-suite main input.form-control:not([type="hidden"]):read-only,
.his-billing-suite main input.form-control:not([type="hidden"]):disabled,
.his-billing-suite main textarea.form-control:read-only,
.his-billing-suite main textarea.form-control:disabled,
.his-billing-suite main select.form-control:disabled,
.his-billing-suite .modal input.form-control:not([type="hidden"]):read-only,
.his-billing-suite .modal input.form-control:not([type="hidden"]):disabled,
.his-billing-suite .modal textarea.form-control:read-only,
.his-billing-suite .modal textarea.form-control:disabled,
.his-billing-suite .modal select.form-control:disabled {
    color:#61788c !important; -webkit-text-fill-color:#61788c !important;
    background-color:#eef4f6 !important; opacity:1;
}
.his-billing-suite main select.form-control:not([multiple]):not([size]),
.his-billing-suite .modal select.form-control:not([multiple]):not([size]) {
    padding-right:12px !important; background-image:none !important;
    -webkit-appearance:auto !important; -moz-appearance:auto !important; appearance:auto !important;
}
.his-billing-suite main select.form-control option,
.his-billing-suite .modal select.form-control option {
    color:#173451 !important; background:#fff !important;
}
.his-billing-suite main .select2-container--default .select2-selection--single .select2-selection__rendered,
.his-billing-suite .modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    color:#173451 !important;
}
.his-billing-suite main .select2-container--default .select2-selection--single .select2-selection__arrow b,
.his-billing-suite .modal .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-top-color:#173451 !important;
}
.his-billing-suite body.horizontal-menu main .btn { border-radius:11px !important; font-weight:700; }
.his-billing-suite body.horizontal-menu main .btn-primary,
.his-billing-suite body.horizontal-menu main .btn-success,
.his-billing-suite body.horizontal-menu main .btn-info {
    color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
    box-shadow:0 8px 18px rgba(24,154,169,.17);
}
.his-billing-suite body.horizontal-menu main .table:not(.billing-patient-summary-table) {
    margin-bottom:0; color:var(--his-text); background:#fff;
}
.his-billing-suite body.horizontal-menu main .table:not(.billing-patient-summary-table) thead th,
.his-billing-suite body.horizontal-menu main .table:not(.billing-patient-summary-table) > tbody > tr:first-child > th {
    padding:12px 10px !important; color:#fff !important; background:#173451 !important;
    border-color:#2b4964 !important; font-size:11px; font-weight:800; letter-spacing:.025em; vertical-align:middle;
}
.his-billing-suite body.horizontal-menu main .table:not(.billing-patient-summary-table) tbody td {
    padding:11px 10px !important; color:var(--his-text); border-color:#dfebef !important; vertical-align:middle;
}
.his-billing-suite body.horizontal-menu main table.table-dark {
    color:var(--his-text) !important; background:#fff !important;
}
.his-billing-suite body.horizontal-menu main table.table-dark > tbody > tr:first-child > th {
    color:#fff !important; background:#173451 !important; border-color:#2b4964 !important;
}
.his-billing-suite body.horizontal-menu main table.table-dark td {
    color:var(--his-text); background:#fff; border-color:#dfebef !important;
}
.his-billing-suite .billing-patient-summary-table {
    overflow:hidden; color:var(--his-text); background:rgba(255,255,255,.97) !important;
    border:1px solid var(--his-border) !important; border-radius:20px;
    box-shadow:0 15px 36px rgba(39,111,139,.1);
}
.his-billing-suite .billing-patient-summary-table th {
    padding:10px 12px !important; color:#294764; background:transparent;
    border-color:#dce9ee !important; font-size:12px; vertical-align:middle;
}
.his-billing-suite .billing-patient-summary-table tr:nth-child(even) { background:rgba(231,248,250,.45); }
.his-billing-suite .billing-patient-summary-table img {
    object-fit:cover; border:4px solid #fff; border-radius:18px;
    box-shadow:0 8px 20px rgba(34,100,125,.18);
}
.his-billing-suite .billing-patient-summary-table .text-info { color:#078ca4 !important; font-weight:700; }
.his-billing-suite .billing-toolbar-shell {
    background:rgba(255,255,255,.96) !important; border:1px solid rgba(38,145,170,.18) !important;
    box-shadow:0 15px 36px rgba(39,111,139,.1) !important;
}
.his-billing-suite .billing-summary-card {
    background:linear-gradient(145deg,#f6fbfd,#eef9f6) !important;
    border-color:#d2e7e9 !important; box-shadow:0 8px 20px rgba(39,111,139,.07);
}
.his-billing-suite body.horizontal-menu .modal-content {
    overflow:hidden; border:0; border-radius:20px; box-shadow:0 24px 70px rgba(15,47,76,.25);
}
.his-billing-suite body.horizontal-menu .modal-header {
    color:#fff; background:linear-gradient(135deg,var(--his-navy),#176b82); border:0;
}
.his-billing-suite body.horizontal-menu .modal-header .modal-title { color:#fff; font-weight:800; }
.his-billing-suite body.horizontal-menu .modal-header .close { color:#fff; opacity:.9; text-shadow:none; }
.his-billing-suite body.horizontal-menu .modal-footer { background:#f4fafb; border-top:1px solid var(--his-border); }

/* Central Administrator, CPU / SCM, Cashier, and Pharmacy presentation. */
.his-operations-suite #header-fix .horizontal-logo span { font-size:0 !important; }
.his-operations-suite #header-fix .horizontal-logo span::after {
    display:inline-block; color:#fff; font-size:15px; font-weight:800;
    letter-spacing:.08em; white-space:nowrap;
}
.his-administrator-module #header-fix .horizontal-logo span::after { content:'ADMINISTRATOR'; }
.his-cpu-module #header-fix .horizontal-logo span::after { content:'CPU / SCM'; }
.his-cashier-module #header-fix .horizontal-logo span::after { content:'CASHIER'; }
.his-pharmacy-module #header-fix .horizontal-logo span::after { content:'PHARMACY'; }

.his-operations-suite body main { color:var(--his-text); }
.his-operations-suite body main > .container-fluid { padding-top:8px; padding-bottom:34px; }
.his-operations-suite body main .sub-header {
    position:relative; overflow:hidden; min-height:100px; margin-top:12px !important; margin-bottom:18px !important;
    padding:22px 26px !important; align-items:center;
    color:var(--his-text) !important; background:rgba(255,255,255,.92) !important;
    border:1px solid rgba(38,145,170,.16) !important; border-radius:24px !important;
    box-shadow:0 16px 38px rgba(39,111,139,.11) !important;
}
.his-operations-suite body main .sub-header::before {
    content:''; position:absolute; inset:0 0 auto; height:6px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.his-operations-suite body main .sub-header h1,
.his-operations-suite body main .sub-header h2,
.his-operations-suite body main .sub-header h3,
.his-operations-suite body main .sub-header h4,
.his-operations-suite body main .sub-header h5 {
    color:var(--his-navy) !important; font-weight:800 !important; letter-spacing:-.35px;
}
.his-operations-suite body main .sub-header h4 { font-size:27px !important; }
.his-operations-suite body main .sub-header p,
.his-operations-suite body main .sub-header .text-muted { color:#648097 !important; }
.his-operations-suite body main .breadcrumb,
.his-operations-suite body main .breadcrumb-item { color:#607d93 !important; }
.his-operations-suite body main .breadcrumb-item a { color:#087f91 !important; font-weight:700; }

.his-operations-suite body main .card:not(.admin-hero):not(.approval-hero):not(.pharmacy-hero):not(.hero-card):not(.bg-primary):not(.bg-success):not(.bg-info):not(.bg-danger):not(.bg-warning):not(.bg-dark) {
    color:var(--his-text) !important; background:rgba(255,255,255,.95) !important;
    border:1px solid rgba(38,145,170,.16) !important; border-radius:20px !important;
    box-shadow:0 15px 36px rgba(39,111,139,.1) !important;
}
.his-operations-suite body main .card > .card-header {
    position:relative; padding:16px 20px !important; color:#fff !important;
    background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important;
}
.his-operations-suite body main .card > .card-header::after {
    content:''; position:absolute; inset:auto 0 0; height:3px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.his-operations-suite body main .card > .card-header,
.his-operations-suite body main .card > .card-header h1,
.his-operations-suite body main .card > .card-header h2,
.his-operations-suite body main .card > .card-header h3,
.his-operations-suite body main .card > .card-header h4,
.his-operations-suite body main .card > .card-header h5,
.his-operations-suite body main .card > .card-header h6,
.his-operations-suite body main .card > .card-header strong,
.his-operations-suite body main .card > .card-header span:not(.badge) { color:#fff !important; }

.his-operations-suite body main .admin-hero,
.his-operations-suite body main .approval-hero,
.his-operations-suite body main .pharmacy-hero,
.his-operations-suite body main .hero-card {
    overflow:hidden; color:#fff !important; border:0 !important; border-radius:24px !important;
    background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.17),transparent 29%),linear-gradient(135deg,var(--his-navy),#137b91 62%,var(--his-green)) !important;
    box-shadow:0 20px 48px rgba(26,89,116,.18) !important;
}
.his-operations-suite body main .admin-hero *,
.his-operations-suite body main .approval-hero *,
.his-operations-suite body main .pharmacy-hero *,
.his-operations-suite body main .hero-card * { color:#fff !important; }
.his-operations-suite body main .admin-hero .btn-light,
.his-operations-suite body main .approval-hero .btn-light,
.his-operations-suite body main .pharmacy-hero .btn-light,
.his-operations-suite body main .hero-card .btn-light { color:#0f6585 !important; }

.his-operations-suite body main label,
.his-operations-suite body main .control-label,
.his-operations-suite body main .form-label {
    color:#34536e !important; font-size:12px; font-weight:800; letter-spacing:.025em;
}
.his-operations-suite body main .form-control,
.his-operations-suite body main .custom-select,
.his-operations-suite body main select,
.his-operations-suite body main textarea,
.his-operations-suite body main .select2-selection {
    min-height:44px; color:#173451 !important; -webkit-text-fill-color:#173451;
    background-color:#fff !important; border:1px solid #cadde5 !important; border-radius:11px !important;
}
.his-operations-suite body main select option { color:#173451 !important; background:#fff !important; }
.his-operations-suite body main .form-control::placeholder,
.his-operations-suite body main textarea::placeholder { color:#71869a !important; opacity:1; }
.his-operations-suite body main .form-control:disabled,
.his-operations-suite body main .form-control[readonly],
.his-operations-suite body main select:disabled,
.his-operations-suite body main textarea:disabled {
    color:#49657c !important; -webkit-text-fill-color:#49657c; opacity:1;
    background:#edf3f6 !important;
}
.his-operations-suite body main .select2-container--default .select2-selection--single .select2-selection__rendered,
.his-operations-suite body main .select2-container--default .select2-selection--multiple .select2-selection__choice { color:#173451 !important; }
.his-operations-suite body main .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color:#173451 !important; }
.his-operations-suite body main textarea.form-control { min-height:90px; }

.his-operations-suite body main .btn { border-radius:11px !important; font-weight:700; }
.his-operations-suite body main .btn-primary,
.his-operations-suite body main .btn-success,
.his-operations-suite body main .btn-info {
    color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
    box-shadow:0 8px 18px rgba(24,154,169,.17);
}
.his-operations-suite body main .btn-primary *,
.his-operations-suite body main .btn-success *,
.his-operations-suite body main .btn-info * { color:#fff !important; }
.his-operations-suite body main .btn-outline-primary,
.his-operations-suite body main .btn-outline-success,
.his-operations-suite body main .btn-outline-info,
.his-operations-suite body main .btn-outline-dark { color:#135e78 !important; background:#fff !important; border-color:#85bac8 !important; }
.his-operations-suite body main .btn-outline-secondary,
.his-operations-suite body main .btn-secondary { color:#52697c !important; background:#f4f8fa !important; border-color:#cadbe2 !important; }
.his-operations-suite body main .btn-danger { color:#fff !important; background:#dc3545 !important; }
.his-operations-suite body main .btn-warning { color:#3b2d00 !important; background:#ffc107 !important; }

.his-operations-suite body main .table { margin-bottom:0; color:var(--his-text) !important; background:#fff !important; }
.his-operations-suite body main .table thead th,
.his-operations-suite body main .table thead td,
.his-operations-suite body main .table > tbody > tr:first-child > th {
    padding:13px 12px !important; color:#fff !important; background:#173451 !important;
    border-color:#2b4964 !important; font-size:12px; font-weight:800; letter-spacing:.025em; vertical-align:middle;
}
.his-operations-suite body main .table tbody td {
    padding:12px !important; color:var(--his-text) !important; background-color:transparent;
    border-color:#dfebef !important; vertical-align:middle;
}
.his-operations-suite body main .table tbody tr:nth-child(odd) { background:#fff !important; }
.his-operations-suite body main .table tbody tr:nth-child(even) { background:rgba(231,248,250,.52) !important; }
.his-operations-suite body main .table tbody tr:hover { background:rgba(204,244,234,.58) !important; }
.his-operations-suite body main .table tbody td.bg-primary,
.his-operations-suite body main .table tbody td.bg-success,
.his-operations-suite body main .table tbody td.bg-info,
.his-operations-suite body main .table tbody td.bg-danger,
.his-operations-suite body main .table tbody td.bg-dark { color:#fff !important; }
.his-operations-suite body main .table tbody td.bg-warning { color:#3b2d00 !important; }
.his-operations-suite body main .dataTables_wrapper,
.his-operations-suite body main .dataTables_info,
.his-operations-suite body main .dataTables_length,
.his-operations-suite body main .dataTables_filter { color:#34536e !important; }

.his-operations-suite body main .nav-tabs,
.his-operations-suite body main .nav-pills { gap:8px; padding:9px; background:rgba(255,255,255,.94); border:1px solid var(--his-border); border-radius:15px; }
.his-operations-suite body main .nav-tabs .nav-link,
.his-operations-suite body main .nav-pills .nav-link { color:#264965 !important; background:#fff !important; border:1px solid #c8dde5 !important; border-radius:11px !important; font-weight:800; }
.his-operations-suite body main .nav-tabs .nav-link.active,
.his-operations-suite body main .nav-pills .nav-link.active { color:#fff !important; border-color:transparent !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; }

.his-operations-suite .modal-content,
.his-operations-suite .dropdown-menu {
    color:var(--his-text) !important; background:#fff !important; border:1px solid #d5e6eb !important;
    box-shadow:0 20px 52px rgba(15,47,76,.22) !important;
}
.his-operations-suite .modal-content { overflow:hidden; border-radius:20px; }
.his-operations-suite .modal-header { color:#fff !important; background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important; }
.his-operations-suite .modal-header,
.his-operations-suite .modal-header .modal-title,
.his-operations-suite .modal-header h1,
.his-operations-suite .modal-header h2,
.his-operations-suite .modal-header h3,
.his-operations-suite .modal-header h4,
.his-operations-suite .modal-header h5,
.his-operations-suite .modal-header h6 { color:#fff !important; }
.his-operations-suite .modal-header .close { color:#fff !important; opacity:.95; text-shadow:none; }
.his-operations-suite .modal-body { color:var(--his-text) !important; background:#fff !important; }
.his-operations-suite .modal-footer { background:#f4fafb !important; border-top:1px solid var(--his-border) !important; }
.his-operations-suite .dropdown-menu .dropdown-item { color:#294861 !important; background:#fff !important; }
.his-operations-suite .dropdown-menu .dropdown-item:hover,
.his-operations-suite .dropdown-menu .dropdown-item:focus { color:#fff !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; }

.his-operations-suite body main .alert-light,
.his-operations-suite body main .bg-light,
.his-operations-suite body main .bg-white { color:var(--his-text) !important; }
.his-operations-suite body main .card.bg-primary,
.his-operations-suite body main .card.bg-success,
.his-operations-suite body main .card.bg-info,
.his-operations-suite body main .card.bg-danger,
.his-operations-suite body main .card.bg-dark {
    color:#fff !important; border:0 !important;
    background:linear-gradient(135deg,var(--his-navy),#137b91 62%,var(--his-green)) !important;
}
.his-operations-suite body main .card.bg-primary *,
.his-operations-suite body main .card.bg-success *,
.his-operations-suite body main .card.bg-info *,
.his-operations-suite body main .card.bg-danger *,
.his-operations-suite body main .card.bg-dark * { color:#fff !important; }
.his-operations-suite body main .card.bg-warning { color:#3b2d00 !important; background:#fff3cd !important; }

.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-primary,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-success,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-info,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-danger,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-warning {
    color:#fff !important; border-color:transparent !important;
    background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.17),transparent 32%),linear-gradient(135deg,var(--his-navy),#137b91 62%,var(--his-green)) !important;
}
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-primary *,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-success *,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-info *,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-danger *,
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.bg-warning * { color:#fff !important; }

/* Laboratory and Radiology use a dedicated queue-summary card whose labels are
 * intentionally white. Keep the centralized card treatment from washing out
 * its original contrast. */
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.dashboard-summary {
    color:#fff !important; border-color:transparent !important;
    background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.18),transparent 32%),linear-gradient(135deg,var(--his-navy),#137b91 62%,var(--his-green)) !important;
}
.his-clinical-suite body:not(.horizontal-menu) main .dashboard-card.dashboard-summary * {
    color:#fff !important;
}

/* Several Nurse Station and Laboratory detail views predate the main element.
 * Their direct content card receives the same centralized horizontal styling. */
.his-clinical-suite body.horizontal-menu > .card {
    margin:16px; background:rgba(255,255,255,.95) !important;
    border:1px solid rgba(38,145,170,.16) !important; border-radius:20px !important;
    box-shadow:0 15px 36px rgba(39,111,139,.1) !important;
}
.his-clinical-suite body.horizontal-menu > .card.bg {
    background:transparent !important; border:0 !important; box-shadow:none !important;
}
.his-clinical-suite body.horizontal-menu > .card.bg > .card-body { padding:14px !important; }
.his-clinical-suite body.horizontal-menu > .card .card {
    overflow:hidden; background:rgba(255,255,255,.95) !important;
    border:1px solid rgba(38,145,170,.16) !important; border-radius:18px !important;
    box-shadow:0 12px 30px rgba(39,111,139,.09) !important;
}
.his-clinical-suite body.horizontal-menu > .card .bg-dark.card-header,
.his-clinical-suite body.horizontal-menu > .card .card > .card-header {
    position:relative; padding:15px 20px !important; color:#fff !important;
    background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important;
}
.his-clinical-suite body.horizontal-menu > .card .bg-dark.card-header::after,
.his-clinical-suite body.horizontal-menu > .card .card > .card-header::after {
    content:''; position:absolute; inset:auto 0 0; height:3px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.his-clinical-suite body.horizontal-menu > .card .bg-dark.card-header *,
.his-clinical-suite body.horizontal-menu > .card .card > .card-header * { color:#fff !important; }
.his-clinical-suite body.horizontal-menu > .card table {
    margin-bottom:0; color:var(--his-text); background:#fff;
}
.his-clinical-suite body.horizontal-menu > .card table thead th,
.his-clinical-suite body.horizontal-menu > .card table > tbody > tr.table-dark > th,
.his-clinical-suite body.horizontal-menu > .card table > tbody > tr:first-child.table-dark > td {
    padding:12px 10px !important; color:#fff !important; background:#173451 !important;
    border-color:#2b4964 !important; font-size:11px; font-weight:800; vertical-align:middle;
}
.his-clinical-suite body.horizontal-menu > .card table tbody td {
    padding:11px 10px !important; color:var(--his-text); border-color:#dfebef !important; vertical-align:middle;
}
.horizontal-menu .site-footer.portal-system-footer {
    left:0 !important; width:100% !important;
}
.site-footer { background:rgba(255,255,255,.9) !important; color:#294463 !important; border-top:1px solid rgba(30,61,115,.12); box-shadow:0 -8px 24px rgba(30,61,115,.07); padding:16px 20px !important; text-align:center; font-size:12px; font-weight:700; letter-spacing:.035em; position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important; z-index:1040; width:100% !important; margin:0 !important; }

/* Shared patient-details presentation. Keep this here so other modules can
 * adopt the same classes without copying page-level CSS. */
.his-portal-page main { padding-bottom:34px; }
.medicalrecords-patient-details .medicalrecords-patient-summary { position:relative; border-top:0 !important; }
.medicalrecords-patient-details .medicalrecords-patient-summary::before { content:''; position:absolute; inset:0 0 auto; z-index:1; height:6px; background:linear-gradient(90deg,var(--his-blue),var(--his-green)); }
.medicalrecords-patient-details .medicalrecords-patient-summary > .card-body { padding:20px !important; background:transparent !important; }
.medicalrecords-patient-details .patient-summary-layout { display:grid; grid-template-columns:150px minmax(0,1fr); gap:24px; align-items:stretch; }
.medicalrecords-patient-details .patient-summary-photo-wrap { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:210px; padding:18px 12px; background:linear-gradient(145deg,#e1f8ff,#ddf7e9); border:1px solid #cde8e8; border-radius:18px; }
.medicalrecords-patient-details .patient-summary-photo { width:112px; height:112px; object-fit:cover; border:4px solid #fff; border-radius:20px; box-shadow:0 10px 26px rgba(34,100,125,.18); }
.medicalrecords-patient-details .patient-summary-record-label { margin-top:13px; color:#147d8d; font-size:10px; font-weight:800; letter-spacing:.11em; }
.medicalrecords-patient-details .patient-summary-content { min-width:0; padding:4px 0; }
.medicalrecords-patient-details .patient-summary-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:12px; border-bottom:1px solid #dbe9ee; }
.medicalrecords-patient-details .patient-summary-kicker { margin-bottom:3px; color:#119c8e; font-size:11px; font-weight:800; letter-spacing:.1em; }
.medicalrecords-patient-details .patient-summary-name { margin:0 !important; color:var(--his-navy) !important; font-size:28px !important; font-weight:850 !important; line-height:1.15; letter-spacing:-.35px; }
.medicalrecords-patient-details .patient-summary-return { display:inline-flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; color:#fff !important; background:linear-gradient(135deg,#ff6372,#e7465a); border-radius:12px; box-shadow:0 9px 20px rgba(231,70,90,.2); }
.medicalrecords-patient-details .patient-summary-return:hover { text-decoration:none; transform:translateY(-2px); filter:brightness(1.03); }
.medicalrecords-patient-details .patient-summary-address { display:flex; align-items:flex-start; gap:8px; margin:13px 0; color:#078ca4; font-size:13px; font-weight:700; line-height:1.45; }
.medicalrecords-patient-details .patient-summary-address i { margin-top:1px; color:#16ad8b; font-size:18px; }
.medicalrecords-patient-details .patient-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:10px; }
.medicalrecords-patient-details .patient-summary-field { min-width:0; padding:11px 13px; background:linear-gradient(145deg,#f6fbfd,#f0faf7); border:1px solid #d8e9ed; border-radius:12px; }
.medicalrecords-patient-details .patient-summary-field-wide { grid-column:span 2; }
.medicalrecords-patient-details .patient-summary-field span { display:block; margin-bottom:3px; color:#658096; font-size:10px; font-weight:800; letter-spacing:.065em; text-transform:uppercase; }
.medicalrecords-patient-details .patient-summary-field strong { display:block; overflow-wrap:anywhere; color:#173f66; font-size:12px; line-height:1.35; }
.medicalrecords-patient-details .patient-info-table { overflow:hidden; border-collapse:separate !important; border-spacing:0; color:var(--his-text) !important; background:rgba(255,255,255,.96) !important; border:1px solid var(--his-border) !important; border-radius:17px; }
.medicalrecords-patient-details .patient-info-table td { border-width:0 1px 1px 0 !important; border-color:#dce9ee !important; padding:10px 12px !important; }
.medicalrecords-patient-details .patient-info-table tr:last-child td { border-bottom:0 !important; }
.medicalrecords-patient-details .patient-info-table td:last-child { border-right:0 !important; }
.medicalrecords-patient-details .patient-label { color:#294764 !important; background:#f2f9fb !important; font-size:12px !important; letter-spacing:.02em; }
.medicalrecords-patient-details .patient-value { color:#078ca4 !important; }
.medicalrecords-patient-details .patient-name { color:var(--his-navy) !important; font-size:25px !important; font-weight:800 !important; }
.medicalrecords-patient-details .patient-photo-box { background:linear-gradient(145deg,#e1f8ff,#ddf7e9) !important; }
.medicalrecords-patient-details .patient-photo-box img { width:112px !important; height:112px !important; border:4px solid #fff; border-radius:18px !important; box-shadow:0 9px 24px rgba(34,100,125,.16); }
.medicalrecords-patient-details .medicalrecords-action-card > .card-body { padding:18px 20px 10px !important; }
.medicalrecords-patient-details .medicalrecords-action-card .portal-tab { margin-bottom:10px !important; }
.medicalrecords-patient-details .medicalrecords-panel-card { margin-bottom:14px; }
.medicalrecords-patient-details .portal-panel-header { position:relative; padding:17px 21px !important; color:#fff !important; background:linear-gradient(135deg,var(--his-navy),#1b6681) !important; border:0 !important; font-size:14px; letter-spacing:.04em; }
.medicalrecords-patient-details .portal-panel-header::after { content:''; position:absolute; left:0; right:0; bottom:0; height:3px; background:linear-gradient(90deg,var(--his-blue),var(--his-green)); }
.medicalrecords-patient-details .medicalrecords-panel-card > .card-body { padding:22px !important; background:rgba(250,254,255,.82) !important; }
.medicalrecords-patient-details .medicalrecords-panel-card > .card-body > form { padding:20px; background:#fff; border:1px solid #dbe9ee; border-radius:16px; box-shadow:0 10px 26px rgba(39,111,139,.07); }
.medicalrecords-patient-details .medicalrecords-panel-card .card { overflow:hidden; border:1px solid #dbe9ee !important; border-radius:16px !important; box-shadow:0 9px 24px rgba(39,111,139,.07) !important; }
.medicalrecords-patient-details .medicalrecords-panel-card .card > .card-header { padding:15px 17px; color:var(--his-navy); background:linear-gradient(135deg,#f4fbfd,#effaf5) !important; border-bottom:1px solid #d9e9ed; }
.medicalrecords-patient-details .medicalrecords-panel-card .card > .card-body { padding:18px; background:#fff; }
.medicalrecords-patient-details .medicalrecords-panel-card label { margin-bottom:6px; color:#34536e; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.medicalrecords-patient-details .medicalrecords-panel-card .form-control { min-height:44px; color:#173451; background:#fff; border:1px solid #ccdee5 !important; border-radius:11px !important; box-shadow:inset 0 1px 2px rgba(20,64,88,.025); }
.medicalrecords-patient-details .medicalrecords-panel-card textarea.form-control { min-height:96px; line-height:1.5; }
.medicalrecords-patient-details .medicalrecords-panel-card .form-control:focus { border-color:#18a9a0 !important; box-shadow:0 0 0 3px rgba(24,169,160,.12) !important; }
.medicalrecords-patient-details .medicalrecords-panel-card .btn { border-radius:10px; font-weight:700; }
.medicalrecords-patient-details .medicalrecords-panel-card .btn-primary,
.medicalrecords-patient-details .medicalrecords-panel-card .btn-success,
.medicalrecords-patient-details .medicalrecords-panel-card .btn-info { color:#fff !important; border-color:transparent !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; }
.medicalrecords-patient-details .medicalrecords-panel-card .alert { border:0; border-radius:12px; }
.medicalrecords-patient-details .medicalrecords-panel-card hr { border-color:#dbe9ee; }
.medicalrecords-patient-details #medicalCertificateFrame { border-radius:0 0 18px 18px; }

.medicalrecords-patient-details .modal-dialog { max-width:900px; }
.medicalrecords-patient-details .modal-content { overflow:hidden; border:0; border-radius:21px; box-shadow:0 28px 75px rgba(13,43,71,.3); }
.medicalrecords-patient-details .modal-header { position:relative; padding:19px 22px; color:#fff; background:linear-gradient(135deg,var(--his-navy),#176b82); border:0; }
.medicalrecords-patient-details .modal-header::after { content:''; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,var(--his-blue),var(--his-green)); }
.medicalrecords-patient-details .modal-title { color:#fff; font-size:16px; font-weight:800; letter-spacing:.035em; }
.medicalrecords-patient-details .modal-header .close { color:#fff; opacity:.9; text-shadow:none; }
.medicalrecords-patient-details .modal-body { padding:23px; color:var(--his-text); background:#fff; }
.medicalrecords-patient-details .modal-body label { color:#34536e; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.medicalrecords-patient-details .modal-body .form-control,
.medicalrecords-patient-details .modal-body .form-control-file { min-height:44px; padding:10px 12px; background:#f9fcfd; border:1px solid #ccdee5; border-radius:11px; }
.medicalrecords-patient-details .modal-footer { padding:15px 22px; background:#f2fafb; border-top:1px solid #dbe9ee; }
.medicalrecords-patient-details .modal-footer .btn { min-width:105px; border-radius:10px; font-weight:700; }
.medicalrecords-patient-details .modal-footer .btn-success { color:#fff; border:0; background:linear-gradient(135deg,var(--his-blue),var(--his-green)); }

/* Embedded Medical Certificate content uses the same panel language even
 * though it is rendered inside an iframe. */
.medicalrecords-panel-embedded { color:var(--his-text) !important; background:#f8fcfd !important; }
.medicalrecords-panel-embedded main { padding:0 !important; background:transparent !important; }
.medicalrecords-panel-embedded .result-form-card { overflow:hidden; margin:0 0 15px !important; background:#fff !important; border:1px solid #dbe9ee !important; border-radius:17px !important; box-shadow:0 10px 26px rgba(39,111,139,.07) !important; }
.medicalrecords-panel-embedded .result-form-card > .card-header { position:relative; padding:17px 20px !important; color:#fff !important; background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important; }
.medicalrecords-panel-embedded .result-form-card > .card-header::after { content:''; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,var(--his-blue),var(--his-green)); }
.medicalrecords-panel-embedded .result-form-card > .card-header .text-light { color:#fff !important; letter-spacing:.035em; }
.medicalrecords-panel-embedded .result-form-card > .card-body { padding:20px !important; background:#fff !important; }
.medicalrecords-panel-embedded label { margin-bottom:6px; color:#34536e; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.medicalrecords-panel-embedded .form-control { min-height:44px; color:#173451; background:#fff !important; border:1px solid #ccdee5 !important; border-radius:11px !important; }
.medicalrecords-panel-embedded textarea.form-control { min-height:96px; line-height:1.5; }
.medicalrecords-panel-embedded .form-control:focus { border-color:#18a9a0 !important; box-shadow:0 0 0 3px rgba(24,169,160,.12) !important; }
.medicalrecords-panel-embedded .alert { border:0; border-radius:11px; }
.medicalrecords-panel-embedded .modal-footer { margin-top:8px; padding:15px 0 0; background:transparent; border-top:1px solid #dbe9ee; }
.medicalrecords-panel-embedded .btn { border-radius:10px; font-weight:700; }
.medicalrecords-panel-embedded .btn-primary,
.medicalrecords-panel-embedded .btn-success,
.medicalrecords-panel-embedded .btn-info { color:#fff !important; border-color:transparent !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; }
.medicalrecords-panel-embedded .table thead th { padding:13px 12px !important; color:#fff !important; background:#173451 !important; border-color:#2b4964 !important; font-size:12px; font-weight:800; }
.medicalrecords-panel-embedded .table tbody td { padding:12px !important; color:var(--his-text); border-color:#dfebef !important; vertical-align:middle; }
.medicalrecords-panel-embedded .table tbody tr:nth-child(even) { background:rgba(231,248,250,.52); }

/* The footer is fixed, so the control must sit above it and use a higher layer. */
.scrollup {
    right:22px !important; bottom:76px !important; z-index:1065 !important;
    width:46px !important; height:46px !important; line-height:46px !important;
    color:#fff !important; border:1px solid rgba(255,255,255,.55) !important;
    border-radius:14px !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
    box-shadow:0 12px 28px rgba(14,84,111,.28) !important;
}
.scrollup:hover { color:#fff !important; transform:translateY(-2px); filter:brightness(1.04); }

@media (max-width:767px) {
    #header-fix .logo-bar { width:72px; min-width:72px; flex-basis:72px; padding:0 10px; }
    #header-fix .horizontal-logo span { display:none; }
    .portal-heading,.patient-list-heading { padding:18px !important; border-radius:18px !important; }
    .portal-card,.patient-list-card { border-radius:18px !important; }
    .medicalrecords-patient-details .medicalrecords-patient-summary > .card-body { padding:12px !important; }
    .medicalrecords-patient-details .patient-summary-layout { grid-template-columns:1fr; gap:14px; }
    .medicalrecords-patient-details .patient-summary-photo-wrap { min-height:auto; padding:15px; }
    .medicalrecords-patient-details .patient-summary-photo { width:88px; height:88px; }
    .medicalrecords-patient-details .patient-summary-name { font-size:20px !important; }
    .medicalrecords-patient-details .patient-summary-grid { grid-template-columns:1fr; }
    .medicalrecords-patient-details .patient-summary-field-wide { grid-column:auto; }
    .medicalrecords-patient-details .medicalrecords-panel-card > .card-body { padding:13px !important; }
    .medicalrecords-patient-details .medicalrecords-panel-card > .card-body > form { padding:14px; }
    .medicalrecords-patient-details .modal-dialog { margin:12px; }
    .medicalrecords-patient-details .modal-body { padding:17px; }
    .scrollup { right:14px !important; bottom:72px !important; width:42px !important; height:42px !important; line-height:42px !important; }
}

@media (min-width:768px) and (max-width:1100px) {
    .medicalrecords-patient-details .patient-summary-layout { grid-template-columns:125px minmax(0,1fr); gap:18px; }
    .medicalrecords-patient-details .patient-summary-photo { width:94px; height:94px; }
    .medicalrecords-patient-details .patient-summary-grid { grid-template-columns:repeat(2,minmax(150px,1fr)); }
}

/* Masterfile is a shared module: these rules also cover the CSR maintenance
 * pages opened from the Masterfile sidebar. */
.masterfile-module main { color:var(--his-text); }
.masterfile-module main > .container-fluid { padding-top:4px; padding-bottom:28px; }
.masterfile-module .sub-header {
    position:relative; overflow:hidden; min-height:104px; padding:22px 26px !important;
    margin-bottom:18px !important;
    background:rgba(255,255,255,.9) !important; border:1px solid rgba(38,145,170,.16) !important;
    border-radius:24px !important; box-shadow:0 16px 38px rgba(39,111,139,.11) !important;
}
.masterfile-module .sub-header::before { content:''; position:absolute; inset:0 0 auto; height:6px; background:linear-gradient(90deg,var(--his-blue),var(--his-green)); }
.masterfile-module .sub-header h4 { margin-bottom:5px !important; color:var(--his-navy) !important; font-size:27px !important; font-weight:800 !important; letter-spacing:-.35px; }
.masterfile-module .sub-header p { margin:0 !important; color:#648097 !important; }
.masterfile-module .sub-header .breadcrumb { font-size:12px; font-weight:700; }
.masterfile-module .sub-header .breadcrumb a { color:#0c8ca2; }
.masterfile-module main .settings-card,
.masterfile-module main .summary-card,
.masterfile-module main .heading-preview,
.masterfile-module main .card-content > .card-body,
.masterfile-module main .card:not(.mf-hero):not(.mf-card):not(.heading-preview),
.masterfile-module main > .container-fluid > .row > [class*='col-'] > .card:not(.mf-hero):not(.heading-preview) {
    background:rgba(255,255,255,.93) !important; border:1px solid rgba(38,145,170,.16) !important;
    border-radius:20px !important; box-shadow:0 16px 38px rgba(39,111,139,.1) !important;
}
.masterfile-module main .card:not(.mf-hero):not(.mf-card):not(.heading-preview) { overflow:hidden; }
.masterfile-module main .card:not(.mf-hero):not(.mf-card):not(.heading-preview) h4 { color:var(--his-navy); font-weight:800; }
.masterfile-module main .filter-box { margin-bottom:18px; padding:16px; background:#f3fafb; border:1px solid var(--his-border); border-radius:14px; }
.masterfile-module main .settings-card,
.masterfile-module main .summary-card,
.masterfile-module main .heading-preview { overflow:hidden; }
.masterfile-module main .settings-card > .card-header,
.masterfile-module main .summary-card > .card-header {
    position:relative; padding:17px 20px !important; color:#fff !important;
    background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important;
    font-size:14px; font-weight:800; letter-spacing:.035em;
}
.masterfile-module main .settings-card > .card-header::after,
.masterfile-module main .summary-card > .card-header::after { content:''; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,var(--his-blue),var(--his-green)); }
.masterfile-module main .settings-card > .card-body { padding:21px !important; }
.masterfile-module main label { color:#34536e; font-size:12px; font-weight:800; letter-spacing:.025em; }
.masterfile-module main .form-control,
.masterfile-module main .custom-select,
.masterfile-module main .select2-selection { min-height:44px; color:#173451 !important; background:#fff !important; border:1px solid #cadde5 !important; border-radius:11px !important; }
.masterfile-module main input.form-control:not([type="hidden"]),
.masterfile-module main textarea.form-control,
.masterfile-module main select.form-control {
    color:#173451 !important; -webkit-text-fill-color:#173451 !important;
    caret-color:#173451; background-color:#fff !important;
}
.masterfile-module main input.form-control:not([type="hidden"])::placeholder,
.masterfile-module main textarea.form-control::placeholder {
    color:#7890a4 !important; -webkit-text-fill-color:#7890a4 !important; opacity:1;
}
.masterfile-module main input.form-control:not([type="hidden"]):read-only,
.masterfile-module main input.form-control:not([type="hidden"]):disabled,
.masterfile-module main textarea.form-control:read-only,
.masterfile-module main textarea.form-control:disabled,
.masterfile-module main select.form-control:disabled {
    color:#4d6578 !important; -webkit-text-fill-color:#4d6578 !important;
    background-color:#eef4f6 !important; opacity:1;
}
.masterfile-module main select.form-control:not([multiple]):not([size]) {
    padding-right:2rem !important; color-scheme:light;
    background-image:none !important;
    -webkit-appearance:auto !important; -moz-appearance:auto !important; appearance:auto !important;
}
.masterfile-module main select.form-control option {
    color:#173451 !important; background:#fff !important;
}
.masterfile-module main textarea.form-control { min-height:90px; }
.masterfile-module main .btn { border-radius:11px !important; font-weight:700; }
.masterfile-module main .btn-primary,
.masterfile-module main .btn-success,
.masterfile-module main .btn-info { border-color:transparent !important; background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important; box-shadow:0 8px 18px rgba(24,154,169,.17); }
.masterfile-module main form[method="get" i] button[type="submit"],
.masterfile-module main form[method="get" i] input[type="submit"],
.masterfile-module main .btn-filter,
.masterfile-module main button.btn-dark[type="submit"] {
    min-height:44px; color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
    box-shadow:0 8px 18px rgba(24,154,169,.17) !important;
}
.masterfile-module main form[method="get" i] .btn-secondary,
.masterfile-module main form[method="get" i] .btn-outline-secondary {
    min-height:44px; color:#52697c !important; border:1px solid #cadbe2 !important;
    background:#f4f8fa !important; box-shadow:none !important;
}
.masterfile-module main form[method="get" i] .btn-secondary:hover,
.masterfile-module main form[method="get" i] .btn-outline-secondary:hover {
    color:#173451 !important; background:#e8f2f5 !important;
}
.masterfile-module main .table { margin-bottom:0; }
.masterfile-module main .table thead th { padding:13px 12px !important; color:#fff !important; background:#173451 !important; border-color:#2b4964 !important; font-size:12px; font-weight:800; letter-spacing:.03em; vertical-align:middle; }
.masterfile-module main .table tbody td { padding:12px !important; color:var(--his-text); border-color:#dfebef !important; vertical-align:middle; }
.masterfile-module main .table tbody tr:nth-child(even) { background:rgba(231,248,250,.52); }
.masterfile-module main .table tbody tr:hover { background:rgba(204,244,234,.55); }
.masterfile-module .modal-content { overflow:hidden; border:0; border-radius:20px; box-shadow:0 24px 70px rgba(15,47,76,.25); }
.masterfile-module .modal-header { color:#fff; background:linear-gradient(135deg,var(--his-navy),#176b82); border:0; }
.masterfile-module .modal-header .close { color:#fff; opacity:.9; text-shadow:none; }
.masterfile-module .modal-footer { background:#f4fafb; border-top:1px solid var(--his-border); }

.masterfile-dashboard-page .mf-hero { overflow:hidden; color:#fff !important; border:0 !important; border-radius:24px !important; background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.17),transparent 28%),linear-gradient(135deg,var(--his-navy),#137b91 62%,var(--his-green)) !important; box-shadow:0 20px 48px rgba(26,89,116,.18) !important; }
.masterfile-dashboard-page .mf-card { border:1px solid rgba(38,145,170,.16) !important; border-radius:20px !important; background:rgba(255,255,255,.93) !important; box-shadow:0 15px 36px rgba(39,111,139,.1) !important; }
.masterfile-dashboard-page .mf-card:hover { transform:translateY(-3px); box-shadow:0 20px 44px rgba(39,111,139,.15) !important; }

.csr-masterfile-page .csr-shell { overflow:hidden; margin-top:2px; background:rgba(255,255,255,.93) !important; border:1px solid rgba(38,145,170,.16) !important; border-radius:24px !important; box-shadow:0 18px 45px rgba(39,111,139,.12) !important; }
.csr-masterfile-page .csr-hero { padding:26px !important; color:#fff; background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.16),transparent 30%),linear-gradient(135deg,var(--his-navy),#126c84 58%,var(--his-green)) !important; }
.csr-masterfile-page .csr-hero h4 { color:#fff !important; font-size:27px !important; font-weight:800 !important; }
.csr-masterfile-page .csr-stat-card { border:1px solid rgba(255,255,255,.22) !important; border-radius:15px !important; background:rgba(255,255,255,.13) !important; }
.csr-masterfile-page .csr-toolbar { background:rgba(250,254,255,.9) !important; border-color:var(--his-border) !important; }
.csr-masterfile-page .csr-table-wrap { background:rgba(255,255,255,.92) !important; }
.csr-masterfile-page .csr-table thead th { background:#173451 !important; }

/* Central Stock Request module presentation. This intentionally targets only
 * the shared stockrequest-module body class so transaction and print pages
 * keep their existing data behavior. */
.stockrequest-module main { color:var(--his-text); }
.stockrequest-module main > .container-fluid { padding-top:8px; padding-bottom:34px; }
.stockrequest-module main > .container-fluid > .row:first-child > .col-12 > .d-flex:first-child,
.stockrequest-module main > .container-fluid > .row:first-child > .col-12.d-flex {
    position:relative; overflow:hidden; min-height:100px; margin-bottom:20px !important; padding:22px 26px !important;
    background:rgba(255,255,255,.9) !important; border:1px solid rgba(38,145,170,.16) !important;
    border-radius:24px !important; box-shadow:0 16px 38px rgba(39,111,139,.11) !important;
}
.stockrequest-module main > .container-fluid > .row:first-child > .col-12 > .d-flex:first-child::before,
.stockrequest-module main > .container-fluid > .row:first-child > .col-12.d-flex::before {
    content:''; position:absolute; inset:0 0 auto; height:6px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.stockrequest-module main > .container-fluid > .row:first-child h4 { color:var(--his-navy) !important; font-size:27px !important; font-weight:800 !important; letter-spacing:-.35px; }
.stockrequest-module main > .container-fluid > .row:first-child p { color:#648097 !important; }
.stockrequest-module main .card:not(.department-request-hero),
.stockrequest-module main .summary-card,
.stockrequest-module main .transfer-summary-card,
.stockrequest-module main .inventory-summary-card {
    background:rgba(255,255,255,.94) !important; border:1px solid rgba(38,145,170,.16) !important;
    border-radius:20px !important; box-shadow:0 15px 36px rgba(39,111,139,.1) !important;
}
.stockrequest-module main .card:not(.department-request-hero) { overflow:hidden; margin-bottom:18px; }
.stockrequest-module main .card:not(.department-request-hero) > .card-header {
    position:relative; padding:16px 20px !important; color:#fff !important;
    background:linear-gradient(135deg,var(--his-navy),#176b82) !important; border:0 !important;
}
.stockrequest-module main .card:not(.department-request-hero) > .card-header::after {
    content:''; position:absolute; inset:auto 0 0; height:3px;
    background:linear-gradient(90deg,var(--his-blue),var(--his-green));
}
.stockrequest-module main .card:not(.department-request-hero) > .card-header h4,
.stockrequest-module main .card:not(.department-request-hero) > .card-header h5,
.stockrequest-module main .card:not(.department-request-hero) > .card-header h6,
.stockrequest-module main .card:not(.department-request-hero) > .card-header .card-title,
.stockrequest-module main .card:not(.department-request-hero) > .card-header strong { color:#fff !important; }
.stockrequest-module main .card:not(.department-request-hero) > .card-body { padding:21px !important; }
.stockrequest-module main label { color:#34536e; font-size:12px; font-weight:800; letter-spacing:.025em; }
.stockrequest-module main .form-control,
.stockrequest-module main .custom-select,
.stockrequest-module main .select2-selection {
    min-height:44px; color:#173451; background:#fff !important;
    border:1px solid #cadde5 !important; border-radius:11px !important;
}
.stockrequest-module main textarea.form-control { min-height:90px; }
.stockrequest-module main .btn { border-radius:11px !important; font-weight:700; }
.stockrequest-module main .btn-primary,
.stockrequest-module main .btn-success,
.stockrequest-module main .btn-info {
    color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
    box-shadow:0 8px 18px rgba(24,154,169,.17);
}
.stockrequest-module main form[method="get" i] button[type="submit"],
.stockrequest-module main form[method="get" i] input[type="submit"],
.stockrequest-module main button.btn-dark[type="submit"] {
    min-height:44px; color:#fff !important; border-color:transparent !important;
    background:linear-gradient(135deg,var(--his-blue),var(--his-green)) !important;
    box-shadow:0 8px 18px rgba(24,154,169,.17) !important;
}
.stockrequest-module main form[method="get" i] .btn-secondary,
.stockrequest-module main form[method="get" i] .btn-outline-secondary {
    min-height:44px; color:#52697c !important; border:1px solid #cadbe2 !important;
    background:#f4f8fa !important; box-shadow:none !important;
}
.stockrequest-module main .table { margin-bottom:0; background:#fff; }
.stockrequest-module main .table thead th,
.stockrequest-module main .table thead tr > th {
    padding:13px 12px !important; color:#fff !important; background:#173451 !important;
    border-color:#2b4964 !important; font-size:12px; font-weight:800; letter-spacing:.03em; vertical-align:middle;
}
.stockrequest-module main .table tbody td { padding:12px !important; color:var(--his-text); border-color:#dfebef !important; vertical-align:middle; }
.stockrequest-module main .table tbody tr:nth-child(even) { background:rgba(231,248,250,.52); }
.stockrequest-module main .table tbody tr:hover { background:rgba(204,244,234,.55); }
.stockrequest-module main .nav-pills { gap:8px; padding:10px; background:rgba(255,255,255,.9); border:1px solid var(--his-border); border-radius:16px; }
.stockrequest-module main .nav-pills .nav-link { color:#264965; border:1px solid #c8dde5; border-radius:11px; font-weight:800; }
.stockrequest-module main .nav-pills .nav-link.active { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--his-blue),var(--his-green)); }
.stockrequest-module .modal-content { overflow:hidden; border:0; border-radius:20px; box-shadow:0 24px 70px rgba(15,47,76,.25); }
.stockrequest-module .modal-header { color:#fff; background:linear-gradient(135deg,var(--his-navy),#176b82); border:0; }
.stockrequest-module .modal-header .modal-title { color:#fff; font-weight:800; }
.stockrequest-module .modal-header .close { color:#fff; opacity:.9; text-shadow:none; }
.stockrequest-module .modal-footer { background:#f4fafb; border-top:1px solid var(--his-border); }
.stockrequest-module .department-request-hero {
    overflow:hidden; border:0 !important; border-radius:24px !important;
    background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.17),transparent 28%),linear-gradient(135deg,var(--his-navy),#137b91 62%,var(--his-green)) !important;
    box-shadow:0 20px 48px rgba(26,89,116,.18) !important;
}
.stockrequest-module .department-request-card { border-color:rgba(38,145,170,.18) !important; border-radius:20px !important; box-shadow:0 15px 36px rgba(39,111,139,.1) !important; }

/* Heading preview must retain a dark surface because its content is white. */
.masterfile-module main .card.heading-preview {
    color:#fff !important;
    background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.16),transparent 31%),linear-gradient(135deg,var(--his-navy),#126c84 62%,var(--his-green)) !important;
    border-color:rgba(20,121,144,.24) !important;
}
.masterfile-module main .card.heading-preview h3,
.masterfile-module main .card.heading-preview div { color:#fff !important; }
.masterfile-module main .card.heading-preview .text-white-50 { color:rgba(255,255,255,.72) !important; }
.masterfile-module main .card.heading-preview code { color:#aaf6df !important; }

/* Login-inspired centralized wave footer. Desktop width follows the content
 * area beside the sidebar; collapsed and mobile layouts use full width. */
body.portal-footer-enabled { padding-bottom:76px !important; }
body.portal-footer-enabled main { padding-bottom:84px !important; }
.site-footer.portal-system-footer {
    left:250px !important; right:0 !important; bottom:0 !important;
    width:calc(100% - 250px) !important; height:64px; margin:0 !important; padding:0 20px 13px !important;
    display:flex !important; align-items:flex-end; justify-content:center; overflow:hidden;
    color:#4d6378 !important; pointer-events:none;
    background:transparent !important; border:0 !important; box-shadow:none !important;
    font-size:13px !important; font-weight:500 !important; letter-spacing:0 !important; text-align:center;
    z-index:1040 !important;
}
.site-footer.portal-system-footer::before {
    content:''; position:absolute; left:-5%; right:-5%; bottom:-34px; height:78px;
    background:linear-gradient(100deg,#a9e4ef 0%,#a9ead1 100%);
    border-radius:50% 50% 0 0 / 60% 60% 0 0; transform:rotate(-.4deg);
}
.site-footer.portal-system-footer span { position:relative; z-index:1; }
.site-footer.portal-system-footer strong { color:#139d8c !important; font-weight:800; }
.site-footer.portal-system-footer .portal-footer-logo {
    position:relative; z-index:1; flex:0 0 auto;
    width:68px; height:45px; margin-right:9px; object-fit:contain;
    background:transparent !important;
    filter:drop-shadow(0 4px 8px rgba(20,75,102,.16));
}

/* Billing uses the exact Medical Records wave geometry. Keeping the complete
 * rule scoped here prevents legacy module footer declarations from flattening
 * the arc or restoring a rectangular background. */
.his-billing-suite .site-footer.portal-system-footer {
    bottom:0 !important; height:64px !important; margin:0 !important; padding:0 20px 13px !important;
    display:flex !important; align-items:flex-end !important; justify-content:center !important;
    overflow:hidden !important; isolation:isolate;
    color:#4d6378 !important; pointer-events:none;
    background:transparent !important; border:0 !important; box-shadow:none !important;
    font-size:13px !important; font-weight:500 !important; letter-spacing:0 !important; text-align:center !important;
    z-index:1040 !important;
}
.his-billing-suite .site-footer.portal-system-footer::before {
    content:'' !important; position:absolute !important; z-index:0;
    left:-5% !important; right:-5% !important; bottom:-34px !important; height:78px !important;
    background:linear-gradient(100deg,#a9e4ef 0%,#a9ead1 100%) !important;
    border-radius:50% 50% 0 0 / 60% 60% 0 0 !important; transform:rotate(-.4deg) !important;
}
.his-billing-suite .site-footer.portal-system-footer span { position:relative; z-index:1; }
.his-billing-suite .site-footer.portal-system-footer strong { color:#139d8c !important; font-weight:800 !important; }
.his-billing-suite body.horizontal-menu .site-footer.portal-system-footer {
    left:0 !important; right:0 !important; width:100% !important;
}
.his-operations-suite .site-footer.portal-system-footer {
    left:250px !important; right:0 !important; bottom:0 !important;
    width:calc(100% - 250px) !important; height:64px !important; margin:0 !important; padding:0 20px 13px !important;
    display:flex !important; align-items:flex-end !important; justify-content:center !important;
    overflow:hidden !important; isolation:isolate;
    color:#4d6378 !important; pointer-events:none;
    background:transparent !important; border:0 !important; box-shadow:none !important;
    font-size:13px !important; font-weight:500 !important; letter-spacing:0 !important; text-align:center !important;
    z-index:1040 !important;
}
.his-operations-suite .site-footer.portal-system-footer::before {
    content:'' !important; position:absolute !important; z-index:0;
    left:-5% !important; right:-5% !important; bottom:-34px !important; height:78px !important;
    background:linear-gradient(100deg,#a9e4ef 0%,#a9ead1 100%) !important;
    border-radius:50% 50% 0 0 / 60% 60% 0 0 !important; transform:rotate(-.4deg) !important;
}
.his-operations-suite .site-footer.portal-system-footer span { position:relative; z-index:1; }
.his-operations-suite .site-footer.portal-system-footer strong { color:#139d8c !important; font-weight:800 !important; }
.his-operations-suite body.hide-sidebar .site-footer.portal-system-footer,
.his-operations-suite body.compact-menu .site-footer.portal-system-footer { left:0 !important; width:100% !important; }
body.hide-sidebar .site-footer.portal-system-footer,
body.compact-menu .site-footer.portal-system-footer { left:0 !important; width:100% !important; }
.portal-footer-enabled .scrollup { bottom:76px !important; }

@media (max-width:767px) {
    .his-billing-suite body:not(.horizontal-menu) main .sub-header { min-height:auto; padding:18px !important; border-radius:18px !important; }
    .his-billing-suite body:not(.horizontal-menu) main .sub-header h4 { font-size:22px !important; }
    .his-billing-suite body:not(.horizontal-menu) main .card { border-radius:17px !important; }
    .his-billing-suite body:not(.horizontal-menu) main .card > .card-header,
    .his-billing-suite body:not(.horizontal-menu) main .card > .card-body { padding:17px !important; }
    .his-billing-suite body:not(.horizontal-menu) main .table-responsive { border-radius:0 0 17px 17px; }
    .masterfile-module .sub-header { min-height:auto; padding:18px !important; border-radius:18px !important; }
    .masterfile-module .sub-header h4 { font-size:22px !important; }
    .masterfile-module main .settings-card,
    .masterfile-module main .summary-card,
    .masterfile-module main .heading-preview,
    .csr-masterfile-page .csr-shell { border-radius:17px !important; }
    .csr-masterfile-page .csr-hero { padding:20px !important; }
    .csr-masterfile-page .csr-hero h4 { font-size:22px !important; }
    .stockrequest-module main > .container-fluid > .row:first-child > .col-12 > .d-flex:first-child,
    .stockrequest-module main > .container-fluid > .row:first-child > .col-12.d-flex { min-height:auto; padding:18px !important; border-radius:18px !important; }
    .stockrequest-module main > .container-fluid > .row:first-child h4 { font-size:22px !important; }
    .stockrequest-module main .card:not(.department-request-hero),
    .stockrequest-module main .summary-card,
    .stockrequest-module .department-request-hero,
    .stockrequest-module .department-request-card { border-radius:17px !important; }
    body.portal-footer-enabled { padding-bottom:68px !important; }
    body.portal-footer-enabled main { padding-bottom:76px !important; }
    .site-footer.portal-system-footer { left:0 !important; width:100% !important; height:58px; padding:0 10px 8px !important; font-size:11px !important; }
    .site-footer.portal-system-footer::before { bottom:-31px; height:70px; }
    .site-footer.portal-system-footer .portal-footer-logo { width:54px; height:36px; margin-right:6px; }
    .portal-footer-enabled .scrollup { bottom:68px !important; }
}

@media (min-width:768px) and (max-width:991px) {
    .site-footer.portal-system-footer { left:0 !important; width:100% !important; }
}
