:root {
    --admin-radius: 8px;
    --admin-radius-sm: 6px;
    --admin-control-height: 38px;
    --admin-transition: 160ms ease;
}

body {
    text-rendering: optimizeLegibility;
}

.page-content {
    min-height: 100vh;
}

.card,
.dashboard-card,
.analytics-card,
.content-action,
.dropdown-menu,
.modal-content,
.offcanvas,
.list-group-item {
    background: var(--admin-surface-color, #fff) !important;
    border: 1px solid var(--admin-border-color, rgba(15, 23, 42, .12)) !important;
    border-radius: var(--admin-radius) !important;
    color: var(--admin-text-color, #1f2937) !important;
    box-shadow: 0 10px 24px var(--admin-shadow-color, rgba(15, 23, 42, .08)) !important;
}

.card-header,
.card-footer,
.modal-header,
.modal-footer,
.dropdown-header {
    background: var(--admin-surface-strong, #f8fafc) !important;
    border-color: var(--admin-border-color, rgba(15, 23, 42, .12)) !important;
    color: var(--admin-text-color, #1f2937) !important;
}

.card *,
.dashboard-card *,
.analytics-card *,
.modal-content *,
.offcanvas *,
.dropdown-menu *,
.table {
    color: inherit;
}

h1, h2, h3, h4, h5, h6,
.card-title,
.form-label,
.col-form-label,
label,
.fw-bold,
.fw-semibold,
.table th {
    color: var(--admin-text-color, #1f2937) !important;
}

.text-muted,
.form-text,
small,
.small {
    color: var(--admin-muted-color, #64748b) !important;
}

.bg-dark,
.table-dark,
.navbar-dark,
.alert-dark,
.badge.bg-dark,
.btn-dark {
    color: #fff !important;
}

.bg-dark *,
.table-dark *,
.navbar-dark *,
.alert-dark * {
    color: #fff !important;
}

.bg-primary,
.bg-secondary,
.bg-success,
.bg-danger,
.bg-warning,
.bg-info,
.badge,
.alert-primary,
.alert-secondary,
.alert-success,
.alert-danger,
.alert-warning,
.alert-info {
    color: inherit;
}

.btn {
    min-height: var(--admin-control-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: var(--admin-radius) !important;
    font-weight: 600;
    line-height: 1.2;
    padding: .48rem .9rem;
    transition: background-color var(--admin-transition), border-color var(--admin-transition), color var(--admin-transition), box-shadow var(--admin-transition), transform var(--admin-transition);
}

.btn-sm {
    min-height: 32px;
    padding: .35rem .65rem;
    font-size: .82rem;
}

.btn-lg {
    min-height: 44px;
    padding: .65rem 1.1rem;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:focus-visible,
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.page-link:focus {
    box-shadow: 0 0 0 .2rem rgba(var(--admin-primary-rgb, 30, 132, 196), .18) !important;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:hover {
    background: var(--admin-primary-color, #1e84c4) !important;
    border-color: var(--admin-primary-color, #1e84c4) !important;
    color: var(--admin-primary-contrast, #fff) !important;
}

.btn-secondary,
.btn-secondary:focus,
.btn-secondary:active,
.btn-secondary:hover {
    background: var(--admin-secondary-color, #5d7186) !important;
    border-color: var(--admin-secondary-color, #5d7186) !important;
    color: var(--admin-secondary-contrast, #fff) !important;
}

.btn-info,
.btn-info:focus,
.btn-info:active,
.btn-info:hover {
    background: var(--admin-accent-color, #23c6c8) !important;
    border-color: var(--admin-accent-color, #23c6c8) !important;
    color: var(--admin-accent-contrast, #102027) !important;
}

.btn-outline-primary {
    border-color: var(--admin-primary-color, #1e84c4) !important;
    color: var(--admin-primary-color, #1e84c4) !important;
}

.btn-outline-primary:hover {
    background: var(--admin-primary-color, #1e84c4) !important;
    color: var(--admin-primary-contrast, #fff) !important;
}

.btn-outline-secondary,
.btn-outline-dark {
    border-color: var(--admin-border-color, rgba(15, 23, 42, .18)) !important;
    color: var(--admin-text-color, #1f2937) !important;
}

.btn-outline-secondary:hover,
.btn-outline-dark:hover {
    background: var(--admin-surface-strong, #f1f5f9) !important;
    color: var(--admin-text-color, #1f2937) !important;
}

.form-control,
.form-select,
.input-group-text,
textarea,
select {
    min-height: var(--admin-control-height);
    background-color: var(--admin-surface-color, #fff) !important;
    border-color: var(--admin-border-color, rgba(15, 23, 42, .14)) !important;
    border-radius: var(--admin-radius) !important;
    color: var(--admin-text-color, #1f2937) !important;
}

.form-control::placeholder,
textarea::placeholder {
    color: var(--admin-muted-color, #64748b) !important;
    opacity: .8;
}

.form-control:disabled,
.form-select:disabled,
.form-control[readonly] {
    background-color: var(--admin-surface-strong, #f8fafc) !important;
    color: var(--admin-muted-color, #64748b) !important;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--admin-text-color, #1f2937);
    --bs-table-border-color: var(--admin-border-color, rgba(15, 23, 42, .12));
    color: var(--admin-text-color, #1f2937) !important;
    margin-bottom: 0;
}

.table > :not(caption) > * > * {
    background-color: transparent !important;
    border-color: var(--admin-border-color, rgba(15, 23, 42, .12)) !important;
    color: var(--admin-text-color, #1f2937) !important;
    vertical-align: middle;
}

.table thead th,
.table-light,
.table-light > * > * {
    background: var(--admin-surface-strong, #f8fafc) !important;
    color: var(--admin-text-color, #1f2937) !important;
}

.table-hover tbody tr:hover > * {
    background: rgba(var(--admin-primary-rgb, 30, 132, 196), .06) !important;
    color: var(--admin-text-color, #1f2937) !important;
}

.dropdown-item {
    border-radius: var(--admin-radius-sm);
    color: var(--admin-text-color, #1f2937) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: rgba(var(--admin-primary-rgb, 30, 132, 196), .08) !important;
    color: var(--admin-primary-color, #1e84c4) !important;
}

.alert {
    border-radius: var(--admin-radius) !important;
    border-color: transparent !important;
}

.pagination {
    gap: .35rem;
}

.page-link {
    min-width: 34px;
    border-radius: var(--admin-radius-sm) !important;
    border-color: var(--admin-border-color, rgba(15, 23, 42, .14)) !important;
    color: var(--admin-text-color, #1f2937) !important;
}

.page-item.active .page-link {
    background: var(--admin-primary-color, #1e84c4) !important;
    border-color: var(--admin-primary-color, #1e84c4) !important;
    color: var(--admin-primary-contrast, #fff) !important;
}

.main-nav .nav-link,
.topbar .btn,
.topbar-button {
    border-radius: var(--admin-radius) !important;
}

.rounded-pill {
    border-radius: var(--admin-radius) !important;
}

iconify-icon,
i {
    line-height: 1;
}

html[dir="rtl"] body {
    text-align: right;
}

html[dir="rtl"] .main-nav {
    right: 0;
    left: auto;
}

html[dir="rtl"] .page-content,
html[dir="rtl"] .topbar {
    margin-right: 260px;
    margin-left: 0;
}

html[dir="rtl"] .sidebar-collapsed .page-content,
html[dir="rtl"] .sidebar-collapsed .topbar {
    margin-right: 70px;
    margin-left: 0;
}

html[dir="rtl"] .navbar-nav .nav-link,
html[dir="rtl"] .dropdown-menu,
html[dir="rtl"] .form-control,
html[dir="rtl"] .form-select,
html[dir="rtl"] textarea,
html[dir="rtl"] table {
    text-align: right;
}

html[dir="rtl"] .dropdown-menu {
    right: auto;
}

html[dir="rtl"] .text-end {
    text-align: left !important;
}

html[dir="rtl"] .text-start {
    text-align: right !important;
}

html[dir="rtl"] .ms-1,
html[dir="rtl"] .ms-2,
html[dir="rtl"] .ms-3,
html[dir="rtl"] .ms-4 {
    margin-left: 0 !important;
}

html[dir="rtl"] .ms-1 { margin-right: .25rem !important; }
html[dir="rtl"] .ms-2 { margin-right: .5rem !important; }
html[dir="rtl"] .ms-3 { margin-right: 1rem !important; }
html[dir="rtl"] .ms-4 { margin-right: 1.5rem !important; }

html[dir="rtl"] .me-1,
html[dir="rtl"] .me-2,
html[dir="rtl"] .me-3,
html[dir="rtl"] .me-4 {
    margin-right: 0 !important;
}

html[dir="rtl"] .me-1 { margin-left: .25rem !important; }
html[dir="rtl"] .me-2 { margin-left: .5rem !important; }
html[dir="rtl"] .me-3 { margin-left: 1rem !important; }
html[dir="rtl"] .me-4 { margin-left: 1.5rem !important; }

html[dir="rtl"] .btn,
html[dir="rtl"] .badge,
html[dir="rtl"] .nav-link,
html[dir="rtl"] .page-link {
    direction: rtl;
}

html[dir="rtl"] .table-responsive {
    direction: rtl;
}

html[dir="rtl"] .table-responsive .table {
    direction: rtl;
}

html[dir="rtl"] .form-check {
    padding-right: 1.5em;
    padding-left: 0;
}

html[dir="rtl"] .form-check .form-check-input {
    float: right;
    margin-right: -1.5em;
    margin-left: 0;
}

html[dir="rtl"] .form-switch {
    padding-right: 2.5em;
    padding-left: 0;
}

html[dir="rtl"] .form-switch .form-check-input {
    margin-right: -2.5em;
    margin-left: 0;
}

@media (max-width: 991.98px) {
    html[dir="rtl"] .page-content,
    html[dir="rtl"] .topbar {
        margin-right: 0;
    }
}
