:root {
    /* Transitions */
    --gth-transition: all 0.3s ease;
}

/* Dark Theme Variables (Default) */
body.dark-theme {
    --gth-bg: #0f172a;
    --gth-card-bg: #1e293b;
    --gth-primary: #3b82f6;
    --gth-success: #10b981;
    --gth-danger: #f43f5e;
    --gth-text: #f8fafc;
    --gth-text-muted: #94a3b8;
    --gth-border: #334155;
    --gth-table-header: #334155;
    --gth-navbar: #1e293b;
}

/* Light Theme Variables */
body.light-theme {
    --gth-bg: #e2e8f0;
    --gth-card-bg: #ffffff;
    --gth-primary: #2563eb;
    --gth-success: #059669;
    --gth-danger: #e11d48;
    --gth-text: #1e293b;
    --gth-text-muted: #64748b;
    --gth-border: #cbd5e1;
    --gth-table-header: #f8fafc;
    --gth-navbar: #4c1d95;
    /* Deep Indigo for distinct GTH identity */
}

body.midnight-theme {
    background-color: var(--gth-bg) !important;
    color: var(--gth-text) !important;
    transition: var(--gth-transition);
}

.midnight-theme .navbar-custom,
.midnight-theme .topnav {
    background-color: var(--gth-navbar) !important;
    transition: var(--gth-transition);
}

.midnight-theme .topnav .navbar-nav .nav-link,
.midnight-theme .navbar-custom .nav-link {
    color: #ffffff !important;
}

.midnight-theme .logo-box {
    background-color: var(--gth-navbar) !important;
}

/* Login Specific Styles (Indigo Identity) */
.auth-card {
    border-radius: 0.75rem !important;
    border: none !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    max-width: 380px;
    width: 100%;
}

.midnight-theme.dark-theme .auth-card {
    background-color: var(--gth-card-bg) !important;
}

.midnight-theme.light-theme .auth-card {
    background-color: #ffffff !important;
}

.btn-gth {
    background-color: var(--gth-navbar) !important;
    border-color: var(--gth-navbar) !important;
    color: #ffffff !important;
    font-weight: 600;
    padding: 0.7rem;
    transition: var(--gth-transition);
}

.btn-gth:hover {
    filter: brightness(1.2);
    transform: translateY(-1px);
}

.midnight-theme .card {
    background-color: var(--gth-card-bg) !important;
    border: 1px solid var(--gth-border) !important;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1) !important;
    transition: var(--gth-transition);
}

.midnight-theme .card-header {
    border-bottom: 1px solid var(--gth-border) !important;
    background-color: transparent !important;
}

.midnight-theme .table {
    color: var(--gth-text) !important;
}

.midnight-theme .table-light {
    background-color: var(--gth-table-header) !important;
    color: var(--gth-text) !important;
}

.midnight-theme .page-title {
    color: var(--gth-text) !important;
}

.midnight-theme .form-control,
.midnight-theme .input-group-text {
    background-color: var(--gth-card-bg) !important;
    border-color: var(--gth-border) !important;
    color: var(--gth-text) !important;
}

.midnight-theme .btn-primary {
    background-color: var(--gth-primary) !important;
    border-color: var(--gth-primary) !important;
}

.midnight-theme .progress {
    background-color: var(--gth-border) !important;
}

.midnight-theme .text-muted {
    color: var(--gth-text-muted) !important;
}

.midnight-theme h3 {
    color: var(--gth-text) !important;
}

/* Icon toggle styles */
#theme-toggle {
    cursor: pointer;
    font-size: 20px;
    padding: 0 15px;
    display: flex;
    align-items: center;
}