/* ============================================
   GLOBAL THEME SYSTEM - TEAL & COMPLEMENTARY COLORS
   Consistent styling across all pages
   ============================================ */

:root {
    /* Lumina Primary Brand Colors */
    --theme-primary-green: #1a9e6e;
    --theme-dark-green: #0d5c40;
    --theme-light-bg: #f0faf6;
    
    /* Legacy aliases for compatibility */
    --theme-teal: #1a9e6e;
    --theme-teal-light: #2db888;
    --theme-teal-dark: #0d5c40;
    
    /* Module Accent Colors */
    --accent-pharmacy: #1a9e6e;
    --accent-transport: #f59e0b;
    --accent-finance: #10b981;
    --accent-expenses: #ef4444;
    --accent-client: #0ea5e9;
    --accent-rc-emr: #8b5cf6;
    --accent-hr: #ec4899;
    --accent-tpa: #14b8a6;
    --accent-video: #6366f1;
    --accent-setup: #64748b;
    
    /* Complementary Colors */
    --theme-coral: #ef4444;
    --theme-coral-light: #f87171;
    --theme-coral-dark: #dc2626;
    
    /* Supporting Colors */
    --theme-orange: #f59e0b;
    --theme-blue: #0ea5e9;
    --theme-green: #10b981;
    --theme-purple: #8b5cf6;
    --theme-yellow: #fbbf24;
    --theme-red: #ef4444;
    
    /* UI Neutrals */
    --text-body: #111827;
    --text-subtext: #6b7280;
    --text-light: #9ca3af;
    --theme-gray-light: #f3f4f6;
    --theme-gray-medium: #e5e7eb;
    --theme-gray-dark: #6b7280;
    --theme-text-dark: #111827;
    --theme-text-light: #6b7280;
    --theme-white: #ffffff;
    
    /* Sidebar Overlays (on green gradient) */
    --sidebar-active-bg: rgba(255, 255, 255, 0.18);
    --sidebar-hover-bg: rgba(255, 255, 255, 0.10);
    --sidebar-text: rgba(255, 255, 255, 0.75);
    --sidebar-divider: rgba(255, 255, 255, 0.12);
    --sidebar-dropdown-bg: rgba(255, 255, 255, 0.15);
    
    /* Shadows */
    --shadow-sm: 0 2px 4px rgba(26, 158, 110, 0.1);
    --shadow-md: 0 3px 6px rgba(26, 158, 110, 0.15);
    --shadow-lg: 0 6px 12px rgba(26, 158, 110, 0.2);
}

/* ============================================
   GLOBAL BUTTON STYLING
   ============================================ */

.btn-primary {
    background-color: var(--theme-teal) !important;
    border-color: var(--theme-teal-dark) !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    box-shadow: var(--shadow-sm) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--theme-teal-dark) !important;
    border-color: var(--theme-teal-dark) !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px);
}

.btn-info {
    background-color: var(--theme-teal) !important;
    border-color: var(--theme-teal-dark) !important;
    color: #ffffff !important;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: var(--theme-teal-dark) !important;
    border-color: var(--theme-teal-dark) !important;
}

.btn-danger {
    background-color: var(--theme-coral) !important;
    border-color: var(--theme-coral-dark) !important;
    color: #ffffff !important;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    background-color: var(--theme-coral-dark) !important;
    border-color: var(--theme-coral-dark) !important;
}

.btn-success {
    background-color: var(--theme-green) !important;
    border-color: #27AE60 !important;
}

.btn-warning {
    background-color: var(--theme-orange) !important;
    border-color: #D35400 !important;
}

/* ============================================
   GLOBAL BOX/CARD STYLING
   ============================================ */

.box {
    border-radius: 8px !important;
    box-shadow: var(--shadow-md) !important;
    border: 1px solid var(--theme-gray-medium) !important;
    background: #ffffff !important;
    margin-bottom: 20px !important;
}

.box-header {
    background: var(--theme-teal) !important;
    color: #ffffff !important;
    padding: 12px 15px !important;
    border-bottom: none !important;
    border-radius: 8px 8px 0 0 !important;
}

.box-header .box-title {
    font-weight: 600 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    color: #ffffff !important;
}

.box-body {
    padding: 15px !important;
    background: #ffffff !important;
}

/* ============================================
   GLOBAL TABLE STYLING
   ============================================ */

.table,
table.table,
table.ajaxlist,
.ajaxlist {
    border-radius: 8px;
    overflow: hidden;
}

.table thead,
table.table thead,
table.ajaxlist thead,
.ajaxlist thead {
    background: var(--theme-teal) !important;
    background-color: var(--theme-teal) !important;
    color: #ffffff !important;
}

.table thead th,
table.table thead th,
table.ajaxlist thead th,
.ajaxlist thead th,
table.dataTable thead th {
    border: none !important;
    padding: 12px 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
    color: #ffffff !important;
    background: var(--theme-teal) !important;
    background-color: var(--theme-teal) !important;
}

/* Ensure DataTables headers also get teal background */
table.dataTable thead th,
table.dataTable thead td {
    background: var(--theme-teal) !important;
    background-color: var(--theme-teal) !important;
    color: #ffffff !important;
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    background: var(--theme-teal) !important;
    background-color: var(--theme-teal) !important;
    color: #ffffff !important;
}

/* Patient Visit Report Tables - Ensure ALL tables have teal headers */
.allajaxlist thead th,
.allajaxlist thead tr th,
table.allajaxlist thead th,
table.allajaxlist thead tr th {
    background: var(--theme-teal) !important;
    background-color: var(--theme-teal) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
}

/* Tables without thead - direct tr in tbody (like Pharmacy table) */
.allajaxlist > tbody > tr:first-child th,
table.allajaxlist > tbody > tr:first-child th {
    background: var(--theme-teal) !important;
    background-color: var(--theme-teal) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
}

/* Modal content styling */
.modal-media-content {
    border-radius: 12px !important;
}

.modal-media-header {
    background: var(--theme-teal) !important;
    color: #ffffff !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 15px 20px !important;
    border-bottom: none !important;
}

.modal-media-header .modal-title {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

.modal-media-header .close {
    color: #ffffff !important;
    opacity: 0.9 !important;
    text-shadow: none !important;
}

.modal-media-header .close:hover {
    opacity: 1 !important;
}

.modal-media-header .modalicon a {
    color: #ffffff !important;
    margin-left: 10px !important;
    font-size: 16px !important;
}

.modal-media-header .modalicon a:hover {
    opacity: 0.8 !important;
}

/* Patient visit report section headers */
.bolds {
    font-weight: 600 !important;
    color: var(--theme-text-dark) !important;
    margin-bottom: 10px !important;
    font-size: 16px !important;
}

/* Table captions */
table caption .bolds {
    margin-bottom: 10px !important;
    color: var(--theme-text-dark) !important;
}

.table tbody tr {
    transition: background-color 0.2s ease;
}

.table tbody tr:hover {
    background-color: rgba(26, 188, 156, 0.05) !important;
}

.table tbody td {
    padding: 12px 15px !important;
    border-color: var(--theme-gray-medium) !important;
    vertical-align: middle !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(26, 188, 156, 0.02) !important;
}

.table-bordered {
    border: 1px solid var(--theme-gray-medium) !important;
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
    border: 1px solid var(--theme-gray-medium) !important;
}

/* ============================================
   GLOBAL FORM STYLING
   ============================================ */

.form-control {
    border-radius: 6px !important;
    border: 1px solid var(--theme-gray-medium) !important;
    padding: 8px 12px !important;
    transition: all 0.2s ease !important;
}

.form-control:focus {
    border-color: var(--theme-teal) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 188, 156, 0.15) !important;
    outline: none !important;
}

.form-group label {
    font-weight: 500 !important;
    color: var(--theme-text-dark) !important;
    margin-bottom: 6px !important;
    font-size: 13px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    display: block !important;
    width: 100% !important;
}

/* Fix checkbox labels - ensure they wrap and display fully */
.checkbox label,
.radio label {
    font-weight: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 25px !important; /* Space for checkbox */
    margin-bottom: 8px !important;
    margin-left: 0 !important;
    line-height: 1.6 !important;
    position: relative !important;
    cursor: pointer !important;
}

.checkbox input[type="checkbox"],
.radio input[type="radio"] {
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    cursor: pointer !important;
    float: none !important;
    display: block !important;
    z-index: 1 !important;
}

/* Ensure checkbox container doesn't cut off content */
.checkbox,
.radio {
    margin-bottom: 8px !important;
    overflow: visible !important;
    position: relative !important;
    clear: both !important;
}

/* Fix for any inline checkboxes */
.checkbox-inline label,
.radio-inline label {
    display: inline-flex !important;
    align-items: center !important;
    padding-left: 0 !important;
    margin-right: 15px !important;
    gap: 6px !important;
}

/* Form group spacing */
.form-group {
    margin-bottom: 20px !important;
    overflow: visible !important;
}

/* Ensure select options display fully */
select.form-control {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important; /* Changed from ellipsis to clip to show full text */
    white-space: normal !important; /* Allow text to wrap */
    word-wrap: break-word !important;
    padding: 8px 12px !important;
    min-height: 38px !important; /* Ensure adequate height */
}

select.form-control option {
    white-space: normal !important;
    word-wrap: break-word !important;
    padding: 8px 12px !important;
    overflow: visible !important;
}

/* Ensure selected option text displays fully */
select.form-control:not([multiple]) {
    height: auto !important;
    min-height: 38px !important;
    line-height: 1.5 !important;
}

/* Box body - ensure content is visible */
.box-body {
    padding: 20px !important;
    background: #ffffff !important;
    overflow: visible !important;
    word-wrap: break-word !important;
}

/* Box content wrapper */
.box {
    overflow: visible !important;
}

/* Content wrapper - ensure no text cutoff */
.content-wrapper {
    overflow-x: visible !important;
}

/* Section content */
.content {
    overflow-x: visible !important;
}

/* Row containers */
.row {
    overflow: visible !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

/* Column containers */
[class*="col-"] {
    overflow: visible !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* ============================================
   GLOBAL MODAL STYLING
   ============================================ */

.modal-content {
    border-radius: 12px !important;
    border: none !important;
    box-shadow: var(--shadow-lg) !important;
}

.modal-header {
    background: var(--theme-teal) !important;
    color: #ffffff !important;
    border-radius: 12px 12px 0 0 !important;
    border-bottom: none !important;
    padding: 15px 20px !important;
}

.modal-header .modal-title {
    font-weight: 600 !important;
    font-size: 18px !important;
    color: #ffffff !important;
}

.modal-header .close {
    color: #ffffff !important;
    opacity: 0.9 !important;
    text-shadow: none !important;
}

.modal-header .close:hover {
    opacity: 1 !important;
}

.modal-body {
    padding: 20px !important;
}

.modal-footer {
    border-top: 1px solid var(--theme-gray-medium) !important;
    padding: 15px 20px !important;
}

/* ============================================
   GLOBAL CONTENT WRAPPER
   ============================================ */

.content-wrapper {
    background: var(--theme-gray-light) !important;
    min-height: 100vh !important;
    padding: 15px !important;
    /* Don't override margin-left - let framework handle sidebar spacing */
    overflow-x: visible !important; /* Ensure content is not hidden */
    position: relative !important;
    z-index: 1 !important;
}

/* Fix for fixed header - ensure content is not hidden under navbar */
body.fixed .content-wrapper {
    padding-top: 60px !important;
    margin-top: 0 !important;
}

/* Ensure the first content element has proper spacing */
body.fixed .content-wrapper > .content {
    padding-top: 0 !important;
}

body.fixed .content-wrapper .box:first-child {
    margin-top: 0 !important;
}

/* Back button bar - section/dashboard sub-pages (not main Dashboard) */
.back-button-bar {
    margin: -15px -15px 15px -15px !important;
    padding: 10px 15px !important;
    background: rgba(26, 188, 156, 0.08) !important;
    border-bottom: 1px solid var(--theme-gray-medium) !important;
}
.back-button-bar .btn-back {
    font-weight: 500 !important;
    color: var(--theme-teal-dark) !important;
    border-color: var(--theme-teal) !important;
    background: #fff !important;
}
.back-button-bar .btn-back:hover {
    background: var(--theme-teal) !important;
    color: #fff !important;
    border-color: var(--theme-teal-dark) !important;
}

@media (max-width: 767px) {
    body.fixed .content-wrapper {
        padding-top: 100px !important;
    }
}

/* Additional fix for content-header if it exists */
body.fixed .content-header {
    padding-top: 15px !important;
    margin-top: 0 !important;
}

.content {
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
}

/* Ensure content section has proper spacing from top */
.content > .row {
    margin-top: 0 !important;
}

.content > .row > .col-md-12 {
    padding-top: 0 !important;
}

/* ============================================
   GLOBAL BADGE/LABEL STYLING
   ============================================ */

.badge,
.label {
    border-radius: 4px !important;
    padding: 4px 8px !important;
    font-weight: 500 !important;
    font-size: 11px !important;
}

.badge-primary,
.label-primary {
    background-color: var(--theme-teal) !important;
}

.badge-success,
.label-success {
    background-color: var(--theme-green) !important;
}

.badge-danger,
.label-danger {
    background-color: var(--theme-coral) !important;
}

.badge-warning,
.label-warning {
    background-color: var(--theme-orange) !important;
}

/* ============================================
   GLOBAL ALERT STYLING
   ============================================ */

.alert {
    border-radius: 6px !important;
    border: 1px solid transparent !important;
    padding: 12px 15px !important;
    margin-bottom: 15px !important;
}

.alert-success {
    background-color: rgba(46, 204, 113, 0.1) !important;
    border-color: var(--theme-green) !important;
    color: #27AE60 !important;
}

.alert-danger {
    background-color: rgba(255, 107, 107, 0.1) !important;
    border-color: var(--theme-coral) !important;
    color: #E55555 !important;
}

.alert-info {
    background-color: rgba(26, 188, 156, 0.1) !important;
    border-color: var(--theme-teal) !important;
    color: var(--theme-teal-dark) !important;
}

.alert-warning {
    background-color: rgba(230, 126, 34, 0.1) !important;
    border-color: var(--theme-orange) !important;
    color: #D35400 !important;
}

/* ============================================
   GLOBAL PAGINATION STYLING
   ============================================ */

.pagination > li > a,
.pagination > li > span {
    color: var(--theme-teal) !important;
    border-color: var(--theme-gray-medium) !important;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
    background-color: rgba(26, 188, 156, 0.1) !important;
    border-color: var(--theme-teal) !important;
    color: var(--theme-teal-dark) !important;
}

.pagination > .active > a,
.pagination > .active > span {
    background-color: var(--theme-teal) !important;
    border-color: var(--theme-teal) !important;
}

.pagination > .active > a:hover,
.pagination > .active > span:hover {
    background-color: var(--theme-teal-dark) !important;
    border-color: var(--theme-teal-dark) !important;
}

/* ============================================
   GLOBAL DATATABLES STYLING
   ============================================ */

.dataTables_wrapper {
    padding: 0 !important;
}

.dataTables_wrapper .dataTables_filter {
    margin-bottom: 15px !important;
}

.dataTables_wrapper .dataTables_filter label {
    font-weight: 500 !important;
    color: var(--theme-text-dark) !important;
}

.dataTables_wrapper .dataTables_filter input {
    border: 1px solid var(--theme-gray-medium) !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    margin-left: 8px !important;
    transition: all 0.2s ease !important;
}

.dataTables_wrapper .dataTables_filter input:focus {
    border-color: var(--theme-teal) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 188, 156, 0.15) !important;
    outline: none !important;
}

.dataTables_wrapper .dataTables_length {
    margin-bottom: 15px !important;
}

.dataTables_wrapper .dataTables_length label {
    font-weight: 500 !important;
    color: var(--theme-text-dark) !important;
}

.dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--theme-gray-medium) !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    margin: 0 8px !important;
    transition: all 0.2s ease !important;
}

.dataTables_wrapper .dataTables_length select:focus {
    border-color: var(--theme-teal) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 188, 156, 0.15) !important;
    outline: none !important;
}

.dataTables_wrapper .dataTables_paginate {
    margin-top: 15px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 4px !important;
    margin: 0 2px !important;
    padding: 6px 12px !important;
    transition: all 0.2s ease !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--theme-teal) !important;
    border-color: var(--theme-teal) !important;
    color: #ffffff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(26, 188, 156, 0.1) !important;
    border-color: var(--theme-teal) !important;
    color: var(--theme-teal-dark) !important;
}

.dataTables_wrapper .dataTables_info {
    color: var(--theme-text-light) !important;
    padding-top: 12px !important;
    font-size: 13px !important;
}

/* Export Buttons Styling - Enhanced for Visibility */
.dt-buttons {
    margin-bottom: 15px !important;
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10 !important;
    position: relative !important;
}

.dt-buttons .btn,
.dt-buttons button,
.dt-buttons a.btn {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    background: linear-gradient(135deg, #0d4f3c 0%, #16a085 50%, #2ecc71 100%) !important;
    border: none !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(13, 79, 60, 0.2) !important;
    min-width: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.dt-buttons .btn:hover,
.dt-buttons button:hover,
.dt-buttons a.btn:hover {
    background: linear-gradient(135deg, #0a3d2e 0%, #128a72 50%, #27b85f 100%) !important;
    transform: translateY(-2px) scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(13, 79, 60, 0.35) !important;
    color: #ffffff !important;
}

.dt-buttons .btn:active,
.dt-buttons .btn:focus,
.dt-buttons button:active,
.dt-buttons button:focus,
.dt-buttons a.btn:active,
.dt-buttons a.btn:focus {
    background: linear-gradient(135deg, #0a3d2e 0%, #128a72 50%, #27b85f 100%) !important;
    border: none !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(13, 79, 60, 0.4) !important;
}

.dt-buttons .btn i,
.dt-buttons button i,
.dt-buttons a.btn i {
    margin-right: 4px !important;
    font-size: 14px !important;
    display: inline-block !important;
    visibility: visible !important;
}

/* Ensure buttons-html5, buttons-print, buttons-colvis are visible */
.buttons-html5,
.buttons-print,
.buttons-colvis,
.buttons-copy,
.buttons-excel,
.buttons-pdf,
.buttons-csv {
    background: linear-gradient(135deg, #0d4f3c 0%, #16a085 50%, #2ecc71 100%) !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-weight: 500 !important;
    margin-right: 8px !important;
    margin-bottom: 5px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 4px rgba(13, 79, 60, 0.2) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    cursor: pointer !important;
    min-width: 40px !important;
}

.buttons-html5:hover,
.buttons-print:hover,
.buttons-colvis:hover,
.buttons-copy:hover,
.buttons-excel:hover,
.buttons-pdf:hover,
.buttons-csv:hover {
    background: linear-gradient(135deg, #0a3d2e 0%, #128a72 50%, #27b85f 100%) !important;
    transform: translateY(-2px) scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(13, 79, 60, 0.35) !important;
    color: #ffffff !important;
}

/* DataTables Length Selector */
.dataTables_length {
    display: inline-block !important;
    margin-right: 20px !important;
}

/* ============================================
   GLOBAL ACTION BUTTONS IN TABLES
   ============================================ */

.btn-sm {
    padding: 4px 10px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
}

.btn-xs {
    padding: 2px 8px !important;
    font-size: 11px !important;
    border-radius: 4px !important;
}

/* Action buttons in table cells */
.table .btn-group,
.table .btn {
    white-space: nowrap;
}

.table .btn-group .btn {
    margin: 0 2px;
}

.table .btn-group .btn:first-child {
    margin-left: 0;
}

.table .btn-group .btn:last-child {
    margin-right: 0;
}

/* Default button styling (for action buttons) */
.btn-default {
    background-color: #ffffff !important;
    border-color: var(--theme-gray-medium) !important;
    color: var(--theme-text-dark) !important;
    transition: all 0.2s ease !important;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
    background-color: var(--theme-gray-light) !important;
    border-color: var(--theme-teal) !important;
    color: var(--theme-teal-dark) !important;
}

/* Dropdown menu styling */
.dropdown-menu {
    border-radius: 6px !important;
    box-shadow: var(--shadow-md) !important;
    border: 1px solid var(--theme-gray-medium) !important;
    padding: 4px 0 !important;
    margin-top: 4px !important;
}

.dropdown-menu > li > a {
    padding: 8px 15px !important;
    color: var(--theme-text-dark) !important;
    transition: all 0.2s ease !important;
    font-size: 13px !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background-color: rgba(26, 188, 156, 0.1) !important;
    color: var(--theme-teal-dark) !important;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
    background-color: var(--theme-teal) !important;
    color: #ffffff !important;
}

/* Ellipsis menu button (three dots) */
.btn-group .btn[data-toggle="dropdown"] {
    padding: 4px 8px !important;
}

.btn-group .btn[data-toggle="dropdown"] i {
    font-size: 14px !important;
}

/* Action column buttons */
.table .white-space-nowrap .btn {
    margin: 0 2px;
}

/* Tooltip styling */
.tooltip-inner {
    background-color: var(--theme-teal) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
}

.tooltip.top .tooltip-arrow {
    border-top-color: var(--theme-teal) !important;
}

.tooltip.bottom .tooltip-arrow {
    border-bottom-color: var(--theme-teal) !important;
}

.tooltip.left .tooltip-arrow {
    border-left-color: var(--theme-teal) !important;
}

.tooltip.right .tooltip-arrow {
    border-right-color: var(--theme-teal) !important;
}

/* ============================================
   GLOBAL ICON BUTTONS
   ============================================ */

.btn i {
    margin-right: 4px;
}

.btn-sm i,
.btn-xs i {
    margin-right: 2px;
}

/* ============================================
   GLOBAL CHECKBOX STYLING
   ============================================ */

input[type="checkbox"] {
    cursor: pointer;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

input[type="checkbox"]:checked {
    accent-color: var(--theme-teal);
}

input[type="checkbox"]:focus {
    outline: 2px solid rgba(26, 188, 156, 0.3);
    outline-offset: 2px;
}

/* Checkbox in table header */
.table thead th input[type="checkbox"] {
    margin-right: 8px;
}

/* ============================================
   GLOBAL SELECT DROPDOWN STYLING
   ============================================ */

select.form-control {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231ABC9C' viewBox='0 0 16 16'%3e%3cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.5rem center !important;
    background-size: 16px 12px !important;
    padding-right: 2rem !important;
}

select.form-control:focus {
    border-color: var(--theme-teal) !important;
}

/* ============================================
   CURRENT FACILITY SELECTOR STYLING
   ============================================ */

#rc_facility_selector {
    background: linear-gradient(135deg, #0d4f3c 0%, #16a085 50%, #2ecc71 100%) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3e%3cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3e%3c/svg%3e"), linear-gradient(135deg, #0d4f3c 0%, #16a085 50%, #2ecc71 100%) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: right 0.75rem center, center !important;
    background-size: 14px 10px, 100% 100% !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 6px !important;
    padding: 8px 2.5rem 8px 12px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
}

#rc_facility_selector:hover {
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

#rc_facility_selector:focus {
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
    outline: none !important;
    z-index: 1000 !important;
}

#rc_facility_selector:active {
    z-index: 1000 !important;
}

/* Style the dropdown options */
#rc_facility_selector option {
    background: #0d4f3c !important;
    color: #ffffff !important;
    padding: 10px 12px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* Selected option styling */
#rc_facility_selector option:checked,
#rc_facility_selector option[selected] {
    background: #128a72 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Hover state for options (when dropdown is open) */
#rc_facility_selector option:hover {
    background: #128a72 !important;
    color: #ffffff !important;
}

/* For browsers that support styling select options */
#rc_facility_selector::-ms-expand {
    display: none;
}

/* ============================================
   GLOBAL LOADING/SPINNER
   ============================================ */

.btn-loading {
    opacity: 0.7;
    cursor: not-allowed;
}

/* ============================================
   BOX TOOLS STYLING
   ============================================ */

.box-tools {
    margin-top: 0 !important;
}

.box-tools .btn {
    margin-left: 5px !important;
}

.box-tools .btn-sm {
    padding: 6px 12px !important;
}

/* ============================================
   SEARCH INPUT STYLING
   ============================================ */

input[type="search"],
input[type="text"].form-control[placeholder*="Search"] {
    border-radius: 6px !important;
    border: 1px solid var(--theme-gray-medium) !important;
    padding: 8px 12px !important;
    transition: all 0.2s ease !important;
}

input[type="search"]:focus,
input[type="text"].form-control[placeholder*="Search"]:focus {
    border-color: var(--theme-teal) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 188, 156, 0.15) !important;
    outline: none !important;
}

/* ============================================
   PULL RIGHT BUTTONS
   ============================================ */

.pull-right.btn,
.pull-right .btn {
    margin-left: 8px !important;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
    .box {
        margin-bottom: 15px !important;
    }
    
    .box-header {
        padding: 10px 12px !important;
    }
    
    .box-body {
        padding: 12px !important;
    }
    
    .table thead th,
    .table tbody td {
        padding: 8px 10px !important;
        font-size: 12px !important;
    }
    
    .box-tools {
        margin-top: 10px !important;
        float: none !important;
        width: 100% !important;
    }
    
    .box-tools .btn {
        margin: 5px 5px 5px 0 !important;
        width: auto !important;
        display: inline-block !important;
    }
    
    .dt-buttons {
        margin-bottom: 10px !important;
    }
    
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_length {
        margin-bottom: 10px !important;
    }
}

/* ============================================
   GLOBAL SIDEBAR GRADIENT - PERMANENT ACROSS ALL PAGES
   Teal Green and Dark Green Blending
   ============================================ */

/* Override sidebar background with teal green to dark green gradient for all skins */
/* CRITICAL: Use maximum specificity to override skin CSS files */
.main-sidebar,
.left-side,
.sidebar,
body .main-sidebar,
body .left-side,
body .sidebar {
    background: linear-gradient(180deg, #0d4f3c 0%, #1a5f4a 25%, #16a085 50%, #1abc9c 75%, #2ecc71 100%) !important;
    background-color: transparent !important;
    border-radius: 0 20px 20px 0 !important;
    margin: 10px 0 10px 0 !important;
    overflow: hidden !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1) !important;
}

.skin-blue .main-sidebar,
.skin-blue .left-side,
.skin-blue .wrapper,
body.skin-blue .main-sidebar,
body.skin-blue .left-side,
body.skin-blue .wrapper,
body.skin-blue .main-sidebar,
body.skin-blue .left-side {
    background: linear-gradient(180deg, #0d4f3c 0%, #1a5f4a 25%, #16a085 50%, #1abc9c 75%, #2ecc71 100%) !important;
    background-color: transparent !important;
    border-radius: 0 20px 20px 0 !important;
    margin: 10px 0 10px 0 !important;
    overflow: hidden !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1) !important;
}

.skin-green .main-sidebar,
.skin-green .left-side,
.skin-green .wrapper,
body.skin-green .main-sidebar,
body.skin-green .left-side,
body.skin-green .wrapper {
    background: linear-gradient(180deg, #0d4f3c 0%, #1a5f4a 25%, #16a085 50%, #1abc9c 75%, #2ecc71 100%) !important;
    background-color: transparent !important;
    border-radius: 0 20px 20px 0 !important;
    margin: 10px 0 10px 0 !important;
    overflow: hidden !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1) !important;
}

.skin-black .main-sidebar,
.skin-black .left-side,
.skin-black .wrapper,
body.skin-black .main-sidebar,
body.skin-black .left-side,
body.skin-black .wrapper {
    background: linear-gradient(180deg, #0d4f3c 0%, #1a5f4a 25%, #16a085 50%, #1abc9c 75%, #2ecc71 100%) !important;
    background-color: transparent !important;
    border-radius: 0 20px 20px 0 !important;
    margin: 10px 0 10px 0 !important;
    overflow: hidden !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1) !important;
}

/* Sidebar menu items - white text with rounded corners */
.sidebar-menu > li > a {
    color: rgba(255, 255, 255, 0.9) !important;
    border-radius: 10px !important;
    margin: 4px 8px !important;
    padding: 10px 15px !important;
    transition: all 0.3s ease !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
}

/* Ensure span text in sidebar menu items wraps properly */
.sidebar-menu > li > a > span {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
    flex: 1 !important;
    min-width: 0 !important;
    line-height: 1.4 !important;
}

.sidebar-menu > li.header {
    color: rgba(255, 255, 255, 0.7) !important;
    background: rgba(0, 0, 0, 0.1) !important;
}

.sidebar a {
    color: rgba(255, 255, 255, 0.9) !important;
}

.user-panel > .info,
.user-panel > .info > a {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ============================================
   SIDEBAR HOVER COLORS - GREEN THEME
   ============================================ */

.sidebar-menu > li:hover > a,
.sidebar-menu > li.active > a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border-left: none !important;
    border-radius: 10px !important;
    transform: translateX(4px) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.sidebar-menu > li.active {
    border-left: none !important;
}

/* Enhanced active top-level menu item highlighting - with white dot and border */
.sidebar-menu > li.active > a {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.25) 100%) !important;
    border-left: 4px solid #ffffff !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    padding-left: 41px !important; /* Adjust for border and dot */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
    transform: none !important; /* Remove translateX to keep alignment */
}

/* Add prominent white dot indicator for active top-level menu items */
.sidebar-menu > li.active > a::before {
    content: '●' !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.8) !important;
    z-index: 1 !important;
}

/* Fix pull-right-container to not cause overflow */
.sidebar-menu > li > a > .pull-right-container {
    flex-shrink: 0 !important;
    margin-left: auto !important;
    padding-left: 10px !important;
}

/* Ensure icons don't cause overflow */
.sidebar-menu > li > a > i,
.sidebar-menu > li > a > .fa,
.sidebar-menu > li > a > .fas,
.sidebar-menu > li > a > .glyphicon {
    flex-shrink: 0 !important;
    margin-right: 10px !important;
    width: 20px !important;
    text-align: center !important;
}

/* Remove the old right accent bar - we're using left border and dot now */
.sidebar-menu > li.active > a::after {
    display: none !important;
}

.treeview-menu {
    background: rgba(0, 0, 0, 0.15) !important;
    overflow: visible !important;
    max-width: 100% !important;
}

/* Enhanced active submenu item highlighting - prominent indicator */
.treeview-menu > li.active > a {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.25) 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-left: 4px solid #ffffff !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    padding-left: 41px !important; /* Adjust for border */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
}

/* Add a prominent indicator dot/badge for active submenu items */
.treeview-menu > li.active > a::before {
    content: '●' !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.8) !important;
}

/* Ensure active submenu item stands out */
.treeview-menu > li.active {
    background: transparent !important;
}

/* Hover state for submenu items */
.treeview-menu > li > a:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border-left: 2px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    transition: all 0.2s ease !important;
}

/* Ensure sidebar menu container allows text wrapping */
.sidebar-menu {
    overflow: visible !important;
    word-wrap: break-word !important;
}

.sidebar-menu > li {
    overflow: visible !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
}

/* Ensure parent menu stays open when submenu item is active */
.sidebar-menu .treeview.active > .treeview-menu,
.sidebar-menu .treeview.active .treeview-menu,
.sidebar-menu .treeview-menu:has(li.active) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* Fallback for browsers that don't support :has() */
.sidebar-menu .treeview.active .treeview-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* CRITICAL: Ensure treeview-menu stays visible when parent has active class */
.sidebar-menu > li.active > .treeview-menu,
.sidebar-menu > li.treeview.active > .treeview-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* Ensure menu stays open when it has menu-open class */
.treeview-menu.menu-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

/* Ensure active submenu items are visible */
.treeview-menu li.active > a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.2) !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    transform: translateX(4px) !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
}

.treeview-menu > li > a {
    color: rgba(255, 255, 255, 0.8) !important;
    border-radius: 8px !important;
    margin: 2px 12px !important;
    padding: 8px 12px !important;
    transition: all 0.3s ease !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    min-height: 36px !important;
}

/* Ensure text in treeview menu items wraps properly */
.treeview-menu > li > a > i,
.treeview-menu > li > a > .fa,
.treeview-menu > li > a > .fas {
    flex-shrink: 0 !important;
    margin-right: 8px !important;
    width: 16px !important;
    text-align: center !important;
}

.treeview-menu > li > a > span,
.treeview-menu > li > a {
    flex: 1 !important;
    min-width: 0 !important;
    line-height: 1.4 !important;
}

.treeview-menu > li > a:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    transform: translateX(4px) !important;
}

/* Active submenu item - more prominent highlighting */
.treeview-menu > li.active > a {
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.25) 100%) !important;
    font-weight: 600 !important;
    border-left: 4px solid #ffffff !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    padding-left: 41px !important; /* Adjust for border */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
    transform: translateX(4px) !important;
}

/* Add a prominent indicator dot/badge for active submenu items */
.treeview-menu > li.active > a::before {
    content: '●' !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.8) !important;
}

.sidebar a:hover {
    color: #ffffff !important;
}

.sidebar-menu > li.active > a > .fa,
.sidebar-menu > li.active > a > .glyphicon,
.sidebar-menu > li.active > a > .ion,
.sidebar-menu > li > a > .fa,
.sidebar-menu > li > a > .glyphicon,
.sidebar-menu > li > a > .ion {
    color: rgba(255, 255, 255, 0.9) !important;
}

.sidebar-menu > li.active > a > .fa,
.sidebar-menu > li.active > a > .glyphicon,
.sidebar-menu > li.active > a > .ion {
    color: #ffffff !important;
}

/* Skin-specific overrides - All use white text on green gradient */
.skin-blue .sidebar-menu > li:hover > a {
    background: rgba(255, 255, 255, 0.2) !important;
    border-left: none !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    transform: translateX(4px) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Enhanced active top-level menu item for skin-blue - with white dot and border */
.skin-blue .sidebar-menu > li.active > a {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.25) 100%) !important;
    border-left: 4px solid #ffffff !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    padding-left: 41px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
    transform: none !important;
}

.skin-blue .sidebar-menu > li.active > a::before {
    content: '●' !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.8) !important;
    z-index: 1 !important;
}

.skin-blue .sidebar-menu > li.active {
    border-left: none !important;
}

.skin-blue .sidebar-menu > li > a {
    color: rgba(255, 255, 255, 0.9) !important;
}

.skin-blue .treeview-menu > li > a {
    color: rgba(255, 255, 255, 0.8) !important;
}

.skin-blue .treeview-menu > li > a {
    border-radius: 8px !important;
    margin: 2px 12px !important;
    padding: 8px 12px !important;
}

.skin-blue .treeview-menu > li > a:hover,
.skin-blue .treeview-menu > li.active > a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    transform: translateX(4px) !important;
}

.skin-green .sidebar-menu > li:hover > a {
    background: rgba(255, 255, 255, 0.2) !important;
    border-left: none !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    transform: translateX(4px) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Enhanced active top-level menu item for skin-green - with white dot and border */
.skin-green .sidebar-menu > li.active > a {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.25) 100%) !important;
    border-left: 4px solid #ffffff !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    padding-left: 41px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
    transform: none !important;
}

.skin-green .sidebar-menu > li.active > a::before {
    content: '●' !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.8) !important;
    z-index: 1 !important;
}

.skin-green .sidebar-menu > li.active {
    border-left: none !important;
}

.skin-green .sidebar-menu > li > a {
    color: rgba(255, 255, 255, 0.9) !important;
}

.skin-green .treeview-menu > li > a {
    color: rgba(255, 255, 255, 0.8) !important;
}

.skin-green .treeview-menu > li > a {
    border-radius: 8px !important;
    margin: 2px 12px !important;
    padding: 8px 12px !important;
}

.skin-green .treeview-menu > li > a:hover,
.skin-green .treeview-menu > li.active > a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    transform: translateX(4px) !important;
}
