/* ========================================================================== */
/* HMS UI 2026 — fast, calm, clinical design system                          */
/* ========================================================================== */

:root {
    --primary-50: #ecfeff;
    --primary-100: #cffafe;
    --primary-200: #a5f3fc;
    --primary-300: #67e8f9;
    --primary-400: #22d3ee;
    --primary-500: #0891b2;
    --primary-600: #0e7490;
    --primary-700: #155e75;
    --primary-800: #164e63;
    --primary-900: #083344;
    --primary-950: #042f2e;

    --hms-hue: 190;
    --hms-sat: 82%;
    --hms-light: 39%;
    --brand-primary: var(--primary-500);
    --brand-neon: var(--primary-500);
    --brand-glow: rgba(8, 145, 178, .16);

    --bg-deep-dark: #f4f7fb;
    --surface-0: #ffffff;
    --surface-50: #f8fafc;
    --surface-100: #f1f5f9;
    --surface-200: #e2e8f0;
    --surface-300: #cbd5e1;
    --surface-400: #94a3b8;
    --surface-500: #64748b;
    --surface-600: #475569;
    --surface-700: #334155;
    --surface-800: #1e293b;
    --surface-900: #0f172a;
    --surface-950: #020617;

    --glass-bg: rgba(255, 255, 255, .94);
    --glass-border: rgba(15, 23, 42, .08);
    --glass-shadow: 0 12px 30px rgba(15, 23, 42, .07);
    --glass-blur: blur(14px);
    --dark-glass-bg: rgba(15, 23, 42, .94);
    --dark-glass-border: rgba(148, 163, 184, .13);

    --hms-radius-sm: .7rem;
    --hms-radius: 1rem;
    --hms-radius-lg: 1.35rem;
    --hms-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 5px 14px rgba(15, 23, 42, .04);
    --hms-shadow: 0 12px 30px rgba(15, 23, 42, .07);
    --hms-shadow-hover: 0 18px 38px rgba(15, 23, 42, .11);
    color-scheme: light;
}

.dark {
    --bg-deep-dark: #08111f;
    /* Keep surface scale physically correct in dark mode:
       low numbers = light text, high numbers = dark surfaces. */
    --surface-0: #f8fafc;
    --surface-50: #f1f5f9;
    --surface-100: #e2e8f0;
    --surface-200: #cbd5e1;
    --surface-300: #94a3b8;
    --surface-400: #94a3b8;
    --surface-500: #64748b;
    --surface-600: #475569;
    --surface-700: #334155;
    --surface-800: #1e293b;
    --surface-900: #0f172a;
    --surface-950: #020617;
    --glass-bg: rgba(10, 20, 35, .94);
    --glass-border: rgba(148, 163, 184, .13);
    --glass-shadow: 0 14px 34px rgba(0, 0, 0, .3);
    --dark-glass-bg: rgba(10, 20, 35, .95);
    --dark-glass-border: rgba(148, 163, 184, .13);
    --brand-glow: rgba(34, 211, 238, .16);
    color-scheme: dark;
}

html {
    scrollbar-gutter: stable;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    min-width: 320px;
    background: var(--bg-deep-dark);
    color: var(--surface-700);
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    text-rendering: optimizeLegibility;
}

button, a, input, textarea, select {
    -webkit-tap-highlight-color: transparent;
}

button, a {
    touch-action: manipulation;
}

::selection {
    background: rgba(8, 145, 178, .2);
}

:focus-visible {
    outline: 3px solid rgba(8, 145, 178, .22);
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Reusable surfaces                                                           */
/* -------------------------------------------------------------------------- */

.neon-card,
.glass-panel,
.glass-morphism,
.hms-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--hms-shadow-sm);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}

.neon-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.neon-card:hover {
    border-color: rgba(8, 145, 178, .24);
    box-shadow: var(--hms-shadow-hover);
    transform: translateY(-2px);
}

.glass-card {
    background: rgba(255,255,255,.75);
    border: 1px solid var(--glass-border);
    box-shadow: var(--hms-shadow-sm);
    transition: transform .18s ease, box-shadow .18s ease;
}

.dark .glass-card { background: rgba(15, 23, 42, .72); }
.glass-card:hover { transform: translateY(-2px); box-shadow: var(--hms-shadow); }

.neon-text { color: var(--primary-600); text-shadow: none; }
.dark .neon-text { color: #67e8f9; }
.neon-border { border-color: rgba(8, 145, 178, .35) !important; box-shadow: none; }
.neon-glow-btn {
    background: var(--primary-600);
    color: #fff;
    box-shadow: 0 8px 20px rgba(8, 145, 178, .18);
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.neon-glow-btn:hover { background: var(--primary-700); transform: translateY(-1px); box-shadow: 0 12px 26px rgba(8,145,178,.24); }
.dark-deep { background: var(--bg-deep-dark); }
.hover-glow:hover { box-shadow: var(--hms-shadow-hover); }
.sidebar-shadow { box-shadow: 8px 0 28px rgba(15, 23, 42, .06); }
.active-nav-item { background: rgba(8,145,178,.1); color: var(--primary-700); font-weight: 700; border-color: var(--primary-500); }
.dark .active-nav-item { color: #67e8f9; }

/* -------------------------------------------------------------------------- */
/* App shell                                                                   */
/* -------------------------------------------------------------------------- */

.hms-app-shell {
    background:
        radial-gradient(circle at 90% -10%, rgba(14, 116, 144, .07), transparent 28rem),
        var(--bg-deep-dark);
}

.dark .hms-app-shell {
    background:
        radial-gradient(circle at 90% -10%, rgba(34, 211, 238, .06), transparent 30rem),
        var(--bg-deep-dark);
}

.hms-topbar {
    background: rgba(255, 255, 255, .88) !important;
    border-color: rgba(15, 23, 42, .07) !important;
    backdrop-filter: blur(16px) saturate(140%);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    box-shadow: 0 1px 0 rgba(255,255,255,.55);
}

.dark .hms-topbar {
    background: rgba(8, 17, 31, .9) !important;
    border-color: rgba(148, 163, 184, .1) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.02);
}

.hms-page-shell > * {
    animation: hms-page-in .28s cubic-bezier(.2,.8,.2,1) both;
}

.hms-sidebar {
    background: rgba(255,255,255,.97) !important;
    border-color: rgba(15,23,42,.07) !important;
    box-shadow: 10px 0 35px rgba(15, 23, 42, .07) !important;
}

.dark .hms-sidebar {
    background: rgba(8,17,31,.98) !important;
    border-color: rgba(148,163,184,.1) !important;
    box-shadow: 14px 0 40px rgba(0,0,0,.24) !important;
}

.hms-sidebar-nav a,
.hms-sidebar-nav button {
    min-height: 46px;
}

.hms-mobile-backdrop {
    backdrop-filter: blur(2px);
}

/* -------------------------------------------------------------------------- */
/* Motion                                                                       */
/* -------------------------------------------------------------------------- */

@keyframes hms-page-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes hms-fade-up {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes hms-soft-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .68; transform: scale(.93); }
}

@keyframes hms-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.animate-float { animation: hms-float 5s ease-in-out infinite; }
.hms-fade-up { animation: hms-fade-up .42s cubic-bezier(.2,.8,.2,1) both; }
.hms-soft-pulse { animation: hms-soft-pulse 2.4s ease-in-out infinite; }

.hms-stagger > * { animation: hms-fade-up .4s cubic-bezier(.2,.8,.2,1) both; }
.hms-stagger > *:nth-child(2) { animation-delay: .04s; }
.hms-stagger > *:nth-child(3) { animation-delay: .08s; }
.hms-stagger > *:nth-child(4) { animation-delay: .12s; }
.hms-stagger > *:nth-child(5) { animation-delay: .16s; }
.hms-stagger > *:nth-child(6) { animation-delay: .20s; }

/* -------------------------------------------------------------------------- */
/* Forms / controls                                                            */
/* -------------------------------------------------------------------------- */

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.p-inputtext,
.p-select,
.p-multiselect,
.p-datepicker-input,
.p-inputnumber-input {
    border-radius: .8rem !important;
    border-color: var(--surface-200) !important;
    background: rgba(255,255,255,.96) !important;
    color: #0f172a !important;
    min-height: 42px;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

.dark input:not([type="checkbox"]):not([type="radio"]),
.dark select,
.dark textarea,
.dark .p-inputtext,
.dark .p-select,
.dark .p-multiselect,
.dark .p-datepicker-input,
.dark .p-inputnumber-input {
    border-color: rgba(148,163,184,.18) !important;
    background: #101b2d !important;
    color: #f8fafc !important;
}

input:focus,
select:focus,
textarea:focus,
.p-inputtext:focus,
.p-select.p-focus,
.p-multiselect.p-focus,
.p-inputnumber-input:focus {
    border-color: rgba(8,145,178,.65) !important;
    box-shadow: 0 0 0 4px rgba(8,145,178,.10) !important;
    outline: none !important;
}

label { color: var(--surface-700); }
.dark label { color: #cbd5e1; }

.p-button {
    border-radius: .8rem !important;
    font-weight: 700 !important;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease !important;
}
.p-button:not(:disabled):active { transform: scale(.98); }
.p-button:not(.p-button-text):not(.p-button-outlined) { box-shadow: 0 6px 16px rgba(15,23,42,.08); }

/* -------------------------------------------------------------------------- */
/* PrimeVue surfaces                                                           */
/* -------------------------------------------------------------------------- */

.p-card,
.p-dialog,
.p-popover,
.p-overlaypanel,
.p-menu,
.p-tieredmenu,
.p-select-overlay,
.p-multiselect-overlay,
.p-datepicker-panel,
.p-autocomplete-overlay {
    background: var(--glass-bg) !important;
    border: 1px solid var(--glass-border) !important;
    border-radius: 1rem !important;
    box-shadow: 0 20px 50px rgba(15,23,42,.14) !important;
}

.dark .p-card,
.dark .p-dialog,
.dark .p-popover,
.dark .p-overlaypanel,
.dark .p-menu,
.dark .p-tieredmenu,
.dark .p-select-overlay,
.dark .p-multiselect-overlay,
.dark .p-datepicker-panel,
.dark .p-autocomplete-overlay {
    background: #0d1829 !important;
    border-color: rgba(148,163,184,.14) !important;
    box-shadow: 0 22px 55px rgba(0,0,0,.38) !important;
}

.p-dialog-mask { backdrop-filter: blur(4px); background: rgba(2, 6, 23, .45) !important; }
.p-dialog-content { border-radius: 0 0 1rem 1rem; }
.p-dialog-header { border-radius: 1rem 1rem 0 0; }

.p-toast { max-width: min(92vw, 26rem) !important; }
.p-toast-message { border-radius: 1rem !important; box-shadow: var(--hms-shadow) !important; }

/* -------------------------------------------------------------------------- */
/* Tables                                                                       */
/* -------------------------------------------------------------------------- */

.p-datatable,
.p-datatable-neon { background: transparent !important; }

.p-datatable-table-container {
    border-radius: .9rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.p-datatable .p-datatable-thead > tr > th,
.p-datatable-neon .p-datatable-thead > tr > th {
    background: var(--surface-50) !important;
    color: var(--surface-600) !important;
    border-color: var(--surface-200) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    padding: .85rem 1rem !important;
    white-space: nowrap;
}

.dark .p-datatable .p-datatable-thead > tr > th,
.dark .p-datatable-neon .p-datatable-thead > tr > th {
    background: #101b2d !important;
    color: #94a3b8 !important;
    border-color: rgba(148,163,184,.12) !important;
}

.p-datatable .p-datatable-tbody > tr,
.p-datatable-neon .p-datatable-tbody > tr {
    background: transparent !important;
    transition: background .14s ease !important;
}

.p-datatable .p-datatable-tbody > tr > td,
.p-datatable-neon .p-datatable-tbody > tr > td {
    border-color: var(--surface-100) !important;
    padding: .9rem 1rem !important;
    font-size: .86rem;
}

.dark .p-datatable .p-datatable-tbody > tr > td,
.dark .p-datatable-neon .p-datatable-tbody > tr > td {
    border-color: rgba(148,163,184,.08) !important;
}

.p-datatable .p-datatable-tbody > tr:hover,
.p-datatable-neon .p-datatable-tbody > tr:hover {
    background: rgba(8,145,178,.045) !important;
    box-shadow: none !important;
}

.p-paginator { background: transparent !important; border: none !important; padding-top: .8rem !important; }

/* -------------------------------------------------------------------------- */
/* Scrollbars                                                                   */
/* -------------------------------------------------------------------------- */

* { scrollbar-width: thin; scrollbar-color: rgba(100,116,139,.35) transparent; }
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(100,116,139,.32); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(100,116,139,.5); }

/* -------------------------------------------------------------------------- */
/* Responsiveness + perceived performance                                      */
/* -------------------------------------------------------------------------- */

@media (min-width: 1024px) {
    main.hms-page-shell > div > * { content-visibility: auto; contain-intrinsic-size: auto 520px; }
}

@media (max-width: 1023px) {
    .hms-topbar { height: 64px !important; padding-left: .75rem !important; padding-right: .75rem !important; }
    .hms-sidebar { width: min(86vw, 19rem) !important; }
    .p-dialog { width: min(94vw, 42rem) !important; margin: 1rem !important; }
    .p-overlaypanel { max-width: calc(100vw - 1rem) !important; }
}

@media (max-width: 640px) {
    html { font-size: 15px; }
    body { overflow-x: hidden; }
    .hms-topbar .p-button { width: 2.45rem; height: 2.45rem; }
    .hms-page-shell { padding: .8rem !important; }
    .neon-card:hover, .glass-card:hover { transform: none; }
    .p-datatable .p-datatable-thead > tr > th,
    .p-datatable .p-datatable-tbody > tr > td { padding: .72rem .78rem !important; }
    .p-overlaypanel > div { max-width: calc(100vw - 1rem); }
    input:not([type="checkbox"]):not([type="radio"]), select, textarea, .p-inputtext { font-size: 16px !important; }
    .glass-panel, .glass-morphism, .neon-card { backdrop-filter: none; -webkit-backdrop-filter: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* ========================================================================== */
/* Deploy-now overrides for the precompiled Vite bundle                       */
/* These keep this ZIP cPanel-ready without requiring npm on the server.       */
/* ========================================================================== */

/* Login v2: classes are injected into the precompiled Login chunk below. */
.login-v2-root {
    background: #f4f7fb !important;
    padding: clamp(1rem, 3vw, 2.25rem) !important;
}
.dark .login-v2-root { background: #07111f !important; }
.login-v2-root::before,
.login-v2-root::after {
    content: '';
    position: absolute;
    border-radius: 999px;
    filter: blur(70px);
    pointer-events: none;
}
.login-v2-root::before { width: 300px; height: 300px; background: rgba(8,145,178,.10); top: -150px; right: 8%; }
.login-v2-root::after { width: 260px; height: 260px; background: rgba(37,99,235,.07); bottom: -130px; left: 42%; }
.login-v2-card {
    max-width: 1120px !important;
    border-radius: 1.75rem !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 28px 70px rgba(15,23,42,.12) !important;
    background: #fff !important;
}
.dark .login-v2-card { background: #0d1829 !important; border-color: rgba(148,163,184,.12) !important; }
.login-v2-brand {
    background: #0b1f35 !important;
    position: relative !important;
    overflow: hidden !important;
}
.login-v2-brand::after {
    content: '';
    position: absolute;
    width: 380px;
    height: 380px;
    right: -170px;
    bottom: -180px;
    border-radius: 999px;
    background: rgba(34,211,238,.12);
}
.login-v2-brand h1 { font-size: clamp(2rem, 3vw, 3.3rem) !important; letter-spacing: -.04em !important; line-height: 1.05 !important; }
.login-v2-brand p { color: #cbd5e1 !important; }
.login-v2-brand > div { position: relative; z-index: 2; }
.login-v2-form { padding: clamp(1.5rem, 4vw, 4rem) !important; background: #fff !important; }
.dark .login-v2-form { background: #0d1829 !important; }
.login-v2-form h2 { letter-spacing: -.035em; font-size: clamp(1.7rem, 3vw, 2.2rem) !important; }
.login-v2-form .p-button { min-height: 48px !important; background: #0e7490 !important; border-color: #0e7490 !important; box-shadow: 0 9px 22px rgba(14,116,144,.18) !important; }
.login-v2-form .p-button:hover { background: #155e75 !important; border-color: #155e75 !important; }
.login-v2-form input { min-height: 48px !important; }
.login-v2-logo { border-radius: 1.2rem !important; animation: hms-float 5s ease-in-out infinite !important; }

/* Existing dashboard, visually rebuilt through a high-specificity shell. */
.dashboard-legacy-v2 {
    padding: 1rem !important;
    max-width: 1680px !important;
    margin-inline: auto !important;
    gap: 1.1rem !important;
}
.dashboard-legacy-v2 > div:first-child {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 1.25rem;
    box-shadow: var(--hms-shadow-sm);
    padding: 1.25rem 1.35rem;
    gap: 1rem !important;
}
.dashboard-legacy-v2 > div:first-child h1 {
    font-size: clamp(1.9rem, 4vw, 2.8rem) !important;
    font-style: normal !important;
    letter-spacing: -.04em !important;
    color: #0f172a !important;
    text-shadow: none !important;
}
.dark .dashboard-legacy-v2 > div:first-child h1 { color: #f8fafc !important; }
.dashboard-legacy-v2 > div:first-child p { font-size: .9rem !important; font-weight: 600 !important; }
.dashboard-legacy-v2 .neon-card { border-radius: 1.15rem !important; padding: 1.1rem !important; }
.dashboard-legacy-v2 .neon-card .text-4xl { font-size: clamp(1.45rem, 2.4vw, 2rem) !important; }
.dashboard-legacy-v2 .neon-card .w-16.h-16 { width: 2.75rem !important; height: 2.75rem !important; border-radius: .85rem !important; }
.dashboard-legacy-v2 .neon-card .text-3xl { font-size: 1.1rem !important; }
.dashboard-legacy-v2 .grid.gap-8 { gap: .9rem !important; }
.dashboard-legacy-v2 .grid.gap-10 { gap: 1rem !important; }
.dashboard-legacy-v2 h3 { letter-spacing: -.02em !important; text-transform: none !important; }
.dashboard-legacy-v2 button.neon-card { min-height: 62px; }

@media (max-width: 640px) {
    .login-v2-root { padding: .85rem !important; align-items: stretch !important; }
    .login-v2-card { min-height: calc(100vh - 1.7rem); border-radius: 1.25rem !important; }
    .login-v2-form { padding: 1.25rem !important; }
    .dashboard-legacy-v2 { padding: .2rem !important; gap: .8rem !important; }
    .dashboard-legacy-v2 > div:first-child { padding: 1rem !important; border-radius: 1rem !important; }
    .dashboard-legacy-v2 > div:first-child > div:last-child { width: 100%; }
    .dashboard-legacy-v2 > div:first-child button { flex: 1; height: 44px !important; border-radius: .75rem !important; }
    .dashboard-legacy-v2 .neon-card { padding: .9rem !important; border-radius: 1rem !important; }
}

/* ========================================================================== */
/* HMS Dark Theme Contrast Fix v2.1.1 — global, all modules                  */
/* Fixes light cards + light text collisions across Reception/Admin/Clinical */
/* ========================================================================== */

.dark body,
.dark .hms-app-shell,
.dark .hms-page-shell {
    color: #e2e8f0;
}

/* Generic Tailwind surfaces used across legacy + new modules */
.dark .bg-white,
.dark .bg-surface-0 {
    background-color: #0f172a !important;
}
.dark .bg-surface-50 { background-color: #101b2d !important; }
.dark .bg-surface-100 { background-color: #162338 !important; }
.dark .bg-surface-800 { background-color: #1e293b !important; }
.dark .bg-surface-900 { background-color: #0f172a !important; }
.dark .bg-surface-950 { background-color: #020617 !important; }

/* Text utilities: ensure readable contrast even on pages missing dark:text-* */
.dark .text-surface-950,
.dark .text-surface-900,
.dark .text-surface-800,
.dark .text-surface-700 { color: #e2e8f0 !important; }
.dark .text-surface-600 { color: #cbd5e1 !important; }
.dark .text-surface-500,
.dark .text-surface-400 { color: #94a3b8 !important; }
.dark .text-surface-300 { color: #94a3b8 !important; }
.dark .text-surface-200 { color: #cbd5e1 !important; }
.dark .text-surface-100,
.dark .text-surface-50,
.dark .text-surface-0 { color: #f8fafc !important; }

/* Some source pages explicitly use dark:text-surface-6/7 expecting muted text */
.dark [class~="dark:text-surface-700"] { color: #cbd5e1 !important; }
.dark [class~="dark:text-surface-600"] { color: #cbd5e1 !important; }
.dark [class~="dark:text-surface-500"] { color: #94a3b8 !important; }
.dark [class~="dark:text-surface-400"] { color: #94a3b8 !important; }
.dark [class~="dark:text-surface-300"] { color: #cbd5e1 !important; }

/* Borders/dividers */
.dark .border-surface-50,
.dark .border-surface-100,
.dark .border-surface-200,
.dark .border-surface-300,
.dark .border-gray-100,
.dark .border-gray-200,
.dark .border-slate-100,
.dark .border-slate-200 {
    border-color: rgba(148, 163, 184, .12) !important;
}
.dark .border-surface-700,
.dark .border-surface-800,
.dark .divide-surface-700 > :not([hidden]) ~ :not([hidden]),
.dark .divide-surface-800 > :not([hidden]) ~ :not([hidden]) {
    border-color: rgba(148, 163, 184, .14) !important;
}

/* Native + PrimeVue form controls */
.dark input:not([type="checkbox"]):not([type="radio"]),
.dark select,
.dark textarea,
.dark .p-inputtext,
.dark .p-select,
.dark .p-multiselect,
.dark .p-datepicker-input,
.dark .p-inputnumber-input,
.dark .p-autocomplete-input {
    background: #101b2d !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, .20) !important;
}
.dark input::placeholder,
.dark textarea::placeholder,
.dark .p-inputtext::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}
.dark select option { background: #101b2d; color: #f8fafc; }

/* PrimeVue cards, overlays and tables */
.dark .p-card,
.dark .p-dialog,
.dark .p-popover,
.dark .p-overlaypanel,
.dark .p-menu,
.dark .p-tieredmenu,
.dark .p-select-overlay,
.dark .p-multiselect-overlay,
.dark .p-datepicker-panel,
.dark .p-autocomplete-overlay {
    background: #0d1829 !important;
    color: #e2e8f0 !important;
}

.dark .p-datatable,
.dark .p-datatable-table-container,
.dark .p-datatable-table,
.dark .p-datatable-wrapper {
    background: #0f172a !important;
    color: #e2e8f0 !important;
}
.dark .p-datatable .p-datatable-thead > tr > th,
.dark .p-datatable-neon .p-datatable-thead > tr > th {
    background: #101b2d !important;
    color: #94a3b8 !important;
    border-color: rgba(148,163,184,.14) !important;
}
.dark .p-datatable .p-datatable-tbody > tr,
.dark .p-datatable-neon .p-datatable-tbody > tr {
    background: #0f172a !important;
    color: #e2e8f0 !important;
}
.dark .p-datatable .p-datatable-tbody > tr:nth-child(even),
.dark .p-datatable-neon .p-datatable-tbody > tr:nth-child(even) {
    background: #111c2f !important;
}
.dark .p-datatable .p-datatable-tbody > tr > td,
.dark .p-datatable-neon .p-datatable-tbody > tr > td {
    color: #e2e8f0 !important;
    border-color: rgba(148,163,184,.09) !important;
}
.dark .p-datatable .p-datatable-tbody > tr:hover,
.dark .p-datatable-neon .p-datatable-tbody > tr:hover {
    background: #162338 !important;
}
.dark .p-paginator { color: #cbd5e1 !important; }

/* Plain HTML tables used in Clinical/Finance/Reports */
.dark table:not(.print\:bg-white) tbody tr { color: #e2e8f0; }
.dark table:not(.print\:bg-white) tbody td { color: #e2e8f0; border-color: rgba(148,163,184,.09); }
.dark table:not(.print\:bg-white) thead { color: #94a3b8; }

/* Reusable application cards */
.dark .neon-card,
.dark .glass-panel,
.dark .glass-morphism,
.dark .glass-card,
.dark .hms-card {
    background: #0f172a !important;
    color: #e2e8f0 !important;
    border-color: rgba(148, 163, 184, .12) !important;
}

/* Empty states / secondary labels */
.dark .p-datatable-empty-message td,
.dark .p-empty-message,
.dark .empty-state {
    color: #94a3b8 !important;
}

