/* Optimized Monochrome Dark Theme */

:root {
    --dark-bg-primary: #1a1a1a;
    --dark-bg-secondary: #2a2a2a;
    --dark-bg-tertiary: #3a3a3a;
    --dark-text-primary: #ffffff;
    --dark-text-secondary: #cccccc;
    --dark-text-muted: #999999;
    --dark-border: #404040;
    --dark-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    --dark-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.4);
}

body.dark-theme {
    background: var(--dark-bg-primary);
    color: var(--dark-text-primary);
}

/* Navigation */
.dark-theme .navbar {
    background: var(--dark-bg-primary);
    border-bottom-color: var(--dark-border);
    box-shadow: var(--dark-shadow);
}

.dark-theme .nav-brand {
    color: var(--dark-text-primary);
}

.dark-theme .nav-links a {
    color: var(--dark-text-secondary);
}

.dark-theme .nav-links a:hover,
.dark-theme .nav-links a.active {
    background: var(--dark-bg-secondary);
    color: var(--dark-text-primary);
}

.dark-theme .nav-links a.logout {
    background: var(--dark-text-primary);
    color: var(--dark-bg-primary);
}

.dark-theme .nav-links a.logout:hover {
    background: var(--dark-text-secondary);
    color: var(--dark-bg-primary);
}

/* Cards and Containers */
.dark-theme .stat-card,
.dark-theme .chart-card,
.dark-theme .card,
.dark-theme .tariff-item {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    box-shadow: var(--dark-shadow);
}

.dark-theme .stat-card:hover,
.dark-theme .chart-card:hover,
.dark-theme .card:hover,
.dark-theme .tariff-item:hover {
    background: var(--dark-bg-secondary);
    box-shadow: var(--dark-shadow-lg);
}

/* Tables */
.dark-theme .table {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    box-shadow: var(--dark-shadow);
}

.dark-theme .table th {
    background: var(--dark-bg-secondary);
    color: var(--dark-text-primary);
    border-bottom-color: var(--dark-border);
}

.dark-theme .table td {
    border-bottom-color: var(--dark-border);
    color: var(--dark-text-primary);
}

.dark-theme .table tr:hover {
    background: var(--dark-bg-tertiary);
}

.dark-theme .table input {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

.dark-theme .table input:focus {
    border-color: var(--dark-text-primary);
}

/* Forms */
.dark-theme .form-group input,
.dark-theme .form-group textarea,
.dark-theme .form-group select,
.dark-theme .search-filter-bar input,
.dark-theme .search-filter-bar select {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

.dark-theme .form-group input:focus,
.dark-theme .form-group textarea:focus,
.dark-theme .form-group select:focus,
.dark-theme .search-filter-bar input:focus,
.dark-theme .search-filter-bar select:focus {
    border-color: var(--dark-text-primary);
    background: var(--dark-bg-secondary);
}

.dark-theme .form-group label {
    color: var(--dark-text-primary);
}

/* Buttons */
.dark-theme .btn {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

.dark-theme .btn:hover {
    background: var(--dark-bg-secondary);
    border-color: var(--dark-text-secondary);
}

.dark-theme .btn-primary {
    background: var(--dark-text-primary);
    color: var(--dark-bg-primary);
    border-color: var(--dark-text-primary);
}

.dark-theme .btn-primary:hover {
    background: var(--dark-text-secondary);
    border-color: var(--dark-text-secondary);
}

.dark-theme .btn-success {
    background: var(--dark-text-primary);
    color: var(--dark-bg-primary);
    border-color: var(--dark-text-primary);
}

.dark-theme .btn-success:hover {
    background: var(--dark-text-secondary);
    border-color: var(--dark-text-secondary);
}

.dark-theme .btn-danger {
    background: var(--dark-text-primary);
    color: var(--dark-bg-primary);
    border-color: var(--dark-text-primary);
}

.dark-theme .btn-danger:hover {
    background: var(--dark-text-secondary);
    border-color: var(--dark-text-secondary);
}

/* Progress Bars */
.dark-theme .progress {
    background: var(--dark-bg-secondary);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4);
}

.dark-theme .progress-bar {
    background: var(--dark-text-primary);
}

/* Messages */
.dark-theme .success {
    background: var(--dark-bg-secondary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

.dark-theme .error-msg {
    background: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

/* Log Container */
.dark-theme .log-container {
    background: var(--dark-bg-secondary);
    border-color: var(--dark-border);
}

.dark-theme .log-line:hover {
    background: var(--dark-bg-tertiary);
}

/* Badges */
.dark-theme .badge-text,
.dark-theme .badge-photo,
.dark-theme .badge-success,
.dark-theme .badge-danger {
    background: var(--dark-bg-secondary);
    color: var(--dark-text-primary);
}

/* Login */
.dark-theme .login-card {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    box-shadow: var(--dark-shadow-lg);
}

.dark-theme .login-card h1 {
    color: var(--dark-text-primary);
}

.dark-theme .error {
    color: var(--dark-text-primary);
}

/* Modal */
.dark-theme .modal-container {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    box-shadow: var(--dark-shadow-lg);
}

.dark-theme .modal-header {
    border-bottom-color: var(--dark-border);
}

.dark-theme .modal-title {
    color: var(--dark-text-primary);
}

.dark-theme .modal-close {
    color: var(--dark-text-secondary);
}

.dark-theme .modal-close:hover {
    background: var(--dark-bg-secondary);
    color: var(--dark-text-primary);
}

/* Theme Toggle */
.dark-theme .theme-toggle {
    background: var(--dark-bg-primary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
    box-shadow: var(--dark-shadow);
}

.dark-theme .theme-toggle:hover {
    background: var(--dark-bg-secondary);
}

/* Search and Filters */
.dark-theme .search-filter-bar {
    background: var(--dark-bg-secondary);
    border-color: var(--dark-border);
}

/* Responsive */
@media (max-width: 768px) {
    .dark-theme .navbar {
        background: var(--dark-bg-primary);
    }

    .dark-theme .container {
        background: transparent;
    }
}

/* Scrollbar */
.dark-theme ::-webkit-scrollbar-track {
    background: var(--dark-bg-secondary);
}

.dark-theme ::-webkit-scrollbar-thumb {
    background: var(--dark-border);
}

.dark-theme ::-webkit-scrollbar-thumb:hover {
    background: var(--dark-text-secondary);
}

/* Focus States */
.dark-theme *:focus-visible {
    outline-color: var(--dark-text-primary);
}

/* Print */
@media print {
    .dark-theme * {
        background: white !important;
        color: black !important;
        box-shadow: none !important;
    }
}
