/* ============================================
   Neo-Brutalism Theme
   ============================================ */

/* ============================================
   CSS Custom Properties (Design Tokens)
   ============================================ */

:root {
    /* Borders */
    --neo-border-width: 2px;
    --neo-border-width-thick: 3px;

    /* Border Radius */
    --neo-radius-sm: 0.375rem;
    --neo-radius-md: 0.5rem;
    --neo-radius-lg: 0.75rem;
    --neo-radius-xl: 1rem;

    /* Shadows - Offset values */
    --neo-shadow-offset-sm: 2px;
    --neo-shadow-offset-md: 3px;
    --neo-shadow-offset-lg: 4px;
    --neo-shadow-offset-xl: 6px;

    /* Typography */
    --neo-font-weight-bold: 700;
    --neo-font-weight-extrabold: 800;
    --neo-font-weight-black: 900;
    --neo-letter-spacing-tight: -0.03em;
    --neo-letter-spacing-normal: -0.025em;
    --neo-letter-spacing-wide: 0.03em;
    --neo-letter-spacing-wider: 0.05em;

    /* Transitions */
    --neo-transition-duration: 150ms;
    --neo-transition-timing: cubic-bezier(0.4, 0, 0.2, 1);

    /* Transforms */
    --neo-transform-offset-xs: 0.125rem;
    --neo-transform-offset-sm: 0.25rem;

    /* Spacing */
    --neo-spacing-xs: 0.25rem;
    --neo-spacing-sm: 0.5rem;
    --neo-spacing-md: 0.75rem;
    --neo-spacing-lg: 1rem;
    --neo-spacing-xl: 1.5rem;

    /* Opacity */
    --neo-opacity-disabled: 0.7;
    --neo-opacity-dragging: 0.6;

    /* Effects */
    --neo-blur: 4px;
    --neo-blur-sm: 2px;
}

/* ============================================
   Typography Styles
   ============================================ */

/* Bold & Geometric Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.fi-header-heading,
.fi-section-header-heading,
.fi-modal-heading,
.fi-slideover-heading {
    font-weight: var(--neo-font-weight-black);
    letter-spacing: var(--neo-letter-spacing-normal);
}

.fi-header-heading {
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: var(--neo-font-weight-black);
    letter-spacing: var(--neo-letter-spacing-tight);
}

@media (min-width: 768px) {
    .fi-header-heading {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
}

.fi-section-header-heading {
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: var(--neo-font-weight-extrabold);
    letter-spacing: -0.02em;
}

@media (min-width: 768px) {
    .fi-section-header-heading {
        font-size: 1.5rem;
        line-height: 2rem;
    }
}

/* Form Field Labels - Bold & Uppercase */
.fi-fo-field-wrp-label,
.fi-in-entry-label {
    font-weight: var(--neo-font-weight-bold);
    letter-spacing: var(--neo-letter-spacing-wider);
    text-transform: uppercase;
    font-size: 0.75rem;
    line-height: 1rem;
}

/* Table Headers - Strong & Bold */
.fi-ta-header-heading,
.fi-ta-column-header-label {
    font-weight: var(--neo-font-weight-extrabold);
    letter-spacing: var(--neo-letter-spacing-wide);
    text-transform: uppercase;
}

/* Modal & Slide-over Titles - Text size */
.fi-modal-heading,
.fi-slideover-heading {
    font-size: 1.5rem;
    line-height: 2rem;
}

/* Body Text - Normal Weight for Contrast */
p,
.fi-fo-field-wrp-hint,
.fi-section-description {
    font-weight: 400;
    letter-spacing: 0em;
}

/* ============================================
   Noise Texture - Subtle Grain
   ============================================ */

/* Universal Grain Texture */
.fi-section:not(.fi-section-not-contained):not(.fi-aside)::before,
.fi-tabs::before,
.fi-modal-window::before,
.fi-fieldset::before,
.fi-ta-ctn::before,
body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' seed='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");
    background-size: 200px 200px;
    opacity: 1;
    pointer-events: none;
    border-radius: inherit;
    mix-blend-mode: overlay;
}

body::before {
    position: fixed;
    border-radius: 0;
}

/* Ensure content stays above texture */
.fi-section:not(.fi-section-not-contained):not(.fi-aside),
.fi-tabs,
.fi-modal-window,
.fi-fieldset,
.fi-ta-ctn {
    position: relative;
    overflow: hidden;
}

.fi-section:not(.fi-section-not-contained):not(.fi-aside) > *,
.fi-tabs > *,
.fi-modal-window > *,
.fi-fieldset > *,
.fi-ta-ctn > *,
.fi-main {
    position: relative;
}

/* Diagonal Stripe Pattern for Disabled States */
.fi-btn.fi-disabled,
.fi-input-wrp.fi-disabled,
.fi-select.fi-disabled {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 8px,
        var(--gray-100) 8px,
        var(--gray-200) 16px
    ) !important;
    background-size: 100% 100%;
}

.dark .fi-btn.fi-disabled,
.dark .fi-input-wrp.fi-disabled,
.dark .fi-select.fi-disabled {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 8px,
        var(--gray-600) 8px,
        var(--gray-700) 16px
    ) !important;
}

/* ============================================
   Base & Body Styles
   ============================================ */

body,
.fi-body,
.fi-main {
    background-color: var(--warning-50);
}

.dark body,
.dark .fi-body,
.dark .fi-main {
    background-color: var(--gray-900);
}

.fi-main-content {
    background-color: transparent;
}

/* ============================================
   Neo-Brutalism Loading Animation
   ============================================ */

@keyframes neo-shimmer {
    0% {
        background-position: -200% center;
        box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
            var(--gray-950);
    }
    50% {
        background-position: 200% center;
        box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
            var(--gray-950);
    }
    100% {
        background-position: -200% center;
        box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
            var(--gray-950);
    }
}

@keyframes neo-shimmer-dark {
    0% {
        background-position: -200% center;
        box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
            var(--gray-600);
    }
    50% {
        background-position: 200% center;
        box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
            var(--gray-600);
    }
    100% {
        background-position: -200% center;
        box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
            var(--gray-600);
    }
}

.fi-loading-section,
.fi-section.fi-loading {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        90deg,
        var(--gray-200) 0%,
        var(--gray-100) 20%,
        var(--gray-200) 40%,
        var(--gray-200) 100%
    );
    background-size: 200% 100%;
    animation: neo-shimmer 2s ease-in-out infinite;
}

.dark .fi-loading-section,
.dark .fi-section.fi-loading {
    border-color: var(--gray-600);
    background: linear-gradient(
        90deg,
        var(--gray-800) 0%,
        var(--gray-700) 20%,
        var(--gray-800) 40%,
        var(--gray-800) 100%
    );
    background-size: 200% 100%;
    animation: neo-shimmer-dark 2s ease-in-out infinite;
}

/* Diagonal stripe pattern overlay */
.fi-loading-section::before,
.fi-section.fi-loading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(0, 0, 0, 0.03) 10px,
        rgba(0, 0, 0, 0.03) 20px
    );
    pointer-events: none;
    z-index: 1;
}

.dark .fi-loading-section::before,
.dark .fi-section.fi-loading::before {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(255, 255, 255, 0.03) 10px,
        rgba(255, 255, 255, 0.03) 20px
    );
}

/* Widget Loading States */
.fi-wi-stats-overview-stat.fi-loading,
.fi-widget.fi-loading {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        90deg,
        var(--gray-200) 0%,
        var(--gray-100) 20%,
        var(--gray-200) 40%,
        var(--gray-200) 100%
    );
    background-size: 200% 100%;
    animation: neo-shimmer 2s ease-in-out infinite;
}

.dark .fi-wi-stats-overview-stat.fi-loading,
.dark .fi-widget.fi-loading {
    border-color: var(--gray-600);
    background: linear-gradient(
        90deg,
        var(--gray-800) 0%,
        var(--gray-700) 20%,
        var(--gray-800) 40%,
        var(--gray-800) 100%
    );
    background-size: 200% 100%;
    animation: neo-shimmer-dark 2s ease-in-out infinite;
}

.fi-wi-stats-overview-stat.fi-loading::before,
.fi-widget.fi-loading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(0, 0, 0, 0.03) 10px,
        rgba(0, 0, 0, 0.03) 20px
    );
    pointer-events: none;
    z-index: 1;
}

.dark .fi-wi-stats-overview-stat.fi-loading::before,
.dark .fi-widget.fi-loading::before {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(255, 255, 255, 0.03) 10px,
        rgba(255, 255, 255, 0.03) 20px
    );
}

/* ============================================
   Button Styles
   ============================================ */

.fi-btn {
    border-width: var(--neo-border-width);
    border-style: solid;
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    transition-timing-function: var(--neo-transition-timing);
    transform: translateY(0);
}

.fi-btn-group {
    gap: var(--neo-spacing-sm);
    box-shadow: none;
}

/* Filled Buttons - No Color (Gray) */
.fi-btn:not(.fi-outlined):not(.fi-color) {
    border-color: var(--gray-950);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
}

.dark .fi-btn:not(.fi-outlined):not(.fi-color) {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

.fi-btn:not(.fi-outlined):not(.fi-color):hover:not(.fi-disabled):not(
        .fi-processing
    ) {
    transform: translateY(var(--neo-transform-offset-xs));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark
    .fi-btn:not(.fi-outlined):not(.fi-color):hover:not(.fi-disabled):not(
        .fi-processing
    ) {
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-btn:not(.fi-outlined):not(.fi-color):active:not(.fi-disabled):not(
        .fi-processing
    ) {
    transform: translateY(var(--neo-transform-offset-sm));
    box-shadow: 0px 0px 0px var(--gray-950);
}

.dark
    .fi-btn:not(.fi-outlined):not(.fi-color):active:not(.fi-disabled):not(
        .fi-processing
    ) {
    box-shadow: 0px 0px 0px var(--gray-600);
}

/* Filled Buttons - With Color */
.fi-btn:not(.fi-outlined).fi-color {
    background-color: var(--color-600);
    border-color: var(--color-700);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-700);
}

.fi-btn:not(.fi-outlined).fi-color,
.fi-btn:not(.fi-outlined).fi-color .fi-btn-label,
.fi-btn:not(.fi-outlined).fi-color .fi-icon {
    color: white;
}

.fi-btn:not(.fi-outlined).fi-color:hover:not(.fi-disabled):not(.fi-processing) {
    transform: translateY(var(--neo-transform-offset-xs));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-700);
}

.fi-btn:not(.fi-outlined).fi-color:active:not(.fi-disabled):not(
        .fi-processing
    ) {
    transform: translateY(var(--neo-transform-offset-sm));
    box-shadow: 0px 0px 0px var(--color-700);
}

.dark .fi-btn:not(.fi-outlined).fi-color {
    background-color: var(--color-500);
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-400);
}

.dark
    .fi-btn:not(.fi-outlined).fi-color:hover:not(.fi-disabled):not(
        .fi-processing
    ) {
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-400);
}

.dark
    .fi-btn:not(.fi-outlined).fi-color:active:not(.fi-disabled):not(
        .fi-processing
    ) {
    box-shadow: 0px 0px 0px var(--color-400);
}

/* Outlined Buttons - No Color */
.fi-btn.fi-outlined:not(.fi-color) {
    border-width: var(--neo-border-width);
    border-color: var(--gray-950);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
}

.dark .fi-btn.fi-outlined:not(.fi-color) {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

.fi-btn.fi-outlined:not(.fi-color):hover:not(.fi-disabled):not(.fi-processing) {
    transform: translateY(var(--neo-transform-offset-xs));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark
    .fi-btn.fi-outlined:not(.fi-color):hover:not(.fi-disabled):not(
        .fi-processing
    ) {
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-btn.fi-outlined:not(.fi-color):active:not(.fi-disabled):not(
        .fi-processing
    ) {
    transform: translateY(var(--neo-transform-offset-sm));
    box-shadow: 0px 0px 0px var(--gray-950);
}

.dark
    .fi-btn.fi-outlined:not(.fi-color):active:not(.fi-disabled):not(
        .fi-processing
    ) {
    box-shadow: 0px 0px 0px var(--gray-600);
}

/* Outlined Buttons - With Color */
.fi-btn.fi-outlined.fi-color {
    border-width: var(--neo-border-width);
    border-color: var(--color-700);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-700);
}

.fi-btn.fi-outlined.fi-color:hover:not(.fi-disabled):not(.fi-processing) {
    transform: translateY(var(--neo-transform-offset-xs));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-700);
}

.fi-btn.fi-outlined.fi-color:active:not(.fi-disabled):not(.fi-processing) {
    transform: translateY(var(--neo-transform-offset-sm));
    box-shadow: 0px 0px 0px var(--color-700);
}

.dark .fi-btn.fi-outlined.fi-color {
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-400);
}

.dark .fi-btn.fi-outlined.fi-color:hover:not(.fi-disabled):not(.fi-processing) {
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-400);
}

.dark
    .fi-btn.fi-outlined.fi-color:active:not(.fi-disabled):not(.fi-processing) {
    box-shadow: 0px 0px 0px var(--color-400);
}

/* Button Disabled & Processing States */
.fi-btn.fi-disabled,
.fi-btn.fi-processing {
    transform: translateY(0);
    opacity: var(--neo-opacity-disabled);
}

/* Button Focus States */
.fi-btn:focus-visible {
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--color-700, var(--gray-950));
}

.dark .fi-btn:focus-visible {
    outline-color: var(--color-400, var(--gray-500));
}

/* ============================================
   Section Styles
   ============================================ */

.fi-section:not(.fi-section-not-contained):not(.fi-aside) {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    background-color: var(--primary-100);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-section:not(.fi-section-not-contained):not(.fi-aside) {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-section > .fi-section-header {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-section > .fi-section-header {
    border-color: var(--gray-600);
}

.fi-section > .fi-section-content-ctn > .fi-section-footer {
    border-top-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-section > .fi-section-content-ctn > .fi-section-footer {
    border-color: var(--gray-600);
}

.fi-section.fi-divided > .fi-section-content-ctn > .fi-section-content > * {
    border-bottom-width: var(--neo-border-width);
    border-color: var(--gray-950);
}

.dark
    .fi-section.fi-divided
    > .fi-section-content-ctn
    > .fi-section-content
    > * {
    border-color: var(--gray-600);
}

/* ============================================
   Simple Page (Auth Pages)
   ============================================ */

.fi-simple-main {
    background-color: transparent;
    box-shadow: none;
    border: none;
    outline-width: 0;
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
}

/* ============================================
   Form Input Styles
   ============================================ */

.fi-input-wrp {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    background-color: white;
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
}

.dark .fi-input-wrp {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

.fi-input-wrp-prefix,
.fi-input-wrp-suffix,
.fi-fo-tags-input-tags-ctn,
.fi-fo-rich-editor-toolbar {
    border-color: var(--gray-950);
}

.dark .fi-input-wrp-prefix,
.dark .fi-input-wrp-suffix,
.dark .fi-fo-tags-input-tags-ctn,
.dark .fi-fo-rich-editor-toolbar {
    border-color: var(--gray-600);
}

.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)):focus-within {
    border-color: var(--primary-700, var(--gray-950));
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-700, var(--gray-950));
}

.dark
    .fi-input-wrp:not(.fi-disabled):not(
        :has(.fi-ac-action:focus)
    ):focus-within {
    border-color: var(--primary-400, var(--gray-500));
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-400, var(--gray-500));
}

.fi-input-wrp.fi-invalid {
    border-color: var(--danger-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--danger-600);
}

.dark .fi-input-wrp.fi-invalid {
    border-color: var(--danger-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--danger-400);
}

.fi-input-wrp:not(.fi-disabled):not(
        :has(.fi-ac-action:focus)
    ).fi-invalid:focus-within {
    border-color: var(--danger-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--danger-600);
}

.dark
    .fi-input-wrp:not(.fi-disabled):not(
        :has(.fi-ac-action:focus)
    ).fi-invalid:focus-within {
    border-color: var(--danger-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--danger-400);
}

.fi-input-wrp.fi-disabled {
    opacity: var(--neo-opacity-disabled);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-400);
}

.dark .fi-input-wrp.fi-disabled {
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

/* Checkbox Inputs */
input[type="checkbox"].fi-checkbox-input {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-sm);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark input[type="checkbox"].fi-checkbox-input {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

input[type="checkbox"].fi-checkbox-input:checked {
    border-color: var(--primary-700);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--primary-700);
}

.dark input[type="checkbox"].fi-checkbox-input:checked {
    border-color: var(--primary-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--primary-400);
}

input[type="checkbox"].fi-checkbox-input:focus {
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--primary-700);
}

.dark input[type="checkbox"].fi-checkbox-input:focus {
    outline-color: var(--primary-400);
}

input[type="checkbox"].fi-checkbox-input.fi-invalid {
    border-color: var(--danger-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--danger-600);
}

.dark input[type="checkbox"].fi-checkbox-input.fi-invalid {
    border-color: var(--danger-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--danger-400);
}

/* Radio Button Inputs */
input[type="radio"].fi-radio-input {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark input[type="radio"].fi-radio-input {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

input[type="radio"].fi-radio-input:checked {
    border-color: var(--primary-700);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--primary-700);
}

.dark input[type="radio"].fi-radio-input:checked {
    border-color: var(--primary-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--primary-400);
}

input[type="radio"].fi-radio-input:focus {
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--primary-700);
}

.dark input[type="radio"].fi-radio-input:focus {
    outline-color: var(--primary-400);
}

input[type="radio"].fi-radio-input.fi-invalid {
    border-color: var(--danger-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--danger-600);
}

.dark input[type="radio"].fi-radio-input.fi-invalid {
    border-color: var(--danger-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--danger-400);
}

/* ============================================
   Widget Styles
   ============================================ */

.fi-wi-stats-overview-stat {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: var(--primary-100);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-wi-stats-overview-stat {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-wi-stats-overview-stat.fi-color {
    border-color: var(--color-600);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--color-600);
    background-color: var(--color-100);
}

.dark .fi-wi-stats-overview-stat.fi-color {
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--color-400);
    background-color: var(--gray-800);
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description {
    color: var(--gray-950);
}

.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value,
.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label,
.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description {
    color: white;
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description * {
    color: var(--gray-700);
}

.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description * {
    color: var(--gray-300);
}

/* ============================================
   Modal Styles
   ============================================ */

.fi-modal > .fi-modal-close-overlay {
    background-color: var(--gray-950);
    backdrop-filter: blur(var(--neo-blur));
}

@supports (color: color-mix(in lab, red, red)) {
    .fi-modal > .fi-modal-close-overlay {
        background-color: color-mix(in oklab, var(--gray-950) 60%, transparent);
    }
}

.dark .fi-modal > .fi-modal-close-overlay {
    background-color: color-mix(in oklab, var(--gray-950) 80%, transparent);
}

.fi-modal > .fi-modal-window-ctn > .fi-modal-window {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: var(--warning-50);
    box-shadow: var(--neo-shadow-offset-xl) var(--neo-shadow-offset-xl) 0px
        var(--gray-950);
}

.dark .fi-modal > .fi-modal-window-ctn > .fi-modal-window {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-xl) var(--neo-shadow-offset-xl) 0px
        var(--gray-600);
}

.fi-modal-header,
.fi-modal-content {
    background-color: var(--warning-50);
    border-bottom: 0px;
}

.dark .fi-modal-header,
.dark .fi-modal-content {
    background-color: var(--gray-900);
}

.fi-modal-header.fi-sticky {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-modal-header.fi-sticky {
    border-color: var(--gray-600);
}

.fi-modal-footer.fi-sticky {
    border-top-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-modal-footer.fi-sticky {
    border-color: var(--gray-600);
}

.fi-modal-icon-bg {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-sm);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark .fi-modal-icon-bg {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-modal-icon-bg.fi-color {
    border-color: var(--color-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-600);
}

.dark .fi-modal-icon-bg.fi-color {
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-400);
}

/* ============================================
   Dropdown Styles
   ============================================ */

.fi-dropdown-panel {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: var(--gray-100);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-dropdown-panel {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-dropdown-header {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-dropdown-header {
    border-color: var(--gray-600);
}

.fi-dropdown-panel:not(.fi-dropdown-list) > :not(:last-child) {
    border-bottom-width: var(--neo-border-width);
    border-color: var(--gray-950);
}

.dark .fi-dropdown-panel:not(.fi-dropdown-list) > :not(:last-child) {
    border-color: var(--gray-600);
}

.fi-dropdown-list-item:hover {
    background-color: var(--primary-600);
}

.dark .fi-dropdown-list-item:hover {
    background-color: var(--primary-500);
}

.fi-dropdown-list-item:hover .fi-dropdown-list-item-label,
.fi-dropdown-list-item:hover .fi-icon,
.fi-dropdown-list-item:hover * {
    color: white;
}

.fi-dropdown-list-item.fi-selected,
.fi-dropdown-list-item.fi-active {
    background-color: var(--primary-600);
}

.dark .fi-dropdown-list-item.fi-selected,
.dark .fi-dropdown-list-item.fi-active {
    background-color: var(--primary-500);
}

.fi-dropdown-list-item.fi-selected .fi-dropdown-list-item-label,
.fi-dropdown-list-item.fi-selected .fi-icon,
.fi-dropdown-list-item.fi-selected *,
.fi-dropdown-list-item.fi-active .fi-dropdown-list-item-label,
.fi-dropdown-list-item.fi-active .fi-icon,
.fi-dropdown-list-item.fi-active * {
    color: white;
}

/* Sign out button - Use danger color for destructive action */
form.fi-dropdown-list-item:hover,
form.fi-dropdown-list-item:focus-within {
    background-color: var(--danger-600);
}

.dark form.fi-dropdown-list-item:hover,
.dark form.fi-dropdown-list-item:focus-within {
    background-color: var(--danger-500);
}

form.fi-dropdown-list-item:hover .fi-dropdown-list-item-label,
form.fi-dropdown-list-item:hover .fi-icon,
form.fi-dropdown-list-item:hover *,
form.fi-dropdown-list-item:focus-within .fi-dropdown-list-item-label,
form.fi-dropdown-list-item:focus-within .fi-icon,
form.fi-dropdown-list-item:focus-within * {
    color: white;
}

/* ============================================
   Image Editor Modal
   ============================================ */

.fi-fo-file-upload-editor-overlay {
    backdrop-filter: blur(var(--neo-blur));
}

.fi-fo-file-upload-editor-window {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    box-shadow: var(--neo-shadow-offset-xl) var(--neo-shadow-offset-xl) 0px
        var(--gray-950);
}

.dark .fi-fo-file-upload-editor-window {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-xl) var(--neo-shadow-offset-xl) 0px
        var(--gray-600);
}

.fi-fo-file-upload-editor-control-panel-footer {
    border-top-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-fo-file-upload-editor-control-panel-footer {
    border-color: var(--gray-600);
}

/* ============================================
   Table Styles
   ============================================ */

.fi-ta-ctn {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: white;
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-ta-ctn {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-ta-header-toolbar {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-ta-header-toolbar {
    border-color: var(--gray-600);
}

.fi-ta-header {
    border-bottom-width: var(--neo-border-width);
    border-color: var(--gray-600);
}

.fi-ta-header .fi-input-wrp {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
}

.dark .fi-ta-header .fi-input-wrp {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

.fi-ta-header .fi-btn {
    border-width: var(--neo-border-width);
    border-style: solid;
}

.fi-ta-header .fi-badge {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-sm);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark .fi-ta-header .fi-badge {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-ta-table > thead,
.fi-ta-content-header {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-ta-table > thead,
.dark .fi-ta-content-header {
    border-color: var(--gray-600);
}

.fi-ta-table > thead > tr > th {
    font-weight: 700;
}

.fi-ta-table > tbody > .fi-ta-row {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) {
    background-color: var(--gray-950);
    row-gap: var(--neo-border-width);
}

.dark .fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) {
    background-color: var(--gray-600);
}

.dark .fi-ta-table > tbody > .fi-ta-row {
    border-color: var(--gray-600);
}

.fi-ta-table > tbody > .fi-ta-row:last-child {
    border-bottom-width: 0;
}

.fi-ta-selection-indicator {
    border-bottom-width: var(--neo-border-width);
    border-color: var(--gray-950);
}

.dark .fi-ta-selection-indicator {
    border-color: var(--gray-600);
}

.fi-ta-table > tfoot {
    border-top-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-ta-table > tfoot {
    border-color: var(--gray-600);
}

.fi-ta-empty-state {
    border-top-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-ta-empty-state {
    border-color: var(--gray-600);
}

.fi-ta-footer,
.fi-ta-pagination {
    border-top-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-ta-footer,
.dark .fi-ta-pagination {
    border-color: var(--gray-600);
}

.fi-pagination {
    border-top-width: var(--neo-border-width);
    border-color: var(--gray-950);
}

.dark .fi-pagination {
    border-color: var(--gray-600);
}

.fi-pagination-items {
    border-width: 0;
    background-color: transparent;
    box-shadow: none;
    gap: var(--neo-spacing-sm);
    padding: 0;
}

.fi-pagination-item {
    border-width: 0;
    background-color: transparent;
    box-shadow: none;
}

.fi-pagination-item-btn {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-sm);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark .fi-pagination-item-btn {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-pagination-item.fi-active .fi-pagination-item-btn {
    background-color: var(--primary-600);
    border-color: var(--primary-700);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--primary-700);
}

.dark .fi-pagination-item.fi-active .fi-pagination-item-btn {
    background-color: var(--primary-500);
    border-color: var(--primary-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--primary-400);
}

.fi-pagination-item.fi-active .fi-pagination-item-btn,
.fi-pagination-item.fi-active .fi-pagination-item-btn .fi-pagination-item-label,
.fi-pagination-item.fi-active .fi-pagination-item-btn .fi-pagination-item-icon {
    color: white;
}

.fi-pagination-item:not(.fi-active):not(.fi-disabled)
    .fi-pagination-item-btn:hover {
    transform: translateY(1px);
    box-shadow: 1px 1px 0px var(--gray-950);
}

.dark
    .fi-pagination-item:not(.fi-active):not(.fi-disabled)
    .fi-pagination-item-btn:hover {
    box-shadow: 1px 1px 0px var(--gray-600);
}

.fi-pagination-item.fi-disabled .fi-pagination-item-btn {
    opacity: 0.5;
    cursor: not-allowed;
}

.fi-ta-pagination .fi-select,
.fi-ta-footer .fi-select {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-sm);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark .fi-ta-pagination .fi-select,
.dark .fi-ta-footer .fi-select {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

/* ============================================
   Badge Styles
   ============================================ */

.fi-badge {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-radius: var(--neo-radius-sm);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px;
}

.fi-badge:not(.fi-color) {
    border-color: var(--gray-950);
    background-color: var(--primary-100);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark .fi-badge:not(.fi-color) {
    border-color: var(--gray-600);
    background-color: var(--gray-700);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-ta-text-item {
    padding: 0.125rem;
}

.fi-badge.fi-color {
    border-color: var(--color-700);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-700);
    background-color: var(--color-100);
}

.dark .fi-badge.fi-color {
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-400);
    background-color: var(--gray-700);
}

.fi-topbar-item-btn .fi-badge,
.fi-icon-btn .fi-badge {
    border-width: 0;
    box-shadow: none;
    border-radius: 9999px;
}

/* ============================================
   Sidebar Styles
   ============================================ */

.fi-sidebar {
    background-color: var(--warning-50);
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

.dark .fi-sidebar {
    background-color: var(--gray-900);
}

.fi-sidebar-close-overlay {
    backdrop-filter: blur(var(--neo-blur-sm));
}

.fi-sidebar-header {
    border-bottom-width: var(--neo-border-width);
}

.dark .fi-sidebar-header {
    border-color: var(--gray-900);
}

.fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-item-btn > .fi-sidebar-item-label {
    color: var(--gray-900);
}

.dark .fi-sidebar-item-btn > .fi-icon,
.dark .fi-sidebar-item-btn > .fi-sidebar-item-label {
    color: var(--gray-100);
}

.fi-sidebar-item-btn {
    border-radius: var(--neo-radius-sm);
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: transparent;
    transition-property: all;
    transition-duration: 50ms;
}

.fi-sidebar-item.fi-sidebar-item-has-url:not(.fi-active)
    > .fi-sidebar-item-btn:hover,
.fi-sidebar-item.fi-sidebar-item-has-url:not(.fi-active)
    > .fi-sidebar-item-btn:focus-visible {
    background-color: var(--primary-600);
    border-color: var(--primary-700);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-700);
}

.dark
    .fi-sidebar-item.fi-sidebar-item-has-url:not(.fi-active)
    > .fi-sidebar-item-btn:hover,
.dark
    .fi-sidebar-item.fi-sidebar-item-has-url:not(.fi-active)
    > .fi-sidebar-item-btn:focus-visible {
    background-color: var(--primary-500);
    border-color: var(--primary-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-400);
}

.fi-sidebar-item.fi-sidebar-item-has-url:not(.fi-active)
    > .fi-sidebar-item-btn:hover
    > .fi-icon,
.fi-sidebar-item.fi-sidebar-item-has-url:not(.fi-active)
    > .fi-sidebar-item-btn:hover
    > .fi-sidebar-item-label {
    color: white;
}

.fi-sidebar-item-btn:focus-visible {
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--primary-700);
}

.dark .fi-sidebar-item-btn:focus-visible {
    outline-color: var(--primary-400);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    border-width: var(--neo-border-width);
    background-color: var(--primary-600);
    border-color: var(--primary-700);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-700);
}

.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background-color: var(--primary-500);
    border-color: var(--primary-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-400);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon {
    color: white;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-sidebar-item-label {
    color: white;
    font-weight: 700;
}

.fi-sidebar .fi-user-menu-trigger {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-700);
    border-radius: var(--neo-radius-sm);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    background-color: rgba(255, 255, 255, 0.05);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-700);
}

.dark .fi-sidebar .fi-user-menu-trigger {
    border-color: var(--gray-600);
    background-color: rgba(255, 255, 255, 0.03);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

.fi-sidebar .fi-user-menu-trigger:hover {
    border-color: white;
    transform: translateX(0.125rem);
    background-color: rgba(255, 255, 255, 0.1);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        white;
}

.dark .fi-sidebar .fi-user-menu-trigger:hover {
    border-color: var(--gray-400);
    background-color: rgba(255, 255, 255, 0.08);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-400);
}

.fi-sidebar .fi-user-menu .fi-dropdown-panel {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-700);
    border-radius: var(--neo-radius-md);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-700);
}

.fi-sidebar .fi-user-menu .fi-dropdown-header,
.fi-sidebar .fi-user-menu .fi-dropdown-header-label,
.fi-sidebar .fi-user-menu .fi-dropdown-header * {
    color: var(--gray-100);
    font-weight: 700;
}

.dark .fi-sidebar .fi-user-menu .fi-dropdown-header,
.dark .fi-sidebar .fi-user-menu .fi-dropdown-header-label,
.dark .fi-sidebar .fi-user-menu .fi-dropdown-header * {
    color: white;
}

.fi-sidebar .fi-user-menu [role="tablist"] button,
.fi-sidebar .fi-user-menu [role="tablist"] button * {
    color: var(--gray-400);
}

.fi-sidebar .fi-user-menu [role="tablist"] button[aria-selected="true"],
.fi-sidebar .fi-user-menu [role="tablist"] button[aria-selected="true"] * {
    color: white;
}

.fi-sidebar .fi-user-menu .fi-dropdown-list-item .fi-dropdown-list-item-label,
.fi-sidebar .fi-user-menu .fi-dropdown-list-item .fi-icon {
    color: white;
}

.fi-sidebar .fi-user-menu .fi-dropdown-list-item:hover {
    background-color: var(--primary-600);
}

.dark .fi-sidebar .fi-user-menu .fi-dropdown-list-item:hover {
    background-color: var(--primary-500);
}

.fi-sidebar
    .fi-user-menu
    .fi-dropdown-list-item:hover
    .fi-dropdown-list-item-label,
.fi-sidebar .fi-user-menu .fi-dropdown-list-item:hover .fi-icon {
    color: white;
}

/* ============================================
   Topbar Styles
   ============================================ */

.fi-topbar {
    background-color: var(--primary-600);
    border-radius: var(--neo-radius-lg);
    margin: 0.75rem;
    margin-right: 1rem;
    border-color: var(--primary-700);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--primary-700);
}

.dark .fi-topbar {
    background-color: var(--primary-500);
    border-color: var(--primary-400);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--primary-400);
}

.fi-topbar .fi-topbar-start .fi-icon,
.fi-topbar .fi-icon-btn {
    color: white;
}

.fi-topbar-item-btn {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: transparent;
    border-radius: var(--neo-radius-sm);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
}

.fi-topbar-item-btn:hover {
    transform: translateY(calc(-1 * var(--neo-transform-offset-xs)));
    background-color: var(--primary-700);
    border-color: var(--primary-800);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-800);
}

.dark .fi-topbar-item-btn:hover {
    background-color: var(--primary-400);
    border-color: var(--primary-300);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-300);
}

.fi-topbar-item-btn:hover > .fi-icon,
.fi-topbar-item-btn:hover .fi-topbar-item-label {
    color: white;
}

.fi-topbar-item.fi-active .fi-topbar-item-btn {
    background-color: var(--primary-700);
    border-color: var(--primary-800);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-800);
}

.dark .fi-topbar-item.fi-active .fi-topbar-item-btn {
    background-color: var(--primary-400);
    border-color: var(--primary-300);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-300);
}

.fi-topbar-item.fi-active .fi-topbar-item-btn > .fi-icon,
.fi-topbar-item.fi-active .fi-topbar-item-label {
    color: white;
    font-weight: 600;
}

/* Database Notifications Button */
.fi-topbar-database-notifications-btn {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: transparent;
    border-radius: var(--neo-radius-sm);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
}

.fi-topbar-database-notifications-btn:hover {
    transform: translateY(calc(-1 * var(--neo-transform-offset-xs)));
    background-color: var(--primary-700);
    border-color: var(--primary-800);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-800);
}

.dark .fi-topbar-database-notifications-btn:hover {
    background-color: var(--primary-400);
    border-color: var(--primary-300);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-300);
}

/* ============================================
   Global Search Styles
   ============================================ */

/* Global Search Input */
.fi-global-search-field .fi-input-wrapper {
    border: 2px solid var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: white;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark .fi-global-search-field .fi-input-wrapper {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-global-search-field .fi-input-wrapper:focus-within {
    transform: translateY(calc(-1 * var(--neo-transform-offset-xs)));
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
}

.dark .fi-global-search-field .fi-input-wrapper:focus-within {
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

.fi-global-search-field .fi-input {
    color: var(--gray-950);
}

.dark .fi-global-search-field .fi-input {
    color: white;
}

.fi-global-search-field .fi-input::placeholder {
    color: var(--gray-500);
}

.dark .fi-global-search-field .fi-input::placeholder {
    color: var(--gray-400);
}

.fi-global-search-field .fi-icon {
    color: var(--gray-600);
}

.dark .fi-global-search-field .fi-icon {
    color: var(--gray-400);
}

/* Search Results Container */
.fi-global-search-results-ctn {
    border: 2px solid var(--gray-950);
    border-radius: var(--neo-radius-lg);
    box-shadow: var(--neo-shadow-offset-xl) var(--neo-shadow-offset-xl) 0px
        var(--gray-950);
}

.dark .fi-global-search-results-ctn {
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-xl) var(--neo-shadow-offset-xl) 0px
        var(--gray-600);
}

/* No results message */
.fi-global-search-no-results-message {
    font-weight: 700;
}

/* Result group dividers */
.fi-global-search-results > * + * {
    border-top-width: var(--neo-border-width);
    border-color: var(--gray-950);
}

.dark .fi-global-search-results > * + * {
    border-color: var(--gray-600);
}

/* Group header */
.fi-global-search-result-group-header {
    border-bottom: 2px solid var(--gray-950);
    background-color: var(--warning-50);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.dark .fi-global-search-result-group-header {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
}

/* Result group results dividers */
.fi-global-search-result-group-results > * + * {
    border-top-width: var(--neo-border-width);
    border-color: var(--gray-200);
}

.dark .fi-global-search-result-group-results > * + * {
    border-color: var(--gray-700);
}

/* Individual result item */
.fi-global-search-result:hover,
.fi-global-search-result:focus-within {
    background-color: var(--primary-100);
}

.dark .fi-global-search-result:hover,
.dark .fi-global-search-result:focus-within {
    background-color: color-mix(in srgb, var(--primary-950) 30%, transparent);
}

/* Result heading */
.fi-global-search-result-heading {
    font-weight: 800;
}

/* Result detail label */
.fi-global-search-result-detail-label {
    font-weight: 700;
}

/* ============================================
   Fieldset Styles
   ============================================ */

.fi-fieldset {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: var(--success-100);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-fieldset {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-fieldset-legend,
.fi-sc-fieldset-legend,
.fi-fo-fieldset-legend {
    font-weight: 700;
    color: var(--gray-950);
}

.dark .fi-fieldset-legend,
.dark .fi-sc-fieldset-legend,
.dark .fi-fo-fieldset-legend {
    color: white;
}

.fi-fieldset-description,
.fi-sc-fieldset-description,
.fi-fo-fieldset-description {
    color: var(--gray-600);
}

.dark .fi-fieldset-description,
.dark .fi-sc-fieldset-description,
.dark .fi-fo-fieldset-description {
    color: var(--gray-400);
}

/* ============================================
   Select Dropdown Styles
   ============================================ */

.fi-select {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    background-color: white;
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
}

.dark .fi-select {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

.fi-select:focus-within {
    border-color: var(--primary-700, var(--gray-950));
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-700, var(--gray-950));
}

.dark .fi-select:focus-within {
    border-color: var(--primary-400, var(--gray-500));
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-400, var(--gray-500));
}

.fi-select.fi-invalid {
    border-color: var(--danger-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--danger-600);
}

.dark .fi-select.fi-invalid {
    border-color: var(--danger-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--danger-400);
}

.fi-select.fi-disabled {
    opacity: var(--neo-opacity-disabled);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-400);
}

.dark .fi-select.fi-disabled {
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
}

/* ============================================
   FilePond (File Upload) Styles
   ============================================ */

.filepond--root {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: var(--warning-50);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .filepond--root {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-fo-file-upload-editor-control-panel {
    border-top-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

@media (min-width: 1024px) {
    .fi-fo-file-upload-editor-control-panel {
        border-top-width: 0;
        border-left-width: var(--neo-border-width);
    }
}

.dark .fi-fo-file-upload-editor-control-panel {
    border-color: var(--gray-600);
}

/* ============================================
   Rich Editor Custom Block Styles
   ============================================ */

.fi-fo-rich-editor div[data-type="customBlock"] {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: var(--warning-50);
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-fo-rich-editor div[data-type="customBlock"] {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header {
    border-bottom-width: var(--neo-border-width);
    border-color: var(--gray-950);
}

.dark .fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header {
    border-color: var(--gray-600);
}

/* ============================================
   Wizard Form Header Styles
   ============================================ */

.fi-sc-wizard-header {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    background-color: var(--primary-100);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-sc-wizard-header {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

/* ============================================
   Alert/Notification Styles
   ============================================ */

.fi-alert {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-radius: var(--neo-radius-md);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px;
}

.fi-alert:not(.fi-color) {
    background-color: var(--primary-50);
    border-color: var(--info-600);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--info-600);
}

.dark .fi-alert:not(.fi-color) {
    background-color: var(--gray-900);
    border-color: var(--info-400);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--info-400);
}

.fi-alert.fi-color {
    border-color: var(--color-600);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--color-600);
    background-color: var(--color-50);
}

.dark .fi-alert.fi-color {
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--color-400);
    background-color: var(--gray-900);
}

.fi-alert-icon-bg {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-radius: var(--neo-radius-sm);
    border-color: var(--color-600, var(--gray-950));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-600, var(--gray-950));
}

.dark .fi-alert-icon-bg {
    border-color: var(--color-400, var(--gray-600));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--color-400, var(--gray-600));
}

/* ============================================
   Tabs Styles
   ============================================ */

.fi-tabs {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: white;
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-tabs {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-tabs-nav,
.fi-ta-filters-above-content-ctn {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    background-color: var(--gray-50);
}

.dark .fi-tabs-nav,
.dark .fi-ta-filters-above-content-ctn {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
}

.fi-tabs-item {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: transparent;
    border-radius: var(--neo-radius-sm);
    transition-property: all;
    transition-duration: var(--neo-transition-duration);
}

.fi-tabs-item:hover {
    background-color: var(--gray-200);
    border-color: var(--gray-400);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-400);
}

.dark .fi-tabs-item:hover {
    background-color: var(--gray-700);
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

.fi-tabs-item.fi-active {
    color: white;
    font-weight: 700;
    background-color: var(--primary-600);
    border-color: var(--primary-700);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-700);
}

.dark .fi-tabs-item.fi-active {
    background-color: var(--primary-500);
    border-color: var(--primary-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--primary-400);
}

.fi-tabs-item.fi-active .fi-tabs-item-label,
.fi-tabs-item.fi-active .fi-icon {
    color: white;
}

/* ============================================
   Info List Styles
   ============================================ */

.fi-in-list {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: var(--success-50);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
}

.dark .fi-in-list {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

.fi-in-list-item {
    border-bottom-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
}

.dark .fi-in-list-item {
    border-color: var(--gray-600);
}

.fi-in-list-item:last-child {
    border-bottom-width: 0;
}

/* ============================================
   Action Group Styles
   ============================================ */

.fi-ac-group {
    gap: var(--neo-spacing-sm);
}

.fi-ac-group .fi-btn {
    margin: 0;
}

/* ============================================
   Toggle Buttons Form Component Styles
   ============================================ */

/* Unchecked toggle buttons - outlined/light style */
.fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color) {
    background-color: transparent;
    border-color: var(--gray-950);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
    color: var(--gray-950);
}

.fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color)
    .fi-btn-label,
.fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color)
    .fi-icon {
    color: var(--gray-950);
}

.dark
    .fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color) {
    background-color: transparent;
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
    color: white;
}

.dark
    .fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color)
    .fi-btn-label,
.dark
    .fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color)
    .fi-icon {
    color: white;
}

/* Checked toggle buttons - filled style */
.fi-fo-toggle-buttons-input:checked + .fi-btn:not(.fi-outlined):not(.fi-color) {
    background-color: var(--gray-950);
    border-color: var(--gray-950);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-950);
    color: white;
}

.fi-fo-toggle-buttons-input:checked
    + .fi-btn:not(.fi-outlined):not(.fi-color)
    .fi-btn-label,
.fi-fo-toggle-buttons-input:checked
    + .fi-btn:not(.fi-outlined):not(.fi-color)
    .fi-icon {
    color: white;
}

.dark
    .fi-fo-toggle-buttons-input:checked
    + .fi-btn:not(.fi-outlined):not(.fi-color) {
    background-color: var(--gray-600);
    border-color: var(--gray-600);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--gray-600);
    color: white;
}

/* Hover states for unchecked toggle buttons */
.fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color):hover:not(.fi-disabled) {
    transform: translateY(var(--neo-transform-offset-xs));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark
    .fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined):not(.fi-color):hover:not(.fi-disabled) {
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

/* Hover states for checked toggle buttons */
.fi-fo-toggle-buttons-input:checked
    + .fi-btn:not(.fi-outlined):not(.fi-color):hover:not(.fi-disabled) {
    transform: translateY(var(--neo-transform-offset-xs));
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-950);
}

.dark
    .fi-fo-toggle-buttons-input:checked
    + .fi-btn:not(.fi-outlined):not(.fi-color):hover:not(.fi-disabled) {
    box-shadow: var(--neo-shadow-offset-sm) var(--neo-shadow-offset-sm) 0px
        var(--gray-600);
}

/* Colored toggle buttons - unchecked */
.fi-fo-toggle-buttons-input:not(:checked) + .fi-btn:not(.fi-outlined).fi-color {
    background-color: transparent;
    border-color: var(--color-700);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-700);
    color: var(--color-700);
}

.fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined).fi-color
    .fi-btn-label,
.fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined).fi-color
    .fi-icon {
    color: var(--color-700);
}

.dark
    .fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined).fi-color {
    background-color: transparent;
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-400);
    color: var(--color-400);
}

.dark
    .fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined).fi-color
    .fi-btn-label,
.dark
    .fi-fo-toggle-buttons-input:not(:checked)
    + .fi-btn:not(.fi-outlined).fi-color
    .fi-icon {
    color: var(--color-400);
}

/* Colored toggle buttons - checked */
.fi-fo-toggle-buttons-input:checked + .fi-btn:not(.fi-outlined).fi-color {
    background-color: var(--color-600);
    border-color: var(--color-700);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-700);
    color: white;
}

.fi-fo-toggle-buttons-input:checked
    + .fi-btn:not(.fi-outlined).fi-color
    .fi-btn-label,
.fi-fo-toggle-buttons-input:checked
    + .fi-btn:not(.fi-outlined).fi-color
    .fi-icon {
    color: white;
}

.dark .fi-fo-toggle-buttons-input:checked + .fi-btn:not(.fi-outlined).fi-color {
    background-color: var(--color-500);
    border-color: var(--color-400);
    box-shadow: var(--neo-shadow-offset-md) var(--neo-shadow-offset-md) 0px
        var(--color-400);
    color: white;
}

/* ============================================
   Repeater Form Component Styles
   ============================================ */

/* ============================================
   Standard/Grid Repeater
   ============================================ */

/* Repeater Container */
.fi-fo-repeater {
    display: grid;
    row-gap: var(--neo-spacing-lg);
}

/* Repeater Items Container */
.fi-fo-repeater .fi-fo-repeater-items {
    display: flex;
    flex-direction: column;
    gap: var(--neo-spacing-lg);
}

/* Individual Repeater Item */
.fi-fo-repeater .fi-fo-repeater-item {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: white;
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
    overflow: hidden;
    transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.dark .fi-fo-repeater .fi-fo-repeater-item {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

/* Dragging state - reduce visual emphasis */
.fi-fo-repeater .fi-fo-repeater-item.sortable-chosen,
.fi-fo-repeater .fi-fo-repeater-item.sortable-drag {
    opacity: var(--neo-opacity-dragging);
}

/* Repeater Item Header */
.fi-fo-repeater .fi-fo-repeater-item-header {
    display: flex;
    align-items: center;
    gap: var(--neo-spacing-md);
    padding: 1rem;
    border-bottom: 2px solid var(--gray-950);
}

.dark .fi-fo-repeater .fi-fo-repeater-item-header {
    border-bottom-color: var(--gray-600);
}

/* Remove border when collapsed */
.fi-fo-repeater .fi-fo-repeater-item.fi-collapsed .fi-fo-repeater-item-header {
    border-bottom: none;
}

/* Collapsible Header - make it interactive */
.fi-fo-repeater.fi-fo-repeater-collapsible .fi-fo-repeater-item-header {
    cursor: pointer;
    user-select: none;
    transition: background-color 150ms;
}

.fi-fo-repeater.fi-fo-repeater-collapsible .fi-fo-repeater-item-header:hover {
    background-color: var(--gray-100);
}

.dark
    .fi-fo-repeater.fi-fo-repeater-collapsible
    .fi-fo-repeater-item-header:hover {
    background-color: var(--gray-700);
}

/* Header Label */
.fi-fo-repeater .fi-fo-repeater-item-header-label {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    color: var(--gray-950);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dark .fi-fo-repeater .fi-fo-repeater-item-header-label {
    color: white;
}

/* Repeater Item Content */
.fi-fo-repeater .fi-fo-repeater-item-content {
    padding: 1rem;
}

/* Repeater Actions (Add buttons) */
.fi-fo-repeater .fi-fo-repeater-actions {
    display: flex;
    gap: var(--neo-spacing-md);
}

/* ============================================
   Simple Repeater
   ============================================ */

.fi-fo-simple-repeater {
    display: flex;
    flex-direction: column;
    gap: var(--neo-spacing-lg);
}

.fi-fo-simple-repeater .fi-fo-simple-repeater-item {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: white;
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
    padding: 1rem;
}

.dark .fi-fo-simple-repeater .fi-fo-simple-repeater-item {
    border-color: var(--gray-600);
    background-color: var(--gray-800);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

/* ============================================
   Table Repeater (Responsive)
   ============================================ */

/* Table Container */
.fi-fo-table-repeater {
    border-width: var(--neo-border-width);
    border-style: solid;
    border-color: var(--gray-950);
    border-radius: var(--neo-radius-md);
    background-color: white;
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-950);
    overflow: hidden;
    padding-bottom: 10px;
}

.dark .fi-fo-table-repeater {
    border-color: var(--gray-600);
    background-color: var(--gray-900);
    box-shadow: var(--neo-shadow-offset-lg) var(--neo-shadow-offset-lg) 0px
        var(--gray-600);
}

/* Table Element */
.fi-fo-table-repeater > table {
    width: 100%;
    border-collapse: collapse;
}

/* Table Header */
.fi-fo-table-repeater > table > thead {
    background-color: var(--gray-100);
    border-bottom: 2px solid var(--gray-950);
}

.dark .fi-fo-table-repeater > table > thead {
    background-color: var(--gray-800);
    border-bottom-color: var(--gray-600);
}

.fi-fo-table-repeater > table > tbody {
    background-color: var(--gray-100);
    border-bottom: 2px solid var(--gray-950);
}

.dark .fi-fo-table-repeater > table > tbody {
    background-color: var(--gray-800);
    border-bottom-color: var(--gray-600);
}

.fi-fo-table-repeater {
    & > table {
        & > thead {
            & > tr {
                & > th {
                    &:not(:last-of-type) {
                        border-color: var(--gray-950);
                        border-inline-end-width: var(--neo-border-width);
                    }
                }
            }
        }
        & > tbody {
            :where(& > :not(:last-child)) {
                border-color: var(--gray-950);
                border-bottom-width: var(--neo-border-width);
            }
        }
    }
}

.dark .fi-fo-table-repeater {
    & > table {
        & > thead {
            & > tr {
                & > th {
                    &:not(:last-of-type) {
                        border-color: var(--gray-600);
                    }
                }
            }
        }
        & > tbody {
            :where(& > :not(:last-child)) {
                border-color: var(--gray-600);
            }
        }
    }
}

/* ============================================
   Topbar Logo Styles
   ============================================ */

.fi-topbar .fi-logo svg {
    fill: var(--gray-100);
}

.fi-topbar .fi-logo {
    color: var(--gray-100);
}

.fi-topbar .fi-topbar-item-btn .fi-topbar-item-label {
    color: var(--gray-100);
}
