:root {
    --theme-bg: var(--tech-bg, #020810);
    --theme-surface: rgba(7, 20, 36, 0.9);
    --theme-surface-soft: rgba(10, 30, 52, 0.82);
    --theme-surface-strong: rgba(5, 16, 31, 0.96);
    --theme-surface-solid: #071426;
    --theme-border: var(--tech-line, rgba(0, 229, 255, 0.22));
    --theme-border-strong: var(--tech-line-strong, rgba(0, 229, 255, 0.55));
    --theme-text: var(--tech-text, #eaf7ff);
    --theme-muted: var(--tech-muted, #9db6c8);
    --theme-accent: var(--tech-cyan, #00e5ff);
    --theme-accent-2: var(--tech-pink, #ff2d78);
    --theme-success: var(--tech-green, #20d67a);
    --theme-warning: var(--tech-gold, #ffc857);
    --theme-danger: #ff6b7d;
    --theme-input-bg: rgba(3, 12, 24, 0.78);
    --theme-input-text: #f1fbff;
}

#main-page-content {
    color: var(--theme-text);
}

#main-page-content main,
#main-page-content section,
#main-page-content article,
#main-page-content .container-fluid {
    color: inherit;
}

#main-page-content .bg-white,
#main-page-content .bg-light,
#main-page-content .card,
#main-page-content .modal-content,
#main-page-content .list-group-item,
#main-page-content .app-card,
#main-page-content .tool-box,
#main-page-content .tool-container,
#main-page-content .leveling-container,
#main-page-content .modal-box,
#main-page-content .lm-box,
#main-page-content .recorder-box,
#main-page-content .editor-card,
#main-page-content .block-item,
#main-page-content .drawing-toolbar,
#main-page-content .canvas-container,
#main-page-content .param-card,
#main-page-content .result-html-container,
#main-page-content .upload-box,
#main-page-content .preview-box,
#main-page-content .download-box,
#main-page-content .settings-panel,
#main-page-content .panel,
#main-page-content .login-box,
#main-page-content .img-card,
#main-page-content .summary-card,
#main-page-content .diagram-box,
#main-page-content .error-box,
#main-page-content .alert-box,
#main-page-content .toolbar,
#main-page-content .search-box,
#main-page-content .stats-bar,
#main-page-content .user-card,
#main-page-content .cd-box,
#main-page-content .tab-panel,
#main-page-content .excel-container,
#main-page-content .mode-bar,
#main-page-content .action-bar,
#main-page-content .control-panel,
#main-page-content .voice-card,
#main-page-content .ui-box,
#main-page-content .ui-panel,
#main-page-content .monitor-panel,
#main-page-content .val-box,
#main-page-content .status-panel,
#main-page-content .header-box,
#main-page-content .top-bar,
#main-page-content .page-container,
#main-page-content .page-container .main-content,
#main-page-content .page-container .top-toolbar,
#main-page-content .page-container .module-wrapper,
#main-page-content .page-container .batch-box,
#main-page-content .page-container .batch-title,
#main-page-content .page-container .footer-bar,
#main-page-content [style*="background: #fff"],
#main-page-content [style*="background:#fff"],
#main-page-content [style*="background: #ffffff"],
#main-page-content [style*="background:#ffffff"],
#main-page-content [style*="background: white"],
#main-page-content [style*="background:white"],
#main-page-content [style*="background-color: #fff"],
#main-page-content [style*="background-color:#fff"],
#main-page-content [style*="background-color: #ffffff"],
#main-page-content [style*="background-color:#ffffff"],
#main-page-content [style*="background-color: white"],
#main-page-content [style*="background-color:white"] {
    color: var(--theme-text) !important;
    background: var(--theme-surface) !important;
    border-color: var(--theme-border) !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

#main-page-content .bg-light,
#main-page-content .list-group-item,
#main-page-content .drawing-toolbar,
#main-page-content .toolbar,
#main-page-content .search-box,
#main-page-content .stats-bar,
#main-page-content .top-bar,
#main-page-content .page-container .top-toolbar,
#main-page-content .page-container .batch-title,
#main-page-content [style*="background: #fafafa"],
#main-page-content [style*="background:#fafafa"],
#main-page-content [style*="background-color: #fafafa"],
#main-page-content [style*="background-color:#fafafa"],
#main-page-content [style*="background: #f8f9fa"],
#main-page-content [style*="background:#f8f9fa"],
#main-page-content [style*="background-color: #f8f9fa"],
#main-page-content [style*="background-color:#f8f9fa"] {
    color: var(--theme-text) !important;
    background: var(--theme-surface-soft) !important;
    border-color: var(--theme-border) !important;
}

#main-page-content .text-dark,
#main-page-content .text-body,
#main-page-content .fw-bold.text-dark,
#main-page-content h1,
#main-page-content h2,
#main-page-content h3,
#main-page-content h4,
#main-page-content h5,
#main-page-content h6,
#main-page-content label,
#main-page-content .form-label {
    color: var(--theme-text) !important;
}

#main-page-content .text-muted,
#main-page-content .text-secondary,
#main-page-content small,
#main-page-content .small,
#main-page-content .status-badge,
#main-page-content .save-status,
#main-page-content [style*="color:#888"],
#main-page-content [style*="color: #888"],
#main-page-content [style*="color:#999"],
#main-page-content [style*="color: #999"],
#main-page-content [style*="color:#666"],
#main-page-content [style*="color: #666"],
#main-page-content [style*="color:#333"],
#main-page-content [style*="color: #333"] {
    color: var(--theme-muted) !important;
}

#main-page-content a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: var(--theme-accent) !important;
}

#main-page-content hr,
#main-page-content .dropdown-divider,
#main-page-content .border,
#main-page-content .border-top,
#main-page-content .border-bottom,
#main-page-content .border-start,
#main-page-content .border-end {
    border-color: var(--theme-border) !important;
}

#main-page-content .table {
    color: var(--theme-text) !important;
    --bs-table-color: var(--theme-text);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--theme-border);
    --bs-table-striped-bg: rgba(0, 229, 255, 0.055);
    --bs-table-striped-color: var(--theme-text);
    --bs-table-hover-bg: rgba(0, 229, 255, 0.11);
    --bs-table-hover-color: #ffffff;
}

#main-page-content .table,
#main-page-content .table thead,
#main-page-content .table tbody,
#main-page-content .table tr,
#main-page-content .table th,
#main-page-content .table td {
    background-color: transparent !important;
    border-color: var(--theme-border) !important;
}

#main-page-content .table thead th,
#main-page-content .table > :not(caption) > * > th {
    background: rgba(0, 229, 255, 0.1) !important;
}

#main-page-content .form-control,
#main-page-content .form-select,
#main-page-content textarea,
#main-page-content input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
#main-page-content select {
    color: var(--theme-input-text) !important;
    background-color: var(--theme-input-bg) !important;
    border-color: var(--theme-border) !important;
    box-shadow: none !important;
}

#main-page-content input[type="file"] {
    color: var(--theme-text) !important;
}

#main-page-content .form-control::placeholder,
#main-page-content textarea::placeholder,
#main-page-content input::placeholder {
    color: rgba(157, 182, 200, 0.78) !important;
}

#main-page-content .form-control:focus,
#main-page-content .form-select:focus,
#main-page-content textarea:focus,
#main-page-content input:focus,
#main-page-content select:focus {
    border-color: var(--theme-accent) !important;
    box-shadow: 0 0 0 0.18rem rgba(0, 229, 255, 0.18) !important;
}

#main-page-content .btn-outline-secondary,
#main-page-content .btn-outline-dark,
#main-page-content .btn-light,
#main-page-content .btn-secondary {
    color: var(--theme-text) !important;
    background: rgba(9, 28, 48, 0.78) !important;
    border-color: var(--theme-border) !important;
}

#main-page-content .btn-outline-secondary:hover,
#main-page-content .btn-outline-dark:hover,
#main-page-content .btn-light:hover,
#main-page-content .btn-secondary:hover {
    color: #ffffff !important;
    background: rgba(0, 229, 255, 0.16) !important;
    border-color: var(--theme-border-strong) !important;
}

#main-page-content .btn-success {
    background-color: rgba(32, 214, 122, 0.88) !important;
    border-color: rgba(32, 214, 122, 0.9) !important;
}

#main-page-content .btn-warning {
    color: #261900 !important;
    background-color: var(--theme-warning) !important;
    border-color: var(--theme-warning) !important;
}

#main-page-content .btn-danger {
    color: #ffffff !important;
}

#main-page-content .text-danger,
#main-page-content .dropdown-item.text-danger {
    color: var(--theme-danger) !important;
}

#main-page-content .text-success {
    color: #8bffc0 !important;
}

#main-page-content .text-warning {
    color: #ffe08a !important;
}

#main-page-content .alert,
#main-page-content .badge,
#main-page-content .status-box {
    border-color: var(--theme-border) !important;
}

#main-page-content .alert-warning,
#main-page-content [style*="background: #fff3cd"],
#main-page-content [style*="background:#fff3cd"],
#main-page-content [style*="background-color: #fff3cd"],
#main-page-content [style*="background-color:#fff3cd"],
#main-page-content [style*="background: #fff7e6"],
#main-page-content [style*="background:#fff7e6"] {
    color: #ffe7a6 !important;
    background: rgba(255, 200, 87, 0.16) !important;
    border-color: rgba(255, 200, 87, 0.38) !important;
}

#main-page-content .alert-success,
#main-page-content [style*="background: #f6ffed"],
#main-page-content [style*="background:#f6ffed"] {
    color: #b8ffd6 !important;
    background: rgba(32, 214, 122, 0.14) !important;
    border-color: rgba(32, 214, 122, 0.35) !important;
}

#main-page-content .modal-backdrop {
    background-color: #000 !important;
}

#main-page-content .page-container {
    background:
        linear-gradient(135deg, rgba(3, 12, 24, 0.96), rgba(7, 24, 42, 0.92)) !important;
}

#main-page-content .page-container .sidebar {
    background: rgba(1, 12, 25, 0.96) !important;
    border-right: 1px solid var(--theme-border) !important;
}

#main-page-content .page-container .mode-switcher {
    background: rgba(0, 229, 255, 0.08) !important;
}

#main-page-content .page-container .road-item,
#main-page-content .page-container .mode-btn {
    color: var(--theme-muted) !important;
}

#main-page-content .page-container .road-item.active,
#main-page-content .page-container .mode-btn.active {
    color: #ffffff !important;
    background: rgba(0, 229, 255, 0.18) !important;
    border-color: var(--theme-accent) !important;
}

#main-page-content .page-container #currentRoadDisplay,
#main-page-content .page-container #saveStatus {
    color: var(--theme-text) !important;
}

#main-page-content .index-page .sidebar-btn,
#main-page-content .index-page .func-btn,
#main-page-content .index-page .exe-card,
#main-page-content .index-page .msg-item,
#main-page-content .index-page .content-display,
#main-page-content .index-page .sidebar-menu,
#main-page-content .index-page .video-box,
#main-page-content .index-page .player-section,
#main-page-content .index-page .function-toolbar,
#main-page-content .index-page .full-width-zone,
#main-page-content .index-page .visitor-modal,
#main-page-content .index-page .modal-header,
#main-page-content .index-page .modal-body,
#main-page-content .index-page .chart-container,
#main-page-content .index-page .empty-state,
#main-page-content .index-page .admin-reply-box,
#main-page-content .index-page .img-preview-box,
#main-page-content .index-page .playlist-section,
#main-page-content .index-page .playlist-header,
#main-page-content .index-page .playlist-items,
#main-page-content .index-page .playlist-section .play-item,
#main-page-content .index-page .zone-title,
#main-page-content .index-page .current-playing-title {
    color: var(--theme-text) !important;
    background: var(--theme-surface-soft) !important;
    border-color: var(--theme-border) !important;
}

#main-page-content .index-page .sidebar-btn:hover,
#main-page-content .index-page .sidebar-btn.active,
#main-page-content .index-page .func-btn:hover,
#main-page-content .index-page .exe-card:hover,
#main-page-content .index-page .playlist-section .play-item:hover,
#main-page-content .index-page .playlist-section .play-item.playing {
    color: #ffffff !important;
    background: rgba(0, 229, 255, 0.16) !important;
    border-color: var(--theme-border-strong) !important;
}

#main-page-content .index-page .exe-name,
#main-page-content .index-page .msg-content,
#main-page-content .index-page .playlist-header,
#main-page-content .index-page .play-item .text {
    color: var(--theme-text) !important;
}

#main-page-content .index-page .exe-meta,
#main-page-content .index-page .msg-header {
    color: var(--theme-muted) !important;
}

#main-page-content .index-page .exe-icon,
#main-page-content .index-page .play-item .icon {
    background: rgba(3, 12, 24, 0.76) !important;
    border-color: var(--theme-border) !important;
}

#main-page-content .index-page .visitor-table,
#main-page-content .index-page .visitor-table th,
#main-page-content .index-page .visitor-table td {
    color: var(--theme-text) !important;
    background: transparent !important;
    border-color: var(--theme-border) !important;
}

#main-page-content .index-page .visitor-table th {
    background: rgba(0, 229, 255, 0.1) !important;
}

#main-page-content .handsontable,
#main-page-content .handsontable .htCore,
#main-page-content .handsontable .wtHolder {
    color: var(--theme-text);
    background: rgba(8, 24, 42, 0.86);
}

#main-page-content .handsontable th,
#main-page-content .handsontable td {
    border-color: rgba(0, 229, 255, 0.18);
}

#main-page-content .handsontable th {
    color: var(--theme-text);
    background: rgba(0, 229, 255, 0.12);
}

#main-page-content .book-table {
    color: var(--theme-text) !important;
    border-color: var(--theme-border-strong) !important;
}

#main-page-content .book-table th,
#main-page-content .book-table td {
    color: var(--theme-text) !important;
    background: rgba(7, 20, 36, 0.82) !important;
    border-color: var(--theme-border) !important;
}

#main-page-content .navbar,
#main-page-content > header,
#main-page-content > header .navbar .container {
    color: var(--theme-text) !important;
}

#main-page-content > header .navbar .fw-bold.text-dark,
#main-page-content > header .navbar .dropdown-toggle,
#main-page-content > header .navbar .dropdown-toggle span,
#main-page-content > header .navbar .nav-link {
    color: var(--theme-text) !important;
}

#main-page-content > header .navbar .dropdown-menu,
#main-page-content > header .navbar .dropdown-item,
#main-page-content > header .navbar .dropdown-header {
    color: var(--theme-text) !important;
    background-color: var(--theme-surface-strong) !important;
}

#main-page-content > header .navbar .dropdown-item:hover,
#main-page-content > header .navbar .dropdown-item:focus {
    color: #ffffff !important;
    background-color: rgba(0, 229, 255, 0.16) !important;
}

@media (max-width: 768px) {
    #main-page-content .page-container {
        min-height: calc(100vh - 70px);
    }
}
