/* ==========================================================================
   RAZOR-SHARP MODERN UI/UX DESIGN SYSTEM (HIGH CLARITY & CRISP CONTRAST)
   Featuring: Clean Claymorphism, Crisp Skeuomorphic Embossed Controls,
              Subtle Glass Overlays, High-Contrast Typography & 0% Blur
   ========================================================================== */

:root {
    /* Color Palette */
    --primary-indigo: #6366f1;
    --primary-violet: #4f46e5;
    --emerald-glow: #10b981;
    --amber-accent: #f59e0b;
    --rose-highlight: #f43f5e;
    --cyan-accent: #06b6d4;
    --slate-900: #0f172a;
    --slate-800: #1e293b;
    --slate-700: #334155;
    --slate-600: #475569;
    --slate-100: #f1f5f9;
    
    /* Crisp Card & Box Shadows (No fuzzy text blur) */
    --card-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08), 0 4px 6px -2px rgba(15, 23, 42, 0.04);
    --card-shadow-hover: 0 20px 30px -10px rgba(79, 70, 229, 0.18), 0 8px 10px -4px rgba(15, 23, 42, 0.06);
    --clay-border: 1px solid #e2e8f0;

    /* Transitions */
    --smooth-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --------------------------------------------------------------------------
   1. Smooth Scroll & Crisp Reset
   -------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth !important;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    background: #f8fafc !important;
    color: var(--slate-800) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

/* Clean Custom Scrollbars */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* --------------------------------------------------------------------------
   2. Razor-Sharp Clay & Glass Cards (.clay-card, .info-box, .box, etc.)
   -------------------------------------------------------------------------- */
.glass-panel, 
.box, 
.info-box, 
.clay-card,
.loginbg, 
.modal-content, 
.nav-tabs-custom {
    background: #ffffff !important;
    border: var(--clay-border) !important;
    box-shadow: var(--card-shadow) !important;
    border-radius: 16px !important;
    transition: var(--smooth-transition) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
}

/* Crisp Elevating Hover (No subpixel blur transform) */
.glass-panel:hover, 
.box:hover, 
.info-box:hover, 
.clay-card:hover,
.focal-zoom:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--card-shadow-hover) !important;
    border-color: #cbd5e1 !important;
    filter: none !important;
}

.focal-container:hover > *:not(:hover) {
    opacity: 0.9;
    filter: none !important;
}

/* --------------------------------------------------------------------------
   3. Info Boxes & Dashboard Stat Widgets
   -------------------------------------------------------------------------- */
.info-box {
    display: flex !important;
    align-items: center !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    min-height: 96px !important;
    position: relative !important;
    overflow: hidden !important;
}

.info-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-indigo), var(--emerald-glow));
    opacity: 0.9;
}

.info-box-icon {
    width: 58px !important;
    height: 58px !important;
    line-height: 58px !important;
    border-radius: 14px !important;
    font-size: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 16px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    flex-shrink: 0 !important;
}

.info-box-icon.bg-green, .info-box-icon.bg-success {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: #ffffff !important;
}

.info-box-icon.bg-red, .info-box-icon.bg-danger {
    background: linear-gradient(135deg, #f43f5e, #e11d48) !important;
    color: #ffffff !important;
}

.info-box-icon.bg-blue, .info-box-icon.bg-primary {
    background: linear-gradient(135deg, #6366f1, #4f46e5) !important;
    color: #ffffff !important;
}

.info-box-icon.bg-aqua, .info-box-icon.bg-info {
    background: linear-gradient(135deg, #0ea5e9, #0284c7) !important;
    color: #ffffff !important;
}

.info-box-icon.bg-yellow, .info-box-icon.bg-warning {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    color: #ffffff !important;
}

.info-box-content {
    margin-left: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.info-box-text {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: var(--slate-600) !important;
    margin-bottom: 2px !important;
}

.info-box-number {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--slate-900) !important;
    line-height: 1.2 !important;
}

/* --------------------------------------------------------------------------
   4. Claymorphism Badges & Pills (.clay-badge, .clay-pill)
   -------------------------------------------------------------------------- */
.clay-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 99px !important;
    background: #eef2ff !important;
    color: var(--primary-violet) !important;
    font-weight: 700;
    font-size: 12px;
    border: 1px solid #c7d2fe !important;
}

.clay-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 99px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    font-weight: 700;
    color: var(--slate-700);
}

/* --------------------------------------------------------------------------
   5. Skeuomorphic & Embossed Controls (.btn-embossed, .btn-skeuo, inputs)
   -------------------------------------------------------------------------- */
.content-wrapper .btn,
.modal-content .btn,
.login .btn,
.btn-embossed, 
.btn-skeuo {
    border-radius: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
    padding: 8px 20px !important;
    border: none !important;
    transition: var(--smooth-transition) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1), 
                inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

.btn-primary, .btn-embossed.btn-primary {
    background: linear-gradient(180deg, #6366f1 0%, #4f46e5 100%) !important;
    color: #ffffff !important;
}
.btn-primary:hover {
    background: linear-gradient(180deg, #4f46e5 0%, #4338ca 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3) !important;
}

.btn-success, .btn-embossed.btn-success {
    background: linear-gradient(180deg, #10b981 0%, #059669 100%) !important;
    color: #ffffff !important;
}
.btn-success:hover {
    background: linear-gradient(180deg, #059669 0%, #047857 100%) !important;
    transform: translateY(-1px);
}

.btn-warning, .btn-embossed.btn-warning {
    background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%) !important;
    color: #ffffff !important;
}

.btn-danger, .btn-embossed.btn-danger {
    background: linear-gradient(180deg, #f43f5e 0%, #e11d48 100%) !important;
    color: #ffffff !important;
}

.btn-info, .btn-embossed.btn-info {
    background: linear-gradient(180deg, #0ea5e9 0%, #0284c7 100%) !important;
    color: #ffffff !important;
}

.btn-default {
    background: #ffffff !important;
    color: var(--slate-700) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}
.btn-default:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

/* Flat buttons (utility / toolbar) - no embossing */
.btn-flat,
.main-header .btn,
.input-group-btn .btn {
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 6px 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.content-wrapper .btn:active, 
.btn-embossed:active, 
.btn-skeuo:active {
    transform: translateY(1px) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Crisp Form Inputs */
.form-control, 
.form-control-skeuo {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    padding: 10px 16px !important;
    height: auto !important;
    color: var(--slate-800) !important;
    box-shadow: inset 0 2px 4px rgba(15, 23, 42, 0.04) !important;
    transition: var(--smooth-transition);
}

.form-control:focus, 
.form-control-skeuo:focus {
    border-color: var(--primary-indigo) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2) !important;
    outline: none !important;
}

/* --------------------------------------------------------------------------
   6. Crisp Navigation Header & Sidebar
   -------------------------------------------------------------------------- */
.glass-navbar, 
.main-header .navbar {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.main-sidebar, 
.left-side {
    background: #ffffff !important;
    border-right: 1px solid #e2e8f0 !important;
    box-shadow: 2px 0 10px rgba(15, 23, 42, 0.03) !important;
}

.sidebar-menu > li.active > a, 
.sidebar-menu > li:hover > a {
    background: #eef2ff !important;
    border-left-color: var(--primary-indigo) !important;
    color: var(--primary-violet) !important;
    font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   6b. Navbar: Search, Language Picker & Icon Alignment (Pixel-Perfect)
   -------------------------------------------------------------------------- */

/* Pull-right container: flex row, vertically centered, uniform gap */
.main-header .pull-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 10px !important;
}

/* Search form: strip all bootstrap junk, inline-flex center */
.main-header .navbar-form.search-form,
.main-header form.search-form {
    display: inline-flex !important;
    align-items: center !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    float: none !important;
}

.main-header .search-form .input-group {
    display: flex !important;
    align-items: center !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

.main-header .search-form input.form-control,
.main-header .search-form input[name="search_text"] {
    height: 36px !important;
    line-height: 36px !important;
    border-radius: 18px 0 0 18px !important;
    border: 2px solid rgba(255,255,255,0.35) !important;
    border-right: none !important;
    background: rgba(255,255,255,0.95) !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #334155 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    min-width: 180px !important;
}

.main-header .search-form input.form-control:focus {
    border-color: rgba(255,255,255,0.7) !important;
    background: #ffffff !important;
}

/* Override style-main.css and _all-skins.min.css .search-form3 rules */
input.form-control.search-form.search-form3,
.search-form3 {
    border-radius: 18px 0 0 18px !important;
    border: 2px solid rgba(255,255,255,0.35) !important;
    border-right: none !important;
    min-width: 180px !important;
    max-width: 260px !important;
    height: 36px !important;
}

.main-header .search-form .input-group-btn {
    display: flex !important;
    align-items: center !important;
    height: 36px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-header .search-form #search-btn,
.main-header .search-form .input-group-btn .btn {
    height: 36px !important;
    width: 40px !important;
    line-height: 36px !important;
    border-radius: 0 18px 18px 0 !important;
    border: 2px solid rgba(255,255,255,0.35) !important;
    border-left: none !important;
    background: rgba(255,255,255,0.95) !important;
    color: #475569 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 14px !important;
}

.main-header .search-form #search-btn:hover {
    background: #ffffff !important;
    color: var(--primary-indigo) !important;
}

/* Navbar-custom-menu: flex row, vertically centered */
.navbar-custom-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    gap: 6px !important;
}

/* ── Language Dropdown (Bootstrap-Select plugin) ── */
.langdiv {
    display: inline-flex !important;
    align-items: center !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* The Bootstrap-Select wrapper div */
.langdiv .bootstrap-select {
    height: 36px !important;
    width: auto !important;
    min-width: 120px !important;
    margin: 0 !important;
}

/* The visible button rendered by Bootstrap-Select */
.langdiv .bootstrap-select > .btn,
.langdiv .bootstrap-select > .dropdown-toggle,
.langdiv .bootstrap-select .btn-default {
    height: 36px !important;
    line-height: 34px !important;
    border-radius: 18px !important;
    padding: 0 14px !important;
    border: 2px solid rgba(255,255,255,0.35) !important;
    background: rgba(255,255,255,0.95) !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.langdiv .bootstrap-select > .btn:hover,
.langdiv .bootstrap-select > .dropdown-toggle:hover {
    background: #ffffff !important;
    border-color: rgba(255,255,255,0.6) !important;
}

/* Caret inside the select button */
.langdiv .bootstrap-select .caret,
.langdiv .bootstrap-select .bs-caret {
    margin-left: 6px !important;
    vertical-align: middle !important;
}

/* If native select is still visible, style it too */
.langdiv select {
    height: 36px !important;
    border-radius: 18px !important;
    padding: 0 14px !important;
    border: 2px solid rgba(255,255,255,0.35) !important;
    background: rgba(255,255,255,0.95) !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* ── Header Top Menu (icon links: bell, bed, whatsapp, etc.) ── */
.headertopmenu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    gap: 2px !important;
}

.headertopmenu > li {
    display: inline-flex !important;
    align-items: center !important;
    height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.headertopmenu > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    transition: all 0.2s ease !important;
}

.headertopmenu > li > a:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}

/* Notification badge on icon */
.headertopmenu > li > a .label {
    position: absolute !important;
    top: 8px !important;
    right: 2px !important;
    font-size: 9px !important;
    padding: 2px 5px !important;
    border-radius: 99px !important;
}

/* --------------------------------------------------------------------------
   7. Nav Tabs (Today OPD / Upcoming OPD / Old OPD / Patient View tabs)
   -------------------------------------------------------------------------- */
.nav-tabs {
    border-bottom: 2px solid #e2e8f0 !important;
    padding: 0 4px !important;
    margin-bottom: 0 !important;
    background: transparent !important;
}

.nav-tabs > li {
    margin-bottom: -2px !important;
}

.nav-tabs > li > a {
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #94a3b8 !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
    margin: 0 !important;
}

.nav-tabs > li > a:hover {
    color: var(--primary-indigo) !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom-color: #c7d2fe !important;
}

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

.nav-tabs-custom {
    border-radius: 16px !important;
    overflow: hidden !important;
}

.nav-tabs-custom > .nav-tabs {
    background: #f8fafc !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding: 4px 8px 0 !important;
}

.nav-tabs-custom > .tab-content {
    padding: 16px !important;
    background: #ffffff !important;
}

/* --------------------------------------------------------------------------
   8. Tables & DataTables Modernization
   -------------------------------------------------------------------------- */

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

/* DataTables length selector (Show 100 entries) */
.dataTables_wrapper .dataTables_length {
    padding: 8px 0 !important;
}

.dataTables_wrapper .dataTables_length select {
    height: 34px !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    padding: 4px 10px !important;
    font-size: 13px !important;
    color: var(--slate-700) !important;
    background: #ffffff !important;
    appearance: auto !important;
    margin: 0 6px !important;
    outline: none !important;
}

.dataTables_wrapper .dataTables_length label {
    font-size: 13px !important;
    color: var(--slate-600) !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* DataTables filter/search */
.dataTables_wrapper .dataTables_filter {
    padding: 8px 0 !important;
}

.dataTables_wrapper .dataTables_filter input {
    height: 34px !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    padding: 4px 12px !important;
    font-size: 13px !important;
    color: var(--slate-700) !important;
    background: #ffffff !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    min-width: 180px !important;
}

.dataTables_wrapper .dataTables_filter input:focus {
    border-color: var(--primary-indigo) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important;
}

.dataTables_wrapper .dataTables_filter label {
    font-size: 13px !important;
    color: var(--slate-600) !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* DataTables info text (Showing 1 to 2 of 2) */
.dataTables_wrapper .dataTables_info {
    font-size: 12px !important;
    color: #94a3b8 !important;
    font-weight: 500 !important;
    padding: 10px 0 !important;
}

/* DataTables export / action buttons (CSV, Excel, PDF, Print, Copy) */
.dataTables_wrapper .dt-buttons,
.dataTables_wrapper .DTTT_container {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
}

.dataTables_wrapper .dt-buttons .dt-button,
.dataTables_wrapper .dt-buttons .btn,
.dataTables_wrapper .DTTT_container .DTTT_button,
.box-header .dt-buttons .btn,
.box-body .dt-buttons .btn {
    height: 32px !important;
    width: 32px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: var(--slate-600) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}

.dataTables_wrapper .dt-buttons .dt-button:hover,
.dataTables_wrapper .dt-buttons .btn:hover,
.box-header .dt-buttons .btn:hover,
.box-body .dt-buttons .btn:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: var(--primary-indigo) !important;
}

/* ── Table Styling ── */
.table {
    border-collapse: separate !important;
    border-spacing: 0 4px !important;
    margin-bottom: 10px !important;
}

.table > thead > tr > th {
    background: #f8fafc !important;
    color: var(--slate-600) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 10px 14px !important;
    border-bottom: 2px solid #e2e8f0 !important;
    border-top: none !important;
    white-space: nowrap !important;
}

.table > thead > tr > th .fa-sort,
.table > thead > tr > th .fa-sort-up,
.table > thead > tr > th .fa-sort-down {
    color: #cbd5e1 !important;
    margin-left: 4px !important;
}

.table > tbody > tr {
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    transition: background 0.15s ease !important;
}

.table > tbody > tr > td {
    padding: 10px 14px !important;
    font-size: 13px !important;
    color: var(--slate-700) !important;
    border-top: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

.table > tbody > tr:hover {
    background: #f8fafc !important;
}

.table > tbody > tr:hover > td {
    color: var(--slate-900) !important;
}

/* Striped table rows */
.table-striped > tbody > tr:nth-of-type(odd) {
    background: #fafbfd !important;
}

.table-striped > tbody > tr:nth-of-type(even) {
    background: #ffffff !important;
}

/* Table links */
.table > tbody > tr > td a {
    color: var(--primary-indigo) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.table > tbody > tr > td a:hover {
    color: var(--primary-violet) !important;
    text-decoration: underline !important;
}

/* --------------------------------------------------------------------------
   9. Table Action Icons / Buttons (edit, delete, view, print, etc.)
   -------------------------------------------------------------------------- */
.table .btn-xs,
.table .btn-sm,
.table a.btn {
    height: 30px !important;
    width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: var(--slate-600) !important;
    font-size: 12px !important;
    box-shadow: none !important;
    transition: all 0.15s ease !important;
    margin: 1px !important;
    line-height: 1 !important;
}

.table .btn-xs:hover,
.table .btn-sm:hover,
.table a.btn:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: var(--primary-indigo) !important;
    transform: translateY(-1px) !important;
}

/* Color-coded action buttons */
.table .btn-primary.btn-xs,
.table .btn-primary.btn-sm,
.table a.btn-primary {
    background: #eef2ff !important;
    border-color: #c7d2fe !important;
    color: var(--primary-indigo) !important;
}

.table .btn-success.btn-xs,
.table .btn-success.btn-sm,
.table a.btn-success {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
    color: #059669 !important;
}

.table .btn-danger.btn-xs,
.table .btn-danger.btn-sm,
.table a.btn-danger {
    background: #fff1f2 !important;
    border-color: #fecdd3 !important;
    color: #e11d48 !important;
}

.table .btn-warning.btn-xs,
.table .btn-warning.btn-sm,
.table a.btn-warning {
    background: #fffbeb !important;
    border-color: #fde68a !important;
    color: #d97706 !important;
}

.table .btn-info.btn-xs,
.table .btn-info.btn-sm,
.table a.btn-info {
    background: #f0f9ff !important;
    border-color: #bae6fd !important;
    color: #0284c7 !important;
}

.table .btn-default.btn-xs,
.table .btn-default.btn-sm,
.table a.btn-default {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #475569 !important;
}

/* Action button row alignment */
.table td .btn-group,
.table td [style*="display"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    flex-wrap: nowrap !important;
}

/* --------------------------------------------------------------------------
   10. + Add Patient / Add Button (top right action buttons)
   -------------------------------------------------------------------------- */
.box-header .btn-primary,
.box-header .pull-right .btn,
.content-header .btn {
    border-radius: 10px !important;
    padding: 8px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    height: auto !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* --------------------------------------------------------------------------
   11. Dashboard Row & Stat Grid Alignment
   -------------------------------------------------------------------------- */
.content-wrapper {
    background: #f8fafc !important;
    min-height: calc(100vh - 60px) !important;
}

.content-wrapper > section.content {
    padding: 20px 24px !important;
}

/* Fix the col20 custom 5-per-row columns used by stat widgets */
.col20 {
    width: 20% !important;
    float: left !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

@media (max-width: 991px) {
    .col20 {
        width: 33.333% !important;
    }
}
@media (max-width: 767px) {
    .col20 {
        width: 50% !important;
    }
}
@media (max-width: 480px) {
    .col20 {
        width: 100% !important;
    }
}

/* Ensure info-box rows wrap cleanly */
.content-wrapper .row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
}

.content-wrapper .row > [class*="col-"] {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Info box inner link - clear all inherited junk */
.info-box > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* --------------------------------------------------------------------------
   12. Sidebar Menu Polish
   -------------------------------------------------------------------------- */
.sidebar-menu {
    padding: 8px 0 !important;
}

.sidebar-menu > li {
    margin: 1px 8px !important;
}

.sidebar-menu > li > a {
    padding: 10px 16px !important;
    border-radius: 10px !important;
    color: var(--slate-700) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: var(--smooth-transition) !important;
    border-left: 3px solid transparent !important;
}

.sidebar-menu > li > a > .fa,
.sidebar-menu > li > a > .fas,
.sidebar-menu > li > a > .far,
.sidebar-menu > li > a > .ion,
.sidebar-menu > li > a > i {
    width: 20px !important;
    text-align: center !important;
    font-size: 15px !important;
    color: var(--slate-600) !important;
}

.sidebar-menu > li.active > a,
.sidebar-menu > li:hover > a {
    background: #eef2ff !important;
    border-left-color: var(--primary-indigo) !important;
    color: var(--primary-violet) !important;
    font-weight: 700 !important;
}

.sidebar-menu > li.active > a > i,
.sidebar-menu > li:hover > a > i {
    color: var(--primary-indigo) !important;
}

.sidebar-menu > li > a > .pull-right-container {
    margin-left: auto !important;
}

/* Sidebar treeview submenu */
.sidebar-menu .treeview-menu {
    margin: 0 8px !important;
    padding: 4px 0 !important;
    background: transparent !important;
}

.sidebar-menu .treeview-menu > li > a {
    padding: 8px 16px 8px 42px !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    color: var(--slate-600) !important;
}

.sidebar-menu .treeview-menu > li > a:hover,
.sidebar-menu .treeview-menu > li.active > a {
    background: #f1f5f9 !important;
    color: var(--primary-violet) !important;
}

/* --------------------------------------------------------------------------
   13. Content Header & Breadcrumbs
   -------------------------------------------------------------------------- */
.content-header {
    padding: 16px 0 8px 0 !important;
}

.content-header > h1 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--slate-900) !important;
    letter-spacing: -0.3px !important;
}

.breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.breadcrumb > li > a {
    color: var(--primary-indigo) !important;
}

/* --------------------------------------------------------------------------
   14. Alerts & Badges Modern Polish
   -------------------------------------------------------------------------- */
.alert {
    border-radius: 12px !important;
    border: none !important;
    font-weight: 500 !important;
}

.label {
    border-radius: 6px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    font-size: 11px !important;
}

.badge {
    border-radius: 99px !important;
    font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   15. Box (Widget) Headers & Chart Containers
   -------------------------------------------------------------------------- */
.box-header {
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.box-header .box-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--slate-800) !important;
}

.box-header .box-tools,
.box-header .pull-right {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

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

.box-footer {
    border-top: 1px solid #f1f5f9 !important;
    background: #fafbfc !important;
    border-radius: 0 0 16px 16px !important;
}

/* --------------------------------------------------------------------------
   16. Pagination Polish
   -------------------------------------------------------------------------- */
.dataTables_wrapper .dataTables_paginate,
.pagination-wrap {
    padding: 10px 0 !important;
}

.pagination > li > a,
.pagination > li > span {
    border-radius: 8px !important;
    margin: 0 2px !important;
    border: 1px solid #e2e8f0 !important;
    color: var(--slate-700) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 6px 12px !important;
    transition: all 0.15s ease !important;
}

.pagination > li > a:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
}

.pagination > .active > a,
.pagination > .active > span {
    background: var(--primary-indigo) !important;
    border-color: var(--primary-indigo) !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   17. Form Controls Polish
   -------------------------------------------------------------------------- */
.content-wrapper .form-control,
.modal-content .form-control {
    height: 38px !important;
    border-radius: 10px !important;
    border: 1px solid #e2e8f0 !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    color: var(--slate-700) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.content-wrapper .form-control:focus,
.modal-content .form-control:focus {
    border-color: var(--primary-indigo) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important;
    outline: none !important;
}

.content-wrapper textarea.form-control {
    height: auto !important;
    min-height: 80px !important;
}

.content-wrapper select.form-control {
    appearance: auto !important;
}

/* Select2 plugin styling */
.select2-container .select2-selection {
    height: 38px !important;
    border-radius: 10px !important;
    border: 1px solid #e2e8f0 !important;
    display: flex !important;
    align-items: center !important;
}

.select2-container .select2-selection .select2-selection__rendered {
    line-height: 38px !important;
    padding-left: 14px !important;
    font-size: 13px !important;
    color: var(--slate-700) !important;
}

/* --------------------------------------------------------------------------
   18. Modal Modernization
   -------------------------------------------------------------------------- */
.modal-content {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
}

.modal-header {
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 16px 20px !important;
}

.modal-header .modal-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--slate-800) !important;
}

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

.modal-footer {
    border-top: 1px solid #f1f5f9 !important;
    padding: 14px 20px !important;
    background: #fafbfc !important;
}

/* --------------------------------------------------------------------------
   19. Scrollbar Styling
   -------------------------------------------------------------------------- */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
