:root {
    --default-primary: #ff6b35;
    --default-secondary: #ff0000;
    --default-bg-main: #f8fafc;
    --default-bg-surface: #ffffff;
    --default-text-main: #1e293b;
    --default-nav-border: #eaeaea;
    --table-header-bg: #f8fafc;
    --table-header-text: #475569;
    --table-border-color: #eef2f6;
    --table-body-bg: #ffffff;
    --table-body-text: #1e293b;
    --default-text-tips: #a4a4a4;
    --sidebar-menu-text: #475569;
    --primary-color-alpha: rgba(255, 107, 53, 0.8);
    --primary-color-rgba: 255, 107, 53;
    --secondary-color-alpha: rgba(255, 107, 53, 0.1);
    --primary-color: var(--default-primary);
    --secondary-color: var(--default-secondary);
    --bg-main: var(--default-bg-main);
    --bg-surface: var(--default-bg-surface);
    --text-main: var(--default-text-main);
    --nav-border-color: var(--default-nav-border);
    --card-radius: 12px;
    --btn-radius: 8px;
    --active-menu-bg: rgb(239, 239, 239);
    --bg-hover: #f1f5f9;
    --text-tips-color: var(--default-text-tips);
    --fs-h1: 1.25rem;
    --fs-base: 0.875rem;
    --fs-menu: 0.875rem;
    --fs-sm: 0.75rem;
    --typo-border: var(--nav-border-color);
    --fs-offset: 0px;
}

[data-theme="dark"] {
    --bg-main: #0f0f0f;
    --bg-surface: #262626;
    --text-main: #ffffff;
    --text-muted: #a4a4a4;
    --nav-border-color: #363636;
    --bg-hover: #2a2a2a;
    --table-header-bg: #1e1e1e;
    --table-header-text: #ffffff;
    --table-border-color: #2d2d2d;
    --table-body-bg: #0f0f0f;
    --table-body-text: #aaaaaa;
    --active-menu-bg: #1e1e1e;
    --primary-color-rgba: 255, 107, 53;
    --secondary-color-alpha: rgba(255, 107, 53, 0.1);
    --sidebar-menu-text: #94a3b8;
    --text-tips-color: #888888;
}

.font-size-select {
    background-color: var(--bg-main);
    color: var(--t);
    border-color: var(--nav-border-color);
}

[data-theme="dark"] .font-size-select {
    background-color: #1e1e1e;
    color: #ffffff;
    border-color: #3f3f3f;
}

[data-size="compact"] {
    --fs-offset: -3px;
}

.title-text,
h1,
h2,
.banner-title,
.section-title,
.preview-heading,
.favicon-preview-box {
    font-size: calc(var(--fs-h1) + var(--fs-offset)) !important;
    line-height: 1.2;
}

body,
p,
.banner-subtitle,
.font-size-select,
.stat-label,
.stat-value,
.stat-trend,
.shape-btn,
.section-subtitle,
.social-input input,
.menu-title-input,
.preview-text,
.custom-data-table td,
.task-title,
.preview-table,
.dynamic-nav-list input,
.preset-name,
.subtitle-text,
.header-search input,
.input-field input {
    font-size: calc(var(--fs-base) + var(--fs-offset)) !important;
}

.menu-item,
.submenu-item {
    font-size: calc(var(--fs-menu) + var(--fs-offset)) !important;
    color: var(--sidebar-menu-text);
}

.color-note,
.size-hint,
.control-label,
.preview-tip,
.color-item label,
.status-badge,
.task-meta,
.upload-btn,
.table-badge,
.upload-label,
.input-field label,
.style-label,
.menu-section-title {
    font-size: calc(var(--fs-sm) + var(--fs-offset)) !important;
    line-height: 1.4;
}

.btn,
.preview-link,
.btn-preview,
.add-nav-row {
    font-size: calc(var(--fs-btn, 13px) + var(--fs-offset)) !important;
}

.preview-heading {
    color: var(--text-main);
}

.preview-text {
    color: var(--text-muted);
}

.preview-tip,
.color-note,
.size-hint,
.no-logo-text,
label,
.input-field label,
.upload-label,
.logo-text p,
.upload-btn {
    color: var(--text-tips-color) !important;
}

.task-title {
    color: var(--text-main);
}

.font-size-select:focus {
    border-color: var(--primary-color);
}

.fb-icon {
    color: #1877F2;
}

.ig-icon {
    color: #E4405F;
}

.in-icon {
    color: #0A66C2;
}

.wa-icon {
    color: #25D366;
}

.task-meta {
    color: var(--secondary-color);
}

body.btn-style-dark .btn-reset {
    background: #1e293b !important;
    color: #fff !important;
    border: none !important;
}

body.btn-style-primary .btn-reset {
    background: var(--primary-color) !important;
    color: #fff !important;
    border: none !important;
}

body.btn-style-outline .btn-reset {
    background: transparent !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
}

body {
    background-color: var(--bg-main);
}

.sidebar,
.app-header,
.sidebar-logo {
    background-color: var(--bg-surface);
    border-color: var(--nav-border-color) !important;
}

.settings-card,
.branding-card,
.upload-box,
.input-field input,
.color-swatch,
.swatch-wrapper {
    border-radius: var(--card-radius) !important;
}

.logo-box {
    background-color: var(--primary-color);
    color: #ffffff;
    border-radius: 8px;
}

.logo-text h1,
.title-text,
.section-title,
.preview-heading {
    color: var(--text-main);
}

.logo-text p,
.menu-section-title,

.subtitle-text,
.section-subtitle,
.color-note,
.size-hint,
.no-logo-text,
.preview-text {
    color: var(--text-muted);
}

.settings-card,
.text-settings-card,
.branding-card {
    background-color: var(--bg-surface) !important;
    border-color: var(--nav-border-color) !important;
    border-radius: var(--card-radius) !important;
}

.menu-item:hover,
.logout-btn:hover {
    background: var(--bg-hover);
    color: var(--primary-color);
}

.menu-item.active,
.submenu-item.active {
    background-color: rgba(var(--primary-color-rgba), 0.2);
    color: var(--primary-color);
}

.menu-item.active::before {
    background-color: var(--primary-color);
    border-radius: 0 4px 4px 0;
}

.submenu {
    background: var(--bg-surface);
}

.submenu-item:hover {
    background: var(--bg-hover);
    color: var(--primary-color);
}

.logout-btn {
    color: #ef4444;
}

.collapse-btn,
.mobile-close-btn {
    background-color: var(--bg-hover);
    border-color: var(--nav-border-color) !important;
    border-radius: var(--card-radius);
    color: var(--text-muted);
}

.theme-switcher {
    background-color: var(--bg-surface);
    border-color: var(--nav-border-color);
    border-radius: 8px;
}

.switcher-btn {
    background: transparent;
    color: var(--text-main);
    border-radius: 6px;
}

.switcher-btn.active {
    background: #ffffff;
    color: var(--primary-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.btn {
    border-radius: var(--btn-radius) !important;
    transition: all 0.3s ease;
}

.btn-reset {
    background: transparent;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}

.btn-reset:hover {
    background: #fff7f2;
}

.btn-done {
    background: #1e293b !important;
    color: #fff !important;
    border: none !important;
}

.btn-done:hover {
    background: #0f172a;
}

.sidebar-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.branding-card {
    border-color: var(--nav-border-color) !important;
    border-radius: var(--card-radius) !important;
}

.upload-box {
    background-color: var(--bg-main);
    border-color: var(--nav-border-color);
    border-radius: 12px;
}

.upload-box:hover {
    border-color: var(--primary-color);
    background: var(--secondary-color-alpha);
    color: var(--primary-color);
}

.no-logo-text {
    border-color: var(--nav-border-color);
    border-radius: 10px;
}

.favicon-preview-box {
    background-color: var(--secondary-color);
    border-color: var(--nav-border-color);
    border-radius: 8px;
    color: #ffffff;
}

.input-field input {
    background-color: var(--bg-main);
    color: var(--text-main);
    border-color: var(--nav-border-color);
    border-radius: 8px;
}

.input-field input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px #ff6b3520;
}

.divider-v {
    width: 1px;
    background-color: var(--nav-border-color);
    margin: 0 10px;
    align-self: stretch;
}

.swatch-wrapper {
    border-color: var(--nav-border-color);
    color: var(--nav-border-color);
}

.swatch-wrapper:hover {
    border-color: var(--primary-color);
}

.color-note {
    border-top-color: var(--nav-border-color);
}

.preview-link {
    color: var(--primary-color);
    text-decoration: none;
}

.preview-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}

.typo-controls .input-field input[type="color"] {
    border-color: var(--border-color);
    border-radius: 8px;
    background: var(--bg-surface);
}

.shape-options {
    background: var(--bg-main);
    border-color: var(--nav-border-color);
    border-radius: var(--card-radius);
}

.shape-btn {
    background: transparent;
    color: var(--text-main);
    border-radius: var(--btn-radius);
}

.shape-btn.active {
    background: var(--primary-color);
    color: #fff;
}

.custom-radius-input input {
    border-radius: var(--card-radius);
    border-color: var(--nav-border-color);
    background: var(--bg-main);
    color: var(--text-main);
    outline: orange;
}

.btn-preset-card {
    border-color: var(--nav-border-color);
    border-radius: var(--card-radius);
}

.btn-preset-card:hover {
    border-color: var(--primary-color);
    background: var(--bg-main);
}

.btn-preset-card.active {
    border-color: var(--primary-color);
    background: rgba(255, 107, 53, 0.05);
    box-shadow: 0 0 0 1px var(--primary-color);
}

.preset-name {
    color: var(--text-muted);
}

.btn-preview {
    border-radius: var(--btn-radius);
}

.dark-btn {
    background: #1e293b;
    color: #fff;
}

.primary-btn {
    background: var(--primary-color);
    color: #fff;
}

.outline-btn {
    background: transparent;
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.preview-table-container {
    border: 1px solid var(--table-border-color);
    border-radius: var(--card-radius) !important;
}

.preview-table {
    background-color: var(--table-body-bg);
    color: var(--table-body-text);
}

.preview-table th {
    background-color: var(--table-header-bg);
    color: var(--table-header-text);
    border-color: var(--table-border-color);
    font-weight: 600;
}

.preview-table td {
    border-color: var(--table-border-color);
    color: var(--table-body-text);
}

.table-badge {
    background: #e1fdec;
    color: #10b981;
    border-radius: var(--card-radius);
}

.section-divider {
    border-color: var(--nav-border-color);
}

.social-input {
    background: var(--bg-main);
    border-color: var(--nav-border-color);
    border-radius: var(--card-radius);
}

.social-input input {
    background: transparent;
    color: var(--text-main);
}

.delete-nav-row {
    color: var(--text-muted);
}

.delete-nav-row:hover {
    color: #ef4444;
}

.dynamic-nav-list input,
.menu-title-input {
    background: var(--bg-main);
    border-color: var(--nav-border-color);
    border-radius: var(--card-radius);
    color: var(--text-main);
}

textarea {
    background-color: var(--bg-main);
    color: var(--text-main);
    border-color: var(--nav-border-color);
    border-radius: var(--card-radius);
}

.header-search {
    background: var(--bg-main);
    border-color: var(--nav-border-color);
    border-radius: var(--card-radius);
}

.header-search input {
    color: var(--text-main);
}

.search-icon {
    color: var(--text-muted);
}

.icon-btn {
    background: transparent;
    color: var(--text-muted);
}

.notification-dot {
    background: #ef4444;
    border-color: var(--bg-surface);
    border-radius: 50%;
}

.header-divider-v {
    background: var(--nav-border-color);
}

.user-profile-btn {
    border-radius: 50%;
    background: var(--bg-main);
    border-color: var(--nav-border-color);
    color: var(--text-main);
}

.user-profile-btn:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.welcome-banner {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color-alpha) 100%);
    color: #ffffff;
    border-radius: var(--card-radius);
}

.banner-actions .banner-btn-primary {
    background: #ffffff !important;
    color: var(--primary-color);
    border-radius: var(--btn-radius);
    border: 1px solid transparent;
}

.btn-outline-white {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
}

.btn-outline-white:hover {
    background: rgba(255, 255, 255, 0.25);
}

.stat-card {
    background-color: var(--bg-surface);
    border: 1px solid var(--nav-border-color);
    border-radius: var(--card-radius);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.stat-value {
    color: var(--text-main);
    font-size: 20px !important;
}

.stat-label {
    color: var(--text-muted);
    font-size: 12px !important;
}

.stat-card .stat-icon-box {
    background-color: color-mix(in srgb, var(--accent) 15%, transparent);
    color: var(--accent);
}

.stat-card .trend-badge {
    background-color: color-mix(in srgb, var(--accent) 10%, transparent);
    color: var(--accent);
}

.stat-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent);
    box-shadow: 0 10px 15px -10px color-mix(in srgb, var(--accent) 50%, transparent);
}

[data-theme="dark"] .stat-card {
    background-color: var(--card-bg);
}

.custom-data-table th {
    background-color: var(--table-header-bg);
    color: var(--table-header-text);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    border: 1px solid var(--table-border-color);
}

.custom-data-table td {
    background-color: var(--table-body-bg);
    color: var(--table-body-text);
    border: 1px solid var(--table-border-color);
}

.status-badge {
    padding: 4px 10px;
    font-size: 10px;
    font-weight: 600;
    border-radius: 6px;
}

.status-badge.new {
    background: #f1f5f9;
    color: #475569;
}

.status-badge.processing {
    background: #e0f2fe;
    color: #0369a1;
}

.status-badge.follow-up {
    background: #fff7ed;
    color: #c2410c;
}

.status-badge.approved {
    background: #dcfce7;
    color: #15803d;
}

.status-badge.cancelled {
    background: #fee2e2;
    color: #b91c1c;
}

.status-badge.pending {
    background: #fef9c3;
    color: #a16207;
}

.task-item:has(.task-checkbox:checked) {
    background-color: color-mix(in srgb, var(--primary-color) 10%, transparent) !important;
    border-color: color-mix(in srgb, var(--primary-color) 20%, transparent);
}

.task-item:has(.task-checkbox:checked) .task-title {
    text-decoration: line-through;
    opacity: 0.6;
}

.view-all-link {
    color: var(--primary-color);
    font-weight: 700;
    text-decoration: none;
    font-size: 13px;
}

.view-switcher {
    background: var(--bg-main);
    border-color: var(--nav-border-color);
    border-radius: var(--card-radius);
}

.switcher-btn-icon {
    background: transparent;
    border-radius: var(--card-radius);
    color: var(--text-muted);
}

.switcher-btn-icon svg {
    width: 16px;
}

.switcher-btn-icon.active {
    background: var(--bg-surface);
    color: var(--primary-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.card-row {
    color: var(--text-main);
}



@media (max-width: 768px) {
    :root {
        --fs-h1: 1.1rem;
        --fs-base: 0.8125rem;
        --fs-menu: 0.875rem;
        --fs-sm: 0.6875rem;
        --fs-offset: -1px;
    }

    [data-size="compact"] {
        --fs-offset: -3px;
    }
}

/* ==========================================================================
   MOBILE BOTTOM NAV THEMING
   ========================================================================== */

.mobile-bottom-nav {
    background-color: var(--bg-surface);
    border-top: 1px solid var(--nav-border-color);
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
    /* Floating effect */
}

/* Default Inactive State */
.nav-item {
    color: var(--text-muted);
}

.nav-item i {
    stroke: var(--text-muted);
}

/* Active State - Primary Color chamkega */
.nav-item.active {
    color: var(--primary-color);
}

.nav-item.active i {
    stroke: var(--primary-color);
    /* Neon glow effect for active icon (Optional) */
    filter: drop-shadow(0 0 5px color-mix(in srgb, var(--primary-color) 30%, transparent));
}

/* Dark Mode specific shadows */
[data-theme="dark"] .mobile-bottom-nav {
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4);
    background-color: var(--bg-surface);
    /* Already set as #262626 in your theme */
}









/* all user page */
/* all user page */
/* all user page */
/* all user page */
/* all user page */
/* all user page */
/* Calendar Theming */
.table-wrapper-card {
    border-radius: var(--card-radius);
}

.custom-select-trigger {
    background: var(--bg-surface);
    border: 1px solid var(--nav-border-color);
    border-radius: var(--card-radius);
}

.custom-select-menu {
    background: var(--bg-surface);
    border: 1px solid var(--nav-border-color);
    border-radius: var(--card-radius);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.search-wrapper {
    background: var(--bg-main);
    border: 1px solid var(--nav-border-color);
    border-radius: var(--card-radius);
}

.search-wrapper input {
    color: var(--text-main);
    background: transparent;
}

.user-card {
    background-color: var(--bg-surface);
    border-radius: var(--card-radius);
    border: 1px solid var(--nav-border-color);
}

.user-card-header {
    color: var(--text-main);
}

/* Interactive States */
.select-opt:hover {
    background: var(--bg-hover);
    color: var(--primary-color);
}

.select-opt.active {
    color: var(--primary-color);
}

.cal-day:hover:not(.disabled) {
    background: var(--bg-hover);
}

.card-login-btn {
    background-color: rgba(var(--primary-color-rgba), 0.2);
    color: var(--primary-color);
    transition: all 0.3s ease;
    border-radius: calc(var(--card-radius) - 5px);
    border: 1px solid var(--primary-color);
}

.card-login-btn:hover {
    background: var(--primary-color);
    color: #fff;
}

.card-action-btn {
    background: var(--bg-main);
    color: var(--text-muted);
    border: 1px solid var(--nav-border-color);
    border-radius: calc(var(--card-radius) - 5px);
    transition: all 0.2s ease;
}

.card-action-btn:hover {
    color: var(--primary-color);
    border-color: var(--primary-color);
}

.card-action-btn.delete:hover {
    color: var(--secondary-color);
    border-color: var(--secondary-color);
}

.btn-outline {
    border: 1px solid var(--nav-border-color);
    background: var(--bg-surface);
    color: var(--text-main);
}

.btn-ghost {
    background: transparent;
    color: var(--text-muted);
}

.select-divider {
    background: var(--nav-border-color);
}

/* Text Colors - PERFECT DARK/LIGHT */
.custom-select-trigger,
.custom-select-trigger span,
.select-opt,
.search-wrapper input,
.action-cell,
.modal-header h3,
.cal-day {
    color: var(--text-main);
}

.cal-day.disabled {
    color: var(--text-muted);
    opacity: 0.4;
}

.card-info-item span {
    color: var(--text-main);
}

/* Calendar States */
.cal-day.today {
    border: 2px solid var(--primary-color);
}

.cal-day.selected-start,
.cal-day.selected-end {
    background: var(--text-main) !important;
    color: #ffffff !important;
}

.cal-day.in-range {
    background: var(--primary-color-alpha) !important;
    color: var(--primary-color) !important;
}

/* Modal */
.modal-card {
    background: var(--bg-surface);
    border-radius: var(--card-radius-lg);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}

.range-box {
    background: var(--bg-main);
    border-radius: var(--card-radius);
    padding: 15px;
    text-align: center;
}

/* Status Badges - Light Mode Defaults */
.status-badge {
    padding: 4px 12px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 11px;
}

.status-badge.approved {
    background: #dcfce7;
    color: #15803d;
}

.status-badge.pending {
    background: #fef9c3;
    color: #a16207;
}

.status-badge.unapproved {
    background: #f1f5f9;
    color: #475569;
}

/* Role Badge - Light Mode */
.role-badge {
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 11px;
}

/* Pagination */
.page-btn,
.pag-btn,
.page-num {
    background: var(--bg-surface);
    border: 1px solid var(--nav-border-color);
    color: var(--text-main);
}

.page-btn:hover:not(:disabled),
.pag-btn:hover:not(:disabled),
.page-num:hover:not(.active) {
    background: var(--bg-hover);
}

.page-btn:disabled,
.pag-btn:disabled {
    opacity: 0.5;
    background: var(--bg-main);
}

.page-num.active,
.page-btn.active {
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

/* Table Rows (Stripe effect) */
.custom-data-table tr:nth-child(even) {
    background: var(--table-body-bg-alt);
}

.custom-data-table th {
    background: var(--table-header-bg);
    color: var(--table-header-text);
    border-bottom: 2px solid var(--table-border-color);
}

.custom-data-table td {
    padding: 16px;
    border-bottom: 1px solid var(--table-border-color);
}

/* ==========================================================================
   DARK MODE OVERRIDES
   ========================================================================== */

[data-theme="dark"] .status-badge.approved {
    background: rgba(34, 197, 94, 0.2);
    color: #86efac;
}

[data-theme="dark"] .status-badge.pending {
    background: rgba(254, 249, 195, 0.3);
    color: #facc15;
}

[data-theme="dark"] .status-badge.unapproved {
    background: rgba(71, 85, 105, 0.4);
    color: #94a3b8;
}

 .role-badge {
    background: rgba(168, 85, 247, 0.2);
    color: #c084fc;
    border: 1px solid rgba(168, 85, 247, 0.2);
}

/* Dark mode table improvements */
[data-theme="dark"] .custom-data-table th {
    border-bottom-color: var(--table-border-color);
}

[data-theme="dark"] .custom-data-table tr:hover {
    background: var(--bg-hover);
}

/* Dark mode shadows */
[data-theme="dark"] .custom-select-menu {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .modal-card {
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
}