:root {
    color-scheme: light;
    --rk-primary: #f05d40;
    --rk-primary-hover: #d85439;
    --rk-page: #f5f6f8;
    --rk-surface: #ffffff;
    --rk-surface-soft: #f0f2f5;
    --rk-text: #202124;
    --rk-muted: #6b7280;
    --rk-border: #e4e7eb;
    --rk-shadow: 0 12px 30px rgba(27, 31, 36, .08);
}

html[data-theme="dark"] {
    color-scheme: dark;
    --rk-page: #101216;
    --rk-surface: #191c21;
    --rk-surface-soft: #22262d;
    --rk-text: #f3f4f6;
    --rk-muted: #a8afb9;
    --rk-border: #30353d;
    --rk-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}

body:not(.admin-body) { background: var(--rk-page); color: var(--rk-text); transition: background-color .2s ease, color .2s ease; }
body:not(.admin-body) .bg-white,
body:not(.admin-body) .card,
body:not(.admin-body) .dropdown-menu,
body:not(.admin-body) .modal-content,
body:not(.admin-body) .list-group-item { background-color: var(--rk-surface) !important; color: var(--rk-text); border-color: var(--rk-border); }
body:not(.admin-body) .bg-light { background-color: var(--rk-surface-soft) !important; }
body:not(.admin-body) .text-dark,
body:not(.admin-body) .text-black { color: var(--rk-text) !important; }
body:not(.admin-body) .text-muted,
body:not(.admin-body) .text-black-50 { color: var(--rk-muted) !important; }
body:not(.admin-body) .form-control,
body:not(.admin-body) .custom-select { background: var(--rk-surface); color: var(--rk-text); border-color: var(--rk-border); }
body:not(.admin-body) .navbar,
body:not(.admin-body) footer { border-color: var(--rk-border) !important; }
body:not(.admin-body) .table { color: var(--rk-text); }
body:not(.admin-body) .table td,
body:not(.admin-body) .table th { border-color: var(--rk-border); }
body:not(.admin-body) .input-group-text,
body:not(.admin-body) .page-link { background: var(--rk-surface); color: var(--rk-text); border-color: var(--rk-border); }
body:not(.admin-body) img { color-scheme: normal; }
body:not(.admin-body) .card { border-radius: 14px; box-shadow: var(--rk-shadow); }
body:not(.admin-body) a:not(.btn):focus-visible,
body:not(.admin-body) button:focus-visible { outline: 3px solid rgba(240, 93, 64, .38); outline-offset: 3px; }

.reko-theme-toggle {
    position: fixed; right: 18px; bottom: 20px; z-index: 1055; width: 46px; height: 46px;
    display: grid; place-items: center; border: 1px solid var(--rk-border); border-radius: 50%;
    background: var(--rk-surface); color: var(--rk-primary); box-shadow: var(--rk-shadow); cursor: pointer;
}
.reko-theme-toggle:hover { color: #fff; background: var(--rk-primary); border-color: var(--rk-primary); transform: translateY(-2px); }
.reko-theme-toggle i { font-size: 1rem; }

@media (max-width: 575.98px) { .reko-theme-toggle { right: 13px; bottom: 14px; width: 42px; height: 42px; } }
@media (prefers-reduced-motion: reduce) { body:not(.admin-body), .reko-theme-toggle { transition: none; } }
