/**
 * Check.Systems Consistent Gray Theme
 * Professional gray-based design system with high contrast text
 */

/* Color Palette */
:root {
    --primary-gray: #6c757d;
    --dark-gray: #495057;
    --light-gray: #f8f9fa;
    --text-dark: #212529;
    --text-muted: #6c757d;
    --border-color: #dee2e6;
}

/* Navigation */
.navbar-theme {
    background-color: var(--dark-gray) !important;
}

/* Cards and Containers */
.card-theme {
    border: 1px solid var(--primary-gray);
}

.card-header-theme {
    background-color: var(--light-gray);
    border-bottom: 1px solid var(--primary-gray);
    color: var(--text-dark);
    font-weight: 600;
}

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

.border-left-theme {
    border-left: 3px solid var(--primary-gray) !important;
}

/* Text and Typography */
.text-theme-dark {
    color: var(--text-dark) !important;
}

.text-theme-muted {
    color: var(--text-muted) !important;
}

.fw-bold-theme {
    font-weight: 600 !important;
    color: var(--text-dark) !important;
}

/* Badges */
.badge-theme {
    background-color: var(--primary-gray) !important;
    color: white !important;
}

.badge-theme-light {
    background-color: var(--light-gray) !important;
    color: var(--text-dark) !important;
    border: 1px solid var(--primary-gray);
}

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

.btn-theme-outline:hover {
    background-color: var(--text-dark);
    color: white;
}

.btn-theme-secondary {
    background-color: var(--primary-gray);
    border-color: var(--primary-gray);
    color: white;
}

/* Code blocks */
.code-theme {
    background-color: var(--light-gray) !important;
    color: var(--text-dark) !important;
    border: 1px solid var(--border-color);
    padding: 2px 6px;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
}

/* Progress and status indicators */
.progress-theme .progress-bar {
    background-color: var(--primary-gray);
}

/* Threat level styling (for security tools) */
.threat-high-theme { 
    border-left: 4px solid var(--primary-gray); 
    background-color: var(--light-gray); 
}

.threat-medium-theme { 
    border-left: 4px solid var(--primary-gray); 
    background-color: var(--light-gray); 
}

.threat-low-theme { 
    border-left: 4px solid var(--primary-gray); 
    background-color: var(--light-gray); 
}

.threat-clean-theme { 
    border-left: 4px solid var(--primary-gray); 
    background-color: var(--light-gray); 
}

/* Icons */
.icon-theme {
    color: var(--primary-gray) !important;
}

/* Form elements */
.form-control-theme {
    border-color: var(--primary-gray);
}

.form-control-theme:focus {
    border-color: var(--text-dark);
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.25);
}

/* Alert styling */
.alert-theme {
    background-color: var(--light-gray);
    border-color: var(--primary-gray);
    color: var(--text-dark);
}

/* Table styling */
.table-theme {
    color: var(--text-dark);
}

.table-theme th {
    background-color: var(--light-gray);
    border-color: var(--primary-gray);
    color: var(--text-dark);
    font-weight: 600;
}

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

/* Spinner and loading elements */
.spinner-theme {
    color: var(--primary-gray);
}

/* Custom utility classes */
.bg-theme-light {
    background-color: var(--light-gray) !important;
}

.bg-theme-primary {
    background-color: var(--primary-gray) !important;
    color: white !important;
}

.bg-theme-dark {
    background-color: var(--dark-gray) !important;
    color: white !important;
}

/* Success/Error states with accessibility in mind */
.status-success-theme {
    color: #155724 !important;
    background-color: #d4edda !important;
    border-color: #c3e6cb !important;
}

.status-warning-theme {
    color: #856404 !important;
    background-color: #fff3cd !important;
    border-color: #ffeaa7 !important;
}

.status-error-theme {
    color: #721c24 !important;
    background-color: #f8d7da !important;
    border-color: #f5c6cb !important;
}