:root {
    --ink: #1F2937;
    --muted: #6B7280;
    --line: #E5E7EB;
    --canvas: #F5F6F9;
    --success: #15803D;
    --warning: #B45309;
    --danger: #DC2626;
    --action-view: #5B7590;
    --action-edit: var(--primary);
    --action-delete: var(--danger);
}

body {
    color: var(--ink);
}

body:has(.app) {
    background-color: var(--canvas);
}

a {
    color: inherit;
}

@media screen {
    html[data-theme="dark"] {
        color-scheme: dark;
        --ink: #E6E8EC;
        --muted: #9AA3B2;
        --line: #2F353D;
        --canvas: #121418;
        --surface: #1A1E23;
        --surface-2: #1F2329;
        --surface-3: #262B33;
        --primary-deep: #C99412;
        --primary-tint: #2E2615;
        --dark: #374151;
        --bs-body-bg: #121418;
        --bs-body-bg-rgb: 18, 20, 24;
        --bs-body-color: #E6E8EC;
        --bs-body-color-rgb: 230, 232, 236;
        --bs-border-color: #2F353D;
        --bs-border-color-translucent: rgba(255, 255, 255, .12);
        --bs-light-rgb: 31, 35, 41;
        --bs-white-rgb: 26, 30, 35;
        --bs-dark-rgb: 230, 232, 236;
        --bs-secondary-rgb: 154, 163, 178;
        --bs-heading-color: #E6E8EC;
            --bd-000000: #6b6b6b;
            --bd-000000-a01: rgba(255, 255, 255, 0.1);
            --bd-000000-a0102: rgba(255, 255, 255, 0.102);
            --bd-000000-a0125: rgba(255, 255, 255, 0.125);
            --bd-000000-a02: rgba(255, 255, 255, 0.2);
            --bd-a7ddb8: #3b6649;
            --bd-c1c1c1: #4f5661;
            --bd-cbcbcb: #4a515a;
            --bd-cccccc: #49505a;
            --bd-cfd2d6: #464c55;
            --bd-d8e1e3: #40464e;
            --bd-d9dde3: #40454e;
            --bd-dadddd: #414750;
            --bd-daf6e7: #2c5740;
            --bd-dddddd: #40464f;
            --bd-dee2e6: #3e434b;
            --bd-dfdfdf: #3f454d;
            --bd-dfe0eb: #3c4149;
            --bd-dfe3e8: #3d424a;
            --bd-e0e0e0: #3f444d;
            --bd-e2e8f0: #3a3f47;
            --bd-e3e2df: #3e444c;
            --bd-e5e7eb: #3a4047;
            --bd-e6e6e6: #3b4149;
            --bd-e9ebec: #393e46;
            --bd-ecd9a3: #685b34;
            --bd-ece7d8: #524b36;
            --bd-eceae5: #3a3f47;
            --bd-eceff3: #363b42;
            --bd-eeeeee: #373c43;
            --bd-eef0f2: #363b42;
            --bd-eef1f5: #353a41;
            --bd-f0eeea: #383d44;
            --bd-f0efec: #373c43;
            --bd-f0f0f0: #363b42;
            --bd-f1f1f1: #353a41;
            --bd-f1f5f9: #33383f;
            --bd-f2f1ee: #363b42;
            --bd-f3d9a4: #665533;
            --bd-f3e6c4: #5d512f;
            --bd-f3f4f6: #34383f;
            --bd-f5f4f2: #343940;
            --bd-ffffff: #2e3238;
            --bg-000000-a006: rgba(255, 255, 255, 0.06);
            --bg-000000-a01: rgba(255, 255, 255, 0.1);
            --bg-000000-a015: rgba(255, 255, 255, 0.15);
            --bg-9aa1a9: #4a515b;
            --bg-c2c7d0: #383d45;
            --bg-c7ccd1: #404854;
            --bg-d4f2e2: #21402f;
            --bg-daecfb: #1e2e3c;
            --bg-daf4f0: #1f3e39;
            --bg-daf6e7: #1f3d2d;
            --bg-dbeafe: #1d2a3b;
            --bg-dcfce7: #1e3b28;
            --bg-dee2e6: #30363f;
            --bg-dff0fa: #1d303b;
            --bg-e2e6eb: #2c323b;
            --bg-e3f5ff: #1c2e38;
            --bg-e3ffe6: #1c381f;
            --bg-e7f6ec: #262b33;
            --bg-e9ecf0: #282d35;
            --bg-ebc8c8: #432626;
            --bg-eef1f4: #252930;
            --bg-eef1f5: #242930;
            --bg-eff1f5: #24282f;
            --bg-f0f2f8: #22272e;
            --bg-f1f5f9: #22262d;
            --bg-f2e7fd: #2a1c37;
            --bg-f2f5f7: #22262d;
            --bg-f3e7fd: #2b1c37;
            --bg-f3f4f6: #22262d;
            --bg-f4f4f4: #22272e;
            --bg-f4f5f7: #21262c;
            --bg-f5e1a8: #4d4327;
            --bg-f6daf6: #3d1f3d;
            --bg-f6f5f2: #22272e;
            --bg-f7f6fe: #1e2228;
            --bg-f8f8f8: #1f242a;
            --bg-f8f9fa: #1f2329;
            --bg-f8f9fb: #1e2228;
            --bg-f8fafc: #1e2228;
            --bg-f9fafb: #1e2228;
            --bg-fafafa: #1e2228;
            --bg-fafafb: #1e2127;
            --bg-fbfaf8: #1e2228;
            --bg-fbfcfe: #1c2025;
            --bg-fcfbf8: #1e2228;
            --bg-fcfcfd: #1c2025;
            --bg-fde7e7: #371c1c;
            --bg-fdfdfd: #1c1f25;
            --bg-fee2e2: #381c1c;
            --bg-fef2f2: #1f242a;
            --bg-fef3c7: #413a21;
            --bg-ffecb4: #463d23;
            --bg-fff2e3: #382b1c;
            --bg-fff8e6: #372f1c;
            --bg-fffdf7: #1d2127;
            --bg-fffdf8: #1d2126;
            --bg-ffffff: #1a1e23;
            --fg-000000: #ededed;
            --fg-00b106: #7fe882;
            --fg-016904: #6de570;
            --fg-0ab39c: #82e9db;
            --fg-0f0f0f: #e6e6e6;
            --fg-111827: #dcdfe5;
            --fg-148a9d: #7fdae8;
            --fg-15803d: #78e7a1;
            --fg-16a34a: #81e9a7;
            --fg-171725: #dbdbe4;
            --fg-17181c: #17181c;
            --fg-182b7b: #798ee5;
            --fg-1a1a1a: #e1e1e1;
            --fg-1a237e: #7c85e4;
            --fg-1f2937: #d4d9df;
            --fg-228e3b: #85e29a;
            --fg-292d32: #d5d8dc;
            --fg-293240: #cfd4dc;
            --fg-2e5789: #8fb1da;
            --fg-333333: #d6d6d6;
            --fg-343434: #d6d6d6;
            --fg-374151: #c7cdd6;
            --fg-444444: #cfcfcf;
            --fg-475569: #bdc4ce;
            --fg-495057: #c4c9ce;
            --fg-4b5563: #bec5ce;
            --fg-525f71: #b8c0cb;
            --fg-555555: #c7c7c7;
            --fg-656c73: #b8bdc1;
            --fg-666666: #bfbfbf;
            --fg-6b7280: #b2b6bf;
            --fg-6c757d: #b4b9be;
            --fg-737373: #b9b9b9;
            --fg-808080: #b4b4b4;
            --fg-838383: #b2b2b2;
            --fg-878a99: #a6a8b3;
            --fg-888888: #b0b0b0;
            --fg-8a6100: #e7c575;
            --fg-999999: #a8a8a8;
            --fg-9a9894: #acaaa7;
            --fg-9a9a9a: #a8a8a8;
            --fg-9c0517: #e87b88;
            --fg-9c9c9c: #a7a7a7;
            --fg-b45309: #e9ae82;
            --sh-d9dde3: #40454e;
            --sh-dddddd: #40464f;
            --sh-e5e7eb: #3a4047;
            --sh-ffffff: #2e3238;
    }

    html[data-theme="dark"] {
        scrollbar-color: #3A4049 transparent;
    }

    [data-theme="dark"] body {
        background-color: var(--canvas);
        color: var(--ink);
    }

    [data-theme="dark"] h1,
    [data-theme="dark"] h2,
    [data-theme="dark"] h3,
    [data-theme="dark"] h4,
    [data-theme="dark"] h5,
    [data-theme="dark"] h6 {
        color: inherit;
    }

    [data-theme="dark"] .text-dark,
    [data-theme="dark"] .text-black,
    [data-theme="dark"] .link-dark {
        color: var(--ink) !important;
    }

    [data-theme="dark"] .text-muted,
    [data-theme="dark"] .text-secondary,
    [data-theme="dark"] .text-black-50,
    [data-theme="dark"] .form-text,
    [data-theme="dark"] .dropdown-header,
    [data-theme="dark"] .blockquote-footer {
        color: var(--muted) !important;
    }

    [data-theme="dark"] .bg-white,
    [data-theme="dark"] .bg-body {
        background-color: var(--surface) !important;
    }

    [data-theme="dark"] .bg-light {
        background-color: var(--surface-2) !important;
    }

    [data-theme="dark"] .border,
    [data-theme="dark"] .border-top,
    [data-theme="dark"] .border-end,
    [data-theme="dark"] .border-bottom,
    [data-theme="dark"] .border-start,
    [data-theme="dark"] .border-light {
        border-color: var(--line) !important;
    }

    [data-theme="dark"] hr {
        color: var(--line);
        opacity: 1;
    }

    [data-theme="dark"] :where(.card) {
        --bs-card-bg: var(--surface);
        --bs-card-border-color: var(--line);
        --bs-card-cap-bg: rgba(255, 255, 255, .03);
        --bs-card-color: var(--ink);
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] :where(.card-header, .card-footer) {
        background-color: rgba(255, 255, 255, .03);
        border-color: var(--line);
    }

    [data-theme="dark"] :where(.dropdown-menu) {
        --bs-dropdown-bg: var(--surface);
        --bs-dropdown-color: var(--ink);
        --bs-dropdown-border-color: var(--line);
        --bs-dropdown-link-color: var(--ink);
        --bs-dropdown-link-hover-color: var(--ink);
        --bs-dropdown-link-hover-bg: var(--surface-3);
        --bs-dropdown-divider-bg: var(--line);
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .dropdown-item {
        color: var(--ink);
    }

    [data-theme="dark"] .dropdown-item:hover,
    [data-theme="dark"] .dropdown-item:focus {
        background-color: var(--surface-3);
        color: var(--ink);
    }

    [data-theme="dark"] .dropdown-divider {
        border-top-color: var(--line);
    }

    [data-theme="dark"] :where(.modal-content) {
        --bs-modal-bg: var(--surface);
        --bs-modal-color: var(--ink);
        --bs-modal-border-color: var(--line);
        --bs-modal-header-border-color: var(--line);
        --bs-modal-footer-border-color: var(--line);
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] :where(.modal-header, .modal-footer) {
        border-color: var(--line);
    }

    [data-theme="dark"] .btn-close {
        filter: invert(1) grayscale(100%) brightness(200%);
    }

    [data-theme="dark"] .form-control,
    [data-theme="dark"] .form-select,
    [data-theme="dark"] .form-control:focus,
    [data-theme="dark"] .form-select:focus {
        background-color: var(--surface-2);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .form-control:focus,
    [data-theme="dark"] .form-select:focus {
        border-color: var(--primary);
    }

    [data-theme="dark"] .form-control:disabled,
    [data-theme="dark"] .form-control[readonly],
    [data-theme="dark"] .form-select:disabled {
        background-color: var(--surface-3);
        color: var(--muted);
    }

    [data-theme="dark"] .form-control::placeholder {
        color: #6F7886;
    }

    [data-theme="dark"] .form-control::file-selector-button {
        background-color: var(--surface-3);
        color: var(--ink);
    }

    [data-theme="dark"] .form-select,
    [data-theme="dark"] select.form-control,
    [data-theme="dark"] .select-style {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aeb6c2' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    }

    [data-theme="dark"] .form-check-input {
        background-color: var(--surface-2);
        border-color: #4A515B;
    }

    [data-theme="dark"] .form-check-input:checked {
        background-color: var(--primary);
        border-color: var(--primary);
    }

    [data-theme="dark"] .input-group-text {
        background-color: var(--surface-3);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .table {
        --bs-table-color: var(--ink);
        --bs-table-bg: transparent;
        --bs-table-border-color: var(--line);
        --bs-table-striped-color: var(--ink);
        --bs-table-striped-bg: rgba(255, 255, 255, .03);
        --bs-table-hover-color: var(--ink);
        --bs-table-hover-bg: rgba(255, 255, 255, .05);
        --bs-table-active-color: var(--ink);
        --bs-table-active-bg: rgba(255, 255, 255, .07);
        --bs-table-accent-bg: transparent;
        color: var(--ink);
        border-color: var(--line);
    }

    [data-theme="dark"] .table-light {
        --bs-table-bg: var(--surface-2);
        --bs-table-color: var(--ink);
        --bs-table-border-color: var(--line);
        color: var(--ink);
        border-color: var(--line);
    }

    [data-theme="dark"] .btn-light {
        --bs-btn-color: var(--ink);
        --bs-btn-bg: var(--surface-3);
        --bs-btn-border-color: var(--line);
        --bs-btn-hover-color: var(--ink);
        --bs-btn-hover-bg: #2D333C;
        --bs-btn-hover-border-color: #3A4049;
        --bs-btn-active-color: var(--ink);
        --bs-btn-active-bg: #2D333C;
        --bs-btn-active-border-color: #3A4049;
        color: var(--ink);
        background-color: var(--surface-3);
        border-color: var(--line);
    }

    [data-theme="dark"] .btn-light:hover,
    [data-theme="dark"] .btn-light:focus,
    [data-theme="dark"] .btn-light:active,
    [data-theme="dark"] .btn-light.active,
    [data-theme="dark"] .show>.btn-light.dropdown-toggle {
        color: var(--ink);
        background-color: #2D333C;
        border-color: #3A4049;
    }

    [data-theme="dark"] .btn-outline-dark {
        color: var(--ink);
        border-color: #4A515B;
    }

    [data-theme="dark"] .btn-outline-dark:hover {
        background-color: var(--surface-3);
        color: var(--ink);
    }

    [data-theme="dark"] .btn-outline-secondary {
        color: var(--muted);
        border-color: #4A515B;
    }

    [data-theme="dark"] :where(.list-group-item) {
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] :where(.nav-tabs) {
        border-bottom-color: var(--line);
    }

    [data-theme="dark"] :where(.page-link) {
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .progress {
        background-color: var(--surface-3);
    }

    [data-theme="dark"] .alert-success {
        background-color: rgba(16, 185, 129, .12);
        border-color: rgba(16, 185, 129, .3);
        color: #8FE3C7;
    }

    [data-theme="dark"] .alert-danger {
        background-color: rgba(239, 68, 68, .12);
        border-color: rgba(239, 68, 68, .3);
        color: #F5A3A3;
    }

    [data-theme="dark"] .alert-warning {
        background-color: rgba(245, 158, 11, .12);
        border-color: rgba(245, 158, 11, .3);
        color: #F5CE85;
    }

    [data-theme="dark"] .alert-info,
    [data-theme="dark"] .alert-primary {
        background-color: rgba(59, 130, 246, .12);
        border-color: rgba(59, 130, 246, .3);
        color: #A5C6F8;
    }

    [data-theme="dark"] .alert-light,
    [data-theme="dark"] .alert-secondary {
        background-color: var(--surface-2);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .badge.bg-light {
        color: var(--ink) !important;
    }

    [data-theme="dark"] .app .sidebar {
        background: var(--surface);
        border-inline-end-color: var(--line);
    }

    [data-theme="dark"] .tooltip {
        --bs-tooltip-bg: #0B0D10;
    }

    [data-theme="dark"] .tooltip-inner {
        background-color: #0B0D10;
    }

    [data-theme="dark"] .main-navbar .info-user .content .img img:not(.navbar-user-photo) {
        filter: invert(1);
    }

    [data-theme="dark"] .select2-container--default .select2-selection--single,
    [data-theme="dark"] .select2-container--default .select2-selection--multiple {
        background-color: var(--surface-2);
        border-color: var(--line);
    }

    [data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
    [data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__rendered {
        color: var(--ink);
    }

    [data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
        background-color: var(--surface-3);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .select2-dropdown {
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
        background-color: var(--surface-2);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
    [data-theme="dark"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
        background-color: var(--primary);
        color: #FFFFFF;
    }

    [data-theme="dark"] .select2-container--default.select2-container--disabled .select2-selection--single {
        background-color: var(--surface-3);
    }

    [data-theme="dark"] .flatpickr-calendar {
        background: var(--surface);
        box-shadow: 0 6px 24px rgba(0, 0, 0, .5);
    }

    [data-theme="dark"] .flatpickr-calendar.arrowTop:after {
        border-bottom-color: var(--surface);
    }

    [data-theme="dark"] .flatpickr-calendar.arrowBottom:after {
        border-top-color: var(--surface);
    }

    [data-theme="dark"] .flatpickr-months .flatpickr-month,
    [data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months,
    [data-theme="dark"] .flatpickr-current-month input.cur-year,
    [data-theme="dark"] span.flatpickr-weekday,
    [data-theme="dark"] .flatpickr-months .flatpickr-prev-month,
    [data-theme="dark"] .flatpickr-months .flatpickr-next-month {
        background: transparent;
        color: var(--ink);
        fill: var(--ink);
    }

    [data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
        background-color: var(--surface);
    }

    [data-theme="dark"] .flatpickr-day {
        color: var(--ink);
    }

    [data-theme="dark"] .flatpickr-day:hover,
    [data-theme="dark"] .flatpickr-day:focus {
        background: var(--surface-3);
        border-color: var(--surface-3);
    }

    [data-theme="dark"] .flatpickr-day.prevMonthDay,
    [data-theme="dark"] .flatpickr-day.nextMonthDay,
    [data-theme="dark"] .flatpickr-day.flatpickr-disabled {
        color: #5B6370;
    }

    [data-theme="dark"] .flatpickr-day.today {
        border-color: var(--primary);
    }

    [data-theme="dark"] .flatpickr-day.selected,
    [data-theme="dark"] .flatpickr-day.selected:hover {
        background: var(--primary);
        border-color: var(--primary);
        color: #FFFFFF;
    }

    [data-theme="dark"] .flatpickr-time input,
    [data-theme="dark"] .flatpickr-time .flatpickr-am-pm {
        color: var(--ink);
    }

    [data-theme="dark"] .flatpickr-time input:hover,
    [data-theme="dark"] .flatpickr-time .flatpickr-am-pm:hover {
        background: var(--surface-3);
    }

    [data-theme="dark"] .iti__dropdown-content {
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
        box-shadow: 0 6px 24px rgba(0, 0, 0, .5);
    }

    [data-theme="dark"] .iti__search-input {
        background-color: var(--surface-2);
        color: var(--ink);
    }

    [data-theme="dark"] .iti__search-input::placeholder {
        color: #6F7886;
    }

    [data-theme="dark"] .iti__search-input+.iti__country-list,
    [data-theme="dark"] .iti__divider {
        border-color: var(--line);
    }

    [data-theme="dark"] .iti__arrow {
        border-top-color: var(--muted);
    }

    [data-theme="dark"] .iti__arrow--up {
        border-bottom-color: var(--muted);
    }

    [data-theme="dark"] .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag,
    [data-theme="dark"] .iti--show-selected-dial-code .iti__selected-flag {
        background-color: rgba(255, 255, 255, .05);
    }

    [data-theme="dark"] .iti__country-list {
        background-color: var(--surface);
        border-color: var(--line);
        color: var(--ink);
    }

    [data-theme="dark"] .iti__country.iti__highlight {
        background-color: var(--surface-3);
    }

    [data-theme="dark"] .iti__dial-code {
        color: var(--muted);
    }

    [data-theme="dark"] .fc {
        --fc-page-bg-color: var(--surface);
        --fc-neutral-bg-color: var(--surface-2);
        --fc-neutral-text-color: var(--muted);
        --fc-list-event-hover-bg-color: var(--surface-3);
        --fc-border-color: var(--line);
    }
}
