/* Theme Switcher UI & Theme Variants */

.header-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Theme Switcher Button */
.theme-switcher-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: all 0.2s ease;
    font-weight: 500;
}

.theme-switcher-btn:hover {
    background: var(--light);
    color: var(--primary);
}

.theme-switcher-btn i {
    font-size: 1.1rem;
}

.theme-dropdown {
    min-width: 200px;
    padding: 0.5rem;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    border: 1px solid var(--border, #e2e8f0);
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.theme-option:hover {
    background: var(--light, #f1f5f9);
}

.theme-option.active {
    background: rgba(99, 102, 241, 0.1);
    color: var(--primary);
    font-weight: 600;
}

.theme-option i {
    width: 20px;
    text-align: center;
}

/* ========== Theme: Original (White & Lavender - elegant, feminine, dashboard) ========== */
/* Off-white main background to reduce eye strain; soft lavender accents */
body.theme-original {
    background: linear-gradient(180deg, #f8f9fb 0%, #f5f4f9 20%, #f2eff8 45%, #efeaf6 75%, #ebe5f4 100%) !important;
    background-attachment: fixed !important;
    color: #374151;
    animation: none !important;
}

body.theme-original .header {
    background: linear-gradient(90deg, #7d6b9e 0%, #6f5d8f 35%, #62527d 70%, #5a4a72 100%) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
    box-shadow: 2px 0 16px rgba(90, 74, 114, 0.2) !important;
}

body.theme-original .header .theme-switcher-btn {
    color: #e8e2f2 !important;
}

body.theme-original .header .theme-switcher-btn:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

body.theme-original .header .navbar-toggler {
    color: #e8e2f2 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

body.theme-original .header .navbar-toggler:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
}

body.theme-original .header h2,
body.theme-original .header .header-menu {
    color: #e8e2f2 !important;
}

body.theme-original .stat-card {
    background: #ffffff !important;
    border: 1px solid rgba(200, 190, 230, 0.4) !important;
    box-shadow: 0 2px 12px rgba(147, 112, 219, 0.06) !important;
}

body.theme-original .stat-card::before {
    background: linear-gradient(90deg, #9f8fc7 0%, #b8a8d8 50%, #c9bbdf 100%) !important;
}

body.theme-original .stat-card:hover {
    box-shadow: 0 8px 28px rgba(147, 112, 219, 0.12) !important;
    border-color: rgba(180, 165, 220, 0.5) !important;
}

body.theme-original .stat-info h3 {
    color: #4b5563 !important;
}

body.theme-original .stat-info .value {
    background: linear-gradient(135deg, #7d6b9e 0%, #9f8fc7 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.theme-original .today-card {
    background: #ffffff !important;
    border: 1px solid rgba(200, 190, 230, 0.4) !important;
    box-shadow: 0 2px 12px rgba(147, 112, 219, 0.06) !important;
}

body.theme-original .section-header h3 {
    color: #1f2937 !important;
}

body.theme-original .content-card,
body.theme-original .card-theme,
body.theme-original .card {
    background: #ffffff !important;
    border: 1px solid rgba(200, 190, 230, 0.4) !important;
    box-shadow: 0 2px 12px rgba(147, 112, 219, 0.06) !important;
}

body.theme-original .card-header {
    background: linear-gradient(180deg, #fdfcff 0%, #f9f6fc 100%) !important;
    border-bottom-color: rgba(200, 190, 230, 0.45) !important;
}

body.theme-original .card-body {
    background: #ffffff !important;
}

body.theme-original .card-header h3,
body.theme-original .content-card h2,
body.theme-original .section-title {
    background: linear-gradient(135deg, #7d6b9e 0%, #9f8fc7 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.theme-original .btn-action,
body.theme-original .btn-search,
body.theme-original .btn-gradient {
    background: linear-gradient(135deg, #9f8fc7 0%, #b8a8d8 100%) !important;
    box-shadow: 0 2px 14px rgba(147, 112, 219, 0.25) !important;
}

body.theme-original .btn-action:hover,
body.theme-original .btn-search:hover,
body.theme-original .btn-gradient:hover {
    box-shadow: 0 6px 24px rgba(147, 112, 219, 0.3) !important;
}

body.theme-original .stat-icon.gradient-1 {
    background: linear-gradient(135deg, #9f8fc7 0%, #b8a8d8 100%) !important;
}

body.theme-original .stat-icon.gradient-2 {
    background: linear-gradient(135deg, #b8a8d8 0%, #c9bbdf 100%) !important;
}

body.theme-original .stat-icon.gradient-3 {
    background: linear-gradient(135deg, #8b7cb3 0%, #9f8fc7 100%) !important;
}

body.theme-original .stat-icon.gradient-4 {
    background: linear-gradient(135deg, #a79ad1 0%, #bdaedc 100%) !important;
}

body.theme-original .stat-icon.gradient-5 {
    background: linear-gradient(135deg, #9f8fc7 0%, #b8a8d8 100%) !important;
}

body.theme-original .stat-icon.gradient-6 {
    background: linear-gradient(135deg, #b8a8d8 0%, #c9bbdf 100%) !important;
}

body.theme-original .dms-table thead {
    background: linear-gradient(135deg, #9f8fc7 0%, #b8a8d8 100%) !important;
}

body.theme-original .dms-table tbody td {
    color: #374151 !important;
}

body.theme-original ::-webkit-scrollbar-track {
    background: #f3eef9;
}

body.theme-original ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #b8a8d8 0%, #9f8fc7 100%);
}

/* Original: Sidebar - contrasting purple panel (stands out from light content) */
body.theme-original .left-panel {
    --sidebar-bg: #6a5a8a;
    --sidebar-surface: rgba(255, 255, 255, 0.08);
    --sidebar-border: rgba(255, 255, 255, 0.12);
    --sidebar-text: #e8e2f2;
    --sidebar-text-hover: #ffffff;
    --sidebar-accent: #c9bbdf;
    --sidebar-accent-soft: rgba(255, 255, 255, 0.12);
    --sidebar-active: linear-gradient(135deg, #8b7cb3 0%, #9f8fc7 100%);
    background: linear-gradient(180deg, #7d6b9e 0%, #6f5d8f 35%, #62527d 70%, #5a4a72 100%) !important;
    border-right-color: rgba(0, 0, 0, 0.12);
    box-shadow: 4px 0 24px rgba(90, 74, 114, 0.2) !important;
}

body.theme-original .sidebar-brand-text .brand-line {
    color: #ffffff !important;
}

body.theme-original .left-panel::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.15);
}

body.theme-original .left-panel::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
}

body.theme-original .sidebar-nav-list .nav-item.active .nav-link {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border-left-color: #c9bbdf !important;
}

/* Original: Calendar */
body.theme-original .calendar-section {
    background: #ffffff !important;
    border: 1px solid rgba(200, 190, 230, 0.45) !important;
    box-shadow: 0 2px 12px rgba(147, 112, 219, 0.06) !important;
}

body.theme-original .calendar-title {
    background: linear-gradient(135deg, #7d6b9e 0%, #9f8fc7 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

body.theme-original .calendar-nav-btn {
    background: linear-gradient(135deg, #9f8fc7 0%, #b8a8d8 100%) !important;
}

body.theme-original .calendar-nav-btn:hover {
    box-shadow: 0 4px 14px rgba(147, 112, 219, 0.3) !important;
}

body.theme-original .calendar-container {
    background: #f9f6fc !important;
    border-color: rgba(200, 190, 230, 0.5) !important;
}

body.theme-original .calendar-day {
    background: #ffffff !important;
}

body.theme-original .calendar-day:hover {
    background: linear-gradient(135deg, #e6dcf0 0%, #f3eef9 100%) !important;
}

body.theme-original .calendar-day.today {
    background: linear-gradient(135deg, #b8a8d8 0%, #c9bbdf 100%) !important;
}

body.theme-original .calendar-day.selected {
    background: linear-gradient(135deg, #9f8fc7 0%, #b8a8d8 100%) !important;
    box-shadow: 0 4px 16px rgba(147, 112, 219, 0.25) !important;
}

body.theme-original .weekday {
    color: #6b5b7a !important;
}

/* Original: Status column */
body.theme-original .dms-table tbody td.completed {
    background: #d1fae5 !important;
    color: #065f46 !important;
}

body.theme-original .dms-table tbody td.scheduled {
    background: #fef3c7 !important;
    color: #92400e !important;
}

body.theme-original .dms-table tbody td.cancelled {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

/* Original: Report cards/tiles */
body.theme-original .report-card {
    background: #ffffff !important;
    border: 1px solid rgba(200, 190, 230, 0.5) !important;
    color: #374151 !important;
    box-shadow: 0 2px 12px rgba(147, 112, 219, 0.06) !important;
}

body.theme-original .report-card:hover {
    border-color: #b8a8d8 !important;
    box-shadow: 0 8px 28px rgba(147, 112, 219, 0.12) !important;
}

body.theme-original .report-card i,
body.theme-original .report-card .bi {
    color: #9f8fc7 !important;
}

body.theme-original .report-card h4 {
    color: #374151 !important;
}

body.theme-original .report-card p {
    color: #6b7280 !important;
}

/* Original: Chart/section labels & stat cards */
body.theme-original .chart-container h3 {
    color: #374151 !important;
    background: linear-gradient(135deg, #7d6b9e 0%, #9f8fc7 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.theme-original .content-card .card.bg-light {
    background: #ffffff !important;
    border: 1px solid rgba(200, 190, 230, 0.4) !important;
}

body.theme-original .content-card .card .card-title {
    color: #374151 !important;
}

body.theme-original .content-card .card .card-text {
    color: #4b5563 !important;
}

body.theme-original .content-card .card .text-primary {
    color: #9f8fc7 !important;
}

body.theme-original .content-card .card .text-success {
    color: #059669 !important;
}

body.theme-original .content-card .card .text-danger {
    color: #dc2626 !important;
}

body.theme-original .content-card .card .text-info {
    color: #9f8fc7 !important;
}

body.theme-original .content-card .card .text-warning {
    color: #d97706 !important;
}

/* Original: Profile page (tabs, panes, modal) */
body.theme-original .profile-page {
    --profile-tab-border: rgba(200, 190, 230, 0.5);
    --profile-tab-bg: #f5f4f9;
    --profile-tab-hover: #ebe5f4;
    --profile-nav-link: #5a4d6e;
    --profile-nav-link-hover: #9f8fc7;
    --profile-nav-border: rgba(200, 190, 230, 0.5);
    --profile-tab-active-bg: #9f8fc7;
    --profile-pane-bg: #f5f4f9;
    --profile-canvas-border: #b8a8d8;
    --profile-modal-track: #ebe5f4;
}

body.theme-original .profile-page .nav-tabs .nav-link {
    color: var(--profile-nav-link) !important;
}

body.theme-original .profile-page .nav-tabs .nav-link:hover {
    color: var(--profile-nav-link-hover) !important;
    background-color: rgba(159, 143, 199, 0.1) !important;
    border-bottom-color: rgba(159, 143, 199, 0.4) !important;
}

body.theme-original .profile-page .nav-tabs .nav-link.active {
    background: linear-gradient(135deg, #9f8fc7 0%, #b8a8d8 100%) !important;
    color: #ffffff !important;
    border-bottom-color: #9f8fc7 !important;
    box-shadow: 0 2px 12px rgba(147, 112, 219, 0.2) !important;
}

body.theme-original .profile-page .nav-tabs {
    border-bottom-color: var(--profile-nav-border) !important;
}

body.theme-original .tooth-modal-content {
    background: #ffffff !important;
    border: 1px solid rgba(200, 190, 230, 0.5) !important;
}

body.theme-original .balance-label { color: #059669 !important; }
body.theme-original .btn-profile-submit {
    background: linear-gradient(to right, #fef3c7 0%, #e9d5ff 100%) !important;
    color: #4b3d6e !important;
}

/* ========== Theme: Dark Mode ========== */
body.theme-dark {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%) !important;
    color: #f1f5f9;
}

body.theme-dark .header {
    background: #1e293b !important;
    border-bottom-color: #334155 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

body.theme-dark .header .navbar-toggler {
    color: #f1f5f9 !important;
    border-color: #475569 !important;
}

body.theme-dark .header .navbar-toggler:hover {
    background: #334155 !important;
}

body.theme-dark .stat-card {
    background: #1e293b !important;
    border-color: #334155 !important;
}

body.theme-dark .stat-card::before {
    background: linear-gradient(90deg, #06b6d4 0%, #22d3ee 100%) !important;
}

body.theme-dark .stat-card:hover {
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.5) !important;
    border-color: #475569 !important;
}

body.theme-dark .stat-info h3 {
    color: #94a3b8 !important;
}

body.theme-dark .stat-info .value {
    background: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.theme-dark .today-card {
    background: #1e293b !important;
    border-color: transparent !important;
}

body.theme-dark .today-card h4 {
    color: #94a3b8 !important;
}

body.theme-dark .section-header h3 {
    color: #f1f5f9 !important;
}

body.theme-dark .content-card,
body.theme-dark .card-theme {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
}

body.theme-dark .content-card h2,
body.theme-dark .section-title {
    background: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

body.theme-dark .theme-switcher-btn {
    color: #94a3b8;
}

body.theme-dark .theme-switcher-btn:hover {
    background: #334155;
    color: #22d3ee;
}

body.theme-dark .theme-dropdown {
    background: #1e293b !important;
    border-color: #334155 !important;
}

body.theme-dark .theme-dropdown .dropdown-item,
body.theme-dark .theme-option {
    color: #f1f5f9 !important;
}

body.theme-dark .theme-option:hover,
body.theme-dark .theme-dropdown .dropdown-item:hover {
    background: #334155 !important;
    color: #22d3ee !important;
}

body.theme-dark .theme-option.active {
    background: rgba(6, 182, 212, 0.2) !important;
    color: #22d3ee !important;
}

/* Dark mode: Action buttons */
body.theme-dark .btn-action,
body.theme-dark .btn-search,
body.theme-dark .btn-gradient {
    background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(6, 182, 212, 0.35) !important;
}

body.theme-dark .btn-action:hover,
body.theme-dark .btn-search:hover,
body.theme-dark .btn-gradient:hover {
    box-shadow: 0 12px 35px rgba(6, 182, 212, 0.45) !important;
}

/* Dark mode: Sidebar active link matches btn-action */
body.theme-dark .sidebar-nav-list .nav-item.active .nav-link {
    background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%) !important;
    color: #fff !important;
    border-left-color: #22d3ee !important;
}

body.theme-dark .sidebar-nav-list .nav-item.active .nav-link:hover {
    background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%) !important;
    color: #fff !important;
}

/* Dark mode: Recent Appointments card */
body.theme-dark .card {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
}

body.theme-dark .card-header {
    background: #1e293b !important;
    border-bottom: 1px solid #334155 !important;
}

body.theme-dark .card-header h3 {
    color: #f1f5f9 !important;
}

body.theme-dark .card-body {
    background: #1e293b !important;
}

/* Dark mode: Table */
body.theme-dark .dms-table {
    background: #1e293b !important;
}

body.theme-dark .dms-table thead {
    background: linear-gradient(135deg, #0e7490 0%, #06b6d4 100%) !important;
}

body.theme-dark .dms-table thead::before {
    background: linear-gradient(90deg, #22d3ee 0%, #06b6d4 50%, #0891b2 100%) !important;
}

body.theme-dark .dms-table thead th {
    color: #fff !important;
}

body.theme-dark .dms-table thead th:nth-child(odd) {
    background: rgba(255, 255, 255, 0.08) !important;
}

body.theme-dark .dms-table thead th:nth-child(even) {
    background: rgba(255, 255, 255, 0.12) !important;
}

body.theme-dark .dms-table tbody tr {
    border-bottom-color: #334155 !important;
}

body.theme-dark .dms-table tbody tr:nth-child(even) {
    background: #334155 !important;
}

body.theme-dark .dms-table tbody tr:hover {
    background: #475569 !important;
}

body.theme-dark .dms-table tbody td {
    color: #f1f5f9 !important;
}

body.theme-dark .dms-table tbody select {
    background: #334155 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.theme-dark .dms-table tbody select option {
    background: #1e293b !important;
    color: #f1f5f9 !important;
}

/* Dark mode: Form labels and headings */
body.theme-dark label,
body.theme-dark .form-group label {
    color: #f1f5f9 !important;
}

body.theme-dark .card-header h4,
body.theme-dark .card-header h3,
body.theme-dark h4.mb-0 {
    color: #f1f5f9 !important;
}

body.theme-dark .content-card label,
body.theme-dark .content-card h4 {
    color: #f1f5f9 !important;
}

/* Dark mode: Search input in Recent Appointments */
body.theme-dark .card .form-control {
    background: #334155 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.theme-dark .card .form-control::placeholder {
    color: #94a3b8;
}

/* Dark mode: DataTables wrapper & pagination */
body.theme-dark .dataTables_wrapper {
    color: #f1f5f9;
}

body.theme-dark .dataTables_wrapper .dataTables_length label,
body.theme-dark .dataTables_wrapper .dataTables_info {
    color: #94a3b8 !important;
}

body.theme-dark .dataTables_wrapper .dataTables_length select,
body.theme-dark .dataTables_wrapper .dataTables_filter input {
    background: #334155 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.theme-dark .dataTables_wrapper .paginate_button {
    background: #334155 !important;
    color: #f1f5f9 !important;
    border-color: #475569 !important;
}

body.theme-dark .dataTables_wrapper .paginate_button:hover {
    background: #475569 !important;
    color: #22d3ee !important;
}

body.theme-dark .dataTables_wrapper .paginate_button.current {
    background: rgba(6, 182, 212, 0.3) !important;
    color: #fff !important;
    border-color: #06b6d4 !important;
}

/* Scrollbar Dark */
body.theme-dark ::-webkit-scrollbar-track {
    background: #1e293b;
}

body.theme-dark ::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #334155 0%, #475569 100%);
}

/* Dark: Profile page (tabs, panes, modal) */
body.theme-dark .profile-page {
    --profile-tab-border: #334155;
    --profile-tab-bg: #1e293b;
    --profile-tab-hover: #334155;
    --profile-nav-link: #94a3b8;
    --profile-nav-link-hover: #22d3ee;
    --profile-nav-border: #334155;
    --profile-tab-active-bg: #06b6d4;
    --profile-pane-bg: #1e293b;
    --profile-canvas-border: #475569;
    --profile-modal-track: #334155;
}

body.theme-dark .profile-page .nav-tabs .nav-link { color: var(--profile-nav-link) !important; }
body.theme-dark .profile-page .nav-tabs .nav-link:hover {
    color: var(--profile-nav-link-hover) !important;
    background-color: rgba(6, 182, 212, 0.1) !important;
    border-bottom-color: rgba(6, 182, 212, 0.4) !important;
}
body.theme-dark .profile-page .nav-tabs .nav-link.active {
    background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%) !important;
    color: #fff !important;
    border-bottom-color: #06b6d4 !important;
    box-shadow: 0 2px 12px rgba(6, 182, 212, 0.3) !important;
}
body.theme-dark .profile-page .nav-tabs { border-bottom-color: #334155 !important; }
body.theme-dark .tooth-modal-content { background: #1e293b !important; border: 1px solid #334155 !important; }
body.theme-dark .balance-warning { color: #fca5a5 !important; }
body.theme-dark .balance-label { color: #6ee7b7 !important; }
body.theme-dark .btn-profile-submit {
    background: linear-gradient(to right, #334155 0%, #475569 100%) !important;
    color: #f1f5f9 !important;
}

/* Dark mode: Calendar */
body.theme-dark .calendar-section {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
}

body.theme-dark .calendar-title {
    background: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

body.theme-dark .calendar-nav-btn {
    background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%) !important;
}

body.theme-dark .calendar-container {
    background: #334155 !important;
    border-color: #475569 !important;
}

body.theme-dark .calendar-day {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #f1f5f9 !important;
}

body.theme-dark .calendar-day.other-month {
    color: #64748b !important;
}

body.theme-dark .calendar-day:hover {
    background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%) !important;
}

body.theme-dark .calendar-day.today {
    background: linear-gradient(135deg, #06b6d4 0%, #22d3ee 100%) !important;
}

body.theme-dark .calendar-day.selected {
    background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%) !important;
}

body.theme-dark .weekday {
    color: #94a3b8 !important;
}

/* Dark mode: Status column */
body.theme-dark .dms-table tbody td.completed {
    background: rgba(16, 185, 129, 0.25) !important;
    color: #6ee7b7 !important;
}

body.theme-dark .dms-table tbody td.scheduled {
    background: rgba(245, 158, 11, 0.25) !important;
    color: #fcd34d !important;
}

body.theme-dark .dms-table tbody td.cancelled {
    background: rgba(239, 68, 68, 0.25) !important;
    color: #fca5a5 !important;
}

/* Dark mode: Report cards/tiles */
body.theme-dark .report-card {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #f1f5f9 !important;
}

body.theme-dark .report-card:hover {
    border-color: #06b6d4 !important;
    box-shadow: 0 8px 25px rgba(6, 182, 212, 0.2) !important;
}

body.theme-dark .report-card i,
body.theme-dark .report-card .bi {
    color: #22d3ee !important;
}

body.theme-dark .report-card h4 {
    color: #f1f5f9 !important;
}

body.theme-dark .report-card p {
    color: #94a3b8 !important;
}

/* Dark mode: Chart/section labels & stat cards */
body.theme-dark .chart-container h3 {
    color: #f1f5f9 !important;
    background: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.theme-dark .content-card .card.bg-light {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
}

body.theme-dark .content-card .card .card-title {
    color: #f1f5f9 !important;
}

body.theme-dark .content-card .card .card-text {
    color: #94a3b8 !important;
}

body.theme-dark .content-card .card .text-primary {
    color: #38bdf8 !important;
}

body.theme-dark .content-card .card .text-success {
    color: #4ade80 !important;
}

body.theme-dark .content-card .card .text-danger {
    color: #f87171 !important;
}

body.theme-dark .content-card .card .text-info {
    color: #22d3ee !important;
}

body.theme-dark .content-card .card .text-warning {
    color: #fbbf24 !important;
}

/* ========== Theme: Modern Mode (soft, easy on eyes) ========== */
body.theme-modern {
    background: #cbd5e1 !important;
    color: #334155;
    animation: none !important;
}

body.theme-modern .header {
    background: #e2e8f0 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

body.theme-modern .stat-card {
    background: #e2e8f0 !important;
    border: 1px solid #cbd5e1 !important;
}

body.theme-modern .stat-card::before {
    background: linear-gradient(90deg, #0f766e 0%, #0d9488 100%) !important;
}

body.theme-modern .stat-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
    border-color: #94a3b8 !important;
}

body.theme-modern .stat-info h3 {
    color: #475569 !important;
}

body.theme-modern .stat-info .value {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.theme-modern .today-card {
    background: #e2e8f0 !important;
    border: 1px solid #cbd5e1 !important;
}

body.theme-modern .today-card.scheduled {
    border-left-color: #d97706 !important;
}

body.theme-modern .today-card.completed {
    border-left-color: #059669 !important;
}

body.theme-modern .today-card.cancelled {
    border-left-color: #dc2626 !important;
}

body.theme-modern .content-card,
body.theme-modern .card-theme,
body.theme-modern .card {
    background: #e2e8f0 !important;
    border: 1px solid #cbd5e1 !important;
}

body.theme-modern .card-header {
    background: #e2e8f0 !important;
    border-bottom-color: #cbd5e1 !important;
}

body.theme-modern .card-body {
    background: #e2e8f0 !important;
}

body.theme-modern .card-header h3,
body.theme-modern .content-card h2,
body.theme-modern .section-title {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

body.theme-modern .theme-switcher-btn {
    color: #475569;
}

body.theme-modern .theme-switcher-btn:hover {
    color: #0f766e;
    background: #cbd5e1;
}

body.theme-modern .theme-option.active {
    background: rgba(15, 118, 110, 0.15);
    color: #0f766e;
}

/* Modern mode: table */
body.theme-modern .dms-table {
    background: #e2e8f0 !important;
}

body.theme-modern .dms-table thead {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
}

body.theme-modern .dms-table tbody tr {
    border-bottom-color: #cbd5e1 !important;
}

body.theme-modern .dms-table tbody tr:nth-child(even) {
    background: rgba(203, 213, 225, 0.5) !important;
}

body.theme-modern .dms-table tbody tr:hover {
    background: #cbd5e1 !important;
}

body.theme-modern .dms-table tbody td {
    color: #334155 !important;
}

body.theme-modern .section-header h3 {
    color: #334155 !important;
}

/* Modern mode: Calendar */
body.theme-modern .calendar-section {
    background: #e2e8f0 !important;
    border: 1px solid #cbd5e1 !important;
}

body.theme-modern .calendar-title {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

body.theme-modern .calendar-nav-btn {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
}

body.theme-modern .calendar-container {
    background: #cbd5e1 !important;
    border-color: #94a3b8 !important;
}

body.theme-modern .calendar-day {
    background: #f1f5f9 !important;
}

body.theme-modern .calendar-day:hover {
    background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%) !important;
}

body.theme-modern .calendar-day.today {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
}

body.theme-modern .calendar-day.selected {
    background: linear-gradient(135deg, #0d5d52 0%, #0f766e 100%) !important;
}

body.theme-modern .weekday {
    color: #475569 !important;
}

/* Modern mode: Status column */
body.theme-modern .dms-table tbody td.completed {
    background: #ccfbf1 !important;
    color: #0f766e !important;
}

body.theme-modern .dms-table tbody td.scheduled {
    background: #fef3c7 !important;
    color: #b45309 !important;
}

body.theme-modern .dms-table tbody td.cancelled {
    background: #fee2e2 !important;
    color: #b91c1c !important;
}

/* Modern mode: Report cards/tiles */
body.theme-modern .report-card {
    background: #e2e8f0 !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
}

body.theme-modern .report-card:hover {
    border-color: #0d9488 !important;
    box-shadow: 0 8px 25px rgba(15, 118, 110, 0.15) !important;
}

body.theme-modern .report-card i,
body.theme-modern .report-card .bi {
    color: #0f766e !important;
}

body.theme-modern .report-card h4 {
    color: #1e293b !important;
}

body.theme-modern .report-card p {
    color: #475569 !important;
}

/* Modern mode: Chart/section labels & stat cards */
body.theme-modern .chart-container h3 {
    color: #1e293b !important;
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

body.theme-modern .content-card .card.bg-light {
    background: #e2e8f0 !important;
    border: 1px solid #cbd5e1 !important;
}

body.theme-modern .content-card .card .card-title {
    color: #334155 !important;
}

body.theme-modern .content-card .card .card-text {
    color: #475569 !important;
}

body.theme-modern .content-card .card .text-primary {
    color: #0f766e !important;
}

body.theme-modern .content-card .card .text-success {
    color: #059669 !important;
}

body.theme-modern .content-card .card .text-danger {
    color: #dc2626 !important;
}

body.theme-modern .content-card .card .text-info {
    color: #0d9488 !important;
}

body.theme-modern .content-card .card .text-warning {
    color: #d97706 !important;
}

body.theme-modern .btn-action,
body.theme-modern .btn-search,
body.theme-modern .btn-gradient {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    box-shadow: 0 4px 15px rgba(15, 118, 110, 0.3) !important;
}

body.theme-modern .card .form-control {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

body.theme-modern .theme-dropdown {
    background: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
}

body.theme-modern .theme-dropdown .dropdown-item,
body.theme-modern .theme-option {
    color: #334155 !important;
}

body.theme-modern .theme-option:hover {
    background: #cbd5e1 !important;
    color: #0f766e !important;
}

/* Modern mode: Sidebar active link matches btn-action */
body.theme-modern .sidebar-nav-list .nav-item.active .nav-link {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    color: #fff !important;
    border-left-color: #14b8a6 !important;
}

body.theme-modern .sidebar-nav-list .nav-item.active .nav-link:hover {
    background: linear-gradient(135deg, #0d5d52 0%, #0f766e 100%) !important;
    color: #fff !important;
}

/* Sidebar: Modern mode uses soft gray sidebar */
body.theme-modern .left-panel {
    --sidebar-bg: #e2e8f0;
    --sidebar-surface: rgba(0, 0, 0, 0.06);
    --sidebar-border: #cbd5e1;
    --sidebar-text: #475569;
    --sidebar-text-hover: #1e293b;
    --sidebar-accent: #0f766e;
    --sidebar-accent-soft: rgba(15, 118, 110, 0.15);
    background: #e2e8f0 !important;
    border-right-color: #cbd5e1;
}

body.theme-modern .sidebar-brand-text .brand-line {
    color: #1e293b;
}

body.theme-modern .sidebar-brand-icon {
    background: linear-gradient(135deg, rgba(15, 118, 110, 0.2) 0%, rgba(13, 148, 136, 0.12) 100%);
}

/* Modern: Profile page (tabs, panes, modal) */
body.theme-modern .profile-page {
    --profile-tab-border: #cbd5e1;
    --profile-tab-bg: #f1f5f9;
    --profile-tab-hover: #e2e8f0;
    --profile-nav-link: #475569;
    --profile-nav-link-hover: #0f766e;
    --profile-nav-border: #cbd5e1;
    --profile-tab-active-bg: #0f766e;
    --profile-pane-bg: #f8fafc;
    --profile-canvas-border: #94a3b8;
    --profile-modal-track: #e2e8f0;
}

body.theme-modern .profile-page .nav-tabs .nav-link { color: var(--profile-nav-link) !important; }
body.theme-modern .profile-page .nav-tabs .nav-link:hover {
    color: var(--profile-nav-link-hover) !important;
    background-color: rgba(15, 118, 110, 0.08) !important;
    border-bottom-color: rgba(15, 118, 110, 0.4) !important;
}
body.theme-modern .profile-page .nav-tabs .nav-link.active {
    background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%) !important;
    color: #fff !important;
    border-bottom-color: #0f766e !important;
    box-shadow: 0 2px 12px rgba(15, 118, 110, 0.25) !important;
}
body.theme-modern .profile-page .nav-tabs { border-bottom-color: #cbd5e1 !important; }
body.theme-modern .tooth-modal-content { background: #ffffff !important; border: 1px solid #e2e8f0 !important; }
body.theme-modern .balance-label { color: #0d9488 !important; }
body.theme-modern .btn-profile-submit {
    background: linear-gradient(to right, #ccfbf1 0%, #99f6e4 100%) !important;
    color: #134e4a !important;
}

/* Sidebar logo: always white background in all themes */
.sidebar-brand-icon {
    background: #fff !important;
}
