/* ==========================================================================
   Neovation theme — Teal primary + Dark mode
   ========================================================================== */

:root,
[data-bs-theme="light"] {
    --bs-primary: #0d9488;
    --bs-primary-rgb: 13, 148, 136;
    --bs-purple: #0d9488;
    --neo-primary: #0d9488;
    --neo-primary-hover: #0f766e;
    --neo-primary-soft: rgba(13, 148, 136, 0.12);
    --neo-primary-softer: rgba(13, 148, 136, 0.06);
    --neo-surface: #ffffff;
    --neo-surface-2: #f5f6fa;
    --neo-border: rgba(67, 89, 113, 0.1);
    --neo-text: #384551;
    --neo-text-muted: #697a8d;
    --neo-menu-bg: #ffffff;
    --neo-navbar-bg: rgba(255, 255, 255, 0.92);
}

[data-bs-theme="dark"] {
    color-scheme: dark;
    --bs-body-color: #b4b8c5;
    --bs-body-bg: #1a1d2b;
    --bs-body-color-rgb: 180, 184, 197;
    --bs-body-bg-rgb: 26, 29, 43;
    --bs-emphasis-color: #e8eaef;
    --bs-secondary-color: #8b92a5;
    --bs-secondary-bg: #252836;
    --bs-tertiary-bg: #2d3142;
    --bs-border-color: rgba(255, 255, 255, 0.08);
    --bs-link-color: #2dd4bf;
    --bs-link-hover-color: #5eead4;
    --bs-primary: #14b8a6;
    --bs-primary-rgb: 20, 184, 166;
    --neo-primary: #14b8a6;
    --neo-primary-hover: #2dd4bf;
    --neo-primary-soft: rgba(20, 184, 166, 0.16);
    --neo-primary-softer: rgba(20, 184, 166, 0.08);
    --neo-surface: #252836;
    --neo-surface-2: #1e2130;
    --neo-border: rgba(255, 255, 255, 0.08);
    --neo-text: #e8eaef;
    --neo-text-muted: #9aa0b0;
    --neo-menu-bg: #1e2130;
    --neo-navbar-bg: rgba(30, 33, 48, 0.94);
}

/* Primary buttons & links */
.btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--neo-primary-hover) !important;
    border-color: var(--neo-primary-hover) !important;
}

.btn-outline-primary {
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

a,
.text-primary {
    --bs-link-color: var(--bs-primary);
}

.text-primary {
    color: var(--bs-primary) !important;
}

.bg-primary,
.badge.bg-primary {
    background-color: var(--bs-primary) !important;
}

.border-primary {
    border-color: var(--bs-primary) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.15) !important;
}

.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.page-item.active .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

/* Layout surfaces */
[data-bs-theme="dark"] body {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] .offcanvas {
    background-color: var(--neo-surface) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text) !important;
}

[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer,
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
    border-color: var(--neo-border) !important;
    background-color: var(--neo-surface) !important;
}

[data-bs-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--neo-text);
    --bs-table-border-color: var(--neo-border);
}

[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: rgba(255, 255, 255, 0.03);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text {
    background-color: var(--neo-surface-2) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text) !important;
}

[data-bs-theme="dark"] .form-control::placeholder {
    color: var(--neo-text-muted) !important;
}

[data-bs-theme="dark"] .breadcrumb-item,
[data-bs-theme="dark"] .breadcrumb-item a {
    color: var(--neo-text-muted) !important;
}

[data-bs-theme="dark"] .breadcrumb-item.active {
    color: var(--neo-text) !important;
}

[data-bs-theme="dark"] .text-muted {
    color: var(--neo-text-muted) !important;
}

[data-bs-theme="dark"] .bg-navbar-theme,
[data-bs-theme="dark"] .bg-menu-theme,
[data-bs-theme="dark"] .bg-footer-theme {
    background-color: var(--neo-menu-bg) !important;
}

[data-bs-theme="dark"] .content-wrapper {
    background-color: var(--bs-body-bg) !important;
}

/* Sidebar */
#layout-menu.layout-menu {
    background-color: var(--neo-menu-bg) !important;
    border-right-color: var(--neo-border) !important;
}

#layout-menu .menu-header {
    color: var(--neo-text-muted) !important;
}

#layout-menu .menu-link {
    color: var(--neo-text-muted) !important;
}

#layout-menu .menu-item.active > .menu-link:not(.menu-toggle),
#layout-menu .menu-sub .menu-item.active > .menu-link {
    background: linear-gradient(135deg, var(--neo-primary-soft), var(--neo-primary-softer)) !important;
    color: var(--bs-primary) !important;
    box-shadow: inset 3px 0 0 var(--bs-primary) !important;
}

#layout-menu .menu-item.open > .menu-link.menu-toggle,
#layout-menu .menu-item.active > .menu-link .menu-icon,
#layout-menu .menu-sub .menu-item.active > .menu-link {
    color: var(--bs-primary) !important;
}

#layout-menu .menu-scroll-area {
    scrollbar-color: rgba(var(--bs-primary-rgb), 0.35) transparent;
}

#layout-menu .menu-scroll-area::-webkit-scrollbar-thumb {
    background: rgba(var(--bs-primary-rgb), 0.35) !important;
}

#layout-menu .sidebar-collapse-btn:hover {
    background: var(--neo-primary-soft) !important;
    color: var(--bs-primary) !important;
}

#layout-menu .sidebar-workspace-btn {
    background: var(--neo-primary-softer) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text) !important;
}

#layout-menu .sidebar-workspace-btn:hover,
#layout-menu .sidebar-workspace-btn:focus {
    background: var(--neo-surface) !important;
    border-color: rgba(var(--bs-primary-rgb), 0.35) !important;
    color: var(--neo-text) !important;
}

#layout-menu .sidebar-search .form-control {
    background: var(--neo-primary-softer) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text) !important;
}

#layout-menu .sidebar-search .form-control:focus {
    background: var(--neo-surface) !important;
    border-color: var(--bs-primary) !important;
}

#layout-menu .zoho-msg-item:hover,
#layout-menu .zoho-folder-btn:hover,
#layout-menu .zoho-folder-btn.active {
    background: var(--neo-primary-soft) !important;
    color: var(--bs-primary) !important;
}

/* Navbar */
.neovation-navbar {
    background: var(--neo-navbar-bg) !important;
    border-bottom-color: var(--neo-border) !important;
}

.neovation-navbar .layout-menu-toggle .nav-link:hover {
    background: var(--neo-primary-soft) !important;
    color: var(--bs-primary) !important;
}

.neovation-navbar .neo-search-trigger {
    background: var(--neo-primary-softer) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text-muted) !important;
}

.neovation-navbar .neo-search-trigger:hover {
    border-color: rgba(var(--bs-primary-rgb), 0.35) !important;
    background: var(--neo-surface) !important;
    color: var(--neo-text) !important;
}

.neovation-navbar .neo-lang-btn,
.neovation-navbar .neo-user-chip {
    background: var(--neo-surface) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text) !important;
}

.neovation-navbar .neo-user-name {
    color: var(--neo-text) !important;
}

.neovation-navbar .neo-icon-btn:hover {
    background: var(--neo-primary-softer) !important;
    color: var(--neo-text) !important;
}

/* Auth */
[data-bs-theme="dark"] .neo-auth-page {
    background: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] .neo-auth-card {
    background: var(--neo-surface) !important;
    border-color: var(--neo-border) !important;
}

[data-bs-theme="dark"] .neo-auth-title {
    color: var(--neo-text) !important;
}

/* Theme toggle */
.neo-theme-toggle i {
    font-size: 1.15rem;
    transition: transform 0.2s ease;
}

.neo-theme-toggle:hover i {
    transform: rotate(12deg);
}

[data-bs-theme="dark"] .neo-theme-toggle .bx-moon {
    display: none;
}

[data-bs-theme="dark"] .neo-theme-toggle .bx-sun {
    display: inline-block !important;
}

[data-bs-theme="light"] .neo-theme-toggle .bx-sun,
:root:not([data-bs-theme="dark"]) .neo-theme-toggle .bx-sun {
    display: none;
}

/* Dropdown items dark */
[data-bs-theme="dark"] .dropdown-item {
    color: var(--neo-text) !important;
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: var(--neo-primary-softer) !important;
    color: var(--neo-text) !important;
}

[data-bs-theme="dark"] .dropdown-divider,
[data-bs-theme="dark"] hr {
    border-color: var(--neo-border) !important;
    opacity: 1;
}

[data-bs-theme="dark"] .list-group-item {
    background-color: var(--neo-surface) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text) !important;
}

[data-bs-theme="dark"] .list-group-item.active {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--neo-surface) !important;
    border-color: var(--neo-border) var(--neo-border) var(--neo-surface) !important;
    color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple {
    background-color: var(--neo-surface-2) !important;
    border-color: var(--neo-border) !important;
    color: var(--neo-text) !important;
}

[data-bs-theme="dark"] .select2-dropdown {
    background-color: var(--neo-surface) !important;
    border-color: var(--neo-border) !important;
}

[data-bs-theme="dark"] .select2-results__option--highlighted {
    background-color: var(--bs-primary) !important;
}
