@import "default.css";

:root {
    /* Base Colors */
    --dark-bg: #121212;
    --dark-card: #1E1E1E;
    --dark-border: #171717;
    --dark-text: #fff;
    --light-text: #E0E0E0;

    /* Theme Colors */
    --primary: #1759b8;
    --primary-transparent: #1759b8a8;
    --secondary: #17a2b8;
    --warning: #ffa407;
    --success: #299d43d9;
    --success-border: #338947;
    --success-bg: #33894752;

    /* Element Styles */
    --border-radius: 15px;
    --form-bg: #12121285;
}

/* Dark Mode Base Styles */
.dark-mode {
    background-color: var(--dark-bg) !important;
    color: var(--dark-text);
}

/* Form Elements in Dark Mode */
.dark-mode .custom-control-label::before,
.dark-mode .custom-file-label,
.dark-mode .custom-file-label::after,
.dark-mode .custom-select,
.dark-mode .form-control,
.dark-mode .input-group-text {
    background-color: var(--form-bg);
    color: var(--dark-text);
}

.dark-mode .form-control:not(.form-control-navbar):not(.is-invalid):not(:focus) {
    border-color: var(--dark-border);
}

.dark-mode .input-group-text {
    border-color: var(--form-bg);
}

/* Card Styles */
.card-header {
    border-bottom: 0px;
}

.card {
    border-radius: var(--border-radius);
}

.card-primary.card-outline {
    border-top: 3px solid var(--primary);
}

/* Label Styles */
label:not(.form-check-label):not(.custom-file-label) {
    color: var(--light-text);
    font-weight: 500;
}

/* Link Styles */
a {
    color: var(--primary);
    text-decoration: none;
    background-color: transparent;
}

/* Layout Components */
.dark-mode .content-wrapper {
    background-color: var(--dark-bg);
    color: var(--dark-text);
}

.dark-mode .card,
.dark-mode .info-box {
    background-color: var(--dark-card);
    color: var(--dark-text);
}

.dark-mode .list-group-item {
    background-color: var(--dark-bg);
    border-radius: var(--border-radius);
    margin: 5px;
    border-color: #6c757d;
}

/* Info Box Styles */
.info-box {
    border-radius: var(--border-radius);
}

.info-box .info-box-icon {
    border-radius: var(--border-radius);
    font-size: 1.50rem;
    width: 50px;
}

/* Background Colors */
.bg-info {
    background-color: var(--primary) !important;
}

.bg-secondary {
    background-color: var(--secondary) !important;
}

.bg-warning {
    background-color: var(--warning) !important;
}

/* Sidebar Styles */
[class*=sidebar-dark] .brand-link {
    border-bottom: 0px;
}

[class*=sidebar-dark-] {
    background-color: var(--dark-card);
}

.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background-color: var(--primary-transparent);
    color: var(--dark-text);
}

/* Dropdown Menu */
.dark-mode .dropdown-menu {
    background-color: var(--dark-card);
    border-radius: var(--border-radius);
    color: var(--dark-text);
}

/* Button Styles */
.btn-primary {
    color: var(--dark-text);
    background-color: transparent;
    border: 2px solid var(--primary);
}

.btn-info {
    color: var(--dark-text);
    background-color: transparent;
    border: 2px solid var(--secondary);
}

/* Other Elements */
.dark-mode select {
    border-color: #343a40;
}

.list-group-item {
    border: 0px;
}

.main-header {
    border-bottom: 0px;
}

.navbar-dark {
    background-color: var(--dark-card);
}

.main-footer {
    background-color: #fff;
    border-top: 0px;
}

.dark-mode .main-footer {
    background-color: var(--dark-bg);
}

/* Callout Styles */
.dark-mode .callout {
    background-color: var(--success-bg);
}

.callout.callout-success,
.callout.callout-info {
    border-left-color: var(--success-border);
}

/* Badge Styles */
.badge-info {
    color: var(--dark-text);
    background-color: var(--primary);
}

.badge-success {
    color: var(--dark-text);
    background-color: var(--success);
}

.btn-warning {
    color: #ffffff;
    background-color: transparent;
    border-color: #ffc107;
    box-shadow: none;
}

.btn-danger {
    color: #fff;
    background-color: transparent;
    border-color: #dc3545;
    box-shadow: none;
}