/* ============================================
   SIMPLE SIMPLE DESIGN - UIKit v3 Theme
   ============================================ */

:root {
    /* DARK MODE (Default) */
    --bg-body: #121212;
    --text-color: #e0e0e0;
    --card-bg: #1e1e1e;
    --card-border: #333333;
    --input-bg: #2c2c2c;
    --input-border: #444444;
    --primary-color: #10b981;
    /* Emerald Green */
    --success-color: #22c55e;
}

[data-theme="light"] {
    /* LIGHT MODE */
    --bg-body: #f3f4f6;
    --text-color: #374151;
    --card-bg: #ffffff;
    --card-border: #e5e7eb;
    --input-bg: #ffffff;
    --input-border: #d1d5db;
    --primary-color: #059669;
}

body {
    background-color: var(--bg-body);
    color: var(--text-color);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Dashboard Layout (Sticky Footer) */
body.dashboard-layout {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Ensure the main content takes available space in dashboard layout */
body.dashboard-layout>.uk-container {
    flex: 1 0 auto;
}

/* Footer Styles */
footer {
    flex-shrink: 0;
    max-height: 100px;
    padding: 20px 0;
    margin-top: auto;
    background-color: var(--card-bg);
    border-top: 1px solid var(--card-border);
    text-align: center;
    font-size: 0.875rem;
    color: var(--text-color);
}

/* UIKit Overrides for Theme Consistency */

/* Cards */
/* Cards */
.uk-card-default {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    color: var(--text-color);
    box-shadow: none;
    /* Flat design */
}

.uk-card-secondary {
    background-color: var(--card-bg);
    /* Use same card variables for consistency or define secondary vars */
    border: 1px solid var(--card-border);
    color: var(--text-color);
    box-shadow: none;
}

.uk-card-title {
    color: var(--text-color) !important;
}

/* Modals */
.uk-modal-dialog {
    background-color: var(--card-bg);
    color: var(--text-color);
}

.uk-modal-header,
.uk-modal-footer {
    background-color: var(--card-bg);
    border-color: var(--card-border);
}

.uk-modal-title {
    color: var(--text-color) !important;
}

.uk-modal-close-default {
    color: var(--text-color);
}

/* Inputs - High Specificity to override uk-light defaults */
.uk-input,
.uk-select,
.uk-textarea,
.uk-light .uk-input,
.uk-light .uk-select,
.uk-light .uk-textarea {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-color) !important;
    transition: all 0.2s ease;
}

.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus,
.uk-light .uk-input:focus,
.uk-light .uk-select:focus,
.uk-light .uk-textarea:focus {
    border-color: var(--primary-color) !important;
    background-color: var(--input-bg) !important;
    color: var(--text-color) !important;
    box-shadow: 0 0 0 1px var(--primary-color);
}

/* Fix for Chrome Autofill white background */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px var(--input-bg) inset !important;
    -webkit-text-fill-color: var(--text-color) !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Background Muted */
.uk-background-muted {
    background-color: var(--input-bg) !important;
}

/* List Striped */
.uk-list-striped>li:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.04);
}

[data-theme="light"] .uk-list-striped>li:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.02);
}

.uk-list-striped>li {
    border-bottom-color: var(--card-border);
    color: var(--text-color);
}

/* Buttons */
.uk-button-primary,
.uk-light .uk-button-primary {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    /* Ensure white text on green button */
    border: none;
    font-weight: 600;
}

.uk-button-primary:hover,
.uk-light .uk-button-primary:hover {
    background-color: var(--primary-color);
    opacity: 0.9;
}

/* Text Colors in Dark Mode (helper) */
.uk-text-muted,
/* Text Colors in Dark Mode (helper) */
.uk-text-muted,
.uk-light .uk-text-muted {
    color: #9ca3af !important;
}

/* Typography Overrides */
h1,
h2,
h3,
h4,
h5,
h6,
.uk-h1,
.uk-h2,
.uk-h3,
.uk-h4,
.uk-h5,
.uk-h6,
.uk-heading-medium,
.uk-heading-small,
p,
ul,
ol,
dl,
dt,
dd,
.uk-accordion-title,
.uk-link,
a:not([class*="uk-text-"]) {
    color: var(--text-color) !important;
}

.uk-heading-line> :before {
    border-bottom-color: var(--card-border);
}

.uk-heading-line>span {
    background: var(--bg-body);
    /* Match body background so line appears cut */
}

/* Table */
.uk-table th {
    color: var(--text-color);
    font-weight: 600;
}

.uk-table td {
    border-bottom-color: var(--card-border);
    color: var(--text-color);
}

.uk-table-divider>tr:not(:first-child)>* {
    border-top-color: var(--card-border);
}

/* Table Striping */
.uk-table-striped tbody tr:nth-of-type(odd),
.uk-table-striped>tr:nth-of-type(odd) {
    background: rgba(255, 255, 255, 0.04);
}

[data-theme="light"] .uk-table-striped tbody tr:nth-of-type(odd),
[data-theme="light"] .uk-table-striped>tr:nth-of-type(odd) {
    background: rgba(0, 0, 0, 0.02);
}

/* Alerts */
.uk-alert {
    background-color: var(--input-bg);
    color: var(--text-color);
    border: 1px solid var(--card-border);
}

.uk-alert-primary {
    border-color: var(--primary-color);
    background: rgba(16, 185, 129, 0.1);
}

.uk-alert-success {
    border-color: var(--success-color);
    background: rgba(34, 197, 94, 0.1);
}

.uk-alert-danger {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.uk-alert-warning {
    border-color: #f59e0b;
    background: rgba(245, 158, 11, 0.1);
}

.uk-alert * {
    color: inherit !important;
}

/* Helpers */
.text-primary {
    color: var(--primary-color);
}

/* Navbar */
.uk-navbar-container {
    background-color: var(--card-bg) !important;
    border-bottom: 1px solid var(--card-border) !important;
}

/* Force Navbar Text Colors */
.uk-navbar-nav>li>a,
.uk-navbar-item,
.uk-logo {
    color: var(--text-color) !important;
}

/* Force Navbar Icon Colors */
.uk-navbar-nav>li>a>span,
.uk-navbar-item>span,
.uk-logo>span,
.uk-icon>svg {
    color: var(--text-color) !important;
    fill: var(--text-color) !important;
}

.uk-navbar-nav>li.uk-active>a {
    color: var(--primary-color) !important;
}

.uk-navbar-nav>li.uk-active>a>span {
    color: var(--primary-color) !important;
    fill: var(--primary-color) !important;
}

.uk-navbar-sticky {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    /* Subtle shadow when sticky */
}