/*
 * Medical Theme - Global Design System
 * Applies NICU profile design to all pages
 * Non-destructive: remove <link> tag to revert
 *
 * Design tokens from: Modules/Hospital/Resources/views/nicu/profile.blade.php
 */

/* ==========================================================================
   1. CSS VARIABLES
   ========================================================================== */
:root {
    --med-primary: #2563eb;
    --med-primary-dark: #1d4ed8;
    --med-primary-light: #3b82f6;
    --med-success: #059669;
    --med-success-light: #10b981;
    --med-danger: #dc2626;
    --med-danger-light: #ef4444;
    --med-warning: #d97706;
    --med-warning-light: #f59e0b;
    --med-info: #0891b2;
    --med-gray-50: #f9fafb;
    --med-gray-100: #f3f4f6;
    --med-gray-200: #e5e7eb;
    --med-gray-300: #d1d5db;
    --med-gray-400: #9ca3af;
    --med-gray-500: #6b7280;
    --med-gray-600: #4b5563;
    --med-gray-700: #374151;
    --med-gray-800: #1f2937;
    --med-gray-900: #111827;
    --med-white: #ffffff;
    --med-radius: 12px;
    --med-radius-sm: 8px;
    --med-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --med-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --med-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
    --med-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    --med-focus-ring: 0 0 0 3px rgba(37,99,235,0.1);
}

/* ==========================================================================
   2. CONTENT AREA BACKGROUND
   ========================================================================== */
.content-wrapper {
    background-color: var(--med-gray-50) !important;
}

section.content,
.content {
    background-color: transparent;
}

/* ==========================================================================
   3. PAGE HEADERS
   ========================================================================== */
.content-header > h1 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--med-gray-900) !important;
}

.content-header > h1 > small {
    font-size: 13px !important;
    color: var(--med-gray-500) !important;
    font-weight: 500 !important;
}

.content-header > .breadcrumb {
    background: transparent;
}

.content-header > .breadcrumb > li > a {
    color: var(--med-gray-500);
}

.content-header > .breadcrumb > .active {
    color: var(--med-gray-700);
}

/* ==========================================================================
   4. BOXES / PANELS / CARDS
   ========================================================================== */
.box {
    border-radius: var(--med-radius) !important;
    box-shadow: var(--med-shadow) !important;
    border: 1px solid var(--med-gray-200) !important;
    border-top: none !important;
    background-color: var(--med-white);
    overflow: hidden;
}

.box.box-default {
    border-top: none !important;
}

.box.box-primary {
    border-top-color: transparent !important;
}

.box.box-success {
    border-top-color: transparent !important;
}

.box.box-warning {
    border-top-color: transparent !important;
}

.box.box-danger {
    border-top-color: transparent !important;
}

.box.box-info {
    border-top-color: transparent !important;
}

.box.box-solid {
    border: 1px solid var(--med-gray-200) !important;
}

.box.box-solid.box-primary {
    background-color: var(--med-primary) !important;
    border-color: var(--med-primary) !important;
}

.box.box-solid.box-success {
    background-color: var(--med-success) !important;
    border-color: var(--med-success) !important;
}

.box.box-solid.box-warning {
    background-color: var(--med-warning) !important;
    border-color: var(--med-warning) !important;
}

.box.box-solid.box-danger {
    background-color: var(--med-danger) !important;
    border-color: var(--med-danger) !important;
}

.box.box-solid.box-info {
    background-color: var(--med-info) !important;
    border-color: var(--med-info) !important;
}

.box-header {
    border-bottom: 1px solid var(--med-gray-200) !important;
    padding: 14px 16px !important;
    background: transparent;
}

.box-header.with-border {
    border-bottom: 1px solid var(--med-gray-200) !important;
}

.box-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--med-gray-900) !important;
}

.box-body {
    padding: 16px !important;
}

.box-footer {
    border-top: 1px solid var(--med-gray-200) !important;
    background-color: var(--med-gray-50) !important;
    padding: 14px 16px !important;
    border-radius: 0 0 var(--med-radius) var(--med-radius) !important;
}

/* Box tools (collapse, remove, etc.) */
.box-tools .btn {
    color: var(--med-gray-500) !important;
}

.box-tools .btn:hover {
    color: var(--med-gray-700) !important;
}

/* Info boxes - Modern card design (matching .med-stat) */
.info-box {
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
    border: 1px solid #e5e7eb !important;
    min-height: auto !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    padding: 16px !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    transition: all 0.2s ease !important;
    overflow: visible !important;
}

.info-box:hover {
    border-color: #d1d5db !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07) !important;
    transform: translateY(-1px);
}

/* Info box icon - small rounded square (matching .med-stat__icon) */
.info-box-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
    float: none !important;
    color: #ffffff !important;
    /* Reset AdminLTE faux-columns hack (padding-bottom:99999px) */
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Color-specific icon backgrounds - solid color + white icon */
.info-box-icon.bg-aqua {
    background: #0891b2 !important;
    color: #ffffff !important;
}

.info-box-icon.bg-blue {
    background: #2563eb !important;
    color: #ffffff !important;
}

.info-box-icon.bg-green {
    background: #059669 !important;
    color: #ffffff !important;
}

.info-box-icon.bg-red {
    background: #dc2626 !important;
    color: #ffffff !important;
}

.info-box-icon.bg-yellow {
    background: #d97706 !important;
    color: #ffffff !important;
}

.info-box-icon.bg-purple {
    background: #7c3aed !important;
    color: #ffffff !important;
}

.info-box-icon.bg-orange {
    background: #ea580c !important;
    color: #ffffff !important;
}

.info-box-icon.bg-teal {
    background: #0d9488 !important;
    color: #ffffff !important;
}

.info-box-icon.bg-maroon {
    background: #db2777 !important;
    color: #ffffff !important;
}

.info-box-icon.bg-navy {
    background: #4338ca !important;
    color: #ffffff !important;
}

.info-box-icon.bg-olive,
.info-box-icon.bg-lime {
    background: #65a30d !important;
    color: #ffffff !important;
}

.info-box-icon.bg-fuchsia {
    background: #c026d3 !important;
    color: #ffffff !important;
}

/* Full-color info boxes (bg on the whole card) — must override .info-box background:#fff */
.info-box.bg-aqua   { background-color: #0891b2 !important; color: #ffffff !important; }
.info-box.bg-blue   { background-color: #2563eb !important; color: #ffffff !important; }
.info-box.bg-green  { background-color: #059669 !important; color: #ffffff !important; }
.info-box.bg-red    { background-color: #dc2626 !important; color: #ffffff !important; }
.info-box.bg-yellow { background-color: #d97706 !important; color: #ffffff !important; }
.info-box.bg-purple { background-color: #7c3aed !important; color: #ffffff !important; }
.info-box.bg-teal   { background-color: #0d9488 !important; color: #ffffff !important; }
.info-box.bg-orange { background-color: #ea580c !important; color: #ffffff !important; }
.info-box.bg-maroon { background-color: #be185d !important; color: #ffffff !important; }
.info-box.bg-navy   { background-color: #1e3a5f !important; color: #ffffff !important; }
.info-box.bg-olive  { background-color: #65a30d !important; color: #ffffff !important; }
.info-box.bg-lime   { background-color: #84cc16 !important; color: #ffffff !important; }
.info-box.bg-fuchsia{ background-color: #c026d3 !important; color: #ffffff !important; }

.info-box.bg-aqua .info-box-icon,
.info-box.bg-blue .info-box-icon,
.info-box.bg-green .info-box-icon,
.info-box.bg-red .info-box-icon,
.info-box.bg-yellow .info-box-icon,
.info-box.bg-purple .info-box-icon,
.info-box.bg-teal .info-box-icon,
.info-box.bg-orange .info-box-icon {
    background: rgba(255,255,255,0.2) !important;
    color: #ffffff !important;
}

.info-box.bg-aqua .info-box-text,
.info-box.bg-blue .info-box-text,
.info-box.bg-green .info-box-text,
.info-box.bg-red .info-box-text,
.info-box.bg-yellow .info-box-text,
.info-box.bg-purple .info-box-text,
.info-box.bg-teal .info-box-text,
.info-box.bg-orange .info-box-text {
    color: rgba(255,255,255,0.85) !important;
}

.info-box.bg-aqua .info-box-number,
.info-box.bg-blue .info-box-number,
.info-box.bg-green .info-box-number,
.info-box.bg-red .info-box-number,
.info-box.bg-yellow .info-box-number,
.info-box.bg-purple .info-box-number,
.info-box.bg-teal .info-box-number,
.info-box.bg-orange .info-box-number {
    color: #ffffff !important;
}

/* RTL icon fix */
[dir="rtl"] .info-box-icon {
    float: none !important;
    border-radius: 10px !important;
}

/* Info box content - flex column (override AdminLTE margin-left: 90px) */
.info-box-content {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.info-box-text {
    font-size: 12px !important;
    color: #6b7280 !important;
    font-weight: 500 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-bottom: 2px !important;
    line-height: 1.3 !important;
}

.info-box-number {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    font-variant-numeric: tabular-nums !important;
    line-height: 1.3 !important;
}

/* Info box with progress bar */
.info-box .progress {
    margin: 6px 0 4px !important;
    height: 4px !important;
    border-radius: 4px !important;
    background: #e5e7eb !important;
}

.info-box .progress-description {
    font-size: 11px !important;
    color: #6b7280 !important;
}

/* Small boxes (stat cards) */
.small-box {
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
    border: 1px solid #e5e7eb !important;
    overflow: hidden;
    transition: all 0.2s ease !important;
}

.small-box:hover {
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07) !important;
    transform: translateY(-1px);
}

.small-box > .inner {
    padding: 16px !important;
}

.small-box > .inner > h3 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
}

.small-box > .inner > p {
    font-size: 13px !important;
}

.small-box > .icon {
    font-size: 60px !important;
    opacity: 0.15 !important;
}

.small-box > .small-box-footer {
    border-radius: 0 0 12px 12px !important;
    background: rgba(0,0,0,0.05) !important;
    padding: 6px 16px !important;
    font-size: 13px !important;
}

/* ==========================================================================
   5. BUTTONS
   ========================================================================== */
.btn {
    border-radius: var(--med-radius-sm) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    transition: all 0.2s !important;
    border: 1px solid transparent !important;
    outline: none !important;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus {
    box-shadow: var(--med-focus-ring) !important;
    outline: none !important;
}

/* Primary */
.btn-primary,
.btn-primary.btn-flat {
    background-color: var(--med-primary) !important;
    border-color: var(--med-primary) !important;
    color: var(--med-white) !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary:focus,
.btn-primary.btn-flat:hover {
    background-color: var(--med-primary-dark) !important;
    border-color: var(--med-primary-dark) !important;
    color: var(--med-white) !important;
}

/* Success */
.btn-success,
.btn-success.btn-flat {
    background-color: var(--med-success) !important;
    border-color: var(--med-success) !important;
    color: var(--med-white) !important;
}

.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-success:focus,
.btn-success.btn-flat:hover {
    background-color: #047857 !important;
    border-color: #047857 !important;
    color: var(--med-white) !important;
}

/* Danger */
.btn-danger,
.btn-danger.btn-flat {
    background-color: var(--med-danger) !important;
    border-color: var(--med-danger) !important;
    color: var(--med-white) !important;
}

.btn-danger:hover,
.btn-danger:active,
.btn-danger.active,
.btn-danger:focus,
.btn-danger.btn-flat:hover {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
    color: var(--med-white) !important;
}

/* Warning */
.btn-warning,
.btn-warning.btn-flat {
    background-color: var(--med-warning) !important;
    border-color: var(--med-warning) !important;
    color: var(--med-white) !important;
}

.btn-warning:hover,
.btn-warning:active,
.btn-warning.active,
.btn-warning:focus,
.btn-warning.btn-flat:hover {
    background-color: #b45309 !important;
    border-color: #b45309 !important;
    color: var(--med-white) !important;
}

/* Info */
.btn-info,
.btn-info.btn-flat {
    background-color: var(--med-info) !important;
    border-color: var(--med-info) !important;
    color: var(--med-white) !important;
}

.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info:focus,
.btn-info.btn-flat:hover {
    background-color: #0e7490 !important;
    border-color: #0e7490 !important;
    color: var(--med-white) !important;
}

/* Default / Secondary */
.btn-default,
.btn-default.btn-flat {
    background-color: var(--med-white) !important;
    border-color: var(--med-gray-300) !important;
    color: var(--med-gray-700) !important;
}

.btn-default:hover,
.btn-default:active,
.btn-default.active,
.btn-default:focus,
.btn-default.btn-flat:hover {
    background-color: var(--med-gray-50) !important;
    border-color: var(--med-gray-400) !important;
    color: var(--med-gray-900) !important;
}

/* Link button */
.btn-link {
    color: var(--med-primary) !important;
    border: none !important;
}

.btn-link:hover,
.btn-link:focus {
    color: var(--med-primary-dark) !important;
    text-decoration: underline !important;
}

/* Button sizes */
.btn-lg {
    border-radius: var(--med-radius) !important;
    font-size: 15px !important;
    padding: 10px 20px !important;
}

.btn-sm {
    font-size: 12px !important;
    padding: 5px 12px !important;
}

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

/* Button groups */
.btn-group > .btn:first-child:not(:last-child) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.btn-group > .btn:last-child:not(:first-child) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.btn-group > .btn:not(:first-child):not(:last-child) {
    border-radius: 0 !important;
}

/* Button active/toggled states - ensure text stays readable */
.btn-primary.active,
.btn-primary:active,
.open > .dropdown-toggle.btn-primary {
    background-color: var(--med-primary-dark) !important;
    color: var(--med-white) !important;
}

.btn-info.active,
.btn-info:active,
.open > .dropdown-toggle.btn-info {
    background-color: #0e7490 !important;
    color: var(--med-white) !important;
}

.btn-success.active,
.btn-success:active,
.open > .dropdown-toggle.btn-success {
    background-color: #047857 !important;
    color: var(--med-white) !important;
}

.btn-danger.active,
.btn-danger:active,
.open > .dropdown-toggle.btn-danger {
    background-color: #b91c1c !important;
    color: var(--med-white) !important;
}

.btn-warning.active,
.btn-warning:active,
.open > .dropdown-toggle.btn-warning {
    background-color: #b45309 !important;
    color: var(--med-white) !important;
}

/* DaisyUI button text colors - solid variants get white text */
.tw-dw-btn-primary,
.tw-dw-btn-secondary,
.tw-dw-btn-accent,
.tw-dw-btn-neutral,
.tw-dw-btn-info,
.tw-dw-btn-success,
.tw-dw-btn-warning,
.tw-dw-btn-error {
    color: #ffffff !important;
}

/* DaisyUI outline buttons - colored text matching their variant */
.tw-dw-btn-outline.tw-dw-btn-primary {
    color: var(--med-primary) !important;
    border-color: var(--med-primary) !important;
    background: transparent !important;
}
.tw-dw-btn-outline.tw-dw-btn-primary:hover {
    background: var(--med-primary) !important;
    color: #ffffff !important;
}

.tw-dw-btn-outline.tw-dw-btn-accent {
    color: #0d9488 !important;
    border-color: #0d9488 !important;
    background: transparent !important;
}
.tw-dw-btn-outline.tw-dw-btn-accent:hover {
    background: #0d9488 !important;
    color: #ffffff !important;
}

.tw-dw-btn-outline.tw-dw-btn-error {
    color: var(--med-danger) !important;
    border-color: var(--med-danger) !important;
    background: transparent !important;
}
.tw-dw-btn-outline.tw-dw-btn-error:hover {
    background: var(--med-danger) !important;
    color: #ffffff !important;
}

.tw-dw-btn-outline.tw-dw-btn-success {
    color: var(--med-success) !important;
    border-color: var(--med-success) !important;
    background: transparent !important;
}
.tw-dw-btn-outline.tw-dw-btn-success:hover {
    background: var(--med-success) !important;
    color: #ffffff !important;
}

.tw-dw-btn-outline.tw-dw-btn-warning {
    color: var(--med-warning) !important;
    border-color: var(--med-warning) !important;
    background: transparent !important;
}
.tw-dw-btn-outline.tw-dw-btn-warning:hover {
    background: var(--med-warning) !important;
    color: #ffffff !important;
}

.tw-dw-btn-outline.tw-dw-btn-info {
    color: var(--med-info) !important;
    border-color: var(--med-info) !important;
    background: transparent !important;
}
.tw-dw-btn-outline.tw-dw-btn-info:hover {
    background: var(--med-info) !important;
    color: #ffffff !important;
}

.tw-dw-btn-outline.tw-dw-btn-neutral {
    color: #374151 !important;
    border-color: #374151 !important;
    background: transparent !important;
}
.tw-dw-btn-outline.tw-dw-btn-neutral:hover {
    background: #374151 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   6. FORMS
   ========================================================================== */
.form-control {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-300) !important;
    color: var(--med-gray-900) !important;
    font-size: 14px !important;
    padding: 6px 12px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    background-color: var(--med-white) !important;
}

.form-control:focus {
    border-color: var(--med-primary) !important;
    box-shadow: var(--med-focus-ring) !important;
    outline: none !important;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    background-color: var(--med-gray-100) !important;
    border-color: var(--med-gray-200) !important;
    color: var(--med-gray-500) !important;
}

.form-control::placeholder {
    color: var(--med-gray-400) !important;
}

/* Form group label */
.form-group label,
.control-label {
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--med-gray-700) !important;
    margin-bottom: 4px !important;
}

/* Input groups */
.input-group-addon {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-300) !important;
    background-color: var(--med-gray-50) !important;
    color: var(--med-gray-600) !important;
}

.input-group .form-control:first-child,
.input-group-addon:first-child {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group-btn > .btn {
    border-color: var(--med-gray-300) !important;
}

/* Select2 */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-300) !important;
    min-height: 34px !important;
    background-color: var(--med-white) !important;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--med-primary) !important;
    box-shadow: var(--med-focus-ring) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--med-gray-900) !important;
    line-height: 32px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #dbeafe !important;
    border: 1px solid #93c5fd !important;
    border-radius: 6px !important;
    color: var(--med-primary-dark) !important;
    font-size: 12px !important;
    padding: 2px 8px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--med-primary) !important;
}

.select2-dropdown {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-300) !important;
    box-shadow: var(--med-shadow-md) !important;
    overflow: hidden;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--med-primary) !important;
    color: var(--med-white) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border-radius: 6px !important;
    border: 1px solid var(--med-gray-300) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--med-primary) !important;
    box-shadow: var(--med-focus-ring) !important;
    outline: none !important;
}

/* Date picker */
.bootstrap-datetimepicker-widget {
    border-radius: var(--med-radius) !important;
    box-shadow: var(--med-shadow-lg) !important;
    border: 1px solid var(--med-gray-200) !important;
}

.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover,
.bootstrap-datetimepicker-widget table td span.active {
    background-color: var(--med-primary) !important;
}

.bootstrap-datetimepicker-widget table td.today::before {
    border-bottom-color: var(--med-primary) !important;
}

/* ==========================================================================
   7. DATATABLES / TABLES
   ========================================================================== */
.table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.table > thead > tr > th {
    background-color: var(--med-gray-50) !important;
    color: var(--med-gray-700) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    border-bottom: 2px solid var(--med-gray-200) !important;
    padding: 10px 12px !important;
    white-space: nowrap;
}

.table > tbody > tr > td {
    color: var(--med-gray-800) !important;
    font-size: 13px !important;
    border-bottom: 1px solid var(--med-gray-100) !important;
    border-top: none !important;
    padding: 10px 12px !important;
    vertical-align: middle !important;
}

.table > tbody > tr:hover > td {
    background-color: #eff6ff !important;
}

.table > tfoot > tr > th,
.table > tfoot > tr > td {
    background-color: var(--med-gray-50) !important;
    font-weight: 600 !important;
    border-top: 2px solid var(--med-gray-200) !important;
    font-size: 13px !important;
    padding: 10px 12px !important;
}

/* Striped table */
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--med-gray-50) !important;
}

.table-striped > tbody > tr:nth-of-type(odd):hover > td {
    background-color: #eff6ff !important;
}

/* Bordered table */
.table-bordered {
    border: 1px solid var(--med-gray-200) !important;
}

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

/* DataTables wrapper */
.dataTables_wrapper {
    padding: 0 !important;
}

.dataTables_wrapper .dataTables_length {
    padding: 8px 0 !important;
}

.dataTables_wrapper .dataTables_length select {
    border-radius: 6px !important;
    border: 1px solid var(--med-gray-300) !important;
    padding: 4px 8px !important;
    color: var(--med-gray-700) !important;
}

.dataTables_wrapper .dataTables_filter input {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-300) !important;
    padding: 6px 12px !important;
    color: var(--med-gray-900) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.dataTables_wrapper .dataTables_filter input:focus {
    border-color: var(--med-primary) !important;
    box-shadow: var(--med-focus-ring) !important;
    outline: none !important;
}

.dataTables_wrapper .dataTables_info {
    color: var(--med-gray-500) !important;
    font-size: 13px !important;
    padding: 10px 0 !important;
}

/* DataTables sorting icons */
.table > thead > tr > th.sorting::after,
.table > thead > tr > th.sorting_asc::after,
.table > thead > tr > th.sorting_desc::after {
    color: var(--med-gray-400);
}

.table > thead > tr > th.sorting_asc::after,
.table > thead > tr > th.sorting_desc::after {
    color: var(--med-primary) !important;
}

/* Responsive tables */
.table-responsive {
    border-radius: var(--med-radius) !important;
    border: 1px solid var(--med-gray-200) !important;
}

/* ==========================================================================
   8. PAGINATION
   ========================================================================== */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-300) !important;
    color: var(--med-gray-700) !important;
    font-size: 13px !important;
    margin: 0 2px !important;
    padding: 5px 12px !important;
    transition: all 0.2s !important;
    background: var(--med-white) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--med-gray-50) !important;
    border-color: var(--med-gray-400) !important;
    color: var(--med-gray-900) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--med-primary) !important;
    border-color: var(--med-primary) !important;
    color: var(--med-white) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    background: var(--med-gray-100) !important;
    border-color: var(--med-gray-200) !important;
    color: var(--med-gray-400) !important;
    cursor: not-allowed !important;
}

/* Standard Bootstrap pagination */
.pagination > li > a,
.pagination > li > span {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-300) !important;
    color: var(--med-gray-700) !important;
    margin: 0 2px !important;
    padding: 5px 12px !important;
    transition: all 0.2s !important;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
    background-color: var(--med-gray-50) !important;
    border-color: var(--med-gray-400) !important;
    color: var(--med-gray-900) !important;
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span,
.pagination > .active > span:hover {
    background-color: var(--med-primary) !important;
    border-color: var(--med-primary) !important;
    color: var(--med-white) !important;
}

.pagination > .disabled > a,
.pagination > .disabled > span {
    color: var(--med-gray-400) !important;
    background-color: var(--med-gray-100) !important;
    border-color: var(--med-gray-200) !important;
}

/* ==========================================================================
   9. MODALS
   ========================================================================== */
.modal-content {
    border-radius: var(--med-radius) !important;
    box-shadow: var(--med-shadow-lg) !important;
    border: none !important;
    overflow: hidden;
}

.modal-header {
    background-color: var(--med-white) !important;
    border-bottom: 1px solid var(--med-gray-200) !important;
    padding: 16px 20px !important;
}

.modal-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--med-gray-900) !important;
}

.modal-header .close {
    color: var(--med-gray-500) !important;
    opacity: 0.7 !important;
    font-size: 22px !important;
    text-shadow: none !important;
}

.modal-header .close:hover {
    color: var(--med-gray-900) !important;
    opacity: 1 !important;
}

.modal-body {
    padding: 20px !important;
    color: var(--med-gray-800);
}

.modal-footer {
    background-color: var(--med-gray-50) !important;
    border-top: 1px solid var(--med-gray-200) !important;
    padding: 14px 20px !important;
}

.modal-backdrop.in {
    opacity: 0.4 !important;
}

/* ==========================================================================
   10. NAV TABS
   ========================================================================== */
.nav-tabs {
    border-bottom: 2px solid var(--med-gray-200) !important;
}

.nav-tabs > li > a {
    border-radius: 0 !important;
    border: none !important;
    color: var(--med-gray-500) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 10px 16px !important;
    margin-right: 0 !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    transition: all 0.2s !important;
    background: transparent !important;
}

.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
    border-color: transparent !important;
    border-bottom-color: var(--med-gray-400) !important;
    background-color: transparent !important;
    color: var(--med-gray-700) !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    border: none !important;
    border-bottom: 2px solid var(--med-primary) !important;
    color: var(--med-primary) !important;
    font-weight: 600 !important;
    background-color: transparent !important;
}

.tab-content {
    padding: 16px 0 !important;
}

/* Nav pills */
.nav-pills > li > a {
    border-radius: var(--med-radius-sm) !important;
    color: var(--med-gray-600) !important;
    font-weight: 500 !important;
    transition: all 0.2s !important;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
    background-color: var(--med-primary) !important;
    color: var(--med-white) !important;
}

/* ==========================================================================
   11. ALERTS
   ========================================================================== */
.alert {
    border-radius: var(--med-radius-sm) !important;
    border: none !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
}

.alert-success {
    background-color: #dcfce7 !important;
    color: #166534 !important;
    border-left: 4px solid var(--med-success) !important;
}

.alert-danger,
.alert-error {
    background-color: #fef2f2 !important;
    color: #991b1b !important;
    border-left: 4px solid var(--med-danger) !important;
}

.alert-warning {
    background-color: #fffbeb !important;
    color: #92400e !important;
    border-left: 4px solid var(--med-warning) !important;
}

.alert-info {
    background-color: #e0f2fe !important;
    color: #075985 !important;
    border-left: 4px solid var(--med-info) !important;
}

[dir="rtl"] .alert-success,
[dir="rtl"] .alert-danger,
[dir="rtl"] .alert-error,
[dir="rtl"] .alert-warning,
[dir="rtl"] .alert-info {
    border-left: none !important;
    border-right: 4px solid;
}

[dir="rtl"] .alert-success { border-right-color: var(--med-success) !important; }
[dir="rtl"] .alert-danger,
[dir="rtl"] .alert-error  { border-right-color: var(--med-danger) !important; }
[dir="rtl"] .alert-warning { border-right-color: var(--med-warning) !important; }
[dir="rtl"] .alert-info    { border-right-color: var(--med-info) !important; }

/* ==========================================================================
   12. LABELS / BADGES
   ========================================================================== */
.label {
    border-radius: 20px !important;
    font-weight: 500 !important;
    font-size: 11px !important;
    padding: 3px 10px !important;
}

.badge {
    border-radius: 20px !important;
    font-weight: 500 !important;
    font-size: 11px !important;
    padding: 3px 10px !important;
}

.label-default,
.badge-default {
    background-color: var(--med-gray-500) !important;
    color: #ffffff !important;
}

.label-primary,
.badge-primary {
    background-color: var(--med-primary) !important;
    color: #ffffff !important;
}

.label-success,
.badge-success {
    background-color: var(--med-success) !important;
    color: #ffffff !important;
}

.label-danger,
.badge-danger {
    background-color: var(--med-danger) !important;
    color: #ffffff !important;
}

.label-warning,
.badge-warning {
    background-color: var(--med-warning) !important;
    color: #ffffff !important;
}

.label-info,
.badge-info {
    background-color: var(--med-info) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   13. DROPDOWNS
   ========================================================================== */
.dropdown-menu {
    border-radius: var(--med-radius-sm) !important;
    box-shadow: var(--med-shadow-lg) !important;
    border: 1px solid var(--med-gray-200) !important;
    padding: 6px 0 !important;
}

.dropdown-menu > li > a {
    padding: 8px 16px !important;
    font-size: 13px !important;
    color: var(--med-gray-700) !important;
    transition: all 0.15s !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background-color: var(--med-gray-50) !important;
    color: var(--med-gray-900) !important;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover {
    background-color: var(--med-primary) !important;
    color: var(--med-white) !important;
}

.dropdown-menu .divider {
    background-color: var(--med-gray-200) !important;
}

.dropdown-header {
    color: var(--med-gray-500) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 16px 4px !important;
}

/* ==========================================================================
   14. SWEETALERT
   ========================================================================== */
.swal-modal {
    border-radius: var(--med-radius) !important;
    box-shadow: var(--med-shadow-lg) !important;
}

.swal-title {
    color: var(--med-gray-900) !important;
    font-weight: 600 !important;
    font-size: 20px !important;
}

.swal-text {
    color: var(--med-gray-600) !important;
    font-size: 14px !important;
}

.swal-button {
    border-radius: var(--med-radius-sm) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 8px 24px !important;
    transition: all 0.2s !important;
}

.swal-button--confirm {
    background-color: var(--med-primary) !important;
}

.swal-button--confirm:hover {
    background-color: var(--med-primary-dark) !important;
}

.swal-button--cancel {
    background-color: var(--med-gray-200) !important;
    color: var(--med-gray-700) !important;
}

.swal-button--cancel:hover {
    background-color: var(--med-gray-300) !important;
}

.swal-button--danger {
    background-color: var(--med-danger) !important;
}

.swal-button--danger:hover {
    background-color: #b91c1c !important;
}

.swal-footer {
    text-align: center !important;
}

/* SweetAlert2 (swal2) */
.swal2-popup {
    border-radius: var(--med-radius) !important;
    font-family: inherit !important;
}

.swal2-title {
    color: var(--med-gray-900) !important;
    font-weight: 600 !important;
}

.swal2-html-container {
    color: var(--med-gray-600) !important;
}

.swal2-confirm {
    border-radius: var(--med-radius-sm) !important;
    background-color: var(--med-primary) !important;
}

.swal2-cancel {
    border-radius: var(--med-radius-sm) !important;
}

/* ==========================================================================
   15. SCROLLBARS
   ========================================================================== */
.box-body::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.tab-content::-webkit-scrollbar,
.select2-results__options::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.box-body::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track,
.modal-body::-webkit-scrollbar-track,
.tab-content::-webkit-scrollbar-track,
.select2-results__options::-webkit-scrollbar-track {
    background: transparent;
}

.box-body::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb,
.tab-content::-webkit-scrollbar-thumb,
.select2-results__options::-webkit-scrollbar-thumb {
    background-color: var(--med-gray-300);
    border-radius: 3px;
}

.box-body::-webkit-scrollbar-thumb:hover,
.table-responsive::-webkit-scrollbar-thumb:hover,
.modal-body::-webkit-scrollbar-thumb:hover,
.tab-content::-webkit-scrollbar-thumb:hover,
.select2-results__options::-webkit-scrollbar-thumb:hover {
    background-color: var(--med-gray-400);
}

/* ==========================================================================
   16. ACTION BUTTONS (Tailwind DaisyUI style)
   ========================================================================== */
.tw-dw-btn-xs {
    border-radius: 6px !important;
    font-size: 11px !important;
    transition: all 0.2s !important;
}

.tw-dw-btn-xs:hover {
    transform: translateY(-1px);
    box-shadow: var(--med-shadow-sm);
}

/* Action button row */
.btn-group .btn-xs,
.btn-group .btn-sm {
    border-radius: 0 !important;
}

.btn-group .btn-xs:first-child,
.btn-group .btn-sm:first-child {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.btn-group .btn-xs:last-child,
.btn-group .btn-sm:last-child {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

/* ==========================================================================
   17. CHECKBOX / RADIO (iCheck)
   ========================================================================== */
.icheckbox_square-blue,
.iradio_square-blue {
    border-radius: 4px;
}

/* ==========================================================================
   18. PRINT STYLES
   ========================================================================== */
@media print {
    .box {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        border-radius: 0 !important;
    }

    .btn {
        border-radius: 0 !important;
    }

    .table > thead > tr > th {
        background-color: #f5f5f5 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .modal-content {
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .label,
    .badge {
        border: 1px solid #999 !important;
    }
}

/* ==========================================================================
   19. MOBILE RESPONSIVE
   ========================================================================== */

/* ---- Info-box: 2 columns on tablet/mobile ---- */
/* Class .has-info-box is applied by JS (safari-compat.js) to columns containing .info-box/.small-box */
@media (max-width: 991px) {
    /* Any column containing info-box = 50% width (2 per row) */
    [class*="col-"].has-info-box {
        width: 50% !important;
        float: left !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

@media (max-width: 768px) {
    /* Info-box mobile sizing */
    .info-box {
        padding: 12px !important;
        gap: 10px !important;
        margin-bottom: 0 !important;
    }

    .info-box-icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        font-size: 17px !important;
        border-radius: 9px !important;
    }

    .info-box-text {
        font-size: 11px !important;
    }

    .info-box-number {
        font-size: 1rem !important;
    }

    /* Small-box mobile sizing */
    .small-box > .inner {
        padding: 12px !important;
    }

    .small-box > .inner > h3 {
        font-size: 1.2rem !important;
    }

    .small-box > .inner > p {
        font-size: 12px !important;
    }

    .box-body {
        padding: 12px !important;
    }

    .box-header {
        padding: 10px 12px !important;
    }

    .box-title {
        font-size: 14px !important;
    }

    .content-header > h1 {
        font-size: 18px !important;
    }

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

    .modal-header {
        padding: 12px 16px !important;
    }

    .modal-footer {
        padding: 10px 16px !important;
    }

    .modal-title {
        font-size: 16px !important;
    }

    .table > thead > tr > th,
    .table > tbody > tr > td {
        padding: 8px 10px !important;
        font-size: 12px !important;
    }

    .nav-tabs > li > a {
        padding: 8px 12px !important;
        font-size: 13px !important;
    }

    .btn {
        font-size: 12px !important;
    }

    .form-control {
        font-size: 14px !important;
    }

    /* Bottom padding for mobile tab bar */
    .content-wrapper {
        padding-bottom: 70px !important;
    }
}

@media (max-width: 480px) {
    /* Tighter info-box on small phones */
    .info-box {
        padding: 10px !important;
        gap: 8px !important;
        border-radius: 10px !important;
    }

    .info-box-icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        font-size: 15px !important;
        border-radius: 8px !important;
    }

    .info-box-number {
        font-size: 0.9rem !important;
    }

    .info-box-text {
        font-size: 10px !important;
    }

    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        text-align: center !important;
        float: none !important;
    }

    .dataTables_wrapper .dataTables_filter input {
        width: 100% !important;
        margin-top: 6px !important;
    }

    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        text-align: center !important;
        float: none !important;
    }

    .modal-dialog {
        margin: 10px !important;
    }

    .btn-group {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }

    .btn-group > .btn {
        flex: 1;
        border-radius: 6px !important;
    }
}

/* ==========================================================================
   20. RTL OVERRIDES
   ========================================================================== */
[dir="rtl"] .input-group .form-control:first-child,
[dir="rtl"] .input-group-addon:first-child {
    border-top-right-radius: var(--med-radius-sm) !important;
    border-bottom-right-radius: var(--med-radius-sm) !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

[dir="rtl"] .input-group .form-control:last-child,
[dir="rtl"] .input-group-addon:last-child,
[dir="rtl"] .input-group-btn:last-child > .btn {
    border-top-left-radius: var(--med-radius-sm) !important;
    border-bottom-left-radius: var(--med-radius-sm) !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

[dir="rtl"] .btn-group > .btn:first-child:not(:last-child) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: var(--med-radius-sm) !important;
    border-bottom-right-radius: var(--med-radius-sm) !important;
}

[dir="rtl"] .btn-group > .btn:last-child:not(:first-child) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-top-left-radius: var(--med-radius-sm) !important;
    border-bottom-left-radius: var(--med-radius-sm) !important;
}

[dir="rtl"] .btn-group .btn-xs:first-child,
[dir="rtl"] .btn-group .btn-sm:first-child {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

[dir="rtl"] .btn-group .btn-xs:last-child,
[dir="rtl"] .btn-group .btn-sm:last-child {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

[dir="rtl"] .nav-tabs > li > a {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

[dir="rtl"] .dropdown-menu {
    text-align: right !important;
}

[dir="rtl"] .dataTables_wrapper .dataTables_filter {
    float: left !important;
}

[dir="rtl"] .dataTables_wrapper .dataTables_length {
    float: right !important;
}

[dir="rtl"] .dataTables_wrapper .dataTables_info {
    float: right !important;
}

[dir="rtl"] .dataTables_wrapper .dataTables_paginate {
    float: left !important;
}

/* RTL info-box: keep flex layout, no float */
[dir="rtl"] .info-box-icon {
    float: none !important;
    border-radius: 10px !important;
}

[dir="rtl"] .info-box-content {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* ==========================================================================
   21. TOAST NOTIFICATIONS (toastr)
   ========================================================================== */
#toast-container > div {
    border-radius: var(--med-radius-sm) !important;
    box-shadow: var(--med-shadow-md) !important;
    opacity: 1 !important;
    font-size: 13px !important;
}

#toast-container > .toast-success {
    background-color: #059669 !important;
}

#toast-container > .toast-error {
    background-color: #dc2626 !important;
}

#toast-container > .toast-warning {
    background-color: #d97706 !important;
}

#toast-container > .toast-info {
    background-color: #2563eb !important;
}

/* ==========================================================================
   22. PROGRESS BARS
   ========================================================================== */
.progress {
    border-radius: 20px !important;
    height: 8px !important;
    background-color: var(--med-gray-200) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.progress-bar {
    border-radius: 20px !important;
    box-shadow: none !important;
}

.progress-bar-primary,
.progress-bar-info {
    background-color: var(--med-primary) !important;
}

.progress-bar-success {
    background-color: var(--med-success) !important;
}

.progress-bar-warning {
    background-color: var(--med-warning) !important;
}

.progress-bar-danger {
    background-color: var(--med-danger) !important;
}

/* ==========================================================================
   23. WELL / CALLOUT
   ========================================================================== */
.well {
    border-radius: var(--med-radius) !important;
    border: 1px solid var(--med-gray-200) !important;
    background-color: var(--med-gray-50) !important;
    box-shadow: none !important;
}

.callout {
    border-radius: var(--med-radius-sm) !important;
}

.callout-info {
    border-color: var(--med-info) !important;
    background-color: #e0f2fe !important;
}

.callout-success {
    border-color: var(--med-success) !important;
    background-color: #dcfce7 !important;
}

.callout-warning {
    border-color: var(--med-warning) !important;
    background-color: #fffbeb !important;
}

.callout-danger {
    border-color: var(--med-danger) !important;
    background-color: #fef2f2 !important;
}

/* ==========================================================================
   24. MISC OVERRIDES
   ========================================================================== */

/* Breadcrumbs */
.breadcrumb {
    background-color: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
}

/* Tooltips */
.tooltip-inner {
    border-radius: 6px !important;
    font-size: 12px !important;
    padding: 4px 10px !important;
    background-color: var(--med-gray-800) !important;
}

/* Popovers */
.popover {
    border-radius: var(--med-radius) !important;
    box-shadow: var(--med-shadow-lg) !important;
    border: 1px solid var(--med-gray-200) !important;
}

.popover-title {
    border-radius: var(--med-radius) var(--med-radius) 0 0 !important;
    background-color: var(--med-gray-50) !important;
    border-bottom: 1px solid var(--med-gray-200) !important;
    font-weight: 600 !important;
}

/* List group */
.list-group-item {
    border-color: var(--med-gray-200) !important;
    color: var(--med-gray-800) !important;
    padding: 10px 16px !important;
}

.list-group-item:first-child {
    border-top-left-radius: var(--med-radius-sm) !important;
    border-top-right-radius: var(--med-radius-sm) !important;
}

.list-group-item:last-child {
    border-bottom-left-radius: var(--med-radius-sm) !important;
    border-bottom-right-radius: var(--med-radius-sm) !important;
}

.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
    background-color: var(--med-primary) !important;
    border-color: var(--med-primary) !important;
}

/* Panel (legacy Bootstrap) */
.panel {
    border-radius: var(--med-radius) !important;
    box-shadow: var(--med-shadow) !important;
    border: 1px solid var(--med-gray-200) !important;
}

.panel-heading {
    border-radius: var(--med-radius) var(--med-radius) 0 0 !important;
}

.panel-footer {
    border-radius: 0 0 var(--med-radius) var(--med-radius) !important;
    background-color: var(--med-gray-50) !important;
    border-top: 1px solid var(--med-gray-200) !important;
}

/* Collapse/Accordion */
.panel-group .panel {
    border-radius: var(--med-radius-sm) !important;
    margin-bottom: 8px !important;
}

.panel-group .panel-heading + .panel-collapse > .panel-body {
    border-top: 1px solid var(--med-gray-200) !important;
}

/* Direct chat (AdminLTE) */
.direct-chat-msg {
    margin-bottom: 12px;
}

.direct-chat-text {
    border-radius: var(--med-radius-sm) !important;
    border: 1px solid var(--med-gray-200) !important;
    background-color: var(--med-gray-50) !important;
    color: var(--med-gray-800) !important;
}

/* Background color helpers - keep solid for white text compatibility */
.bg-aqua, .bg-info { background-color: var(--med-info) !important; }
.bg-green, .bg-success { background-color: var(--med-success) !important; }
.bg-yellow, .bg-warning { background-color: var(--med-warning) !important; }
.bg-red, .bg-danger { background-color: var(--med-danger) !important; }
.bg-blue, .bg-primary { background-color: var(--med-primary) !important; }

/* Text color helpers */
.text-aqua, .text-info { color: var(--med-info) !important; }
.text-green, .text-success { color: var(--med-success) !important; }
.text-yellow, .text-warning { color: var(--med-warning) !important; }
.text-red, .text-danger { color: var(--med-danger) !important; }
.text-blue, .text-primary { color: var(--med-primary) !important; }
.text-muted { color: var(--med-gray-500) !important; }

/* ==========================================================================
   25. MODERN MEDICAL HEADER
   Ultra-modern light header with glass effect
   ========================================================================== */

/* ---- Header Container ---- */
.med-header {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--med-gray-200);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
    transition: all 0.3s ease;
}

/* (Legacy layout classes removed — header now uses pure Tailwind) */

@keyframes medDropdownIn {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.med-dropdown-menu__inner {
    padding: 2px 0;
}

/* ---- Dropdown Items ---- */
.med-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--med-gray-600);
    border-radius: 8px;
    transition: all 0.15s ease;
    text-decoration: none;
    cursor: pointer;
}

.med-dropdown-item:hover {
    background: var(--med-gray-50);
    color: var(--med-gray-900);
    text-decoration: none;
}

.med-dropdown-item--danger {
    color: var(--med-danger);
}

.med-dropdown-item--danger:hover {
    background: #fef2f2;
    color: #b91c1c;
}

.med-dropdown-item__icon {
    flex-shrink: 0;
    color: var(--med-gray-400);
    transition: color 0.15s ease;
}

.med-dropdown-item:hover .med-dropdown-item__icon {
    color: var(--med-primary);
}

.med-dropdown-item--danger .med-dropdown-item__icon {
    color: var(--med-danger-light);
}

.med-dropdown-item--danger:hover .med-dropdown-item__icon {
    color: var(--med-danger);
}

/* ---- Dropdown Divider ---- */
.med-dropdown-divider {
    height: 1px;
    background: var(--med-gray-100);
    margin: 4px 8px;
}

/* ---- Dropdown Section Title ---- */
.med-dropdown-section-title {
    padding: 8px 12px 4px;
    font-size: 11px;
    font-weight: 600;
    color: var(--med-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ---- User Info in Dropdown ---- */
.med-dropdown-user-info {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin-bottom: 2px;
}

.med-dropdown-user-info__avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #60a5fa 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}

.med-dropdown-user-info__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--med-gray-900);
    margin: 0;
    line-height: 1.3;
}

.med-dropdown-user-info__role {
    font-size: 12px;
    color: var(--med-gray-500);
    margin: 0;
    line-height: 1.3;
}

/* ---- User Button in Header ---- */
.med-header__user-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px 4px 4px;
    border-radius: 12px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    list-style: none;
    outline: none;
}

.med-header__user-btn:hover {
    background: var(--med-gray-100);
    border-color: var(--med-gray-200);
}

.med-header__user-btn::-webkit-details-marker {
    display: none;
}

.med-header__avatar {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.2);
    flex-shrink: 0;
}

.med-header__username {
    font-size: 13px;
    font-weight: 600;
    color: var(--med-gray-700);
    display: none;
}

@media (min-width: 768px) {
    .med-header__username {
        display: block;
    }
}

.med-header__chevron {
    width: 16px;
    height: 16px;
    color: var(--med-gray-400);
    transition: transform 0.2s ease;
}

.med-header__user-dropdown[open] .med-header__chevron {
    transform: rotate(180deg);
}

/* ---- Override notification button inside new header ---- */
.med-header .notifications-menu .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: transparent !important;
    color: var(--med-gray-500) !important;
    transition: all 0.2s ease;
}

.med-header .notifications-menu .dropdown-toggle:hover {
    background: var(--med-gray-100) !important;
    color: var(--med-gray-900) !important;
    border-color: var(--med-gray-200);
}

.med-header .notifications-menu .dropdown-toggle svg {
    color: inherit !important;
}

.med-header .notifications-menu .notifications_count {
    background: var(--med-danger) !important;
    color: #fff !important;
    font-size: 10px;
    padding: 1px 5px;
    border-radius: 10px;
    position: absolute;
    top: -3px;
    box-shadow: 0 1px 3px rgba(220, 38, 38, 0.3);
}

/* ==========================================================================
   26. NOTIFICATION & ESSENTIALS BUTTON OVERRIDE FOR LIGHT HEADER
   ========================================================================== */
.med-header .notifications-menu {
    position: relative;
}

.med-header .notifications-menu .dropdown-toggle[class*="tw-bg-"] {
    background: transparent !important;
    color: var(--med-gray-500) !important;
}

.med-header .notifications-menu .dropdown-toggle[class*="tw-bg-"]:hover {
    background: var(--med-gray-100) !important;
    color: var(--med-gray-900) !important;
}

.med-header .notifications-menu .dropdown-toggle[class*="tw-ring-white"] {
    --tw-ring-color: transparent !important;
}

/* Essentials clock-in/out buttons: override dark POS styling for light header */
.med-header .clock_in_btn,
.med-header .clock_out_btn {
    background: transparent !important;
    color: var(--med-gray-500) !important;
    --tw-ring-color: transparent !important;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 8px;
    transition: all 0.2s ease;
}

.med-header .clock_in_btn:hover,
.med-header .clock_out_btn:hover {
    background: var(--med-gray-100) !important;
    color: var(--med-gray-900) !important;
    border-color: var(--med-gray-200);
}

/* ==========================================================================
   MOBILE FINANCIAL TABLES
   ========================================================================== */

/* DataTables responsive child row styling */
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
    background-color: var(--med-primary) !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control::before {
    background-color: var(--med-danger) !important;
}

/* Responsive child row - expanded details */
table.dataTable > tbody > tr.child ul.dtr-details {
    width: 100%;
}

table.dataTable > tbody > tr.child ul.dtr-details > li {
    display: flex;
    justify-content: space-between;
    padding: 6px 8px;
    border-bottom: 1px solid var(--med-gray-100);
}

table.dataTable > tbody > tr.child ul.dtr-details > li .dtr-title {
    font-weight: 600;
    color: var(--med-gray-600);
    font-size: 12px;
    min-width: 100px;
}

table.dataTable > tbody > tr.child ul.dtr-details > li .dtr-data {
    text-align: left;
    font-size: 13px;
}

[dir="rtl"] table.dataTable > tbody > tr.child ul.dtr-details > li .dtr-data {
    text-align: right;
}

@media (max-width: 767px) {
    /* Compact info-boxes on mobile */
    .info-box {
        min-height: 70px;
    }

    .info-box .info-box-icon {
        width: 60px;
        height: 70px;
        font-size: 22px;
        line-height: 70px;
    }

    .info-box .info-box-content {
        padding: 8px 10px;
    }

    .info-box .info-box-text {
        font-size: 11px;
    }

    .info-box .info-box-number {
        font-size: 16px;
    }

    /* Financial table cells */
    .content table.dataTable th,
    .content table.dataTable td {
        padding: 6px 4px !important;
        font-size: 12px !important;
    }

    /* Smaller badges on mobile */
    .content table.dataTable .badge {
        font-size: 10px;
        padding: 3px 6px;
    }

    /* Smaller action buttons on mobile */
    .content table.dataTable .btn-xs {
        padding: 2px 5px;
        font-size: 11px;
    }

    /* Filter sections: stack horizontally */
    .box-body .row .col-md-2,
    .box-body .row .col-md-3,
    .box-body .row .col-md-4 {
        margin-bottom: 8px;
    }

    /* Currency display compact */
    .display_currency {
        white-space: nowrap;
    }

    /* Info-box row: 2 columns on mobile */
    .content > .row > [class*="col-md-3"] {
        width: 50%;
        float: left;
    }
}
