:root {
    --oniks-bg: #1a2238;
    --oniks-surface: #26314a;
    --oniks-surface-2: #2e3a56;
    --oniks-border: rgba(182, 194, 220, 0.28);
    --oniks-text: #e8edf8;
    --oniks-muted: #adb8d2;
    --oniks-primary: #6c5cff;
    --oniks-primary-hover: #5a4ce6;
}

html,
body {
    min-height: 100%;
    background: var(--oniks-bg);
    color: var(--oniks-text);
}

.container {
    max-width: 1340px;
}

main.container {
    padding-bottom: 1rem;
}

a {
    color: #8f84ff;
}

a:hover {
    color: #b9b3ff;
}

.text-muted {
    color: var(--oniks-muted) !important;
}

.navbar.bg-dark,
footer.bg-dark {
    background: #1b243c !important;
    border-color: var(--oniks-border) !important;
}

.navbar {
    border-bottom: 1px solid var(--oniks-border);
}

.navbar-brand {
    margin-right: 1.4rem;
}

.navbar-logo {
    height: 38px;
    width: auto;
    max-width: 170px;
    object-fit: contain;
    display: block;
}

@media (max-width: 992px) {
    .navbar-logo {
        height: 32px;
        max-width: 145px;
    }
}

.nav-link {
    color: rgba(233, 239, 255, 0.72) !important;
    font-weight: 600;
}

.nav-link:hover,
.nav-link.active {
    color: #7f6fff !important;
}

.dropdown-menu {
    --bs-dropdown-bg: #232e48;
    --bs-dropdown-color: var(--oniks-text);
    --bs-dropdown-link-color: var(--oniks-text);
    --bs-dropdown-link-hover-color: #cfc9ff;
    --bs-dropdown-link-hover-bg: rgba(127, 111, 255, 0.16);
    background: #232e48;
    border: 1px solid var(--oniks-border);
}

.dropdown-item {
    color: var(--oniks-text);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: rgba(127, 111, 255, 0.16);
    color: #cfc9ff;
}

.dropdown-divider {
    border-color: var(--oniks-border);
}

.form-select option {
    background: #1d2740;
    color: var(--oniks-text);
}

.card {
    background: var(--oniks-surface);
    border: 1px solid var(--oniks-border);
    box-shadow: 0 10px 24px rgba(7, 11, 24, 0.35);
    color: var(--oniks-text);
}

.card-header {
    background: var(--oniks-surface-2);
    border-bottom: 1px solid var(--oniks-border);
    color: var(--oniks-text);
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--oniks-text);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.025);
    --bs-table-hover-bg: rgba(127, 111, 255, 0.08);
    --bs-table-border-color: var(--oniks-border);
}

.table > :not(caption) > * > * {
    color: var(--oniks-text);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.025);
}

.form-label {
    font-weight: 600;
    color: var(--oniks-text);
    margin-bottom: 0.45rem;
}

.form-control,
.form-select,
.input-group-text,
textarea.form-control {
    background: #1d2740;
    border: 1px solid var(--oniks-border);
    color: var(--oniks-text);
}

.form-control::placeholder,
textarea.form-control::placeholder {
    color: rgba(194, 206, 233, 0.68);
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus {
    background: #1f2b47;
    color: var(--oniks-text);
    border-color: #7f6fff;
    box-shadow: 0 0 0 0.2rem rgba(127, 111, 255, 0.22);
}

.form-check-label {
    color: var(--oniks-text);
}

.form-check-input {
    border-color: var(--oniks-border);
    background-color: #1d2740;
}

.btn-primary,
button.btn-primary {
    background: linear-gradient(135deg, var(--oniks-primary) 0%, #5a4ee0 100%);
    border-color: var(--oniks-primary);
}

.btn-primary:hover,
button.btn-primary:hover {
    background: linear-gradient(135deg, var(--oniks-primary-hover) 0%, #4738c8 100%);
    border-color: var(--oniks-primary-hover);
}

.btn-outline-secondary,
.btn-outline-primary,
.btn-outline-success,
.btn-outline-warning,
.btn-outline-danger {
    border-width: 1px;
}

.alert {
    border: 1px solid var(--oniks-border);
}

.badge {
    font-size: 0.79em;
    font-weight: 700;
}

.pagination .page-link {
    background: #1f2942;
    color: var(--oniks-text);
    border: 1px solid var(--oniks-border);
}

.pagination .page-link:hover {
    color: #d4ceff;
    background: rgba(127, 111, 255, 0.18);
    border-color: rgba(127, 111, 255, 0.45);
}

.pagination .page-item.active .page-link {
    background: var(--oniks-primary);
    border-color: var(--oniks-primary);
}

.modal-content {
    background: #27334d;
    border: 1px solid var(--oniks-border);
}

.modal-header,
.modal-footer {
    border-color: var(--oniks-border);
}

footer {
    margin-top: auto;
    border-top: 1px solid var(--oniks-border);
}

.auth-logo {
    max-width: 150px;
    width: 100%;
    height: auto;
}

.od-stat-card {
    position: relative;
    overflow: hidden;
}

.od-stat-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.2));
}

.od-accent-purple {
    border-top: 3px solid #7b6dff;
}

.od-accent-blue {
    border-top: 3px solid #2bbadf;
}

.od-accent-gold {
    border-top: 3px solid #b89b1d;
}

.od-stat-icon {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 0.6rem;
    color: #d6def6;
}

.od-revenue-card {
    border-top: 3px solid #53c775;
}

.od-revenue-col {
    border-right: 1px solid var(--oniks-border);
}

.ql-toolbar.ql-snow {
    background: #1d2740;
    border-color: var(--oniks-border);
}

.ql-container.ql-snow {
    border-color: var(--oniks-border);
}

.ql-editor {
    background: #f4f6fa;
    color: #101523;
}

.loading {
    opacity: 0.62;
    pointer-events: none;
}

/* Bootstrap collapse behavior must win over Tailwind's `.collapse` utility. */
.collapse:not(.show) {
    display: none !important;
    visibility: visible !important;
}

.collapse.show {
    display: block !important;
    visibility: visible !important;
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse.collapse {
        display: flex !important;
        visibility: visible !important;
    }
}

@media (max-width: 768px) {
    .container {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
    }
}

/* Tailwind compatibility layer for remaining Breeze classes */
html[data-bs-theme="dark"] .bg-white {
    background-color: var(--oniks-surface) !important;
}

html[data-bs-theme="dark"] .text-gray-900,
html[data-bs-theme="dark"] .text-gray-800,
html[data-bs-theme="dark"] .text-gray-700 {
    color: var(--oniks-text) !important;
}

html[data-bs-theme="dark"] .text-gray-600,
html[data-bs-theme="dark"] .text-gray-500 {
    color: var(--oniks-muted) !important;
}

html[data-bs-theme="dark"] .border-gray-100,
html[data-bs-theme="dark"] .border-gray-200,
html[data-bs-theme="dark"] .border-gray-300 {
    border-color: var(--oniks-border) !important;
}

html[data-bs-theme="dark"] .bg-green-50 {
    background-color: rgba(var(--bs-success-rgb), 0.18) !important;
}

html[data-bs-theme="dark"] .bg-red-50 {
    background-color: rgba(var(--bs-danger-rgb), 0.18) !important;
}

html[data-bs-theme="dark"] .text-green-700 {
    color: #9de0b2 !important;
}

html[data-bs-theme="dark"] .text-red-700 {
    color: #f3a4ae !important;
}

