:root {
    --bg-base: #f9fafb;
    --bg-card: #ffffff;
    --text-base: #111827;
    --text-muted: #6b7280;
    --border-color: #d1d5db;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg-base: #111827;
        --bg-card: #1f2937;
        --text-base: #f9fafb;
        --text-muted: #d1d5db;
        --border-color: #374151;
    }

    body {
        background-color: var(--bg-base);
        color: var(--text-base);
    }

    .bg-white,
    .bg-gray-50,
    .bg-gray-100 {
        background-color: var(--bg-card) !important;
    }

    .bg-gray-200 {
        background-color: #4b5563 !important;
    }

    .card,
    .brand-panel,
    .nav-sheet__panel,
    .overlay-panel,
    .bottom-nav {
        background-color: var(--bg-card) !important;
        color: var(--text-base) !important;
        border-color: var(--border-color) !important;
    }

    .bottom-nav__link,
    .bottom-nav__pill,
    .nav-sheet__link,
    .nav-sheet__link:hover,
    .nav-sheet__link:active {
        color: var(--text-base) !important;
    }

    .hover\:bg-gray-50:hover,
    .hover\:bg-gray-50:active,
    .hover\:bg-gray-100:hover,
    .hover\:bg-gray-100:active {
        background-color: var(--border-color) !important;
    }

    .text-gray-900,
    .text-gray-800 {
        color: var(--text-base) !important;
    }

    .text-gray-700,
    .text-gray-600 {
        color: var(--text-muted) !important;
    }

    .border-gray-100,
    .border-gray-200,
    .border-gray-300 {
        border-color: var(--border-color) !important;
    }

    input,
    select,
    textarea {
        background-color: var(--bg-card) !important;
        color: var(--text-base) !important;
        border-color: var(--border-color) !important;
        caret-color: var(--text-base) !important;
    }

    input::placeholder,
    select::placeholder,
    textarea::placeholder {
        color: var(--text-muted) !important;
    }
}
