/* Sidetron Digital Custom CSS - Dual Mode */

/* Color Variables - Default (Dark Mode) */
:root {
    --primary-color: #2ECC71 !important;
    /* Neon Green */
    --secondary-color: #FFFFFF !important;
    /* White text on dark */
    --accent-color: #1A1A1A !important;
    /* Dark Gray background for cards */
    --background-color: #000000 !important;
    /* Black background */
    --text-color: #FFFFFF !important;
    /* Main text color */
    --link-color: #2ECC71 !important;
    --border-color: #333333 !important;
    --card-header-bg: #252525 !important;
    --input-bg: #121212 !important;
}

/* Light Mode Overrides */
[data-theme="light"] {
    --primary-color: #27ae60 !important;
    /* Slightly darker green for better contrast on white */
    --secondary-color: #333333 !important;
    /* Dark text on light */
    --accent-color: #F8F9FA !important;
    /* Light Gray background for cards */
    --background-color: #FFFFFF !important;
    /* White background */
    --text-color: #333333 !important;
    /* Dark text */
    --link-color: #27ae60 !important;
    --border-color: #DEE2E6 !important;
    --card-header-bg: #E9ECEF !important;
    --input-bg: #FFFFFF !important;
}

/* Base Styles */
body {
    background-color: var(--background-color);
    color: var(--text-color);
    font-family: 'Inter', 'Roboto', sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}

a {
    color: var(--link-color);
}

a:hover {
    color: #2ecc71;
    /* Lighter green on hover */
    text-decoration: none;
}

/* Header Styling */
.header,
#header {
    background-color: var(--accent-color);
    border-bottom: 2px solid var(--primary-color);
}

.navbar-light .navbar-nav .nav-link {
    color: var(--secondary-color);
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .active>.nav-link {
    color: var(--primary-color);
}

.topbar {
    background-color: var(--background-color);
    border-bottom: 1px solid var(--border-color);
}

/* Footer Styling */
#footer,
.footer {
    background-color: var(--accent-color);
    color: var(--text-color);
    border-top: 2px solid var(--primary-color);
}

/* Buttons */
.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #FFFFFF;
    /* White text usually looks better on green buttons in generic contexts, but let's check contrast */
}

/* Ensure contrast on the neon green, black text is safer for accessibility on #2ECC71 */
:root .btn-primary {
    color: #000000;
}

[data-theme="light"] .btn-primary {
    color: #FFFFFF;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #27ae60 !important;
    border-color: #27ae60 !important;
    color: #FFFFFF !important;
}

/* Cards / Content Areas */
.card {
    background-color: var(--accent-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
}

.card-header {
    background-color: var(--card-header-bg);
    border-bottom: 1px solid var(--border-color);
    color: var(--text-color);
    /* Adaptive color */
}

/* Adjust card header text color if needed for dark mode specifically */
:root .card-header {
    color: var(--primary-color);
}

[data-theme="light"] .card-header {
    color: #333333;
    font-weight: bold;
}


.card-body {
    background-color: var(--accent-color);
}

/* Inputs */
.form-control {
    background-color: var(--input-bg);
    border: 1px solid var(--border-color);
    color: var(--text-color);
}

.form-control:focus {
    background-color: var(--input-bg);
    border-color: var(--primary-color);
    color: var(--text-color);
    box-shadow: 0 0 0 0.2rem rgba(46, 204, 113, 0.25);
}

/* Table Styles */
.table {
    color: var(--text-color);
}

.table thead th {
    border-bottom: 2px solid var(--primary-color);
    color: var(--primary-color);
}

[data-theme="light"] .table thead th {
    color: #333333;
}


.table td,
.table th {
    border-top: 1px solid var(--border-color);
}

/* Alerts */
.alert-info {
    background-color: rgba(46, 204, 113, 0.1);
    border-color: var(--primary-color);
    color: var(--text-color);
}

/* Sidebar styling */
.sidebar .panel-default {
    border-color: var(--border-color);
}

.sidebar .panel-heading {
    background-color: var(--accent-color);
    color: var(--primary-color);
    border-bottom: 1px solid var(--border-color);
}

[data-theme="light"] .sidebar .panel-heading {
    color: #333333;
    font-weight: bold;
}

.sidebar .panel-body {
    background-color: var(--accent-color);
}

.sidebar .list-group-item {
    background-color: var(--accent-color);
    border-color: var(--border-color);
    color: var(--text-color);
}

.sidebar .list-group-item.active {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #FFFFFF;
}

:root .sidebar .list-group-item.active {
    color: #000000;
}

/* Homepage specific */
.home-shortcuts {
    background-color: var(--accent-color);
}

/* Typography Overrides */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--secondary-color);
    font-weight: 700;
}

/* Text coloring within logo if text based */
.logo-text {
    color: var(--secondary-color);
}

.logo-text span {
    color: var(--primary-color);
}

/* Icons */
.fas,
.far,
.fab {
    color: var(--primary-color);
}

/* Theme Toggle Button */
.theme-toggle-btn {
    background: transparent;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s;
}

.theme-toggle-btn:hover {
    background: var(--primary-color);
    color: var(--background-color);
}