:root {
    --bg-primary: #111;
    --bg-secondary: #1a1a1a;
    --bg-card: #0f0f0f;
    --bg-input: #0f0f0f;
    --bg-hover: #2f2f2f;
    --text-primary: #ececec;
    --text-secondary: #888;
    --text-muted: #555;
    --border-color: #333;
    --border-light: #2a2a2a;
    --accent: #10a37f;
    --accent-hover: #0d8c6c;
    --accent-light: #0f2a1f;
    --danger: #ff4444;
    --danger-bg: #2a0f0f;
    --warning: #ffd700;
    --warning-bg: #2a2a0f;
    --shadow: 0 2px 8px rgba(0,0,0,0.3);
    --body-bg: #111;
    --card-bg: #1a1a1a;
}

[data-theme="light"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f5f5f5;
    --bg-card: #ffffff;
    --bg-input: #ffffff;
    --bg-hover: #e8e8e8;
    --text-primary: #1a1a1a;
    --text-secondary: #666;
    --text-muted: #999;
    --border-color: #ddd;
    --border-light: #e0e0e0;
    --accent: #0d8c6c;
    --accent-hover: #0a7a5e;
    --accent-light: #e6f7f2;
    --danger: #dc3545;
    --danger-bg: #fde8ea;
    --warning: #b8860b;
    --warning-bg: #fff8e1;
    --shadow: 0 2px 8px rgba(0,0,0,0.08);
    --body-bg: #f5f5f5;
    --card-bg: #ffffff;
}

[data-theme="light"] body {
    background: var(--body-bg);
}

[data-theme="light"] .top-bar,
[data-theme="light"] .topbar,
[data-theme="light"] .admin-sidebar {
    background: var(--bg-primary);
}

[data-theme="light"] .card-custom,
[data-theme="light"] .addon-card,
[data-theme="light"] .dataset-card,
[data-theme="light"] .input-area,
[data-theme="light"] .output-area,
[data-theme="light"] .instructions,
[data-theme="light"] .example-box {
    background: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select,
[data-theme="light"] .form-control {
    background: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="light"] .admin-wrapper {
    background: #f0f0f0;
}

[data-theme="light"] .admin-main {
    background: #f5f5f5;
}

[data-theme="light"] .table-dark {
    --bs-table-bg: #ffffff;
    --bs-table-color: #1a1a1a;
    --bs-table-striped-bg: #f8f8f8;
    --bs-table-hover-bg: #f0f0f0;
    --bs-table-border-color: #ddd;
}

[data-theme="light"] .list-group-item,
[data-theme="light"] .admin-card .card-header {
    background: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="light"] code {
    background: #f0f0f0;
    color: #0d8c6c;
}

.theme-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: 13px;
    transition: all 0.2s;
    user-select: none;
}

.theme-toggle:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.theme-toggle .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    border: 1.5px solid currentColor;
}

.theme-toggle .dot.dark-dot { background: #111; border-color: #111; }
.theme-toggle .dot.light-dot { background: #fff; border-color: #ccc; }
.theme-toggle .dot.auto-dot { background: linear-gradient(135deg, #fff 50%, #111 50%); border-color: #888; }
