/* ============================================================
   Popular Diagnostic Centre — Central RIS Enhancement CSS
   Green theme, Metronic-compatible, Responsive
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
    --pdc-green: #1B7A34;
    --pdc-green-dark: #145A26;
    --pdc-green-light: #22913E;
    --pdc-green-50: #f0fdf4;
    --pdc-green-100: #dcfce7;
    --pdc-green-200: #bbf7d0;
}

/* === GLOBAL OVERRIDES === */
#logoTitle {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    color: white !important;
}

/* Force nav menu items white on green header */
#header #nav-menu-id .menu-title,
#header .menu-title {
    color: white !important;
}

#header #nav-menu-id .menu-arrow i,
#header .menu-arrow i {
    color: rgba(255,255,255,0.7) !important;
}

#header #nav-menu-id .menu-link:hover .menu-title {
    color: #bbf7d0 !important;
}

/* Dropdown items should be dark (they're on white bg) - must beat #header #nav-menu-id specificity */
#header #nav-menu-id .menu-dropdown .menu-title,
#header .menu-dropdown .menu-title,
.menu-dropdown .menu-title {
    color: #374151 !important;
}

#header #nav-menu-id .menu-dropdown .menu-link:hover .menu-title,
.menu-dropdown .menu-link:hover .menu-title {
    color: var(--pdc-green) !important;
}

/* === WORKLIST PAGE === */

/* Remove background image - clean surface */
.worklistContainer {
    background-image: none !important;
    background: #f3f6f4 !important;
    padding-top: 80px !important;
}

#workListGrid {
    background: none !important;
    backdrop-filter: none !important;
}

/* === FILTER BAR === */
.filter-container {
    background: white !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    margin: 0 12px 12px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 16px !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
}

/* Title takes minimal space */
.filter-container .w-Title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    align-self: center !important;
}

.filter-container .w-Title i,
.filter-container .w-Title .fa-cog {
    color: var(--pdc-green) !important;
    text-shadow: none !important;
}

/* Each filter group grows equally to fill all available space */
.filter-container .filter-group {
    flex: 1 1 0 !important;
    min-width: 120px !important;
}

/* Force ALL inner elements to fill their parent width */
.filter-container .filter-group select,
.filter-container .filter-group input,
.filter-container .filter-group .input-wrapper,
.filter-container .filter-group .select2,
.filter-container .filter-group .select2-container,
.filter-container .filter-group .input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Filter labels with icons */
.filter-group label {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: var(--pdc-green-dark) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-bottom: 3px !important;
}

/* Icon before each label */
.filter-group label[for="search-entries"]::before { content: "\f002"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 9px; }
.filter-group label[for="hospital"]::before { content: "\f0f8"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 9px; }
.filter-group label[for="radiologist"]::before { content: "\f007"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 9px; }
.filter-group label[for="modality"]::before { content: "\f0c1"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 9px; }
.filter-group label[for="status"]::before { content: "\f0ae"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 9px; }

/* Filter inputs & selects */
.filter-group input[type="text"],
.filter-group select,
.filter-container .input-wrapper input {
    border: 1.5px solid #d1d9e0 !important;
    border-radius: 8px !important;
    background-color: white !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    color: #1e293b !important;
    transition: all 0.15s ease !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
    padding: 9px 10px !important;
    width: 100% !important;
    appearance: auto !important;
}

.filter-group input[type="text"]:focus,
.filter-group select:focus,
.filter-container .input-wrapper input:focus {
    border-color: var(--pdc-green) !important;
    background: white !important;
    box-shadow: 0 0 0 3px rgba(27,122,52,0.1), 0 1px 2px rgba(0,0,0,0.04) !important;
    outline: none !important;
}

/* Search input wrapper full width of its group */
.filter-container .input-wrapper {
    position: relative !important;
    width: 100% !important;
}

.filter-container .input-wrapper .search-icon {
    opacity: 0.4;
}

/* === SELECT2 OVERRIDES (hide native select when Select2 active) === */
.filter-group select.select2-hidden-accessible {
    display: none !important;
}

/* Hide the native select label text shown below Select2 */
.filter-group .select2-container ~ span,
.filter-group > span:not(.select2-container) {
    display: none !important;
}

/* Style Select2 containers to match theme */
.filter-group .select2-container {
    width: 100% !important;
}

.filter-group .select2-container .select2-selection--single {
    border: 1.5px solid #d1d9e0 !important;
    border-radius: 8px !important;
    background: white !important;
    height: 38px !important;
    padding: 4px 8px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
    transition: all 0.15s ease !important;
}

.filter-group .select2-container--open .select2-selection--single,
.filter-group .select2-container--focus .select2-selection--single {
    border-color: var(--pdc-green) !important;
    box-shadow: 0 0 0 3px rgba(27,122,52,0.1) !important;
}

.filter-group .select2-container .select2-selection__rendered {
    color: #1e293b !important;
    font-size: 13px !important;
    line-height: 28px !important;
    padding-left: 4px !important;
}

.filter-group .select2-container .select2-selection__arrow {
    height: 36px !important;
}

/* Select2 dropdown panel */
.select2-dropdown {
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    z-index: 9999 !important;
    overflow: visible !important;
    background: white !important;
}

/* Limit dropdown list height and enable scroll */
.select2-results__options {
    max-height: 260px !important;
    overflow-y: auto !important;
    background: white !important;
}

.select2-results {
    background: white !important;
}

/* Body-level dropdown container needs solid bg too */
body > .select2-container {
    z-index: 9999 !important;
    background: white !important;
}

/* Hide Select2 internal search box — filtering done via main filter inputs */
.select2-search--dropdown {
    display: none !important;
}

.select2-results__options::-webkit-scrollbar { width: 5px; }
.select2-results__options::-webkit-scrollbar-track { background: transparent; }
.select2-results__options::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }

.select2-container--open {
    z-index: 9999 !important;
}

/* Force dropdown to layer above grid */
.select2-dropdown {
    z-index: 9999 !important;
}

/* Only set position on inline containers INSIDE filter groups */
.filter-group .select2-container {
    position: relative !important;
    z-index: 50 !important;
}

/* Body-level Select2 dropdown container — let Select2 JS handle positioning */
body > .select2-container {
    z-index: 9999 !important;
}

/* Ensure filter bar is above grid but BELOW header nav */
.filter-container {
    position: relative !important;
    z-index: 50 !important;
}

/* Fix Select2 dropdown clipping - force overflow visible on all parent containers */
#workListGrid,
#workListGrid > .card,
.worklistContainer .grid,
.worklistContainer .card,
.worklistContainer > .grid > .card {
    overflow: visible !important;
}

#workListContainer {
    overflow: visible !important;
}

/* Card body (table area) can keep its own scroll */
.worklistContainer .card-body {
    overflow: visible !important;
}

.select2-results__option {
    font-size: 13px !important;
    padding: 8px 12px !important;
    font-family: 'DM Sans', sans-serif !important;
}

.select2-results__option--highlighted {
    background-color: var(--pdc-green-50) !important;
    color: var(--pdc-green-dark) !important;
}

.select2-results__option--selected {
    background-color: var(--pdc-green-100) !important;
    color: var(--pdc-green-dark) !important;
}

.select2-search--dropdown .select2-search__field {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: var(--pdc-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(27,122,52,0.08) !important;
}

/* Select2 multiple tags */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--pdc-green-50) !important;
    border: 1px solid var(--pdc-green-200) !important;
    color: var(--pdc-green-dark) !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    padding: 2px 8px !important;
}

/* Also hide any raw text nodes / extra labels below select in filter-group */
.filter-container .filter-group > br,
.filter-container .filter-group > br + *:not(select):not(.select2-container):not(.input-wrapper):not(label) {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Assign button - flex-shrink 0 so it stays at end */
.assignRadiologistBtn {
    background: var(--pdc-green) !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    transition: all 0.2s !important;
    box-shadow: 0 2px 8px rgba(27,122,52,0.2) !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    align-self: center !important;
}

.assignRadiologistBtn:hover {
    background: var(--pdc-green-dark) !important;
    box-shadow: 0 4px 14px rgba(27,122,52,0.3) !important;
}

/* === DATA TABLE CARD === */
.worklistContainer .card-body {
    background: white !important;
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    margin: 0 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* === TABLE === */
#grid_table th,
.worklistContainer th {
    background: var(--pdc-green-50) !important;
    color: #1a5c2c !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--pdc-green-200) !important;
    padding: 12px 10px !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    white-space: nowrap;
}

#grid_table tr,
.worklistContainer #grid_table tr {
    border-bottom: 1px solid #f1f5f3 !important;
}

/* === ZEBRA STRIPING === */
#grid_table tbody tr:nth-child(even) {
    background-color: #f8faf9 !important;
}

#grid_table tbody tr:nth-child(odd) {
    background-color: white !important;
}

#grid_table tbody tr:hover {
    background-color: #eef7f0 !important;
}

#grid_table td {
    padding: 10px 10px !important;
    font-size: 13px !important;
    color: #334155 !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #f0f3f1 !important;
}

/* Status badges */
.status-block {
    padding: 4px 10px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    display: inline-block !important;
}

.unassigned { background-color: #f1f5f9 !important; color: #64748b !important; }
.readytoread { background-color: rgba(16,185,129,0.1) !important; color: #059669 !important; }
.readinprogress { background-color: rgba(245,158,11,0.1) !important; color: #d97706 !important; }
.complete { background-color: rgba(16,185,129,0.12) !important; color: #059669 !important; }
.cancelled { background-color: #f1f5f9 !important; color: #94a3b8 !important; }
.assigning { background-color: rgba(27,122,52,0.1) !important; color: var(--pdc-green) !important; }
.addendum { background-color: rgba(139,92,246,0.1) !important; color: #8b5cf6 !important; }
.urgent { background-color: rgba(239,68,68,0.1) !important; color: #ef4444 !important; }

/* === TOAST NOTIFICATIONS === */
.error-message {
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
    border-left: 4px solid #F9285A !important;
}

.success-message {
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
    border-left: 4px solid #17C653 !important;
}

/* === MODALS === */
.commonModal { backdrop-filter: blur(4px) !important; background: rgba(15,23,42,0.5) !important; }

.Ordermodal-FrmContainer {
    background: white !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15) !important;
    background-image: none !important;
}

.Ordermodal-FrmContainer h3 {
    color: #1e293b !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.Ordermodal-FrmContainer form {
    background: #f9fafb !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    border: 1px solid #e5e7eb !important;
}

.Ordermodal-FrmContainer form label {
    color: #374151 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

.Ordermodal-FrmContainer form input,
.Ordermodal-FrmContainer form select {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: white !important;
    font-size: 14px !important;
}

.Ordermodal-FrmContainer form input:focus,
.Ordermodal-FrmContainer form select:focus {
    border-color: var(--pdc-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(27,122,52,0.08) !important;
}

/* === SCROLLBAR === */
.scrollable-x-auto::-webkit-scrollbar { height: 6px !important; }
.scrollable-x-auto::-webkit-scrollbar-track { background: transparent !important; }
.scrollable-x-auto::-webkit-scrollbar-thumb { background-color: #cbd5e1 !important; border-radius: 10px !important; }

/* === CHANGE PASSWORD === */
.CPcontainer { border-radius: 20px !important; }
.CPcontainer button {
    background: var(--pdc-green) !important;
    border-radius: 10px !important;
}
.CPcontainer button:hover { background: var(--pdc-green-dark) !important; }

/* === SETTINGS PAGES TABLE HEADERS === */
.headerContainer + div #grid_table th,
div[style*="overflow"] #grid_table th {
    background: var(--pdc-green-50) !important;
    color: #1e4a2b !important;
}

/* === REPORT PAGE (mirror worklist styles) === */
.reportlistContainer {
    background-image: none !important;
    background: #f3f6f4 !important;
    padding-top: 80px !important;
}

/* Fix Report page narrow column - expand to full width */
.reportlistContainer .cardHeaderContainer .col-md-11,
.reportlistContainer .col-md-11 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Contain overflow on grid */
.reportlistContainer #workListGrid {
    max-width: 100% !important;
    overflow: hidden !important;
}

.reportlistContainer .card-body {
    background: white !important;
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    margin: 0 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.reportlistContainer .w-Title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
}

.reportlistContainer .w-Title i {
    color: var(--pdc-green) !important;
}

.reportlistContainer #grid_table th {
    background: var(--pdc-green-50) !important;
    color: #1a5c2c !important;
}

.reportlistContainer .filter-container {
    background: white !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    margin: 0 12px 12px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

/* Global card-body override for ALL RIS pages */
#workListGrid .card-body,
.grid > .card > .card-body {
    background: white !important;
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
}

/* === EDITOR PAGE === */

/* Page background */
#WordProcessor {
    background: #eef1f0 !important;
}

/* Toolbar - clean white, fix overflow */
#toolBox {
    background: #f0fdf4 !important;
    border-bottom: 2px solid #bbf7d0 !important;
    padding: 6px 12px !important;
    overflow: hidden !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 2px !important;
    min-height: auto !important;
    height: auto !important;
}

/* Toolbar sections - compact and aligned */
#toolBox .pages-setting-box-row {
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    padding: 2px 4px !important;
}

#toolBox .pages-setting-box-col {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 3px !important;
    padding: 0 4px !important;
}

/* Toolbar split lines */
#toolBox .split-line {
    height: 50px !important;
    margin: 0 6px !important;
    background: #d1d5db !important;
    opacity: 0.6 !important;
}

/* Toolbar buttons */
#toolBox button,
#toolBox .toggle,
#toolBox span[onclick] {
    border: 1px solid #e2e8f0 !important;
    border-radius: 5px !important;
    background: #f9fafb !important;
    padding: 4px 6px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    min-width: 30px !important;
    min-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#toolBox button:hover,
#toolBox .toggle:hover,
#toolBox span[onclick]:hover {
    background: #dcfce7 !important;
    border-color: #1B7A34 !important;
}

#toolBox button.active,
#toolBox .toggle.active {
    background: var(--pdc-green-100) !important;
    border-color: var(--pdc-green) !important;
}

/* Toolbar selects (font, size, color) */
#toolBox select,
#toolBox .format-select {
    border: 1px solid #e2e8f0 !important;
    border-radius: 5px !important;
    padding: 4px 6px !important;
    font-size: 12px !important;
    background: white !important;
    cursor: pointer !important;
    max-width: 120px !important;
    height: 28px !important;
}

#toolBox select:focus {
    border-color: var(--pdc-green) !important;
    outline: none !important;
}

/* Toolbar dropdown button (Export) */
#toolBox .dropdown-toggle {
    border: 1px solid #e2e8f0 !important;
    border-radius: 5px !important;
    background: white !important;
    padding: 3px 8px !important;
}

#toolBox .dropdown-menu {
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
}

#toolBox .dropdown-item:hover {
    background: var(--pdc-green-50) !important;
    color: var(--pdc-green-dark) !important;
}

/* Header/Footer checkboxes in toolbar */
#toolBox label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    cursor: pointer !important;
}

/* Ruler box */
#ruler-box {
    background: #f8faf9 !important;
    border-bottom: 1px solid #e5e7eb !important;
}

/* === EDITOR CONTAINER (3-panel layout) === */
#EditorContainer {
    display: flex !important;
    gap: 0 !important;
    background: #f3f6f4 !important;
}

/* Left Panel - fixed width, no grow */
#EditorContainer .left-section {
    background: #f8faf9 !important;
    border-right: 1px solid #e5e7eb !important;
    padding: 10px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    flex: 0 0 190px !important;
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Hide vertical ruler on screen - takes up space */
.ruler-vertical {
    display: none !important;
}

/* Patient history textarea */
#patientHistoryContainer textarea {
    width: 100% !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 8px !important;
    font-size: 12px !important;
    background: white !important;
    resize: vertical !important;
    color: #334155 !important;
    font-family: 'DM Sans', sans-serif !important;
    min-height: 80px !important;
    max-height: 180px !important;
}

/* Left panel buttons */
#EditorContainer .left-section .btn {
    font-size: 11px !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    width: 100% !important;
    text-align: center !important;
    font-weight: 600 !important;
}

#EditorContainer .left-section .btn-primary {
    background: var(--pdc-green) !important;
    border: none !important;
}

#EditorContainer .left-section .btn-primary:hover {
    background: var(--pdc-green-dark) !important;
}

#EditorContainer .left-section .btn-danger {
    background: #ef4444 !important;
    border: none !important;
}

#clearBox {
    margin: 0 !important;
    width: 100% !important;
}

/* Force all left panel children to full width */
#EditorContainer .left-section > * {
    width: 100% !important;
    box-sizing: border-box !important;
}

#patientHistoryContainer {
    width: 100% !important;
}

#attachedBtnContainer {
    width: 100% !important;
}

/* Center Editor Area */
#editor {
    background: #e2e6e4 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding: 10px !important;
    min-width: 0 !important;
}

/* Editor pages */
#editor .page {
    background: white !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    margin: 0 auto 12px !important;
}

/* Right Panel - fixed width, no grow */
#EditorContainer .right-section {
    background: #f8faf9 !important;
    border-left: 1px solid #e5e7eb !important;
    padding: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    overflow: hidden !important;
}

/* Template search */
#EditorContainer .right-section label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--pdc-green-dark) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

#EditorContainer .right-section input[type="text"] {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    width: 100% !important;
    background: white !important;
    box-sizing: border-box !important;
}

#EditorContainer .right-section input[type="text"]:focus {
    border-color: var(--pdc-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(27,122,52,0.08) !important;
}

/* Template list */
#EditorContainer .right-section .dropdown-list,
#EditorContainer .right-section ul {
    max-height: 250px !important;
    overflow-y: auto !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    background: white !important;
    font-size: 11px !important;
}

#EditorContainer .right-section li {
    padding: 6px 10px !important;
    cursor: pointer !important;
    border-bottom: 1px solid #f3f4f6 !important;
    transition: background 0.1s !important;
}

#EditorContainer .right-section li:hover {
    background: var(--pdc-green-50) !important;
}

/* Save/Template/ShortKey buttons */
#EditorContainer .right-section .btnDiv {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-top: auto !important;
}

#EditorContainer .right-section .btnDiv .btn {
    font-size: 12px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    width: 100% !important;
    background: var(--pdc-green) !important;
    border: none !important;
    color: white !important;
}

#EditorContainer .right-section .btnDiv .btn:hover {
    background: var(--pdc-green-dark) !important;
}

/* Page number display */
#EditorContainer .right-section #pageNumberDisplay,
.pageNumber {
    font-size: 12px !important;
    color: #64748b !important;
    text-align: center !important;
    padding: 4px !important;
}

/* === RESPONSIVE === */
@media (max-width: 1024px) {
    #nav-menu-id {
        background: white !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
        padding: 8px !important;
    }
    #nav-menu-id .menu-title { color: #334155 !important; }
    #nav-menu-id .menu-link:hover .menu-title { color: var(--pdc-green) !important; }
    .worklistContainer { padding: 10px !important; padding-top: 80px !important; }
    .filter-container { flex-wrap: wrap !important; gap: 8px !important; }
    .filter-container .filter-group { flex: 1 1 140px !important; max-width: none !important; }
    .filter-container .input-wrapper { width: 100% !important; }
    .Ordermodal-FrmContainer { margin: 10px 3% !important; width: 94% !important; }
    .form-section { flex-direction: column !important; }
    .w50div { width: 100% !important; }
}

@media (max-width: 768px) {
    #header { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 999 !important; }
    #content { padding-top: 60px !important; }
    #nav-menu-id { width: 100% !important; position: absolute !important; top: 55px !important; left: 0 !important; max-height: 70vh !important; overflow-y: auto !important; border-radius: 0 0 16px 16px !important; }
    #nav-menu-id .menu-link { padding: 12px 16px !important; min-height: 44px; }
    .menu-dropdown { position: static !important; box-shadow: none !important; border: none !important; background: #f8fafc !important; border-radius: 8px !important; margin: 4px 8px !important; }
    #mobile-menu-toggle { min-width: 44px !important; min-height: 44px !important; }
    .worklistContainer { padding: 8px !important; padding-top: 10px !important; }
    .filter-container { padding: 12px !important; margin: 0 6px 8px !important; }
    .filter-container .w-Title { font-size: 16px !important; width: 100% !important; margin-bottom: 6px !important; }
    .filter-container .filter-group { flex: 1 1 calc(50% - 8px) !important; min-width: 0 !important; max-width: none !important; }
    .filter-group input[type="text"], .filter-group select { min-height: 42px !important; }
    .assignRadiologistBtn { width: 100% !important; margin-left: 0 !important; min-height: 44px !important; }
    .scrollable-x-auto { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
    #grid_table { min-width: 800px !important; }
    .Ordermodal-FrmContainer { margin: 0 !important; width: 100% !important; border-radius: 0 !important; min-height: 100vh !important; }
    .error-message, .success-message { width: calc(100% - 20px) !important; right: 10px !important; }
    .ris-dash-grid { grid-template-columns: 1fr !important; }
    .CPcontainer { flex-direction: column !important; }
    .image-side { display: none !important; }
    .btn, button, a.btn { min-height: 42px !important; }
}

@media (max-width: 480px) {
    .filter-container .filter-group { flex: 1 1 100% !important; }
    #grid_table td, #grid_table th { padding: 6px 4px !important; font-size: 11px !important; }
    .loginName span { display: none !important; }
}

@media (hover: none) and (pointer: coarse) {
    .menu-link, .menu-dropdown .menu-link, .profile-dropdown .menu-link { min-height: 44px !important; }
    input[type="checkbox"], input[type="radio"] { min-width: 20px !important; min-height: 20px !important; }
}

@media print {
    #header, .footer, #mobile-menu-toggle, .filter-container, .assignRadiologistBtn { display: none !important; }
    .worklistContainer { padding: 0 !important; background: white !important; }
    #grid_table { min-width: auto !important; }
}
