:root {
    --halo-bg: #0A0B0F;
    --halo-surface: #14151C;
    --halo-elevated: #1E2029;
    --halo-border: #2A2D38;
    --halo-border-strong: #3A3D4A;
    --halo-text: #F2F4F8;
    --halo-text-secondary: #9AA0AE;
    --halo-text-muted: #5C6170;
    --halo-primary: #5B6BFF;
    --halo-primary-hover: #7886FF;
    --halo-primary-pressed: #4A59E6;
    --halo-primary-soft: rgba(91, 107, 255, 0.12);
    --halo-success: #2BE08C;
    --halo-warning: #F5D547;
    --halo-info: #3DD7E5;
    --halo-danger: #FF3A5C;
    --halo-success-soft: rgba(43, 224, 140, 0.12);
    --halo-warning-soft: rgba(245, 213, 71, 0.14);
    --halo-info-soft: rgba(61, 215, 229, 0.14);
    --halo-danger-soft: rgba(255, 58, 92, 0.14);
    --halo-radius-sm: 6px;
    --halo-radius-md: 10px;
    --halo-radius-lg: 16px;
    --halo-radius-xl: 24px;
    --halo-radius-full: 999px;
    --halo-focus-ring: 0 0 0 3px rgba(91, 107, 255, 0.35);
}

.fi-sidebar {
    background-color: #0D0E14 !important;
    border-right: 1px solid var(--halo-border) !important;
}

.fi-sidebar-header {
    background-color: #0D0E14 !important;
    border-bottom: 1px solid var(--halo-border) !important;
}

.fi-sidebar-item a {
    border-left: 2px solid transparent !important;
    border-radius: var(--halo-radius-sm) !important;
    margin: 1px 8px !important;
    transition: all 0.15s cubic-bezier(0.2, 0.6, 0.2, 1) !important;
    color: var(--halo-text-secondary) !important;
    font-size: 0.875rem !important;
}

.fi-sidebar-item a:hover {
    background-color: var(--halo-elevated) !important;
    color: var(--halo-text) !important;
}

.fi-sidebar-item-active a {
    background-color: var(--halo-elevated) !important;
    border-left-color: var(--halo-primary) !important;
    color: var(--halo-text) !important;
}

.fi-topbar {
    background-color: #0D0E14 !important;
    border-bottom: 1px solid var(--halo-border) !important;
}

.fi-main {
    background-color: var(--halo-bg) !important;
}

.fi-main-ctn {
    background-color: var(--halo-bg) !important;
}

.fi-section {
    background: var(--halo-surface) !important;
    border: 1px solid var(--halo-border) !important;
    border-radius: var(--halo-radius-lg) !important;
    box-shadow: none !important;
}

.fi-section-header {
    background: var(--halo-surface) !important;
    border-bottom: 1px solid var(--halo-border) !important;
    border-radius: var(--halo-radius-lg) var(--halo-radius-lg) 0 0 !important;
}

.fi-section-header h3 {
    color: var(--halo-text) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

.fi-section-description {
    color: var(--halo-text-muted) !important;
}

.fi-card {
    background-color: var(--halo-surface) !important;
    border: 1px solid var(--halo-border) !important;
    border-radius: var(--halo-radius-lg) !important;
    box-shadow: none !important;
}

.fi-modal-window {
    background-color: var(--halo-elevated) !important;
    border: 1px solid var(--halo-border-strong) !important;
    border-radius: var(--halo-radius-xl) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,0.55), 0 1px 0 rgba(255,255,255,0.04) inset !important;
}

.fi-fo-field label, .fi-fo-field .fi-label {
    color: var(--halo-text-secondary) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.fi-fo-field input:not([type="checkbox"]):not([type="radio"]),
.fi-fo-field textarea,
.fi-fo-field select {
    background: var(--halo-surface) !important;
    border: 1px solid var(--halo-border) !important;
    color: var(--halo-text) !important;
    border-radius: var(--halo-radius-md) !important;
    font-size: 0.9375rem !important;
    transition: border-color 0.15s cubic-bezier(0.2, 0.6, 0.2, 1), box-shadow 0.15s cubic-bezier(0.2, 0.6, 0.2, 1) !important;
}

.fi-fo-field input:not([type="checkbox"]):not([type="radio"]):hover,
.fi-fo-field textarea:hover,
.fi-fo-field select:hover {
    border-color: var(--halo-border-strong) !important;
}

.fi-fo-field input:not([type="checkbox"]):not([type="radio"]):focus,
.fi-fo-field textarea:focus,
.fi-fo-field select:focus {
    border-color: var(--halo-primary) !important;
    box-shadow: var(--halo-focus-ring) !important;
}

.fi-fo-field .fi-input-disabled,
.fi-fo-field input:disabled, .fi-fo-field textarea:disabled, .fi-fo-field select:disabled {
    background: #0D0E14 !important;
    border-color: var(--halo-border) !important;
    color: var(--halo-text-muted) !important;
    -webkit-text-fill-color: var(--halo-text-muted) !important;
    opacity: 0.6 !important;
}

.fi-fo-field select option {
    background: var(--halo-surface) !important;
    color: var(--halo-text) !important;
}

.fi-fo-field .fi-checkbox-input {
    accent-color: var(--halo-primary) !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    border-radius: var(--halo-radius-sm) !important;
}

.fi-fo-checkbox-list label, .fi-fo-checkbox-list .fi-label {
    color: var(--halo-text) !important;
}

.fi-fo-checkbox-list-option:has(.fi-checkbox-input:checked) {
    background: var(--halo-primary-soft) !important;
    border-radius: var(--halo-radius-sm) !important;
}

.fi-fo-repeater-item {
    background: var(--halo-surface) !important;
    border: 1px solid var(--halo-border) !important;
    border-radius: var(--halo-radius-md) !important;
}

.fi-dropdown-list {
    background: var(--halo-elevated) !important;
    border: 1px solid var(--halo-border-strong) !important;
    border-radius: var(--halo-radius-md) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.45) !important;
}

.fi-dropdown-list-item {
    color: var(--halo-text) !important;
    font-size: 0.875rem !important;
}

.fi-dropdown-list-item:hover {
    background: var(--halo-surface) !important;
}

.fi-fo-date-time-picker {
    background: var(--halo-surface) !important;
    border: 1px solid var(--halo-border) !important;
}

.fi-fo-date-time-picker button {
    color: var(--halo-text) !important;
}

.flatpickr-calendar {
    background: var(--halo-elevated) !important;
    border: 1px solid var(--halo-border-strong) !important;
    border-radius: var(--halo-radius-md) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.45) !important;
}

.flatpickr-day {
    color: var(--halo-text) !important;
    border-radius: var(--halo-radius-sm) !important;
}

.flatpickr-day.today {
    border-color: var(--halo-primary) !important;
}

.flatpickr-day.selected {
    background: var(--halo-primary) !important;
    color: #FFFFFF !important;
    border-color: var(--halo-primary) !important;
}

.flatpickr-day:hover {
    background: var(--halo-surface) !important;
}

.flatpickr-months .flatpickr-month,
.flatpickr-weekday {
    color: var(--halo-text) !important;
}

.flatpickr-current-month input {
    color: var(--halo-text) !important;
}

table, .fi-table, .fi-ta, .fi-ta-wrp {
    background-color: transparent !important;
}

.fi-ta-ctn {
    background-color: var(--halo-surface) !important;
    border: 1px solid var(--halo-border) !important;
    border-radius: var(--halo-radius-lg) !important;
    overflow: hidden !important;
}

.fi-table thead, .fi-ta thead,
.fi-ta-header, .fi-ta-header-cell {
    background-color: #0D0E14 !important;
}

.fi-table thead th, .fi-ta thead th,
.fi-ta-header-cell {
    background-color: #0D0E14 !important;
    color: var(--halo-text-muted) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid var(--halo-border) !important;
}

.fi-table tbody tr, .fi-ta tbody tr,
.fi-ta-row {
    background-color: transparent !important;
    border-bottom: 1px solid var(--halo-border) !important;
}

.fi-table tbody tr:last-child, .fi-ta tbody tr:last-child,
.fi-ta-row:last-child {
    border-bottom: none !important;
}

.fi-table tbody tr:nth-child(even), .fi-ta tbody tr:nth-child(even),
.fi-ta-row:nth-child(even) {
    background-color: rgba(10, 11, 15, 0.4) !important;
}

.fi-table tbody tr:hover, .fi-ta tbody tr:hover,
.fi-ta-row:hover {
    background-color: var(--halo-elevated) !important;
}

.fi-table tbody td, .fi-ta tbody td,
.fi-ta-cell, .fi-ta-col {
    background-color: transparent !important;
    color: var(--halo-text) !important;
    font-size: 0.875rem !important;
}

.fi-table-cell, .fi-ta-cell {
    background-color: transparent !important;
}

.fi-ta-col-wrp {
    background-color: transparent !important;
}

.fi-ta .bg-gray-50,
.fi-ta .dark\\:bg-gray-500\\/10,
.fi-ta .dark\\:bg-gray-900\\/20 {
    background-color: transparent !important;
}

.fi-badge {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    border-radius: var(--halo-radius-full) !important;
}

.fi-badge-success {
    background-color: var(--halo-success-soft) !important;
    color: var(--halo-success) !important;
}

.fi-badge-warning {
    background-color: var(--halo-warning-soft) !important;
    color: var(--halo-warning) !important;
}

.fi-badge-danger {
    background-color: var(--halo-danger-soft) !important;
    color: var(--halo-danger) !important;
}

.fi-badge-primary {
    background-color: var(--halo-primary-soft) !important;
    color: var(--halo-primary-hover) !important;
}

.fi-badge-secondary {
    background-color: var(--halo-elevated) !important;
    color: var(--halo-text-secondary) !important;
    border: 1px solid var(--halo-border) !important;
}

.fi-link {
    color: var(--halo-primary) !important;
    font-weight: 500 !important;
    transition: color 0.15s cubic-bezier(0.2, 0.6, 0.2, 1) !important;
}

.fi-link:hover {
    color: var(--halo-primary-hover) !important;
}

.fi-pagination-item a, .fi-pagination-item button {
    background-color: var(--halo-surface) !important;
    color: var(--halo-text-secondary) !important;
    border: 1px solid var(--halo-border) !important;
    border-radius: var(--halo-radius-sm) !important;
    font-size: 0.8125rem !important;
    transition: all 0.15s cubic-bezier(0.2, 0.6, 0.2, 1) !important;
}

.fi-pagination-item a:hover, .fi-pagination-item button:hover {
    background-color: var(--halo-elevated) !important;
    color: var(--halo-text) !important;
    border-color: var(--halo-border-strong) !important;
}

.fi-pagination-item-active a {
    background-color: var(--halo-primary) !important;
    color: #FFFFFF !important;
    border-color: var(--halo-primary) !important;
}

.fi-section-header {
    border-bottom: 1px solid var(--halo-border) !important;
}

::selection {
    background-color: var(--halo-primary-soft) !important;
    color: var(--halo-text) !important;
}

::-webkit-scrollbar {
    width: 6px !important;
    height: 6px !important;
}

::-webkit-scrollbar-track {
    background: var(--halo-bg) !important;
}

::-webkit-scrollbar-thumb {
    background: var(--halo-border) !important;
    border-radius: 3px !important;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--halo-border-strong) !important;
}

.fi-sidebar-search input {
    background-color: var(--halo-surface) !important;
    border: 1px solid var(--halo-border) !important;
    color: var(--halo-text) !important;
    border-radius: var(--halo-radius-md) !important;
}

.fi-header-heading {
    color: var(--halo-text) !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
}

.fi-subheading, .fi-label {
    color: var(--halo-text-secondary) !important;
    font-size: 0.8125rem !important;
}

.fi-tabs {
    border-bottom: 1px solid var(--halo-border) !important;
}

.fi-tabs-item-active {
    color: var(--halo-primary) !important;
    border-bottom-color: var(--halo-primary) !important;
    font-weight: 600 !important;
}

.fi-tabs-item {
    color: var(--halo-text-secondary) !important;
}

.fi-tabs-item:hover {
    color: var(--halo-text) !important;
}

.fi-btn-primary {
    background-color: var(--halo-primary) !important;
    color: #FFFFFF !important;
    font-weight: 500 !important;
    border-radius: var(--halo-radius-md) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18) !important;
    transition: all 0.15s cubic-bezier(0.2, 0.6, 0.2, 1) !important;
}

.fi-btn-primary:hover {
    background-color: var(--halo-primary-hover) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

.fi-btn-danger {
    background-color: var(--halo-danger) !important;
    color: #FFFFFF !important;
    border-radius: var(--halo-radius-md) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

.fi-btn-success {
    background-color: var(--halo-success) !important;
    color: #FFFFFF !important;
    border-radius: var(--halo-radius-md) !important;
}

.fi-btn-warning {
    background-color: var(--halo-warning) !important;
    color: #0A0B0F !important;
    border-radius: var(--halo-radius-md) !important;
}

.fi-btn-secondary {
    background-color: var(--halo-surface) !important;
    color: var(--halo-text) !important;
    border: 1px solid var(--halo-border-strong) !important;
    border-radius: var(--halo-radius-md) !important;
}

.fi-btn-secondary:hover {
    background-color: var(--halo-elevated) !important;
}
