/* Minification failed. Returning unminified contents.
(1288,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1289,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1290,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1291,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1296,22): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(1301,26): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(1311,26): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-bg'
(1324,33): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(1361,33): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(1365,26): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-striped-bg'
(1369,26): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-hover-bg'
(1587,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1591,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1595,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1599,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1603,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1623,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1624,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1625,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1626,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1694,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1695,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1696,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1697,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1698,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1702,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1712,21): run-time error CSS1039: Token not allowed after unary operator: '-fl-sidebar-width'
(1713,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(1717,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(1722,21): run-time error CSS1039: Token not allowed after unary operator: '-fl-sidebar-collapsed-width'
(1733,17): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1743,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(1751,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(1758,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(1771,13): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1785,13): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1795,13): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1836,23): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1851,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(1852,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(1861,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(1862,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(1867,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(1884,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(1885,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(1891,13): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1897,13): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1905,18): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(1905,44): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1915,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(1916,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(1925,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1926,27): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1929,25): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1951,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(1952,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(1953,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(1955,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(2004,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2025,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2058,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-sidebar-width'
(2067,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(2108,28): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(2404,14): run-time error CSS1039: Token not allowed after unary operator: '-fl-sidebar-width'
(2405,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(2407,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(2408,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(2459,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(2548,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(2554,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(2555,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(2564,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(2575,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(2583,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(2587,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(2610,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(2618,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(2627,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(2633,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(2653,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(2681,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(2685,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(2692,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(2698,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(2703,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(2734,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(2736,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(2737,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(2742,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(2754,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(2844,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(2849,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(2854,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(2862,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(2869,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(2896,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(2943,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(2944,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(2966,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(2971,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(3113,17): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(3119,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(3217,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(3219,1): run-time error CSS1019: Unexpected token, found '}'
(3269,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(3336,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(3384,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(3393,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(3394,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(3484,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(3501,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(3504,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(3512,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(3525,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(3563,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(3564,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(3592,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(3631,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(3635,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(3695,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(3725,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(3733,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(3734,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(3737,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(3738,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(3741,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(3742,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(3745,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(3746,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(3759,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(3785,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(3798,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(3879,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(3932,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(3933,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(3937,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-sm'
(3940,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(3966,13): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(3968,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(3969,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(3970,27): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(3971,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(3972,23): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(3982,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(3992,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(4035,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(4036,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(4044,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(4045,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(4058,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary-bg'
(4059,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(4062,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(4072,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4083,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(4101,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(4102,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(4286,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(4287,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(4296,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(4303,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(4324,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(4325,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(4328,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(4329,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(4332,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(4333,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(4336,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(4337,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(4368,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4380,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4406,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(4433,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(4434,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(4446,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4451,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4456,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4480,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(4481,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4484,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4492,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4499,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4509,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(4510,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(4523,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4528,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4546,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4547,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(4564,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4590,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(4591,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4598,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(4599,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(4602,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(4603,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(4606,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(4607,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(4610,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(4611,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(4625,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4637,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(4653,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(4654,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(4658,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4662,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(4663,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(4665,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(4678,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(4679,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4694,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(4695,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(4707,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(4708,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(4714,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4720,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4729,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4734,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4738,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(4754,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(4762,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(4776,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(4953,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(4960,17): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(4964,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(4965,27): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(4966,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(4967,23): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(4986,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(4994,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(4995,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5003,25): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(5008,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5024,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5035,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5036,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(5040,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(5053,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(5054,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5061,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(5062,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5072,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(5073,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5078,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5083,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5097,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(5098,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5107,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5129,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5133,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5164,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(5165,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(5174,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5179,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5187,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(5216,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5227,13): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(5254,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5261,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5265,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5310,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5317,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5328,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5329,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(5332,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(5354,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(5376,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(5377,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5379,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5391,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(5395,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(5404,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(5405,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5415,29): run-time error CSS1039: Token not allowed after unary operator: '-fl-topbar-height'
(5428,32): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5430,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(5437,35): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5444,17): run-time error CSS1039: Token not allowed after unary operator: '-fl-content-padding'
(5445,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(5670,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5671,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(5672,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5675,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(5676,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5718,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(5719,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5720,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5726,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5828,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(5829,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(5839,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(5840,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5859,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5866,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5885,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(5886,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5911,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(5941,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(5948,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(5974,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(5975,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(5982,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(5983,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(5986,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(5987,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(5990,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(5991,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(5994,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(5995,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(6005,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6014,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(6120,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6132,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6136,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(6139,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(6142,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6145,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(6157,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(6158,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(6190,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6193,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(6211,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6214,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6217,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(6220,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(6223,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6226,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(6231,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6274,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6285,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6288,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(6291,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(6294,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6297,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(6321,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(6324,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6334,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6335,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(6336,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(6347,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6348,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6355,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(6356,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6357,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6361,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6362,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6372,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(6376,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6380,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6411,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6412,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6417,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(6418,6): run-time error CSS1035: Expected colon, found '{'
(6435,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6439,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(6443,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(6447,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6451,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(6465,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6476,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(6477,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(6490,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6496,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(6497,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(6516,25): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(6529,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(6550,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(6551,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(6569,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6570,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(6583,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6590,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(6597,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6600,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(6603,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6730,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6731,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6813,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(6843,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(6844,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(6945,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(6946,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(6947,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(6971,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(6981,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(6991,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(6992,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(7086,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(7095,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(7122,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(7235,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(7256,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(7257,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(7264,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7348,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(7352,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(7353,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(7369,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(7375,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(7381,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7394,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(7403,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(7454,34): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(7472,58): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(7487,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(7527,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7528,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(7529,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(7537,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(7546,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(7547,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(7560,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(7566,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7570,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(7593,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7599,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(7603,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(7606,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(7609,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(7612,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(7621,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(7625,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7745,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(7746,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(7763,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(7764,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(7767,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(7768,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(7771,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(7772,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(7775,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(7776,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(7793,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(7799,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7889,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(7890,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(7894,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(7895,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(7899,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(7900,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(7904,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(7905,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(7909,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(7910,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(7929,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(7933,43): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(7933,71): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(7933,94): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(7939,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(7940,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(7994,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(7995,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(8005,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(8023,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(8087,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(8093,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(8106,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(8112,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(8223,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(8338,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(8340,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(8351,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(8358,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(8367,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(8379,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(8383,27): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(8393,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(8409,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(8419,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(8420,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(8604,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(8605,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(8608,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(8609,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(8612,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(8613,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(8616,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(8617,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(8625,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(8706,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(8717,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(8851,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(8852,28): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(8859,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(8879,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(8884,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(8892,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(8897,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(8910,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(8953,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(8962,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(8965,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(8966,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(8969,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(8978,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(8985,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(8995,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(8996,8): run-time error CSS1035: Expected colon, found '{'
(9113,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(9114,8): run-time error CSS1035: Expected colon, found '{'
(9124,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9129,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9145,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(9151,29): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9159,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(9244,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(9368,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9374,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(9378,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9383,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9388,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(9407,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(9451,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9454,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(9461,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(9607,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(9608,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9614,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(9616,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9634,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(9676,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(9690,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9696,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9712,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(9729,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(9730,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(9782,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(9783,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9797,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9802,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(9803,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(9807,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(9808,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-sm'
(9820,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9832,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(9892,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(9918,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(9919,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9924,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(9925,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(9942,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(9958,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(9971,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(9984,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10001,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10006,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10031,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10036,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10039,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10042,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10045,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10046,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10052,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10058,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10061,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10064,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10067,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10070,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10073,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10074,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(10087,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10088,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10100,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10101,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10103,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10114,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10135,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10139,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10140,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10147,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10148,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10150,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10154,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10155,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10158,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10160,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10163,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10166,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10318,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10320,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10321,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(10328,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10348,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10349,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10382,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10417,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10426,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10435,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10446,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10467,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10473,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10491,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10496,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10531,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10539,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10551,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10553,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10556,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-sm'
(10557,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10570,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10571,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10572,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(10578,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(10589,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10672,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10675,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10686,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(10687,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(10705,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10717,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10718,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10768,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(10774,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10814,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(10949,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10962,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10965,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10976,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(10984,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(10985,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(10986,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(10992,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11014,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11023,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11024,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11047,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11050,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11053,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11061,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11074,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11082,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11083,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11084,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11128,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11133,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11147,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11148,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11175,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11176,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11182,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11208,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11213,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11216,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(11217,6): run-time error CSS1035: Expected colon, found '{'
(11226,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11239,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11246,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11253,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11274,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(11287,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11291,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11348,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11357,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11358,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11373,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11379,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11383,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11480,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11481,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11504,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11515,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11516,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(11517,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11522,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11525,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11530,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11547,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11552,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11553,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11585,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11586,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(11587,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11592,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11595,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11610,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11679,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11680,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11681,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11687,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11688,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11689,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11728,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11729,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11731,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(11742,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(11743,8): run-time error CSS1035: Expected colon, found '{'
(11766,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11792,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11798,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11806,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(11818,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11819,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11820,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11830,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11845,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11847,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11853,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11854,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11875,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11877,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11883,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(11884,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(11916,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(11933,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(11934,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(11935,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(11956,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(11997,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(11998,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(12006,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(12007,8): run-time error CSS1035: Expected colon, found '{'
(12025,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12032,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(12036,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12055,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(12268,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(12276,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12277,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(12278,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(12365,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(12378,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(12386,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12387,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(12388,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(12403,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(12404,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(12406,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(12423,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(12424,8): run-time error CSS1035: Expected colon, found '{'
(12441,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12449,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(12467,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(12476,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(12485,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(12527,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(12528,6): run-time error CSS1035: Expected colon, found '{'
(12579,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(12580,8): run-time error CSS1035: Expected colon, found '{'
(12611,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(12612,8): run-time error CSS1035: Expected colon, found '{'
(12705,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(12711,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(12816,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(12838,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(12854,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(12873,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12874,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(12903,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12904,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(12955,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(12956,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(12957,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(12960,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(12961,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(12988,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(12989,6): run-time error CSS1035: Expected colon, found '{'
(13046,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13053,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(13094,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13108,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(13135,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13136,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13147,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13230,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(13233,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13251,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13252,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13253,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13363,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13364,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(13365,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13371,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13372,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13373,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13433,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(13434,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13436,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(13443,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(13444,8): run-time error CSS1035: Expected colon, found '{'
(13460,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13468,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13485,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13489,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(13520,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(13530,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13536,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13537,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(13554,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(13569,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13570,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13576,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13577,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13600,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13610,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13621,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13622,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13644,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13656,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13670,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(13697,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13699,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13705,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13706,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13722,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13723,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(13724,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13733,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(13748,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13749,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13755,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13756,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13773,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13777,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(13806,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(13807,6): run-time error CSS1035: Expected colon, found '{'
(13817,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13822,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13828,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13843,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13876,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13882,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13891,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(13899,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13902,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13942,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13948,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(13979,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(13980,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(13981,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(13987,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(13988,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14004,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(14005,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14007,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(14018,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14201,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(14202,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(14203,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14211,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(14218,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(14221,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(14227,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(14230,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(14236,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14241,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14249,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14265,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14276,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14296,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14299,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14305,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14306,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(14330,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14333,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(14336,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(14339,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(14343,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(14346,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(14364,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14369,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(14392,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-dark'
(14393,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(14409,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14440,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14447,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(14451,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(14454,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(14458,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(14461,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(14465,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(14468,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(14472,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(14475,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(14496,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14497,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14498,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(14503,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14504,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(14507,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(14556,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14571,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14594,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14609,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14615,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(14632,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(14633,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14635,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(14651,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14654,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14662,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(14666,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14671,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14679,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14699,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14714,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14723,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(14726,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-dark'
(14742,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14743,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(14748,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(14749,6): run-time error CSS1035: Expected colon, found '{'
(14829,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(14830,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(14831,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14837,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14841,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(14851,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14858,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14868,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(14879,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14880,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14884,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(14898,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(14899,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14901,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(14911,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14918,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14920,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(14924,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(14931,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14954,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(14964,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(14969,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(14973,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(14979,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(14987,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15001,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15007,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15015,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15025,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15031,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15035,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15052,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15053,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15068,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15069,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15076,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(15081,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15091,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15110,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15125,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(15126,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(15134,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15146,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15157,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(15160,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15161,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15177,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15178,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15193,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15194,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(15199,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(15209,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15214,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15217,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(15254,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15263,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(15282,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15284,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15288,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(15299,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15303,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(15309,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(15310,8): run-time error CSS1035: Expected colon, found '{'
(15378,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15379,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15386,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15387,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15414,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15415,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15442,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(15449,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15453,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15485,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(15486,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(15489,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(15490,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(15493,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(15494,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(15511,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15536,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15537,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15544,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15558,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(15565,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15569,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15619,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15632,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15633,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15647,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15648,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15663,53): run-time error CSS1030: Expected identifier, found ':'
(15663,61): run-time error CSS1031: Expected selector, found ')'
(15663,61): run-time error CSS1025: Expected comma or open brace, found ')'
(15668,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15684,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15685,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15712,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(15717,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15727,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(15729,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(15770,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(15780,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15782,53): run-time error CSS1030: Expected identifier, found ':'
(15782,61): run-time error CSS1031: Expected selector, found ')'
(15782,61): run-time error CSS1025: Expected comma or open brace, found ')'
(15786,76): run-time error CSS1030: Expected identifier, found ':'
(15786,84): run-time error CSS1031: Expected selector, found ')'
(15786,84): run-time error CSS1025: Expected comma or open brace, found ')'
(15790,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(15791,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15799,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(15808,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(15822,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(15823,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(15824,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-sm'
(15841,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(15851,96): run-time error CSS1030: Expected identifier, found ':'
(15851,97): run-time error CSS1030: Expected identifier, found 'checked'
(15851,104): run-time error CSS1031: Expected selector, found ')'
(15851,104): run-time error CSS1025: Expected comma or open brace, found ')'
(15899,95): run-time error CSS1030: Expected identifier, found ':'
(15899,103): run-time error CSS1031: Expected selector, found ')'
(15899,103): run-time error CSS1025: Expected comma or open brace, found ')'
(15936,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15964,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(15991,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(15995,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16000,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16006,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16063,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(16067,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(16071,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(16075,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(16094,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16127,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16156,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16168,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(16169,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16179,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16184,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16198,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16200,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(16213,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16218,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16257,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16268,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16269,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16326,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16341,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16347,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16360,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(16361,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16363,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(16374,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16390,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(16395,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16396,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16418,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16432,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16440,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16444,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16448,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16452,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16456,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16460,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16466,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16471,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16484,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16489,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(16512,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16513,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16519,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16533,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16544,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(16545,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16547,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(16556,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16578,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16581,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(16586,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16587,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16590,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16603,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16604,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16615,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16629,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16630,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16637,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16641,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16642,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16647,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16654,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16666,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(16667,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16673,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16674,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16688,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16704,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(16705,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16707,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(16714,32): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16723,32): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16731,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16741,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(16749,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16750,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16754,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16762,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16764,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(16769,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(16772,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16805,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(16806,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16810,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(16811,29): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16823,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(16827,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(16828,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16907,35): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16923,35): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16948,27): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16950,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(16955,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16959,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16964,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16971,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(16972,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(16976,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(16989,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(16993,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(16998,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary-dark'
(17002,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17016,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17017,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(17062,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(17063,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(17073,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(17075,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(17103,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(17112,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(17123,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17130,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(17141,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17144,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17147,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(17168,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17173,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(17174,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(17185,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17198,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(17204,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(17223,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(17226,16): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(17237,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(17252,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(17253,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(17283,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(17327,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17348,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(17350,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(17384,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(17387,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(17388,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(17394,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17410,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(17411,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(17418,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary-dark'
(17538,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17549,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17554,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17558,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17559,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17563,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17570,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17581,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17586,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17595,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(17604,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(17622,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17625,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17628,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-dark'
(17631,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(17656,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17668,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(17678,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-dark'
(17696,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-dark'
(17700,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17707,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17710,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(17715,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-dark'
(17719,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17741,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17744,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17747,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17769,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17773,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17781,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17789,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17801,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(17819,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(17822,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(17825,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(17829,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17843,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(17863,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(17918,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-bg'
(17919,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger-dark'
(17923,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(17926,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-bg'
(17927,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success-dark'
(17931,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(17934,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-bg'
(17935,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning-dark'
(17939,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-warning'
(17942,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(17943,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-dark'
(17947,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info'
(18098,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18103,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(18108,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18118,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(18120,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(18135,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(18138,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18155,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18157,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18171,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(18172,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18188,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18194,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18212,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18233,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18234,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18273,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18277,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(18280,43): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(18280,66): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18292,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18293,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18294,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18306,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18311,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(18312,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(18315,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-success'
(18319,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(18320,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(18324,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(18329,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(18330,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(18333,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-danger'
(18339,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(18357,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18362,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18368,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(18394,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(18395,8): run-time error CSS1035: Expected colon, found '{'
(18417,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(18439,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18440,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18446,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18451,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(18456,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18465,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18484,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-bg'
(18494,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-info-dark'
(18503,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(18766,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18767,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18779,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18780,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18793,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(18794,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(18800,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(18813,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18818,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(18819,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(18827,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(18836,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(18837,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(18887,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18892,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(18897,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(18902,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18918,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(18919,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18957,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(18965,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(18974,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(18986,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(18994,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(19007,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(19008,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(19027,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(19032,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(19039,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(19040,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(19041,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(19047,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(19056,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(19198,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(19199,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(19252,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(19258,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(19273,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(19278,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(19279,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(19308,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(19323,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(19324,8): run-time error CSS1035: Expected colon, found '{'
(19389,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(19509,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(19510,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(19827,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(19828,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(20027,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20033,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(20046,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(20047,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(20112,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20117,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(20128,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20129,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20138,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20139,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20163,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(20171,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20176,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(20180,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20181,6): run-time error CSS1035: Expected colon, found '{'
(20204,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(20257,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(20262,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20275,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(20280,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(20281,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20300,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(20301,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(20365,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(20379,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20384,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(20410,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(20411,32): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(20426,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(20431,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20432,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(20459,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(20479,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(20491,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(20496,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(20509,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(20510,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(20612,35): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(20628,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20629,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20630,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20631,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20632,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20633,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20634,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20635,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20636,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20639,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20640,8): run-time error CSS1035: Expected colon, found '{'
(20647,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20648,8): run-time error CSS1035: Expected colon, found '{'
(20656,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20656,61): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(20660,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20660,62): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-in'
(20663,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20664,8): run-time error CSS1035: Expected colon, found '{'
(20673,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20674,8): run-time error CSS1035: Expected colon, found '{'
(20684,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20684,62): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(20688,35): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20688,66): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-in'
(20691,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20692,8): run-time error CSS1035: Expected colon, found '{'
(20701,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20702,8): run-time error CSS1035: Expected colon, found '{'
(20712,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20712,64): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(20716,37): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20716,68): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-in'
(20719,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20720,8): run-time error CSS1035: Expected colon, found '{'
(20729,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20730,8): run-time error CSS1035: Expected colon, found '{'
(20740,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20740,64): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(20744,37): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20744,68): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-in'
(20747,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20748,8): run-time error CSS1035: Expected colon, found '{'
(20757,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20758,8): run-time error CSS1035: Expected colon, found '{'
(20768,34): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20768,65): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(20772,38): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20772,69): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-in'
(20775,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20776,8): run-time error CSS1035: Expected colon, found '{'
(20785,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20786,8): run-time error CSS1035: Expected colon, found '{'
(20795,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20796,8): run-time error CSS1035: Expected colon, found '{'
(20806,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20806,62): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(20810,32): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(20810,61): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-in'
(20814,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(20814,62): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-bounce'
(20817,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20818,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20833,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20834,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20841,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20842,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20850,37): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-spring'
(20861,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20862,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20876,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20877,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20891,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20892,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20899,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20900,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20907,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20908,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20930,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20931,8): run-time error CSS1035: Expected colon, found '{'
(20938,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20939,8): run-time error CSS1035: Expected colon, found '{'
(20954,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20955,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20987,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20988,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(20996,43): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(20996,71): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(20996,94): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(21028,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21029,8): run-time error CSS1035: Expected colon, found '{'
(21061,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21061,62): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21096,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21096,61): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21129,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21130,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21137,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21138,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21158,24): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21158,55): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-default'
(21162,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21162,55): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-default'
(21162,96): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21162,125): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-default'
(21162,162): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21162,191): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-default'
(21166,28): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21166,59): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-default'
(21170,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21170,61): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-default'
(21174,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21175,28): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21176,29): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21180,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21181,28): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21182,29): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21186,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21187,28): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-slow'
(21188,29): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-slow'
(21218,28): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-slow'
(21218,57): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21218,87): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-slow'
(21218,116): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21226,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21226,59): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21226,90): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21226,119): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21234,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-fast'
(21234,59): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21241,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-anim-duration-normal'
(21241,62): run-time error CSS1039: Token not allowed after unary operator: '-fl-ease-out'
(21263,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(21306,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21307,6): run-time error CSS1035: Expected colon, found '{'
(21342,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(21344,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(21376,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21377,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21394,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(21396,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(21431,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(21480,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21481,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21512,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21513,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21527,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21528,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21621,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(21622,27): run-time error CSS1039: Token not allowed after unary operator: '-item-padding'
(21661,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21662,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21700,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21701,8): run-time error CSS1035: Expected colon, found '{'
(21713,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(21735,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(21740,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21741,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21752,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(22073,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(22092,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(22173,17): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(22428,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(22432,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(22517,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(22589,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(22590,8): run-time error CSS1035: Expected colon, found '{'
(22601,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(22602,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(22613,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(22614,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(22625,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(22626,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(22640,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(22641,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(22652,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(22653,8): run-time error CSS1035: Expected colon, found '{'
(22703,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(22708,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(22709,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(22843,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(22861,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(22862,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(22873,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(24416,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(24420,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(24424,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(24460,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(24464,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(24468,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(24500,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(24508,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(24512,32): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(24516,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(24520,31): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25360,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25361,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25362,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25363,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25364,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25365,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25366,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25367,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25368,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25369,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25370,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25371,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25372,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25373,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25374,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25375,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25376,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25377,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25378,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25379,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25380,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25381,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25382,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25383,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25384,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25385,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25386,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25387,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25388,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25389,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25390,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25391,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25395,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25396,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25397,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25398,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25399,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25400,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25401,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25402,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25403,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25404,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25405,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25406,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25419,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25420,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(25431,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25472,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(25476,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(25480,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent'
(25485,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-accent-dark'
(25495,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-sm'
(25499,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow'
(25503,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(25511,23): run-time error CSS1039: Token not allowed after unary operator: '-fl-radius-sm'
(25515,23): run-time error CSS1039: Token not allowed after unary operator: '-fl-radius'
(25519,23): run-time error CSS1039: Token not allowed after unary operator: '-fl-radius-lg'
(25523,23): run-time error CSS1039: Token not allowed after unary operator: '-fl-radius-xl'
(25527,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(25531,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(25535,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(25640,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(25641,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25643,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(25648,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(25668,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(25669,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border-light'
(25679,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25680,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(25681,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25683,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(25692,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25699,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25700,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(25704,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(25707,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(25723,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(25728,30): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25732,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25739,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(25745,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25746,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25746,39): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25749,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25750,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(25751,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25751,39): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25751,56): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(25756,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(25762,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25763,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(25767,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(25787,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(25789,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25794,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(25795,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(25796,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25803,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(25804,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(25807,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(25809,22): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25831,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-muted'
(25835,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(25838,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(25841,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25854,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface'
(25855,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25857,20): run-time error CSS1039: Token not allowed after unary operator: '-fl-shadow-lg'
(25864,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(25865,33): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25871,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25879,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(25891,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-primary'
(25912,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(25913,6): run-time error CSS1035: Expected colon, found '{'
(25922,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25974,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-border'
(25978,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
(25985,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-secondary'
(25988,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-surface-hover'
(25995,15): run-time error CSS1039: Token not allowed after unary operator: '-fl-text-primary'
(25996,26): run-time error CSS1039: Token not allowed after unary operator: '-fl-background'
 */
@charset "UTF-8";
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.5rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn:focus, .btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.25);
}
.btn:disabled, .btn.disabled {
  opacity: 0.65;
  pointer-events: none;
}
.btn i, .btn svg, .btn [class*=fe-], .btn [class*=mdi-] {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}

.btn-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: 0.375rem;
}

.btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}

.btn-primary {
  color: #fff;
  background-color: #133B62;
  border-color: #133B62;
}
.btn-primary:hover {
  background-color: rgb(25.6256410256, 79.5743589744, 132.1743589744);
  border-color: rgb(25.6256410256, 79.5743589744, 132.1743589744);
}
.btn-primary:active {
  background-color: rgb(12.3743589744, 38.4256410256, 63.8256410256);
  border-color: rgb(12.3743589744, 38.4256410256, 63.8256410256);
}
.btn-primary:focus, .btn-primary:focus-visible {
  box-shadow: 0 0 0 3px rgba(19, 59, 98, 0.35);
}

.btn-secondary {
  color: #fff;
  background-color: #64748b;
  border-color: #64748b;
}
.btn-secondary:hover {
  background-color: #94a3b8;
  border-color: #94a3b8;
}
.btn-secondary:active {
  background-color: #475569;
  border-color: #475569;
}

.btn-success {
  color: #fff;
  background-color: #10b981;
  border-color: #10b981;
}
.btn-success:hover {
  background-color: #34d399;
  border-color: #34d399;
}
.btn-success:active {
  background-color: #059669;
  border-color: #059669;
}

.btn-danger {
  color: #fff;
  background-color: #ef4444;
  border-color: #ef4444;
}
.btn-danger:hover {
  background-color: #f87171;
  border-color: #f87171;
}
.btn-danger:active {
  background-color: #dc2626;
  border-color: #dc2626;
}

.btn-warning {
  color: #1e293b;
  background-color: #f59e0b;
  border-color: #f59e0b;
}
.btn-warning:hover {
  background-color: #fbbf24;
  border-color: #fbbf24;
}
.btn-warning:active {
  background-color: #d97706;
  border-color: #d97706;
}

.btn-info {
  color: #fff;
  background-color: #3b82f6;
  border-color: #3b82f6;
}
.btn-info:hover {
  background-color: #60a5fa;
  border-color: #60a5fa;
}
.btn-info:active {
  background-color: #2563eb;
  border-color: #2563eb;
}

.btn-light {
  color: #1e293b;
  background-color: #f1f5f9;
  border-color: #cbd5e1;
}
.btn-light:hover {
  background-color: #e2e8f0;
  border-color: #cbd5e1;
}
.btn-light:active {
  background-color: #cbd5e1;
  border-color: #94a3b8;
}

.btn-dark {
  color: #fff;
  background-color: #1e293b;
  border-color: #1e293b;
}
.btn-dark:hover {
  background-color: #334155;
  border-color: #334155;
}
.btn-dark:active {
  background-color: #0f172a;
  border-color: #0f172a;
}

.btn-outline-primary {
  color: #133B62;
  border-color: #133B62;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #133B62;
  border-color: #133B62;
}
.btn-outline-primary:focus {
  box-shadow: 0 0 0 3px rgba(19, 59, 98, 0.25);
}

.btn-outline-secondary {
  color: #64748b;
  border-color: #64748b;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-secondary:hover {
  color: #fff;
  background-color: #64748b;
  border-color: #64748b;
}

.btn-outline-success {
  color: #10b981;
  border-color: #10b981;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-success:hover {
  color: #fff;
  background-color: #10b981;
  border-color: #10b981;
}

.btn-outline-danger {
  color: #ef4444;
  border-color: #ef4444;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-danger:hover {
  color: #fff;
  background-color: #ef4444;
  border-color: #ef4444;
}

.btn-outline-warning {
  color: #d97706;
  border-color: #f59e0b;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-warning:hover {
  color: #1e293b;
  background-color: #f59e0b;
  border-color: #f59e0b;
}

.btn-outline-info {
  color: #3b82f6;
  border-color: #3b82f6;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-info:hover {
  color: #fff;
  background-color: #3b82f6;
  border-color: #3b82f6;
}

.btn-outline-dark {
  color: #1e293b;
  border-color: #1e293b;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-dark:hover {
  color: #fff;
  background-color: #1e293b;
  border-color: #1e293b;
}

.btn-outline-light {
  color: #1e293b;
  border-color: #cbd5e1;
  border-width: 1.5px;
  background-color: transparent;
}
.btn-outline-light:hover {
  color: #1e293b;
  background-color: #f1f5f9;
  border-color: #cbd5e1;
}

.btn-soft-primary {
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.1);
  border-color: transparent;
}
.btn-soft-primary:hover {
  color: #fff;
  background-color: #133B62;
}
.btn-soft-primary:active {
  color: #fff;
  background-color: rgb(12.3743589744, 38.4256410256, 63.8256410256);
}

.btn-soft-success {
  color: #059669;
  background-color: #ecfdf5;
  border-color: transparent;
}
.btn-soft-success:hover {
  color: #fff;
  background-color: #10b981;
}
.btn-soft-success:active {
  color: #fff;
  background-color: #059669;
}

.btn-soft-danger {
  color: #dc2626;
  background-color: #fef2f2;
  border-color: transparent;
}
.btn-soft-danger:hover {
  color: #fff;
  background-color: #ef4444;
}
.btn-soft-danger:active {
  color: #fff;
  background-color: #dc2626;
}

.btn-soft-warning {
  color: #d97706;
  background-color: #fffbeb;
  border-color: transparent;
}
.btn-soft-warning:hover {
  color: #1e293b;
  background-color: #f59e0b;
}
.btn-soft-warning:active {
  color: #1e293b;
  background-color: #d97706;
}

.btn-soft-info {
  color: #2563eb;
  background-color: #eff6ff;
  border-color: transparent;
}
.btn-soft-info:hover {
  color: #fff;
  background-color: #3b82f6;
}
.btn-soft-info:active {
  color: #fff;
  background-color: #2563eb;
}

.btn-link {
  color: #0891b2;
  text-decoration: none;
  background-color: transparent;
  border-color: transparent;
}
.btn-link:hover {
  color: #0e7490;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link:focus-visible {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.25);
}

.btn-ghost {
  color: #64748b;
  background-color: transparent;
  border-color: transparent;
}
.btn-ghost:hover {
  color: #1e293b;
  background-color: #f1f5f9;
}
.btn-ghost:active {
  color: #1e293b;
  background-color: #e2e8f0;
}

.btn-icon {
  padding: 0.5rem;
  aspect-ratio: 1;
}
.btn-icon.btn-sm {
  padding: 0.375rem;
}
.btn-icon.btn-lg {
  padding: 0.75rem;
}

.btn-group .btn:not(:first-child) {
  margin-left: -1px;
}
.btn-group .btn:first-child:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group .btn:last-child:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.btn-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.btn-actions.btn-actions-end {
  justify-content: flex-end;
}
.btn-actions.btn-actions-center {
  justify-content: center;
}

[data-bs-theme=dark] .btn-light {
  color: #f1f5f9;
  background-color: #334155;
  border-color: #475569;
}
[data-bs-theme=dark] .btn-light:hover {
  background-color: #475569;
  border-color: #64748b;
}
[data-bs-theme=dark] .btn-ghost:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .btn-soft-primary {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .btn-soft-success {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .btn-soft-danger {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .btn-soft-warning {
  color: #fbbf24;
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .btn-soft-info {
  color: #60a5fa;
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .btn-outline-dark {
  color: #f1f5f9;
  border-color: #334155;
}
[data-bs-theme=dark] .btn-outline-dark:hover {
  color: #fff;
  background-color: #475569;
  border-color: #475569;
}
[data-bs-theme=dark] .btn-outline-light {
  color: #f1f5f9;
  border-color: #334155;
}
[data-bs-theme=dark] .btn-outline-light:hover {
  background-color: #334155;
  border-color: #334155;
}

.form-label {
  font-weight: 500;
  font-size: 0.8125rem;
  color: #64748b;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.form-label.required::after,
label.required::after {
  content: " *";
  color: #ef4444;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #1e293b;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #cbd5e1;
  border-radius: 0.5rem;
  appearance: none;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control::placeholder {
  color: #94a3b8;
  opacity: 1;
}
.form-control:focus {
  color: #1e293b;
  background-color: #ffffff;
  border-color: #0891b2;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.form-control:disabled, .form-control[readonly] {
  background-color: #f8fafc;
  color: #94a3b8;
  opacity: 1;
  cursor: not-allowed;
}
.form-control.form-control-sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: 0.375rem;
}
.form-control.form-control-lg {
  padding: 0.75rem 1rem;
  font-size: 1.125rem;
  border-radius: 0.5rem;
}

textarea.form-control {
  min-height: calc(4.8em + 1rem + 2px);
  resize: vertical;
}

.form-select {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  padding-right: 2.5rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #1e293b;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 0.5rem;
  appearance: none;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-select:focus {
  border-color: #0891b2;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.form-select:disabled {
  background-color: #f8fafc;
  color: #94a3b8;
  cursor: not-allowed;
}
.form-select.form-select-sm {
  padding: 0.375rem 0.75rem;
  padding-right: 2rem;
  font-size: 0.8125rem;
  border-radius: 0.375rem;
}
.form-select.form-select-lg {
  padding: 0.75rem 1rem;
  padding-right: 3rem;
  font-size: 1.125rem;
  border-radius: 0.5rem;
}

.form-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 1.5rem;
  padding-left: 0.75rem;
  margin-bottom: 0.25rem;
}

.form-check-input {
  width: 1.125em;
  height: 1.125em;
  margin-top: 0;
  flex-shrink: 0;
  background-color: #ffffff;
  border: 2px solid #cbd5e1;
  appearance: none;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:focus {
  border-color: #0891b2;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.form-check-input:checked {
  background-color: #133B62;
  border-color: #133B62;
}
.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 75%;
}
.form-check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

.form-check-label {
  color: #1e293b;
  cursor: pointer;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  width: 2.5em;
  height: 1.375em;
  margin-top: 0.125em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2394a3b8'/%3e%3c/svg%3e");
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
.form-switch .form-check-input:checked {
  background-position: right center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-check-inline {
  display: inline-flex;
  align-items: center;
  margin-right: 1.5rem;
  padding: 0.375rem 0;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:not(:first-child),
.input-group > .form-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-control:not(:last-child),
.input-group > .form-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #64748b;
  text-align: center;
  white-space: nowrap;
  background-color: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 0.5rem;
}
.input-group-text:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
}
.input-group-text:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0;
}

.input-group-append {
  display: flex;
}
.input-group-append .btn {
  padding: 0.5rem 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .form-control + .input-group-append,
.input-group > .form-select + .input-group-append {
  margin-left: -1px;
}

.form-text {
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  color: #94a3b8;
}

.is-valid {
  border-color: #10b981 !important;
}
.is-valid:focus {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
}

.is-invalid {
  border-color: #ef4444 !important;
}
.is-invalid:focus {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  color: #10b981;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  color: #ef4444;
}

.was-validated .form-control:valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-feedback,
.was-validated .form-control:invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-feedback {
  display: block;
}

.form-group {
  margin-bottom: 1rem;
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-select {
  height: calc(3.5rem + 2px);
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-select::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-select:focus,
.form-floating > .form-select:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select:focus ~ label,
.form-floating > .form-select:not(:placeholder-shown) ~ label {
  opacity: 0.75;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  padding: 1rem 0.75rem;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
  color: #94a3b8;
}

.e-input-group,
.e-control-wrapper {
  border-radius: 0.5rem !important;
  overflow: hidden;
  display: flex !important;
  align-items: center !important;
}
.e-input-group .e-input-group-icon:last-child,
.e-control-wrapper .e-input-group-icon:last-child {
  border-top-right-radius: 0.5rem !important;
  border-bottom-right-radius: 0.5rem !important;
}
.e-input-group .e-input-group-icon:first-child,
.e-control-wrapper .e-input-group-icon:first-child {
  border-top-left-radius: 0.5rem !important;
  border-bottom-left-radius: 0.5rem !important;
}
.e-input-group input.e-input,
.e-input-group .e-input,
.e-control-wrapper input.e-input,
.e-control-wrapper .e-input {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.9375rem !important;
  padding: 0.5rem 0.75rem !important;
  height: auto !important;
  line-height: 1.6 !important;
  flex: 1 1 auto !important;
}
.e-input-group.e-input-focus,
.e-control-wrapper.e-input-focus {
  border-color: #0891b2 !important;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1) !important;
}

.e-multiselect .e-multi-select-wrapper input.e-input,
.e-multiselect .e-multi-select-wrapper input.e-input:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

.e-ddl.e-input-group.e-control-wrapper,
.e-dropdownlist.e-input-group.e-control-wrapper {
  border-radius: 0.5rem !important;
}
.e-ddl.e-input-group.e-control-wrapper .e-input-group-icon.e-ddl-icon,
.e-dropdownlist.e-input-group.e-control-wrapper .e-input-group-icon.e-ddl-icon {
  border-top-right-radius: calc(0.5rem - 1px) !important;
  border-bottom-right-radius: calc(0.5rem - 1px) !important;
}

.e-dropdownbase,
.e-ddl {
  border-radius: 0.5rem !important;
}

.e-container.e-color-picker .e-input-group,
.e-container.e-color-picker .e-control-wrapper {
  border-radius: 0 !important;
  overflow: visible;
  display: inline-block !important;
  align-items: initial !important;
}
.e-container.e-color-picker .e-input-group input.e-input,
.e-container.e-color-picker .e-control-wrapper input.e-input {
  padding: 0 !important;
  height: 30px !important;
  line-height: normal !important;
}

.card-filter-check {
  display: flex;
  justify-content: center;
  margin-bottom: 0;
  padding: 0.5rem 0.75rem;
  border: 1px solid #cbd5e1;
  border-radius: 0.5rem;
  min-height: calc(0.5rem * 2 + 0.9375rem * 1.6 + 1px * 2);
}
.card-filter-check > .form-check {
  margin-bottom: 0;
}

[data-bs-theme=dark] .form-control,
[data-bs-theme=dark] .form-select {
  background-color: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .form-control::placeholder,
[data-bs-theme=dark] .form-select::placeholder {
  color: #64748b;
}
[data-bs-theme=dark] .form-control:focus,
[data-bs-theme=dark] .form-select:focus {
  background-color: #1e293b;
  border-color: #0891b2;
}
[data-bs-theme=dark] .form-control:disabled, [data-bs-theme=dark] .form-control[readonly],
[data-bs-theme=dark] .form-select:disabled,
[data-bs-theme=dark] .form-select[readonly] {
  background-color: #334155;
  color: #64748b;
}
[data-bs-theme=dark] .form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .form-check-input {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .form-check-label {
  color: #f1f5f9;
}
[data-bs-theme=dark] .card-filter-check {
  border-color: #334155;
  background-color: #1e293b;
}
[data-bs-theme=dark] .input-group-text {
  background-color: #334155;
  border-color: #334155;
  color: #94a3b8;
}
[data-bs-theme=dark] .form-text {
  color: #64748b;
}
[data-bs-theme=dark] .form-label {
  color: #94a3b8;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #ffffff;
  background-clip: border-box;
  border: 1px solid #cbd5e1;
  border-radius: 0.75rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.15s ease-in-out;
}

.card-hover:hover,
.card.card-hover:hover {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

a.card,
.card-link {
  text-decoration: none;
  color: inherit;
}
a.card:hover,
.card-link:hover {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.card-body {
  flex: 1 1 auto;
  padding: 1.5rem 1.5rem;
  color: #1e293b;
}

.card-header {
  padding: 1rem 1.5rem;
  margin-bottom: 0;
  background-color: transparent;
  border-bottom: 1px solid #f1f5f9;
  font-weight: 600;
  font-size: 1rem;
  color: #1e293b;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.card-header:first-child {
  border-radius: calc(0.75rem - 1px) calc(0.75rem - 1px) 0 0;
}
.card-header .card-title {
  margin-bottom: 0;
  font-weight: 600;
}
.card-header .card-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.card-footer {
  padding: 1rem 1.5rem;
  background-color: #f8fafc;
  border-top: 1px solid #f1f5f9;
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.75rem - 1px) calc(0.75rem - 1px);
}

.card-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.card-subtitle {
  font-size: 0.8125rem;
  color: #64748b;
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.card-title + .card-subtitle {
  margin-top: -0.25rem;
}

.card-text {
  color: #64748b;
}
.card-text:last-child {
  margin-bottom: 0;
}

.card-link {
  color: #0891b2;
}
.card-link:hover {
  color: #0e7490;
}
.card-link + .card-link {
  margin-left: 1rem;
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
  object-fit: cover;
}

.card-img-top {
  border-top-left-radius: calc(0.75rem - 1px);
  border-top-right-radius: calc(0.75rem - 1px);
}

.card-img-bottom {
  border-bottom-left-radius: calc(0.75rem - 1px);
  border-bottom-right-radius: calc(0.75rem - 1px);
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.5rem 1.5rem;
  border-radius: calc(0.75rem - 1px);
}

.card-group {
  display: flex;
  flex-flow: row wrap;
}
.card-group > .card {
  flex: 1 0 0%;
  margin-bottom: 0;
}
.card-group > .card + .card {
  margin-left: 0;
  border-left: 0;
}
.card-group > .card:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.card-group > .card:not(:first-child) .card-img-top,
.card-group > .card:not(:first-child) .card-header {
  border-top-left-radius: 0;
}
.card-group > .card:not(:first-child) .card-img-bottom,
.card-group > .card:not(:first-child) .card-footer {
  border-bottom-left-radius: 0;
}
.card-group > .card:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.card-group > .card:not(:last-child) .card-img-top,
.card-group > .card:not(:last-child) .card-header {
  border-top-right-radius: 0;
}
.card-group > .card:not(:last-child) .card-img-bottom,
.card-group > .card:not(:last-child) .card-footer {
  border-bottom-right-radius: 0;
}

.card-primary {
  border-left: 4px solid #133B62;
}

.card-success {
  border-left: 4px solid #10b981;
}

.card-warning {
  border-left: 4px solid #f59e0b;
}

.card-danger {
  border-left: 4px solid #ef4444;
}

.card-info {
  border-left: 4px solid #3b82f6;
}

.card-stat .card-body {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.card-stat .card-stat-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  flex-shrink: 0;
}
.card-stat .card-stat-icon i, .card-stat .card-stat-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}
.card-stat .card-stat-icon.bg-primary {
  background-color: rgba(19, 59, 98, 0.1);
  color: #133B62;
}
.card-stat .card-stat-icon.bg-success {
  background-color: #ecfdf5;
  color: #10b981;
}
.card-stat .card-stat-icon.bg-warning {
  background-color: #fffbeb;
  color: #f59e0b;
}
.card-stat .card-stat-icon.bg-danger {
  background-color: #fef2f2;
  color: #ef4444;
}
.card-stat .card-stat-icon.bg-info {
  background-color: #eff6ff;
  color: #3b82f6;
}
.card-stat .card-stat-content {
  flex: 1;
  min-width: 0;
}
.card-stat .card-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.2;
}
.card-stat .card-stat-label {
  font-size: 0.8125rem;
  color: #64748b;
  margin-top: 0.25rem;
}
.card-stat .card-stat-change {
  font-size: 0.8125rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.card-stat .card-stat-change.positive {
  color: #10b981;
}
.card-stat .card-stat-change.negative {
  color: #ef4444;
}

.card-header[data-bs-toggle=collapse] {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-header[data-bs-toggle=collapse]::after {
  content: "+";
  font-size: 1.25rem;
  font-weight: 300;
  color: #94a3b8;
  transition: transform 0.2s ease;
  flex-shrink: 0;
  margin-left: auto;
}
.card-header[data-bs-toggle=collapse]:not(.collapsed)::after, .card-header[data-bs-toggle=collapse][aria-expanded=true]::after {
  content: "−";
}

.card-collapsible .card-header {
  cursor: pointer;
}
.card-collapsible .card-header::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.2s ease;
}
.card-collapsible .card-header[aria-expanded=false]::after {
  transform: rotate(-90deg);
}
.card-collapsible .card-body.collapse:not(.show) {
  display: none;
}

.card-table .card-body {
  padding: 0;
}
.card-table .table {
  margin-bottom: 0;
  border-radius: 0;
}
.card-table .table thead th:first-child {
  border-top-left-radius: 0;
}
.card-table .table thead th:last-child {
  border-top-right-radius: 0;
}
.card-table .table tbody tr:last-child td {
  border-bottom: 0;
}

.card-compact .card-body {
  padding: 1rem;
}
.card-compact .card-header,
.card-compact .card-footer {
  padding: 0.75rem 1rem;
}

.card-stretch {
  height: 100%;
}

.tab-content {
  border-radius: 0.375rem;
}

[data-bs-theme=dark] .card {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .card-header {
  border-bottom-color: #475569;
  color: #f1f5f9;
}
[data-bs-theme=dark] .card-footer {
  background-color: #334155;
  border-top-color: #475569;
}
[data-bs-theme=dark] .card-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .card-subtitle,
[data-bs-theme=dark] .card-text {
  color: #94a3b8;
}
[data-bs-theme=dark] .card-stat .card-stat-value {
  color: #f1f5f9;
}
[data-bs-theme=dark] .card-stat .card-stat-label {
  color: #94a3b8;
}
[data-bs-theme=dark] .card-stat .card-stat-icon.bg-primary {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .card-stat .card-stat-icon.bg-success {
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .card-stat .card-stat-icon.bg-warning {
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .card-stat .card-stat-icon.bg-danger {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .card-stat .card-stat-icon.bg-info {
  background-color: rgba(59, 130, 246, 0.15);
}

.table {
  --bs-table-bg: #ffffff;
  --bs-table-striped-bg: #f8fafc;
  --bs-table-hover-bg: #f1f5f9;
  --bs-table-border-color: #cbd5e1;
  width: 100%;
  margin-bottom: 1rem;
  color: #1e293b;
  vertical-align: middle;
  border-color: var(--bs-table-border-color);
}
.table.table-rounded {
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--bs-table-border-color);
}
.table.table-rounded th:first-child {
  border-top-left-radius: calc(0.75rem - 1px);
}
.table.table-rounded th:last-child {
  border-top-right-radius: calc(0.75rem - 1px);
}
.table > :not(caption) > * > * {
  padding: 1rem 1rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: none;
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table > thead th {
  background-color: #f8fafc;
  border-bottom: 2px solid var(--bs-table-border-color);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: #64748b;
  white-space: nowrap;
  padding: 1rem 1rem;
}
.table > thead th.sorting, .table > thead th.sorting_asc, .table > thead th.sorting_desc {
  cursor: pointer;
  position: relative;
  padding-right: 1.75rem;
}
.table > thead th.sorting::after, .table > thead th.sorting_asc::after, .table > thead th.sorting_desc::after {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.3;
}
.table > thead th.sorting:hover::after, .table > thead th.sorting_asc:hover::after, .table > thead th.sorting_desc:hover::after {
  opacity: 0.7;
}
.table > thead th.sorting_asc::after, .table > thead th.sorting_desc::after {
  opacity: 1;
}

.table > tbody tr {
  transition: background-color 0.1s ease;
}
.table > tbody tr:last-child > td {
  border-bottom: 0;
}
.table > tbody td {
  padding: 1rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--bs-table-border-color);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: var(--bs-table-striped-bg);
}

.table-hover > tbody > tr:hover > * {
  background-color: var(--bs-table-hover-bg);
}

.table-bordered > :not(caption) > * {
  border-width: 1px 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 1px;
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}

.table-sm > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
}
.table-sm > thead th {
  padding: 0.75rem 0.5rem;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive::-webkit-scrollbar {
  height: 6px;
}
.table-responsive::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 3px;
}
.table-responsive::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 3px;
}
.table-responsive::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

.table-actions {
  white-space: nowrap;
  text-align: right;
  width: 1%;
}
.table-actions .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
}
.table-actions .btn + .btn {
  margin-left: 0.25rem;
}

.table-status {
  white-space: nowrap;
}
.table-status .badge {
  font-size: 0.6875rem;
  padding: 0.35em 0.65em;
}

.table-select {
  width: 1%;
  padding-right: 0 !important;
}
.table-select .form-check {
  margin: 0;
  min-height: 0;
}

.dataTables_wrapper {
  padding-top: 0;
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
  margin-bottom: 1rem;
}
.dataTables_wrapper .dataTables_length label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0;
  font-weight: 400;
  color: #64748b;
}
.dataTables_wrapper .dataTables_length select {
  width: auto;
  padding: 0.375rem 2rem 0.375rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: 0.375rem;
}
.dataTables_wrapper .dataTables_filter label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0;
  font-weight: 400;
  color: #64748b;
}
.dataTables_wrapper .dataTables_filter input {
  margin-left: 0 !important;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: 0.5rem;
  border: 1px solid #cbd5e1;
  min-width: 200px;
}
.dataTables_wrapper .dataTables_filter input:focus {
  border-color: #0891b2;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.dataTables_wrapper .dataTables_info {
  padding-top: 1rem;
  color: #64748b;
  font-size: 0.8125rem;
}
.dataTables_wrapper .dataTables_paginate {
  padding-top: 1rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  padding: 0.375rem 0.75rem;
  margin-left: 0.25rem;
  border-radius: 0.375rem;
  border: 1px solid transparent;
  color: #64748b !important;
  background: transparent;
  font-size: 0.8125rem;
  transition: all 0.15s ease;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.disabled):not(.current) {
  color: #133B62 !important;
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  color: #fff !important;
  background: #133B62 !important;
  border-color: #133B62 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  color: #94a3b8 !important;
  cursor: not-allowed;
  opacity: 0.5;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous, .dataTables_wrapper .dataTables_paginate .paginate_button.next {
  font-weight: 500;
}
.dataTables_wrapper .dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 40px;
  margin-left: -50%;
  margin-top: -25px;
  padding-top: 20px;
  text-align: center;
  font-size: 0.8125rem;
  color: #64748b;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
}
.dataTables_wrapper .dataTables_empty {
  padding: 2rem 1rem;
  text-align: center;
  color: #94a3b8;
  font-style: italic;
}

.table tbody tr.group,
.table tbody tr.dtrg-group {
  background-color: #f8fafc !important;
}
.table tbody tr.group td,
.table tbody tr.dtrg-group td {
  font-weight: 600;
  color: #1e293b;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #cbd5e1;
}

.table tbody tr.child {
  background-color: #f8fafc;
}
.table tbody tr.child td {
  padding: 1rem;
}
.table tbody tr.child ul.dtr-details {
  list-style: none;
  padding: 0;
  margin: 0;
}
.table tbody tr.child ul.dtr-details li {
  padding: 0.5rem 0;
  border-bottom: 1px solid #f1f5f9;
  display: flex;
  gap: 0.5rem;
}
.table tbody tr.child ul.dtr-details li:last-child {
  border-bottom: 0;
}
.table tbody tr.child ul.dtr-details li .dtr-title {
  font-weight: 500;
  color: #64748b;
  min-width: 120px;
}
.table tbody tr.child ul.dtr-details li .dtr-data {
  color: #1e293b;
}

.table tbody tr.selected {
  background-color: rgba(19, 59, 98, 0.08) !important;
}
.table tbody tr.selected > td {
  background-color: transparent;
}

.table-primary {
  --bs-table-bg: rgba($fl-primary, 0.1);
}

.table-success {
  --bs-table-bg: #ecfdf5;
}

.table-warning {
  --bs-table-bg: #fffbeb;
}

.table-danger {
  --bs-table-bg: #fef2f2;
}

.table-info {
  --bs-table-bg: #eff6ff;
}

.table-data {
  font-size: 0.8125rem;
}
.table-data th {
  text-transform: none;
  font-size: 0.8125rem;
  letter-spacing: normal;
  color: #64748b;
  font-weight: 500;
  width: 35%;
  padding-right: 1rem;
}
.table-data td {
  color: #1e293b;
}

[data-bs-theme=dark] .table {
  --bs-table-bg: #1e293b;
  --bs-table-striped-bg: rgba(255, 255, 255, 0.025);
  --bs-table-hover-bg: #334155;
  --bs-table-border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .table > thead th {
  background-color: #334155;
  color: #94a3b8;
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .table tbody tr.selected {
  background-color: rgba(19, 59, 98, 0.15) !important;
}
[data-bs-theme=dark] .table tbody tr.group td,
[data-bs-theme=dark] .table tbody tr.dtrg-group td {
  background-color: #334155 !important;
  color: #f1f5f9;
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .table tbody tr.child {
  background-color: #334155;
}
[data-bs-theme=dark] .table tbody tr.child ul.dtr-details li {
  border-bottom-color: #475569;
}
[data-bs-theme=dark] .table tbody tr.child ul.dtr-details li .dtr-title {
  color: #94a3b8;
}
[data-bs-theme=dark] .table tbody tr.child ul.dtr-details li .dtr-data {
  color: #f1f5f9;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_length label,
[data-bs-theme=dark] .dataTables_wrapper .dataTables_filter label,
[data-bs-theme=dark] .dataTables_wrapper .dataTables_info {
  color: #94a3b8;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_filter input {
  background-color: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_filter input:focus {
  border-color: #0891b2;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_length select {
  background-color: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button {
  color: #94a3b8 !important;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.disabled):not(.current) {
  background: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_processing {
  background: linear-gradient(to right, rgba(30, 41, 59, 0) 0%, rgba(30, 41, 59, 0.9) 25%, rgba(30, 41, 59, 0.9) 75%, rgba(30, 41, 59, 0) 100%);
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_empty {
  color: #64748b;
}
[data-bs-theme=dark] .table-data th {
  color: #94a3b8;
}
[data-bs-theme=dark] .table-data td {
  color: #f1f5f9;
}

:root {
  --fl-sidebar-width: 260px;
  --fl-sidebar-collapsed-width: 70px;
  --fl-topbar-height: 64px;
  --fl-content-padding: 1.5rem;
  --fl-sidebar-bg: linear-gradient(180deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
}

[data-bs-theme=dark] {
  --fl-sidebar-bg: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
}

#wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.content-page {
  margin-left: var(--fl-sidebar-width);
  min-height: calc(100vh - var(--fl-topbar-height));
  display: flex;
  flex-direction: column;
  transition: margin-left 0.25s ease-in-out;
  background-color: var(--fl-background);
}

html[data-sidebar-size=condensed] .content-page,
#wrapper.enlarged .content-page {
  margin-left: var(--fl-sidebar-collapsed-width);
}

.content-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.content {
  flex: 1;
  padding: var(--fl-content-padding);
}
.content .container-fluid {
  max-width: 100%;
  padding: 0;
}

.page-title-box {
  padding: 1rem 0 1rem 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--fl-border);
}
.page-title-box .container-fluid {
  padding: 0;
}
.page-title-box .page-title {
  font-size: 1.625rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.page-title-box .page-subtitle {
  font-size: 0.875rem;
  color: var(--fl-text-secondary);
  margin-top: 0.25rem;
}

.page-title-box .breadcrumb {
  margin-bottom: 0.375rem;
  background: transparent;
  padding: 0;
}

.page-content-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fl-content-padding);
}
.page-content-row .page-content-main {
  flex: 1;
  min-width: 0;
}
.page-content-row .page-content-sidebar {
  width: 320px;
  flex-shrink: 0;
}

.layout-two-column {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--fl-content-padding);
}
@media (max-width: 991.98px) {
  .layout-two-column {
    grid-template-columns: 1fr;
  }
}

.grid-row {
  display: grid;
  gap: var(--fl-content-padding);
}
.grid-row.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767.98px) {
  .grid-row.grid-2 {
    grid-template-columns: 1fr;
  }
}
.grid-row.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 991.98px) {
  .grid-row.grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575.98px) {
  .grid-row.grid-3 {
    grid-template-columns: 1fr;
  }
}
.grid-row.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991.98px) {
  .grid-row.grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575.98px) {
  .grid-row.grid-4 {
    grid-template-columns: 1fr;
  }
}
.grid-row.grid-auto {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.section {
  margin-bottom: var(--fl-content-padding);
}
.section:last-child {
  margin-bottom: 0;
}

.section-sm {
  margin-bottom: 1rem;
}

.section-lg {
  margin-bottom: 2rem;
}

.content-section {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  overflow: hidden;
}
.content-section .section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--fl-border-light);
  background: var(--fl-background);
}
.content-section .section-header .section-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.content-section .section-header .section-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.content-section .section-body {
  padding: 1.5rem;
}
.content-section .section-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--fl-border-light);
  background: var(--fl-background);
}

.card-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--fl-content-padding);
}

.card-deck {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--fl-content-padding);
}
.card-deck > .card {
  margin: 0;
}

.sticky-top {
  position: sticky;
  top: calc(var(--fl-topbar-height) + var(--fl-content-padding));
  z-index: 100;
}

.sticky-actions {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem 1.5rem;
  background: var(--fl-surface);
  border-top: 1px solid var(--fl-border);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  z-index: 100;
}

.content-full-width {
  margin-left: calc(var(--fl-content-padding) * -1);
  margin-right: calc(var(--fl-content-padding) * -1);
}
.content-full-width:first-child {
  margin-top: calc(var(--fl-content-padding) * -1);
}

.content-centered {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.content-narrow {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.content-wide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.footer {
  padding: 1rem var(--fl-content-padding);
  background: var(--fl-surface);
  border-top: 1px solid var(--fl-border);
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  text-align: center;
  margin-top: auto;
}

.sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  z-index: 999;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.sidebar-overlay.show {
  opacity: 1;
  visibility: visible;
}

[data-bs-theme=dark] .content-page {
  background-color: #0f172a;
}
[data-bs-theme=dark] .content-section {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .content-section .section-header,
[data-bs-theme=dark] .content-section .section-footer {
  background: #0f172a;
  border-color: #475569;
}
[data-bs-theme=dark] .page-title-box {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .sticky-actions {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .footer {
  background: #1e293b;
  border-color: #334155;
  color: #64748b;
}

@media (max-width: 991.98px) {
  :root {
    --fl-content-padding: 1rem;
  }
  .content-page {
    margin-left: 0;
  }
  .page-content-row {
    flex-direction: column;
  }
  .page-content-row .page-content-sidebar {
    width: 100%;
  }
  .sidebar-open .sidebar-overlay {
    opacity: 1;
    visibility: visible;
  }
  .sidebar-open .left-side-menu {
    transform: translateX(0);
  }
}
@media (max-width: 575.98px) {
  :root {
    --fl-content-padding: 0.75rem;
  }
  .page-title-box .page-title {
    font-size: 1.25rem;
  }
  .content-section .section-header,
  .content-section .section-body,
  .content-section .section-footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media print {
  .left-side-menu,
  .navbar-custom,
  .footer,
  .sticky-actions,
  .button-menu-mobile {
    display: none !important;
  }
  .content-page {
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
  .content {
    padding: 0 !important;
  }
}
.left-side-menu {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--fl-sidebar-width);
  z-index: 1000;
  background: linear-gradient(180deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
  transition: width 0.25s ease-in-out, transform 0.25s ease-in-out;
  overflow: hidden;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.1);
}

.logo-box {
  height: var(--fl-topbar-height);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  margin-bottom: 0.5rem;
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  z-index: 1;
}
.logo-box .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.logo-box .logo:hover {
  opacity: 0.9;
}
.logo-box .logo img {
  max-height: 45px;
  width: auto;
  object-fit: contain;
}
.logo-box .logo.logo-dark {
  display: flex;
}
.logo-box .logo.logo-light {
  display: none;
}
.logo-box .logo-sm {
  display: none;
}
.logo-box .logo-lg {
  display: block;
}

.left-side-menu .h-100 {
  height: calc(100% - var(--fl-topbar-height)) !important;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 2rem;
}
.left-side-menu .h-100::-webkit-scrollbar {
  width: 4px;
}
.left-side-menu .h-100::-webkit-scrollbar-track {
  background: transparent;
}
.left-side-menu .h-100::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}
.left-side-menu .h-100::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

#sidebar-menu {
  padding: 1rem 0;
}
#sidebar-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#sidebar-menu #side-menu {
  padding: 0 0.75rem;
}

#sidebar-menu ul li {
  position: relative;
  margin: 0.125rem 0;
}
#sidebar-menu ul li > a {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background-color 0.15s ease, color 0.15s ease;
  position: relative;
  overflow: hidden;
}
#sidebar-menu ul li > a i {
  width: 20px;
  min-width: 20px;
  font-size: 1.125rem;
  margin-right: 0.75rem;
  opacity: 0.8;
  transition: opacity 0.15s ease;
}
#sidebar-menu ul li > a span {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#sidebar-menu ul li > a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}
#sidebar-menu ul li > a:hover i {
  opacity: 1;
}
#sidebar-menu ul li > a.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
}
#sidebar-menu ul li > a.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: #0891b2;
  border-radius: 0 3px 3px 0;
}
#sidebar-menu ul li > a.active i {
  opacity: 1;
  color: #22d3ee;
}

.menu-arrow {
  display: inline-block;
  font-family: "themify" !important;
  font-size: 0.625rem;
  margin-left: auto;
  transition: transform 0.25s ease;
  opacity: 0.6;
}
.menu-arrow::before {
  content: "\e649";
}

#sidebar-menu ul li.active > a > .menu-arrow,
#sidebar-menu ul li[aria-expanded=true] > a > .menu-arrow {
  transform: rotate(90deg);
}

#sidebar-menu ul ul,
.nav-second-level {
  padding-left: 0.5rem;
  margin-top: 0.25rem;
}
#sidebar-menu ul ul li,
.nav-second-level li {
  margin: 0.125rem 0;
}
#sidebar-menu ul ul li a,
.nav-second-level li a {
  padding: 0.5rem 1rem 0.5rem 2.5rem;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.6);
  position: relative;
}
#sidebar-menu ul ul li a:hover,
.nav-second-level li a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}
#sidebar-menu ul ul li a.active,
.nav-second-level li a.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}
#sidebar-menu ul ul li a i,
.nav-second-level li a i {
  font-size: 0.875rem;
  margin-right: 0.5rem;
}

.collapse:not(.show) {
  display: none;
}

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

#sidebar-menu ul li.has_sub_with_link {
  position: relative;
}
#sidebar-menu ul li.has_sub_with_link > a:first-child {
  padding-right: 2.5rem;
}
#sidebar-menu ul li.has_sub_with_link > a.submenu-toggle {
  position: absolute;
  right: 5px;
  top: 0;
  width: 40px;
  height: 46.39px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 0;
  background: transparent;
  border-radius: 0 0.5rem 0.5rem 0;
}
#sidebar-menu ul li.has_sub_with_link > a.submenu-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: none;
}
#sidebar-menu ul li.has_sub_with_link > a.submenu-toggle .menu-arrow {
  margin: 0;
}
#sidebar-menu ul li.has_sub_with_link.active > a.submenu-toggle .menu-arrow {
  transform: rotate(90deg);
}
#sidebar-menu ul li.has_sub_with_link > ul {
  display: none;
}
#sidebar-menu ul li.has_sub_with_link.active > ul {
  display: block;
}

html[data-sidebar-size=condensed] .left-side-menu,
#wrapper.enlarged .left-side-menu {
  width: 70px;
}
html[data-sidebar-size=condensed] .left-side-menu .logo-box .logo-sm,
#wrapper.enlarged .left-side-menu .logo-box .logo-sm {
  display: block;
}
html[data-sidebar-size=condensed] .left-side-menu .logo-box .logo-lg,
#wrapper.enlarged .left-side-menu .logo-box .logo-lg {
  display: none;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu ul li > a,
#wrapper.enlarged .left-side-menu #sidebar-menu ul li > a {
  justify-content: center;
  padding: 0.75rem;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu ul li > a span,
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu ul li > a .menu-arrow,
#wrapper.enlarged .left-side-menu #sidebar-menu ul li > a span,
#wrapper.enlarged .left-side-menu #sidebar-menu ul li > a .menu-arrow {
  display: none;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu ul li > a i,
#wrapper.enlarged .left-side-menu #sidebar-menu ul li > a i {
  margin-right: 0;
  font-size: 1.25rem;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu ul li:hover > ul,
#wrapper.enlarged .left-side-menu #sidebar-menu ul li:hover > ul {
  display: block;
  position: absolute;
  left: 70px;
  top: 0;
  min-width: 200px;
  background: rgb(12.3743589744, 38.4256410256, 63.8256410256);
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  padding: 0.5rem 0;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu ul li:hover > ul li a,
#wrapper.enlarged .left-side-menu #sidebar-menu ul li:hover > ul li a {
  padding-left: 1rem;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu ul li:hover > ul li a::before,
#wrapper.enlarged .left-side-menu #sidebar-menu ul li:hover > ul li a::before {
  display: none;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu .nav-second-level,
#wrapper.enlarged .left-side-menu #sidebar-menu .nav-second-level {
  display: none !important;
}
html[data-sidebar-size=condensed] .left-side-menu #sidebar-menu .nav-second-level li a,
#wrapper.enlarged .left-side-menu #sidebar-menu .nav-second-level li a {
  padding-left: 1rem;
}
html[data-sidebar-size=condensed] .left-side-menu .has_sub_with_link > a.submenu-toggle,
#wrapper.enlarged .left-side-menu .has_sub_with_link > a.submenu-toggle {
  display: none;
}
html[data-sidebar-size=condensed] .content-page,
#wrapper.enlarged .content-page {
  margin-left: 70px;
}

[data-bs-theme=dark] .left-side-menu {
  background: linear-gradient(180deg, rgb(12.3743589744, 38.4256410256, 63.8256410256) 0%, rgb(7.4051282051, 22.9948717949, 38.1948717949) 100%);
  border-right: 1px solid rgb(9.0615384615, 28.1384615385, 46.7384615385);
}
[data-bs-theme=dark] .left-side-menu .logo-box {
  background: transparent;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-bs-theme=dark] .left-side-menu .logo-box .logo.logo-light {
  display: flex;
}
[data-bs-theme=dark] .left-side-menu .logo-box .logo.logo-dark {
  display: none;
}
[data-bs-theme=dark] .left-side-menu #sidebar-menu ul li > a {
  color: #94a3b8;
}
[data-bs-theme=dark] .left-side-menu #sidebar-menu ul li > a:hover {
  color: #f1f5f9;
  background: rgba(255, 255, 255, 0.05);
}
[data-bs-theme=dark] .left-side-menu #sidebar-menu ul li > a.active {
  color: #f1f5f9;
  background: rgba(255, 255, 255, 0.08);
}
[data-bs-theme=dark] .left-side-menu .nav-second-level li a {
  color: #64748b;
}
[data-bs-theme=dark] .left-side-menu .nav-second-level li a:hover, [data-bs-theme=dark] .left-side-menu .nav-second-level li a.active {
  color: #f1f5f9;
}

@media (max-width: 991.98px) {
  .left-side-menu {
    transform: translateX(-100%);
  }
  .left-side-menu.show, .left-side-menu.sidebar-open {
    transform: translateX(0);
  }
  .content-page {
    margin-left: 0 !important;
  }
}
.navbar-custom {
  position: fixed;
  top: 0;
  right: 0;
  left: var(--fl-sidebar-width);
  height: var(--fl-topbar-height);
  z-index: 1010;
  background-color: var(--fl-surface);
  border-bottom: 1px solid var(--fl-border);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: left 0.25s ease-in-out;
}
.navbar-custom .container-fluid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 1.5rem;
}

html[data-sidebar-size=condensed] .navbar-custom,
#wrapper.enlarged .navbar-custom {
  left: 70px;
}

.topnav-menu-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.button-menu-mobile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 1.25rem;
  line-height: 1;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.button-menu-mobile:hover {
  background: rgba(255, 255, 255, 0.1);
}
.button-menu-mobile:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}

.navbar-custom .logo-box {
  display: none;
  height: var(--fl-topbar-height);
  padding: 0 1rem;
  background: transparent;
  border: none;
}
.navbar-custom .logo-box .logo {
  display: flex;
  align-items: center;
}
.navbar-custom .logo-box .logo img {
  max-height: 36px;
  width: auto;
}

.topnav-menu {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.topnav-menu > li {
  display: flex;
  align-items: center;
}
.topnav-menu .nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  font-size: 1.125rem;
  line-height: 1;
  border-radius: 0.5rem;
  transition: all 0.15s ease;
  cursor: pointer;
  position: relative;
}
.topnav-menu .nav-link:hover {
  background: rgba(255, 255, 255, 0.1);
}
.topnav-menu .nav-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.topnav-menu .d-none {
  display: none !important;
}
@media (min-width: 992px) {
  .topnav-menu .d-lg-inline-block {
    display: inline-block !important;
  }
}

.notification-list {
  position: relative;
}
.notification-list .noti-icon {
  font-size: 1.25rem;
  transition: color 0.15s ease;
}
.notification-list .noti-icon-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  color: #fff;
  background-color: #ef4444;
  border-radius: 50rem;
}
.notification-list .noti-icon-badge:empty {
  display: none;
}
.notification-list:hover .noti-icon {
  opacity: 0.85;
}

.notification-list .dropdown-menu {
  min-width: 425px;
  max-width: 100%;
  padding: 0;
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.notification-list .dropdown-menu .noti-title {
  padding: 1rem;
  background: var(--fl-background);
  border-bottom: 1px solid var(--fl-border);
  width: 100% !important;
}
.notification-list .dropdown-menu .noti-title .d-flex {
  width: 100%;
}
.notification-list .dropdown-menu .noti-title h5 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.notification-list .dropdown-menu .noti-scroll {
  max-height: 350px;
  overflow-y: auto;
}
.notification-list .dropdown-menu .noti-scroll::-webkit-scrollbar {
  width: 4px;
}
.notification-list .dropdown-menu .noti-scroll::-webkit-scrollbar-thumb {
  background: var(--fl-border);
  border-radius: 4px;
}
.notification-list .dropdown-menu .notify-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--fl-border-light);
  transition: background-color 0.15s ease;
}
.notification-list .dropdown-menu .notify-item:hover {
  background: var(--fl-surface-hover);
}
.notification-list .dropdown-menu .notify-item:last-child {
  border-bottom: none;
}
.notification-list .dropdown-menu .notify-item .notify-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.notification-list .dropdown-menu .notify-item .notify-details {
  flex: 1;
  min-width: 0;
  margin: 0;
}
.notification-list .dropdown-menu .notify-item .notify-details .notify-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.notification-list .dropdown-menu .notify-item .notify-details .notify-text {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.notification-list .dropdown-menu .notify-item .notify-details .notify-time {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  margin-top: 0.25rem;
}
.notification-list .dropdown-menu .dropdown-item.text-center {
  padding: 0.75rem 1rem;
  font-weight: 500;
  background: var(--fl-background);
  border-radius: 0 0 calc(0.75rem - 1px) calc(0.75rem - 1px);
  width: 100% !important;
  text-align: center !important;
  justify-content: center;
}

.topbar-dropdown .nav-user {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  width: auto;
  height: auto;
}
.topbar-dropdown .nav-user img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--fl-border);
}
.topbar-dropdown .nav-user .pro-user-name {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  color: inherit;
  max-width: 300px;
  white-space: nowrap;
}
.topbar-dropdown .nav-user .pro-user-name .pro-user-text {
  overflow: hidden;
  text-overflow: ellipsis;
}
.topbar-dropdown .nav-user .pro-user-name i {
  flex-shrink: 0;
  font-size: 0.75rem;
  margin-left: 0.25rem;
  opacity: 0.6;
}
.topbar-dropdown .profile-dropdown {
  min-width: 200px;
  padding: 0.5rem 0;
}
.topbar-dropdown .profile-dropdown .noti-title {
  padding: 0.5rem 1rem;
  background: transparent;
  border-bottom: 1px solid var(--fl-border-light);
}
.topbar-dropdown .profile-dropdown .noti-title h5 {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.topbar-dropdown .profile-dropdown .notify-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  color: var(--fl-text-primary);
  font-size: 0.875rem;
  transition: background-color 0.15s ease;
  border: none;
}
.topbar-dropdown .profile-dropdown .notify-item:hover {
  background: var(--fl-surface-hover);
}
.topbar-dropdown .profile-dropdown .notify-item i {
  width: 1rem;
  text-align: center;
  color: var(--fl-text-secondary);
}

@media (max-width: 767.98px) {
  .pro-user-name {
    display: none;
  }
}
[data-bs-toggle=fullscreen] .fe-maximize {
  display: block;
}
[data-bs-toggle=fullscreen] .fe-minimize {
  display: none;
}
[data-bs-toggle=fullscreen].active .fe-maximize {
  display: none;
}
[data-bs-toggle=fullscreen].active .fe-minimize {
  display: block;
}

.topbar-search {
  display: none;
  flex: 1;
  max-width: 400px;
  margin: 0 1rem;
}
.topbar-search .search-input {
  width: 100%;
  height: 40px;
  padding: 0 1rem 0 2.5rem;
  border: 1px solid var(--fl-border);
  border-radius: 50rem;
  background: var(--fl-background);
  color: var(--fl-text-primary);
  font-size: 0.875rem;
  transition: all 0.15s ease;
}
.topbar-search .search-input::placeholder {
  color: var(--fl-text-muted);
}
.topbar-search .search-input:focus {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.topbar-search .search-icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}

[data-bs-theme=dark] .navbar-custom {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .notification-list .dropdown-menu {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .notification-list .dropdown-menu .noti-title {
  background: #0f172a;
  border-color: #334155;
}
[data-bs-theme=dark] .notification-list .dropdown-menu .notify-item {
  border-color: #475569;
}
[data-bs-theme=dark] .notification-list .dropdown-menu .notify-item:hover {
  background: #334155;
}
[data-bs-theme=dark] .topbar-dropdown .nav-user img {
  border-color: #334155;
}
[data-bs-theme=dark] .topbar-dropdown .pro-user-name {
  color: inherit;
}
[data-bs-theme=dark] .topbar-dropdown .profile-dropdown {
  background: #1e293b;
}
[data-bs-theme=dark] .topbar-dropdown .profile-dropdown .notify-item {
  color: #f1f5f9;
}
[data-bs-theme=dark] .topbar-dropdown .profile-dropdown .notify-item:hover {
  background: #334155;
}
[data-bs-theme=dark] .topbar-dropdown .profile-dropdown .notify-item i {
  color: #94a3b8;
}

@media (max-width: 991.98px) {
  .navbar-custom {
    left: 0;
  }
  .navbar-custom .container-fluid {
    padding: 0 1rem;
  }
  .navbar-custom .logo-box {
    display: flex;
  }
  .topbar-dropdown .nav-user {
    padding: 0.375rem;
  }
  .topbar-dropdown .nav-user img {
    width: 32px;
    height: 32px;
  }
}
@media (max-width: 575.98px) {
  .notification-list .dropdown-menu {
    position: fixed !important;
    left: 0.5rem !important;
    right: 0.5rem !important;
    width: auto;
    min-width: auto;
    max-width: calc(100vw - 1rem);
    transform: none !important;
  }
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0;
  margin-bottom: 0;
  list-style: none;
  background-color: transparent;
  font-size: 0.8125rem;
}

.breadcrumb-item {
  display: inline-flex;
  align-items: center;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: var(--fl-text-muted);
  content: "/";
  font-size: 0.875em;
}
.breadcrumb-item a {
  color: var(--fl-text-secondary);
  text-decoration: none;
  transition: color 0.15s ease;
}
.breadcrumb-item a:hover {
  color: var(--fl-primary);
  text-decoration: none;
}
.breadcrumb-item a i {
  margin-right: 0.375rem;
  font-size: 1em;
}
.breadcrumb-item.active {
  color: var(--fl-text-primary);
  font-weight: 500;
}
.breadcrumb-item.active.page-title {
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--fl-text-primary);
  display: block;
  width: 100%;
  padding-top: 0.25rem;
  padding-left: 0;
}
.breadcrumb-item.active.page-title::before {
  display: none;
}

.breadcrumb-icon .breadcrumb-item a {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.breadcrumb-icon .breadcrumb-item a i, .breadcrumb-icon .breadcrumb-item a svg {
  font-size: 0.875rem;
  opacity: 0.7;
}
.breadcrumb-icon .breadcrumb-item:first-child a i {
  font-size: 1rem;
}

.breadcrumb-chevron .breadcrumb-item + .breadcrumb-item::before {
  content: "\e649";
  font-family: "themify" !important;
  font-size: 0.625rem;
  color: var(--fl-text-muted);
  opacity: 0.6;
}

.breadcrumb-arrow .breadcrumb-item + .breadcrumb-item::before {
  content: "→";
  font-size: 0.75rem;
}

.breadcrumb-dot .breadcrumb-item + .breadcrumb-item::before {
  content: "•";
  font-size: 0.5rem;
  vertical-align: middle;
}

.breadcrumb-sm {
  font-size: 0.75rem;
}
.breadcrumb-sm .breadcrumb-item + .breadcrumb-item {
  padding-left: 0.375rem;
}
.breadcrumb-sm .breadcrumb-item + .breadcrumb-item::before {
  padding-right: 0.375rem;
}

.page-title-box .breadcrumb {
  margin-bottom: 0.5rem;
}

.page-header-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.page-header-breadcrumb .breadcrumb {
  margin-bottom: 0;
}
.page-header-breadcrumb .page-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.breadcrumb-wrapper {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}
.breadcrumb-wrapper .breadcrumb {
  margin-bottom: 0;
}

.breadcrumb-collapse .breadcrumb-item {
  max-width: 200px;
}
.breadcrumb-collapse .breadcrumb-item a {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
.breadcrumb-collapse .breadcrumb-ellipsis {
  padding: 0.125rem 0.375rem;
  background: var(--fl-surface-hover);
  border-radius: 0.375rem;
  cursor: pointer;
}
.breadcrumb-collapse .breadcrumb-ellipsis:hover {
  background: var(--fl-primary);
  color: #fff;
}

.breadcrumb-dropdown .breadcrumb-item.dropdown a.dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.breadcrumb-dropdown .breadcrumb-item.dropdown a.dropdown-toggle::after {
  display: none;
}
.breadcrumb-dropdown .breadcrumb-item.dropdown a.dropdown-toggle .dropdown-indicator {
  font-size: 0.625rem;
  opacity: 0.6;
  transition: transform 0.15s ease;
}
.breadcrumb-dropdown .breadcrumb-item.dropdown a.dropdown-toggle[aria-expanded=true] .dropdown-indicator {
  transform: rotate(180deg);
}
.breadcrumb-dropdown .breadcrumb-item .dropdown-menu {
  min-width: 180px;
  padding: 0.5rem 0;
}
.breadcrumb-dropdown .breadcrumb-item .dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
}
.breadcrumb-dropdown .breadcrumb-item .dropdown-menu .dropdown-item.active {
  font-weight: 500;
}

.breadcrumb-animated .breadcrumb-item {
  opacity: 0;
  animation: breadcrumbFadeIn 0.3s ease forwards;
}
.breadcrumb-animated .breadcrumb-item:nth-child(1) {
  animation-delay: 0.05s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(2) {
  animation-delay: 0.1s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(3) {
  animation-delay: 0.15s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(4) {
  animation-delay: 0.2s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(5) {
  animation-delay: 0.25s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(6) {
  animation-delay: 0.3s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(7) {
  animation-delay: 0.35s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(8) {
  animation-delay: 0.4s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(9) {
  animation-delay: 0.45s;
}
.breadcrumb-animated .breadcrumb-item:nth-child(10) {
  animation-delay: 0.5s;
}

@keyframes breadcrumbFadeIn {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
[data-bs-theme=dark] .breadcrumb-item + .breadcrumb-item::before {
  color: #64748b;
}
[data-bs-theme=dark] .breadcrumb-item a {
  color: #94a3b8;
}
[data-bs-theme=dark] .breadcrumb-item a:hover {
  color: #0891b2;
}
[data-bs-theme=dark] .breadcrumb-item.active {
  color: #f1f5f9;
}
[data-bs-theme=dark] .breadcrumb-wrapper {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .breadcrumb-ellipsis {
  background: #334155;
}
[data-bs-theme=dark] .breadcrumb-ellipsis:hover {
  background: #133B62;
}

@media (max-width: 575.98px) {
  .breadcrumb {
    font-size: 0.75rem;
  }
  .breadcrumb-item + .breadcrumb-item {
    padding-left: 0.375rem;
  }
  .breadcrumb-item + .breadcrumb-item::before {
    padding-right: 0.375rem;
  }
  .breadcrumb-collapse-mobile .breadcrumb-item:not(:first-child):not(:last-child):not(:nth-last-child(2)) {
    display: none;
  }
  .breadcrumb-collapse-mobile .breadcrumb-item:nth-last-child(2)::before {
    content: "...";
  }
  .page-header-breadcrumb {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (prefers-reduced-motion: reduce) {
  .breadcrumb-animated .breadcrumb-item {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.button-menu-mobile {
  display: none;
}
@media (max-width: 991.98px) {
  .button-menu-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border: none;
    background: transparent;
    color: var(--fl-text-primary);
    cursor: pointer;
    border-radius: 0.5rem;
    transition: background-color 0.15s ease;
  }
  .button-menu-mobile:hover, .button-menu-mobile:focus {
    background: var(--fl-surface-hover);
    outline: none;
  }
  .button-menu-mobile i {
    font-size: 1.375rem;
  }
}

.hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 22px;
  height: 22px;
  cursor: pointer;
}
.hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.hamburger span:nth-child(1) {
  margin-bottom: 5px;
}
.hamburger span:nth-child(3) {
  margin-top: 5px;
}
.hamburger.active span:nth-child(1), .sidebar-open .hamburger span:nth-child(1), .sidebar-enable .hamburger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger.active span:nth-child(2), .sidebar-open .hamburger span:nth-child(2), .sidebar-enable .hamburger span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3), .sidebar-open .hamburger span:nth-child(3), .sidebar-enable .hamburger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 991.98px) {
  .left-side-menu {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 280px;
    max-width: 85vw;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    z-index: 1010;
  }
  .left-side-menu.show, .sidebar-open .left-side-menu, .sidebar-enable .left-side-menu {
    transform: translateX(0);
  }
  body.sidebar-open {
    overflow: hidden;
  }
  body.sidebar-open::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1005;
    opacity: 1;
    animation: fadeIn 0.2s ease;
  }
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .navbar-custom {
    left: 0;
  }
  .navbar-custom .logo-box {
    display: flex;
    order: 2;
    flex: 1;
    justify-content: center;
  }
  .navbar-custom .logo-box img {
    max-height: 32px;
  }
  .navbar-custom .topnav-menu-left {
    order: 1;
  }
  .navbar-custom .topnav-menu {
    order: 3;
  }
  .content-page {
    margin-left: 0;
    margin-top: var(--fl-topbar-height);
  }
}
@media (max-width: 991.98px) {
  #sidebar-menu ul li > a {
    min-height: 44px;
    padding: 0.875rem 1rem;
  }
  #sidebar-menu ul li > a i {
    font-size: 1.25rem;
  }
  .nav-second-level li a {
    min-height: 44px;
    padding: 0.75rem 1rem 0.75rem 3rem;
  }
  .has_sub_with_link > a.submenu-toggle {
    min-width: 44px;
  }
}
.sidebar-close {
  display: none;
}
@media (max-width: 991.98px) {
  .sidebar-close {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 44px;
    height: 44px;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.8);
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.15s ease;
    z-index: 10;
  }
  .sidebar-close:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
  }
  .sidebar-close i {
    font-size: 1.25rem;
  }
}

@media (max-width: 991.98px) {
  .swipe-edge {
    position: fixed;
    top: var(--fl-topbar-height);
    left: 0;
    bottom: 0;
    width: 20px;
    z-index: 999;
  }
}
@media (max-width: 575.98px) {
  .navbar-custom .dropdown-menu,
  .topnav-menu .dropdown-menu {
    position: fixed !important;
    left: 0.5rem !important;
    right: 0.5rem !important;
    width: auto !important;
    min-width: auto !important;
    transform: none !important;
  }
  .navbar-custom .dropdown-menu.dropdown-menu-end,
  .topnav-menu .dropdown-menu.dropdown-menu-end {
    right: 0.5rem !important;
    left: 0.5rem !important;
  }
  .notification-list .dropdown-menu {
    max-height: 60vh;
  }
  .profile-dropdown {
    left: 0.5rem !important;
    right: 0.5rem !important;
  }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  .navbar-custom .container-fluid {
    padding: 0 1.25rem;
  }
  .left-side-menu {
    width: 260px;
    max-width: 300px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .left-side-menu .logo-box {
    height: 50px;
  }
  .left-side-menu .logo-box img {
    max-height: 32px;
  }
  .left-side-menu #sidebar-menu ul li > a {
    padding: 0.5rem 1rem;
    min-height: 40px;
  }
  .left-side-menu .nav-second-level li a {
    padding: 0.375rem 1rem 0.375rem 3rem;
    min-height: 36px;
  }
  .navbar-custom {
    height: 50px;
  }
  .content-page {
    margin-top: 50px;
  }
}
@media (max-width: 991.98px) {
  .skip-to-content {
    position: absolute;
    top: -100%;
    left: 0;
    padding: 0.5rem 1rem;
    background: var(--fl-primary);
    color: #fff;
    z-index: 1055;
    transition: top 0.2s ease;
  }
  .skip-to-content:focus {
    top: 0;
  }
  .button-menu-mobile:focus-visible,
  .sidebar-close:focus-visible,
  #sidebar-menu ul li > a:focus-visible {
    outline: 2px solid #0891b2;
    outline-offset: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .left-side-menu,
  .hamburger span,
  .button-menu-mobile,
  .sidebar-close {
    transition: none !important;
  }
  body.sidebar-open::before {
    animation: none !important;
  }
}
@media (max-width: 991.98px) {
  [data-bs-theme=dark] .sidebar-close {
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
  }
  [data-bs-theme=dark] .sidebar-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #f1f5f9;
  }
  [data-bs-theme=dark] body.sidebar-open::before {
    background: rgba(0, 0, 0, 0.7);
  }
}

.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: var(--fl-text-secondary);
  font-size: 1.125rem;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.theme-toggle:hover {
  background: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.theme-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.theme-toggle .theme-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, opacity 0.2s ease;
}
.theme-toggle .icon-sun {
  position: absolute;
  opacity: 1;
  transform: rotate(0deg) scale(1);
}
.theme-toggle .icon-moon {
  position: absolute;
  opacity: 0;
  transform: rotate(-90deg) scale(0);
}

[data-bs-theme=dark] .theme-toggle .icon-sun {
  opacity: 0;
  transform: rotate(90deg) scale(0);
}
[data-bs-theme=dark] .theme-toggle .icon-moon {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.theme-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
.theme-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.theme-switch input:checked + .switch-track {
  background: #334155;
}
.theme-switch input:checked + .switch-track .switch-thumb {
  transform: translateX(22px);
  background: #0f172a;
}
.theme-switch input:checked + .switch-track .switch-thumb::before {
  content: "\e8a0";
  color: #0891b2;
}
.theme-switch input:focus-visible + .switch-track {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}
.theme-switch .switch-track {
  width: 50px;
  height: 28px;
  background: #e2e8f0;
  border-radius: 28px;
  transition: background-color 0.25s ease;
  position: relative;
}
.theme-switch .switch-thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  transition: transform 0.25s ease, background-color 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.theme-switch .switch-thumb::before {
  content: "\e83a";
  font-family: "feather" !important;
  font-size: 0.75rem;
  color: #f59e0b;
}
.theme-switch .switch-label {
  margin-left: 0.75rem;
  font-size: 0.875rem;
  color: var(--fl-text-secondary);
}

.theme-dropdown .dropdown-menu {
  min-width: 160px;
  padding: 0.5rem;
}
.theme-dropdown .theme-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.theme-dropdown .theme-option:hover {
  background: var(--fl-surface-hover);
}
.theme-dropdown .theme-option.active {
  background: var(--fl-primary);
  color: #fff;
}
.theme-dropdown .theme-option.active .theme-option-icon {
  color: inherit;
}
.theme-dropdown .theme-option .theme-option-icon {
  font-size: 1rem;
  color: var(--fl-text-muted);
}
.theme-dropdown .theme-option .theme-option-label {
  font-size: 0.875rem;
  font-weight: 500;
}

.theme-transition {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--fl-background);
  z-index: 1155;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}
.theme-transition.transitioning {
  opacity: 1;
  visibility: visible;
}

html {
  transition: background-color 0.15s ease;
}

html.theme-transitioning, html.theme-transitioning * {
  transition-duration: 0s !important;
}

body,
.navbar-custom,
.left-side-menu,
.content-page,
.card,
.modal-content,
.dropdown-menu,
.form-control,
.table {
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.system-theme-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  background: var(--fl-surface-hover);
  border-radius: 50rem;
}
.system-theme-indicator i {
  font-size: 0.875rem;
}

.topnav-menu .theme-toggle {
  order: -1;
  margin-right: 0.25rem;
}
@media (max-width: 767.98px) {
  .topnav-menu .theme-toggle {
    width: 36px;
    height: 36px;
  }
}

.theme-selector {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.theme-selector .theme-card {
  flex: 1;
  min-width: 140px;
  max-width: 200px;
  padding: 1rem;
  border: 2px solid var(--fl-border);
  border-radius: 0.75rem;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s ease;
}
.theme-selector .theme-card:hover {
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.theme-selector .theme-card.active {
  border-color: #133B62;
  background: rgba(19, 59, 98, 0.05);
}
.theme-selector .theme-card.active .theme-card-check {
  opacity: 1;
}
.theme-selector .theme-card .theme-card-preview {
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
  overflow: hidden;
}
.theme-selector .theme-card .theme-card-preview.preview-light {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border: 1px solid #e2e8f0;
}
.theme-selector .theme-card .theme-card-preview.preview-dark {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  border: 1px solid #334155;
}
.theme-selector .theme-card .theme-card-preview.preview-auto {
  background: linear-gradient(135deg, #f8fafc 0%, #f8fafc 50%, #1e293b 50%, #0f172a 100%);
  border: 1px solid #94a3b8;
}
.theme-selector .theme-card .theme-card-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--fl-text-primary);
}
.theme-selector .theme-card .theme-card-desc {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  margin-top: 0.25rem;
}
.theme-selector .theme-card .theme-card-check {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 20px;
  height: 20px;
  background: #133B62;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  opacity: 0;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle .theme-icon,
  .theme-switch .switch-thumb,
  .theme-transition,
  html,
  body,
  .navbar-custom,
  .left-side-menu,
  .card {
    transition: none !important;
  }
}
[data-bs-theme=dark] .theme-switch .switch-track {
  background: #475569;
}
[data-bs-theme=dark] .theme-switch .switch-thumb {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
[data-bs-theme=dark] .theme-selector .theme-card {
  border-color: #334155;
}
[data-bs-theme=dark] .theme-selector .theme-card.active {
  background: rgba(19, 59, 98, 0.1);
}
[data-bs-theme=dark] .theme-selector .theme-card:hover {
  border-color: #0891b2;
}
[data-bs-theme=dark] .system-theme-indicator {
  background: #334155;
  color: #64748b;
}

.page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--fl-border);
}
.page-header.page-header-borderless {
  border-bottom: none;
  padding-bottom: 0;
}
.page-header.page-header-compact {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
}

.page-header-content {
  flex: 1;
  min-width: 0;
}

.page-header-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}
.page-header-title .page-header-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: rgba(19, 59, 98, 0.1);
  color: var(--fl-primary);
  flex-shrink: 0;
}
.page-header-title .page-header-icon i, .page-header-title .page-header-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.page-header-title .page-header-icon.icon-success {
  background: var(--fl-success-bg);
  color: var(--fl-success);
}
.page-header-title .page-header-icon.icon-warning {
  background: var(--fl-warning-bg);
  color: var(--fl-warning);
}
.page-header-title .page-header-icon.icon-danger {
  background: var(--fl-danger-bg);
  color: var(--fl-danger);
}
.page-header-title .page-header-icon.icon-info {
  background: var(--fl-info-bg);
  color: var(--fl-info);
}
.page-header-title h1, .page-header-title h2, .page-header-title h3, .page-header-title .h1, .page-header-title .h2, .page-header-title .h3 {
  font-size: 1.625rem;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.4px;
  margin: 0;
  line-height: 1.3;
}

.page-header-description {
  font-size: 0.9375rem;
  color: var(--fl-text-secondary);
  margin: 0.25rem 0 0;
  max-width: 600px;
}
.page-header-description p {
  margin: 0;
}

.page-header-subtitle {
  font-size: 0.9375rem;
  color: #6B7280;
  margin: 0.5rem 0 0;
  line-height: 1.5;
  font-weight: 400;
}
.page-header-subtitle p {
  margin: 0;
}

.page-header-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.page-header-meta .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.page-header-meta .meta-item i, .page-header-meta .meta-item svg {
  width: 0.875rem;
  height: 0.875rem;
  opacity: 0.7;
}
.page-header-meta .meta-separator {
  color: var(--fl-border);
}

.page-header-badge,
.status-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.875rem;
  border-radius: 50px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  text-transform: capitalize;
  transition: all 0.2s ease;
}
.page-header-badge i, .page-header-badge svg,
.status-badge-pill i,
.status-badge-pill svg {
  width: 0.875rem;
  height: 0.875rem;
}
.page-header-badge.badge-success,
.status-badge-pill.badge-success {
  background: #ECFDF5;
  color: #059669;
  border: 1px solid #A7F3D0;
}
.page-header-badge.badge-warning,
.status-badge-pill.badge-warning {
  background: #FFFBEB;
  color: #D97706;
  border: 1px solid #FDE68A;
}
.page-header-badge.badge-danger,
.status-badge-pill.badge-danger {
  background: #FEF2F2;
  color: #DC2626;
  border: 1px solid #FECACA;
}
.page-header-badge.badge-info,
.status-badge-pill.badge-info {
  background: #EFF6FF;
  color: #2563EB;
  border: 1px solid #BFDBFE;
}
.page-header-badge.badge-primary,
.status-badge-pill.badge-primary {
  background: rgba(19, 59, 98, 0.1);
  color: #133B62;
  border: 1px solid rgba(19, 59, 98, 0.3);
}
.page-header-badge.badge-secondary,
.status-badge-pill.badge-secondary {
  background: #F3F4F6;
  color: #6B7280;
  border: 1px solid #D1D5DB;
}

.page-title-box .breadcrumb-item.page-title > .badge,
.page-title-box .page-title .badge {
  border-radius: 50px;
}

.page-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.page-header-actions > * {
  flex-shrink: 0;
}

.page-header-action-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.page-header-action-group.separated {
  padding-left: 0.75rem;
  border-left: 1px solid var(--fl-border);
}

.page-header-breadcrumb {
  margin-bottom: 0.5rem;
}
.page-header-breadcrumb .breadcrumb {
  margin-bottom: 0;
  padding: 0;
  background: transparent;
  font-size: 0.8125rem;
}

.page-header-lg {
  padding: 1.5rem 0;
  margin-bottom: 2rem;
}
.page-header-lg .page-header-title h1, .page-header-lg .page-header-title h2, .page-header-lg .page-header-title .h1, .page-header-lg .page-header-title .h2 {
  font-size: 1.75rem;
}
.page-header-lg .page-header-title .page-header-icon {
  width: 3rem;
  height: 3rem;
}
.page-header-lg .page-header-title .page-header-icon i, .page-header-lg .page-header-title .page-header-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}
.page-header-lg .page-header-description {
  font-size: 1rem;
  margin-top: 0.5rem;
}

.page-header-sm {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
}
.page-header-sm .page-header-title h1, .page-header-sm .page-header-title h2, .page-header-sm .page-header-title h3, .page-header-sm .page-header-title .h1, .page-header-sm .page-header-title .h2, .page-header-sm .page-header-title .h3 {
  font-size: 1.125rem;
}
.page-header-sm .page-header-title .page-header-icon {
  width: 2rem;
  height: 2rem;
}
.page-header-sm .page-header-title .page-header-icon i, .page-header-sm .page-header-title .page-header-icon svg {
  width: 1rem;
  height: 1rem;
}
.page-header-sm .page-header-description {
  font-size: 0.8125rem;
}

.page-header-filled {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: var(--fl-shadow-sm);
}
.page-header-filled.page-header-borderless {
  border-bottom: 1px solid var(--fl-border);
}

.page-header-primary {
  background: linear-gradient(135deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
  border-color: transparent;
}
.page-header-primary .page-header-title h1,
.page-header-primary .page-header-title h2,
.page-header-primary .page-header-title h3,
.page-header-primary .page-header-description,
.page-header-primary .breadcrumb-item,
.page-header-primary .breadcrumb-item a,
.page-header-primary .page-header-meta {
  color: rgba(255, 255, 255, 0.9);
}
.page-header-primary .page-header-icon {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.page-header-primary .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.5);
}

.page-header-sticky {
  position: sticky;
  top: var(--fl-topbar-height);
  z-index: 100;
  background: var(--fl-background);
  margin-left: calc(var(--fl-content-padding) * -1);
  margin-right: calc(var(--fl-content-padding) * -1);
  padding-left: var(--fl-content-padding);
  padding-right: var(--fl-content-padding);
  padding-top: 1rem;
}
.page-header-sticky::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--fl-border);
}

.page-header-tabs {
  border-bottom: none;
  padding-bottom: 0;
}
.page-header-tabs .page-header-nav {
  width: 100%;
  margin-top: 1rem;
  border-bottom: 1px solid var(--fl-border);
}
.page-header-tabs .page-header-nav .nav-tabs {
  border-bottom: none;
  margin-bottom: -1px;
  position: relative;
}
.page-header-tabs .page-header-nav .nav-tabs .nav-item {
  flex-shrink: 0;
  white-space: nowrap;
}
.page-header-tabs .page-header-nav .nav-tabs .nav-link {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.nav-tabs[data-overflow-init] .nav-item {
  flex-shrink: 0;
  white-space: nowrap;
}

.tabs-overflow-dropdown.nav-item.dropdown {
  white-space: nowrap;
}
.tabs-overflow-dropdown.nav-item.dropdown button.nav-link.dropdown-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
}
.tabs-overflow-dropdown.nav-item.dropdown button.nav-link.dropdown-toggle::after {
  margin-left: 0.35rem;
  vertical-align: middle;
}
.tabs-overflow-dropdown.nav-item.dropdown button.nav-link.dropdown-toggle .tabs-overflow-active-label {
  display: inline-block;
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  font-weight: 500;
}
.tabs-overflow-dropdown.nav-item.dropdown button.nav-link.dropdown-toggle.active {
  color: var(--fl-primary);
  border-bottom: 2px solid var(--fl-primary);
}
.tabs-overflow-dropdown.nav-item.dropdown .dropdown-menu {
  top: 100%;
  left: auto;
  right: 0;
  max-height: 400px;
  overflow-y: auto;
  box-shadow: var(--fl-shadow);
  border: 1px solid var(--fl-border);
  min-width: 10rem;
}
.tabs-overflow-dropdown.nav-item.dropdown .dropdown-menu .dropdown-item {
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
}
.tabs-overflow-dropdown.nav-item.dropdown .dropdown-menu .dropdown-item i {
  margin-right: 0.5rem;
  width: 1.25rem;
  text-align: center;
}
.tabs-overflow-dropdown.nav-item.dropdown .dropdown-menu .dropdown-item:hover {
  background: var(--fl-primary-bg);
  color: var(--fl-primary);
}
.tabs-overflow-dropdown.nav-item.dropdown .dropdown-menu .dropdown-item.active {
  background: var(--fl-primary);
  color: white;
}

.page-header-back {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  margin-bottom: 0.75rem;
  padding: 0.25rem 0;
  transition: color 0.15s ease;
}
.page-header-back i, .page-header-back svg {
  width: 1rem;
  height: 1rem;
  transition: transform 0.15s ease;
}
.page-header-back:hover {
  color: var(--fl-primary);
  text-decoration: none;
}
.page-header-back:hover i, .page-header-back:hover svg {
  transform: translateX(-3px);
}

.page-header-profile .page-header-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.page-header-profile .page-header-avatar {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid var(--fl-surface);
  box-shadow: var(--fl-shadow);
}
.page-header-profile .page-header-avatar-lg {
  width: 5rem;
  height: 5rem;
}

[data-bs-theme=dark] .page-header {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .page-header-title h1, [data-bs-theme=dark] .page-header-title h2, [data-bs-theme=dark] .page-header-title h3, [data-bs-theme=dark] .page-header-title .h1, [data-bs-theme=dark] .page-header-title .h2, [data-bs-theme=dark] .page-header-title .h3 {
  color: #F9FAFB;
}
[data-bs-theme=dark] .page-header-title .page-header-icon {
  background: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .page-header-description,
[data-bs-theme=dark] .page-header-subtitle {
  color: #94a3b8;
}
[data-bs-theme=dark] .page-header-meta {
  color: #64748b;
}
[data-bs-theme=dark] .page-header-filled {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .page-header-sticky {
  background: #0f172a;
}
[data-bs-theme=dark] .page-header-sticky::before {
  background: #334155;
}
[data-bs-theme=dark] .page-header-back {
  color: #94a3b8;
}
[data-bs-theme=dark] .page-header-back:hover {
  color: #0891b2;
}
[data-bs-theme=dark] .page-header-badge.badge-success,
[data-bs-theme=dark] .status-badge-pill.badge-success {
  background: rgba(16, 185, 129, 0.15);
  color: #6EE7B7;
  border-color: rgba(16, 185, 129, 0.3);
}
[data-bs-theme=dark] .page-header-badge.badge-warning,
[data-bs-theme=dark] .status-badge-pill.badge-warning {
  background: rgba(245, 158, 11, 0.15);
  color: #FCD34D;
  border-color: rgba(245, 158, 11, 0.3);
}
[data-bs-theme=dark] .page-header-badge.badge-danger,
[data-bs-theme=dark] .status-badge-pill.badge-danger {
  background: rgba(239, 68, 68, 0.15);
  color: #FCA5A5;
  border-color: rgba(239, 68, 68, 0.3);
}
[data-bs-theme=dark] .page-header-badge.badge-info,
[data-bs-theme=dark] .status-badge-pill.badge-info {
  background: rgba(59, 130, 246, 0.15);
  color: #93C5FD;
  border-color: rgba(59, 130, 246, 0.3);
}
[data-bs-theme=dark] .page-header-badge.badge-secondary,
[data-bs-theme=dark] .status-badge-pill.badge-secondary {
  background: rgba(156, 163, 175, 0.15);
  color: #D1D5DB;
  border-color: rgba(156, 163, 175, 0.3);
}
[data-bs-theme=dark] .tabs-overflow-dropdown .dropdown-menu {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .tabs-overflow-dropdown .dropdown-menu .dropdown-item {
  color: #f1f5f9;
}
[data-bs-theme=dark] .tabs-overflow-dropdown .dropdown-menu .dropdown-item:hover {
  background: rgba(8, 145, 178, 0.15);
  color: #0891b2;
}
[data-bs-theme=dark] .tabs-overflow-dropdown .dropdown-menu .dropdown-item.active {
  background: #0891b2;
  color: white;
}

@media (max-width: 767.98px) {
  .page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }
  .page-header-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .page-header-actions.stack-mobile {
    flex-direction: column;
  }
  .page-header-actions.stack-mobile > * {
    width: 100%;
  }
  .page-header-actions.stack-mobile .btn {
    justify-content: center;
  }
  .page-header-title h1, .page-header-title h2, .page-header-title h3, .page-header-title .h1, .page-header-title .h2, .page-header-title .h3 {
    font-size: 1.5rem;
  }
  .page-header-lg .page-header-title h1, .page-header-lg .page-header-title h2, .page-header-lg .page-header-title .h1, .page-header-lg .page-header-title .h2 {
    font-size: 1.375rem;
  }
  .page-header-sticky {
    position: relative;
    top: auto;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .page-header-profile .page-header-content {
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 575.98px) {
  .page-header-title h1, .page-header-title h2, .page-header-title h3, .page-header-title .h1, .page-header-title .h2, .page-header-title .h3 {
    font-size: 1.25rem;
  }
  .page-header-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.dashboard-grid {
  display: grid;
  gap: 1.5rem;
}
.dashboard-grid.stat-grid {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1199.98px) {
  .dashboard-grid.stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575.98px) {
  .dashboard-grid.stat-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-grid.widget-grid {
  grid-template-columns: repeat(12, 1fr);
}
.dashboard-grid.widget-grid .widget-col-4 {
  grid-column: span 4;
}
.dashboard-grid.widget-grid .widget-col-6 {
  grid-column: span 6;
}
.dashboard-grid.widget-grid .widget-col-8 {
  grid-column: span 8;
}
.dashboard-grid.widget-grid .widget-col-12 {
  grid-column: span 12;
}
@media (max-width: 991.98px) {
  .dashboard-grid.widget-grid .widget-col-4,
  .dashboard-grid.widget-grid .widget-col-6 {
    grid-column: span 6;
  }
  .dashboard-grid.widget-grid .widget-col-8 {
    grid-column: span 12;
  }
}
@media (max-width: 575.98px) {
  .dashboard-grid.widget-grid .widget-col-4,
  .dashboard-grid.widget-grid .widget-col-6,
  .dashboard-grid.widget-grid .widget-col-8 {
    grid-column: span 12;
  }
}

.stat-card {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.stat-card:hover {
  box-shadow: var(--fl-shadow);
}
.stat-card.stat-card-link {
  cursor: pointer;
}
.stat-card.stat-card-link:hover {
  transform: translateY(-2px);
  box-shadow: var(--fl-shadow-lg);
}

.stat-card-icon {
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  flex-shrink: 0;
}
.stat-card-icon i, .stat-card-icon svg {
  width: 1.75rem;
  height: 1.75rem;
}
.stat-card-icon.bg-primary-soft {
  background: rgba(19, 59, 98, 0.1);
  color: #133B62;
}
.stat-card-icon.bg-success-soft {
  background: var(--fl-success-bg);
  color: var(--fl-success);
}
.stat-card-icon.bg-warning-soft {
  background: var(--fl-warning-bg);
  color: var(--fl-warning);
}
.stat-card-icon.bg-danger-soft {
  background: var(--fl-danger-bg);
  color: var(--fl-danger);
}
.stat-card-icon.bg-info-soft {
  background: var(--fl-info-bg);
  color: var(--fl-info);
}
.stat-card-icon.bg-primary {
  background: #133B62;
  color: #fff;
}
.stat-card-icon.bg-success {
  background: #10b981;
  color: #fff;
}
.stat-card-icon.bg-warning {
  background: #f59e0b;
  color: #fff;
}
.stat-card-icon.bg-danger {
  background: #ef4444;
  color: #fff;
}
.stat-card-icon.bg-info {
  background: #3b82f6;
  color: #fff;
}

.stat-card-content {
  flex: 1;
  min-width: 0;
}

.stat-card-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--fl-text-primary);
  line-height: 1.2;
}
.stat-card-value.stat-card-value-sm {
  font-size: 1.25rem;
}
.stat-card-value.stat-card-value-lg {
  font-size: 2.25rem;
}

.stat-card-label {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-top: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-weight: 500;
}

.stat-card-change {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  margin-top: 0.5rem;
}
.stat-card-change i, .stat-card-change svg {
  width: 0.875rem;
  height: 0.875rem;
}
.stat-card-change.positive {
  color: #10b981;
}
.stat-card-change.negative {
  color: #ef4444;
}
.stat-card-change.neutral {
  color: var(--fl-text-muted);
}

.stat-card-sparkline {
  margin-left: auto;
  width: 80px;
  height: 40px;
  flex-shrink: 0;
}

.stat-card-mini {
  padding: 1rem;
  gap: 0.75rem;
}
.stat-card-mini .stat-card-icon {
  width: 2.5rem;
  height: 2.5rem;
}
.stat-card-mini .stat-card-icon i, .stat-card-mini .stat-card-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.stat-card-mini .stat-card-value {
  font-size: 1.25rem;
}

.chart-card {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.chart-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--fl-border-light);
}
.chart-card-header .chart-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.chart-card-header .chart-card-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-top: 0.125rem;
}
.chart-card-header .chart-card-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.chart-card-body {
  flex: 1;
  padding: 1.25rem;
  min-height: 250px;
}
.chart-card-body .e-chart,
.chart-card-body .e-accumulationchart {
  height: 100% !important;
}

.chart-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.25rem;
  background: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
  border-radius: 0 0 0.75rem 0.75rem;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid var(--fl-border-light);
}
.chart-legend .chart-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}
.chart-legend .chart-legend-item .legend-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.widget-card {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.widget-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--fl-border-light);
}
.widget-card-header .widget-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.widget-card-header .widget-card-title .badge {
  font-size: 0.6875rem;
}

.widget-card-body {
  flex: 1;
  padding: 1.25rem;
  overflow-y: auto;
}

.widget-card-footer {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid var(--fl-border-light);
  background: var(--fl-background);
}
.widget-card-footer a {
  font-size: 0.8125rem;
  font-weight: 500;
}

.activity-feed {
  list-style: none;
  padding: 0;
  margin: 0;
}

.activity-item {
  display: flex;
  gap: 0.875rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--fl-border-light);
}
.activity-item:first-child {
  padding-top: 0;
}
.activity-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.activity-avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.activity-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--fl-surface-hover);
  color: var(--fl-text-secondary);
}
.activity-icon i, .activity-icon svg {
  width: 1rem;
  height: 1rem;
}
.activity-icon.icon-success {
  background: var(--fl-success-bg);
  color: var(--fl-success);
}
.activity-icon.icon-warning {
  background: var(--fl-warning-bg);
  color: var(--fl-warning);
}
.activity-icon.icon-danger {
  background: var(--fl-danger-bg);
  color: var(--fl-danger);
}
.activity-icon.icon-info {
  background: var(--fl-info-bg);
  color: var(--fl-info);
}
.activity-icon.icon-primary {
  background: rgba(19, 59, 98, 0.1);
  color: #133B62;
}

.activity-content {
  flex: 1;
  min-width: 0;
}

.activity-text {
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  line-height: 1.5;
}
.activity-text strong {
  font-weight: 600;
}
.activity-text a {
  font-weight: 500;
}

.activity-time {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  margin-top: 0.25rem;
}

.quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 1rem;
}

.quick-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1rem;
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  text-align: center;
  text-decoration: none;
  color: var(--fl-text-primary);
  transition: all 0.15s ease;
}
.quick-action:hover {
  border-color: var(--fl-primary);
  box-shadow: var(--fl-shadow);
  transform: translateY(-2px);
  color: var(--fl-primary);
}
.quick-action:hover .quick-action-icon {
  background: rgba(19, 59, 98, 0.15);
}

.quick-action-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: var(--fl-surface-hover);
  color: var(--fl-text-secondary);
  margin-bottom: 0.75rem;
  transition: all 0.15s ease;
}
.quick-action-icon i, .quick-action-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.quick-action-label {
  font-size: 0.8125rem;
  font-weight: 500;
}

.profile-card {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  text-align: center;
  padding: 1.5rem;
}

.profile-card-avatar {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 1rem;
  border: 3px solid var(--fl-background);
  box-shadow: var(--fl-shadow);
}

.profile-card-name {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
}

.profile-card-role {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-bottom: 1rem;
}

.profile-card-stats {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fl-border-light);
}
.profile-card-stats .stat .stat-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--fl-text-primary);
}
.profile-card-stats .stat .stat-label {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.summary-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.summary-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--fl-border-light);
}
.summary-item:last-child {
  border-bottom: none;
}

.summary-label {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.summary-label i, .summary-label svg {
  width: 1rem;
  height: 1rem;
  opacity: 0.6;
}

.summary-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
}

.welcome-banner {
  background: linear-gradient(135deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
  border-radius: 0.75rem;
  padding: 2rem;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.welcome-banner::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 60%;
  height: 200%;
  background: rgba(255, 255, 255, 0.05);
  transform: rotate(15deg);
  pointer-events: none;
}

.welcome-content {
  position: relative;
  z-index: 1;
}

.welcome-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.welcome-subtitle {
  font-size: 0.9375rem;
  opacity: 0.85;
  margin-bottom: 1.5rem;
  max-width: 500px;
}

.welcome-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.welcome-actions .btn {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.welcome-actions .btn:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.3);
}
.welcome-actions .btn-light {
  background: #fff;
  border-color: #fff;
  color: #133B62;
}
.welcome-actions .btn-light:hover {
  background: rgba(255, 255, 255, 0.9);
}

[data-bs-theme=dark] .stat-card {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .stat-card-value {
  color: #f1f5f9;
}
[data-bs-theme=dark] .stat-card-label {
  color: #94a3b8;
}
[data-bs-theme=dark] .stat-card-icon.bg-primary-soft {
  background: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .chart-card,
[data-bs-theme=dark] .widget-card,
[data-bs-theme=dark] .profile-card,
[data-bs-theme=dark] .quick-action {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .chart-card-header,
[data-bs-theme=dark] .chart-card-footer,
[data-bs-theme=dark] .widget-card-header,
[data-bs-theme=dark] .widget-card-footer,
[data-bs-theme=dark] .chart-legend {
  border-color: #475569;
}
[data-bs-theme=dark] .chart-card-footer,
[data-bs-theme=dark] .widget-card-footer {
  background: #334155;
}
[data-bs-theme=dark] .activity-item {
  border-color: #475569;
}
[data-bs-theme=dark] .activity-icon {
  background: #334155;
  color: #94a3b8;
}
[data-bs-theme=dark] .quick-action:hover {
  border-color: #0891b2;
  color: #22d3ee;
}
[data-bs-theme=dark] .quick-action-icon {
  background: #334155;
  color: #94a3b8;
}
[data-bs-theme=dark] .summary-item {
  border-color: #475569;
}
[data-bs-theme=dark] .summary-label {
  color: #94a3b8;
}
[data-bs-theme=dark] .summary-value {
  color: #f1f5f9;
}
[data-bs-theme=dark] .profile-card-stats {
  border-color: #475569;
}

@media (max-width: 575.98px) {
  .stat-card {
    padding: 1rem;
  }
  .stat-card-value {
    font-size: 1.5rem;
  }
  .stat-card-icon {
    width: 2.75rem;
    height: 2.75rem;
  }
  .stat-card-icon i, .stat-card-icon svg {
    width: 1.375rem;
    height: 1.375rem;
  }
  .welcome-banner {
    padding: 1.5rem;
  }
  .welcome-title {
    font-size: 1.25rem;
  }
  .quick-actions {
    grid-template-columns: repeat(2, 1fr);
  }
}
#filterBarWrapper {
  margin-bottom: 1rem;
}

.filter-bar-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}

.filter-bar-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.filter-bar-toggle .filter-bar-chevron {
  font-size: 0.75rem;
  transition: transform 0.2s ease;
  margin-left: 0.25rem;
}
.filter-bar-toggle[aria-expanded=true] .filter-bar-chevron {
  transform: rotate(180deg);
}

.filter-bar-body {
  padding-top: 0.5rem;
}

.page-container {
  min-height: calc(100vh - var(--fl-topbar-height));
  display: flex;
  flex-direction: column;
}

.page-main {
  flex: 1;
  padding: var(--fl-content-padding);
}

.page-section-bleed {
  margin-left: calc(var(--fl-content-padding) * -1);
  margin-right: calc(var(--fl-content-padding) * -1);
  padding-left: var(--fl-content-padding);
  padding-right: var(--fl-content-padding);
}

.page-admin .admin-nav {
  width: 220px;
  flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .page-admin .admin-nav {
    width: 100%;
  }
}
.page-admin .admin-content {
  flex: 1;
  min-width: 0;
}
@media (min-width: 992px) {
  .page-admin {
    display: flex;
    gap: var(--fl-content-padding);
  }
}

.admin-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .admin-nav-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: var(--fl-content-padding);
  }
}

.admin-nav-item {
  border-bottom: 1px solid var(--fl-border-light);
}
.admin-nav-item:last-child {
  border-bottom: none;
}
@media (max-width: 991.98px) {
  .admin-nav-item {
    border-bottom: none;
    flex: 1 1 auto;
  }
}
.admin-nav-item a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  color: var(--fl-text-secondary);
  font-weight: 500;
  font-size: 0.8125rem;
  transition: all 0.15s ease;
}
.admin-nav-item a i, .admin-nav-item a svg {
  width: 1.125rem;
  height: 1.125rem;
  opacity: 0.7;
}
.admin-nav-item a:hover {
  color: var(--fl-text-primary);
  background: var(--fl-surface-hover);
  text-decoration: none;
}
.admin-nav-item a.active {
  color: var(--fl-primary);
  background: rgba(19, 59, 98, 0.05);
}
.admin-nav-item a.active i, .admin-nav-item a.active svg {
  opacity: 1;
}

.admin-nav-section {
  padding: 0.75rem 1rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
  border-top: 1px solid var(--fl-border-light);
}
.admin-nav-section:first-child {
  border-top: none;
}

.settings-panel {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  overflow: hidden;
}

.settings-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: var(--fl-background);
  border-bottom: 1px solid var(--fl-border-light);
}
.settings-panel-header .settings-panel-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.settings-panel-header .settings-panel-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-top: 0.125rem;
}

.settings-panel-body {
  padding: 1.25rem;
}

.settings-panel-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  background: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
}

.settings-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--fl-border-light);
}
.settings-row:first-child {
  padding-top: 0;
}
.settings-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media (max-width: 575.98px) {
  .settings-row {
    flex-direction: column;
    gap: 0.75rem;
  }
}

.settings-label {
  flex: 1;
}
.settings-label .label-title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--fl-text-primary);
}
.settings-label .label-description {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-top: 0.25rem;
}

.settings-control {
  flex-shrink: 0;
}
@media (max-width: 575.98px) {
  .settings-control {
    width: 100%;
  }
}

.profile-header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 575.98px) {
  .profile-header {
    flex-direction: column;
    text-align: center;
  }
}

.profile-avatar {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--fl-surface);
  box-shadow: var(--fl-shadow-lg);
}

.profile-info {
  flex: 1;
}
.profile-info .profile-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
}
.profile-info .profile-role {
  font-size: 0.9375rem;
  color: var(--fl-text-secondary);
  margin-bottom: 0.75rem;
}
.profile-info .profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.profile-info .profile-meta .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.profile-info .profile-meta .meta-item i, .profile-info .profile-meta .meta-item svg {
  width: 0.875rem;
  height: 0.875rem;
}
@media (max-width: 575.98px) {
  .profile-info .profile-meta {
    justify-content: center;
  }
}

.profile-actions {
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 575.98px) {
  .profile-actions {
    width: 100%;
    justify-content: center;
  }
}

.profile-tabs {
  border-bottom: 1px solid var(--fl-border);
  margin-bottom: 1.5rem;
}
.profile-tabs .nav-tabs {
  border-bottom: none;
  margin-bottom: -1px;
}

.detail-page {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--fl-content-padding);
}
@media (max-width: 991.98px) {
  .detail-page {
    grid-template-columns: 1fr;
  }
}

.detail-main {
  min-width: 0;
}

@media (max-width: 991.98px) {
  .detail-sidebar {
    order: -1;
  }
}

.detail-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.detail-info-list li {
  display: flex;
  justify-content: space-between;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--fl-border-light);
  font-size: 0.8125rem;
}
.detail-info-list li:last-child {
  border-bottom: none;
}
.detail-info-list .info-label {
  color: var(--fl-text-secondary);
}
.detail-info-list .info-value {
  font-weight: 500;
  color: var(--fl-text-primary);
  text-align: right;
}

.list-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
@media (max-width: 767.98px) {
  .list-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
}

.list-toolbar-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 767.98px) {
  .list-toolbar-left {
    flex-direction: column;
    align-items: stretch;
  }
}

.list-toolbar-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 767.98px) {
  .list-toolbar-right {
    justify-content: space-between;
  }
}

.view-toggle {
  display: inline-flex;
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
}
.view-toggle .view-toggle-btn {
  padding: 0.375rem 0.625rem;
  background: transparent;
  border: none;
  color: var(--fl-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.view-toggle .view-toggle-btn:first-child {
  border-radius: calc(0.5rem - 1px) 0 0 calc(0.5rem - 1px);
}
.view-toggle .view-toggle-btn:last-child {
  border-radius: 0 calc(0.5rem - 1px) calc(0.5rem - 1px) 0;
}
.view-toggle .view-toggle-btn:hover {
  color: var(--fl-text-primary);
  background: var(--fl-surface-hover);
}
.view-toggle .view-toggle-btn.active {
  color: var(--fl-primary);
  background: rgba(19, 59, 98, 0.1);
}
.view-toggle .view-toggle-btn i, .view-toggle .view-toggle-btn svg {
  width: 1rem;
  height: 1rem;
}

.search-bar {
  display: flex;
  gap: 0.75rem;
}
.search-bar .search-input-wrapper {
  position: relative;
  flex: 1;
  min-width: 200px;
}
.search-bar .search-input-wrapper .search-icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}
.search-bar .search-input-wrapper .search-icon i, .search-bar .search-input-wrapper .search-icon svg {
  width: 1rem;
  height: 1rem;
}
.search-bar .search-input-wrapper input {
  padding-left: 2.5rem;
}

.filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.filter-chips .chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  font-size: 0.8125rem;
  background: var(--fl-surface-hover);
  border: 1px solid var(--fl-border);
  border-radius: 50rem;
  color: var(--fl-text-primary);
}
.filter-chips .chip .chip-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 0.125rem;
  background: transparent;
  border: none;
  border-radius: 50%;
  color: var(--fl-text-muted);
  cursor: pointer;
}
.filter-chips .chip .chip-remove:hover {
  background: var(--fl-danger);
  color: #fff;
}
.filter-chips .chip .chip-remove i, .filter-chips .chip .chip-remove svg {
  width: 0.5rem;
  height: 0.5rem;
}

.content-well {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  padding: 1.5rem;
}
.content-well.content-well-flush {
  padding: 0;
}

.two-pane-layout {
  display: flex;
  height: calc(100vh - var(--fl-topbar-height));
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .two-pane-layout {
    flex-direction: column;
    height: auto;
  }
}

.two-pane-list {
  width: 360px;
  flex-shrink: 0;
  border-right: 1px solid var(--fl-border);
  overflow-y: auto;
  background: var(--fl-surface);
}
@media (max-width: 991.98px) {
  .two-pane-list {
    width: 100%;
    max-height: 300px;
    border-right: none;
    border-bottom: 1px solid var(--fl-border);
  }
}

.two-pane-content {
  flex: 1;
  overflow-y: auto;
  padding: var(--fl-content-padding);
  background: var(--fl-background);
}

[data-bs-theme=dark] .admin-nav-list {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .admin-nav-item {
  border-color: #475569;
}
[data-bs-theme=dark] .admin-nav-item a {
  color: #94a3b8;
}
[data-bs-theme=dark] .admin-nav-item a:hover {
  color: #f1f5f9;
  background: #334155;
}
[data-bs-theme=dark] .admin-nav-item a.active {
  color: #0891b2;
  background: rgba(19, 59, 98, 0.1);
}
[data-bs-theme=dark] .admin-nav-section {
  color: #64748b;
  border-color: #475569;
}
[data-bs-theme=dark] .settings-panel {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .settings-panel-header,
[data-bs-theme=dark] .settings-panel-footer {
  background: #334155;
  border-color: #475569;
}
[data-bs-theme=dark] .settings-row {
  border-color: #475569;
}
[data-bs-theme=dark] .settings-label .label-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .settings-label .label-description {
  color: #94a3b8;
}
[data-bs-theme=dark] .profile-avatar {
  border-color: #1e293b;
}
[data-bs-theme=dark] .profile-info .profile-name {
  color: #f1f5f9;
}
[data-bs-theme=dark] .profile-info .profile-role {
  color: #94a3b8;
}
[data-bs-theme=dark] .profile-info .profile-meta {
  color: #64748b;
}
[data-bs-theme=dark] .profile-tabs {
  border-color: #334155;
}
[data-bs-theme=dark] .detail-info-list li {
  border-color: #475569;
}
[data-bs-theme=dark] .detail-info-list .info-label {
  color: #94a3b8;
}
[data-bs-theme=dark] .detail-info-list .info-value {
  color: #f1f5f9;
}
[data-bs-theme=dark] .view-toggle {
  border-color: #334155;
}
[data-bs-theme=dark] .view-toggle .view-toggle-btn {
  color: #94a3b8;
}
[data-bs-theme=dark] .view-toggle .view-toggle-btn:hover {
  color: #f1f5f9;
  background: #334155;
}
[data-bs-theme=dark] .view-toggle .view-toggle-btn.active {
  color: #0891b2;
  background: rgba(19, 59, 98, 0.15);
}
[data-bs-theme=dark] .search-bar .search-icon {
  color: #64748b;
}
[data-bs-theme=dark] .filter-chips .chip {
  background: #334155;
  border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .content-well {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .two-pane-list {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .two-pane-content {
  background: #0f172a;
}

.alert {
  position: relative;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
}
.alert .alert-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.375rem;
}
.alert p:last-child {
  margin-bottom: 0;
}
.alert .alert-link {
  font-weight: 600;
  text-decoration: underline;
}
.alert .alert-link:hover {
  text-decoration: none;
}

.alert-icon {
  display: flex;
  gap: 1rem;
}
.alert-icon .alert-icon-wrapper {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.alert-icon .alert-icon-wrapper i, .alert-icon .alert-icon-wrapper svg {
  width: 1.125rem;
  height: 1.125rem;
}
.alert-icon .alert-content {
  flex: 1;
  min-width: 0;
}

.alert-success {
  color: #059669;
  background-color: #ecfdf5;
  border-color: rgba(16, 185, 129, 0.2);
}
.alert-success .alert-icon-wrapper {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}
.alert-success .alert-link {
  color: rgb(11.9402985075, 138.0597014925, 96.2686567164);
}
.alert-success hr {
  border-top-color: rgba(16, 185, 129, 0.2);
}

.alert-warning {
  color: #d97706;
  background-color: #fffbeb;
  border-color: rgba(245, 158, 11, 0.2);
}
.alert-warning .alert-icon-wrapper {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}
.alert-warning .alert-link {
  color: rgb(196.9291338583, 126.7125984252, 8.0708661417);
}
.alert-warning hr {
  border-top-color: rgba(245, 158, 11, 0.2);
}

.alert-danger {
  color: #dc2626;
  background-color: #fef2f2;
  border-color: rgba(239, 68, 68, 0.2);
}
.alert-danger .alert-icon-wrapper {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
}
.alert-danger .alert-link {
  color: rgb(234.9802955665, 21.0197044335, 21.0197044335);
}
.alert-danger hr {
  border-top-color: rgba(239, 68, 68, 0.2);
}

.alert-info {
  color: #2563eb;
  background-color: #eff6ff;
  border-color: rgba(59, 130, 246, 0.2);
}
.alert-info .alert-icon-wrapper {
  background: rgba(59, 130, 246, 0.15);
  color: #3b82f6;
}
.alert-info .alert-link {
  color: rgb(11.1512195122, 99.1219512195, 242.8487804878);
}
.alert-info hr {
  border-top-color: rgba(59, 130, 246, 0.2);
}

.alert-primary {
  color: rgb(12.3743589744, 38.4256410256, 63.8256410256);
  background-color: rgba(19, 59, 98, 0.1);
  border-color: rgba(19, 59, 98, 0.2);
}
.alert-primary .alert-icon-wrapper {
  background: rgba(19, 59, 98, 0.15);
  color: #133B62;
}
.alert-primary .alert-link {
  color: rgb(12.3743589744, 38.4256410256, 63.8256410256);
}

.alert-light {
  color: var(--fl-text-primary);
  background-color: var(--fl-background);
  border-color: var(--fl-border);
}
.alert-light .alert-icon-wrapper {
  background: var(--fl-surface-hover);
  color: var(--fl-text-secondary);
}

.alert-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}
.alert-actions .btn-sm {
  font-size: 0.8125rem;
}

.alert-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.alert-inline .alert-actions {
  margin-top: 0;
  flex-shrink: 0;
}

.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  padding: 0.5rem;
}
.alert-dismissible .btn-close:focus {
  box-shadow: none;
}

.callout {
  position: relative;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-left: 4px solid var(--fl-border);
  border-radius: 0.5rem;
}
.callout .callout-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.5rem;
}
.callout p:last-child {
  margin-bottom: 0;
}
.callout.callout-primary {
  border-left-color: #133B62;
}
.callout.callout-primary .callout-title {
  color: #133B62;
}
.callout.callout-success {
  border-left-color: #10b981;
}
.callout.callout-success .callout-title {
  color: #10b981;
}
.callout.callout-warning {
  border-left-color: #f59e0b;
}
.callout.callout-warning .callout-title {
  color: #f59e0b;
}
.callout.callout-danger {
  border-left-color: #ef4444;
}
.callout.callout-danger .callout-title {
  color: #ef4444;
}
.callout.callout-info {
  border-left-color: #3b82f6;
}
.callout.callout-info .callout-title {
  color: #3b82f6;
}

.banner-alert {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 0.875rem 1.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: center;
}
.banner-alert i, .banner-alert svg {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}
.banner-alert .banner-text {
  flex: 1;
}
.banner-alert .banner-action {
  font-weight: 600;
  text-decoration: underline;
  white-space: nowrap;
}
.banner-alert .banner-action:hover {
  text-decoration: none;
}
.banner-alert .btn-close {
  margin-left: 1rem;
  opacity: 0.7;
}
.banner-alert .btn-close:hover {
  opacity: 1;
}
.banner-alert.banner-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1040;
}
.banner-alert.banner-primary {
  background: #133B62;
  color: #fff;
}
.banner-alert.banner-primary .banner-action {
  color: inherit;
}
.banner-alert.banner-success {
  background: #10b981;
  color: #fff;
}
.banner-alert.banner-warning {
  background: #f59e0b;
  color: #d97706;
}
.banner-alert.banner-danger {
  background: #ef4444;
  color: #fff;
}
.banner-alert.banner-info {
  background: #3b82f6;
  color: #fff;
}

.info-panel {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  overflow: hidden;
}

.info-panel-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: var(--fl-background);
  border-bottom: 1px solid var(--fl-border-light);
}
.info-panel-header .info-panel-icon {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  background: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
}
.info-panel-header .info-panel-icon i, .info-panel-header .info-panel-icon svg {
  width: 1rem;
  height: 1rem;
}
.info-panel-header .info-panel-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}

.info-panel-body {
  padding: 1.25rem;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  line-height: 1.6;
}
.info-panel-body p:last-child {
  margin-bottom: 0;
}
.info-panel-body ul, .info-panel-body ol {
  padding-left: 1.25rem;
  margin-bottom: 0;
}
.info-panel-body ul li, .info-panel-body ol li {
  margin-bottom: 0.5rem;
}
.info-panel-body ul li:last-child, .info-panel-body ol li:last-child {
  margin-bottom: 0;
}

.info-panel-footer {
  padding: 0.875rem 1.25rem;
  background: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
}
.info-panel-footer a {
  font-size: 0.8125rem;
  font-weight: 500;
}

.tip-box {
  display: flex;
  gap: 0.875rem;
  padding: 1rem;
  background: rgba(59, 130, 246, 0.05);
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 0.5rem;
  font-size: 0.8125rem;
}
.tip-box .tip-icon {
  flex-shrink: 0;
  color: #3b82f6;
}
.tip-box .tip-icon i, .tip-box .tip-icon svg {
  width: 1.125rem;
  height: 1.125rem;
}
.tip-box .tip-content {
  color: var(--fl-text-primary);
}
.tip-box .tip-content strong {
  color: #3b82f6;
  font-weight: 600;
}
.tip-box .tip-content p:last-child {
  margin-bottom: 0;
}
.tip-box.tip-warning {
  background: rgba(245, 158, 11, 0.05);
  border-color: rgba(245, 158, 11, 0.15);
}
.tip-box.tip-warning .tip-icon {
  color: #f59e0b;
}
.tip-box.tip-warning .tip-content strong {
  color: #f59e0b;
}

.notification-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.notification-item {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--fl-border-light);
  transition: background-color 0.15s ease;
}
.notification-item:last-child {
  border-bottom: none;
}
.notification-item:hover {
  background: var(--fl-surface-hover);
}
.notification-item.unread {
  background: rgba(19, 59, 98, 0.03);
}
.notification-item.unread::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #133B62;
}
.notification-item {
  position: relative;
}

.notification-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--fl-surface-hover);
  color: var(--fl-text-secondary);
}
.notification-icon i, .notification-icon svg {
  width: 1rem;
  height: 1rem;
}
.notification-icon.icon-success {
  background: var(--fl-success-bg);
  color: var(--fl-success);
}
.notification-icon.icon-warning {
  background: var(--fl-warning-bg);
  color: var(--fl-warning);
}
.notification-icon.icon-danger {
  background: var(--fl-danger-bg);
  color: var(--fl-danger);
}
.notification-icon.icon-info {
  background: var(--fl-info-bg);
  color: var(--fl-info);
}

.notification-content {
  flex: 1;
  min-width: 0;
}

.notification-text {
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  line-height: 1.5;
}
.notification-text strong {
  font-weight: 600;
}

.notification-time {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  margin-top: 0.25rem;
}

[data-bs-theme=dark] .alert-success {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .alert-warning {
  color: #fbbf24;
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .alert-danger {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .alert-info {
  color: #60a5fa;
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .alert-primary {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .alert-light {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .callout {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .callout .callout-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .info-panel {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .info-panel-header,
[data-bs-theme=dark] .info-panel-footer {
  background: #334155;
  border-color: #475569;
}
[data-bs-theme=dark] .info-panel-body {
  color: #94a3b8;
}
[data-bs-theme=dark] .tip-box {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.2);
}
[data-bs-theme=dark] .tip-box .tip-content {
  color: #f1f5f9;
}
[data-bs-theme=dark] .tip-box.tip-warning {
  background: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.2);
}
[data-bs-theme=dark] .notification-item {
  border-color: #475569;
}
[data-bs-theme=dark] .notification-item:hover {
  background: #334155;
}
[data-bs-theme=dark] .notification-item.unread {
  background: rgba(19, 59, 98, 0.1);
}
[data-bs-theme=dark] .notification-icon {
  background: #334155;
  color: #94a3b8;
}
[data-bs-theme=dark] .notification-text {
  color: #f1f5f9;
}
[data-bs-theme=dark] .notification-time {
  color: #64748b;
}

@media (max-width: 575.98px) {
  .alert-inline {
    flex-direction: column;
    align-items: flex-start;
  }
  .alert-inline .alert-actions {
    margin-top: 0.75rem;
  }
  .banner-alert {
    flex-wrap: wrap;
    text-align: left;
  }
  .banner-alert .banner-text {
    width: 100%;
    order: 2;
  }
  .banner-alert i, .banner-alert svg {
    order: 1;
  }
  .banner-alert .btn-close {
    order: 3;
    margin-left: auto;
  }
}
.progress {
  display: flex;
  height: 0.5rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: var(--fl-surface-hover);
  border-radius: 50rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: var(--fl-primary);
  transition: width 0.6s ease;
}
.progress-bar.bg-success {
  background-color: var(--fl-success) !important;
}
.progress-bar.bg-warning {
  background-color: var(--fl-warning) !important;
}
.progress-bar.bg-danger {
  background-color: var(--fl-danger) !important;
}
.progress-bar.bg-info {
  background-color: var(--fl-info) !important;
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  animation: progress-bar-stripes 1s linear infinite;
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.progress-sm {
  height: 0.25rem;
}

.progress-lg {
  height: 0.75rem;
}

.progress-xl {
  height: 1rem;
  font-size: 0.6875rem;
}
.progress-xl .progress-bar {
  line-height: 1rem;
}

.progress-wrapper {
  margin-bottom: 1rem;
}
.progress-wrapper .progress-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.8125rem;
}
.progress-wrapper .progress-label .progress-title {
  font-weight: 500;
  color: var(--fl-text-primary);
}
.progress-wrapper .progress-label .progress-value {
  color: var(--fl-text-secondary);
}

.progress-circle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.progress-circle svg {
  transform: rotate(-90deg);
}
.progress-circle circle {
  fill: none;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.6s ease;
}
.progress-circle .progress-circle-bg {
  stroke: var(--fl-surface-hover);
}
.progress-circle .progress-circle-fill {
  stroke: var(--fl-primary);
}
.progress-circle .progress-circle-fill.stroke-success {
  stroke: var(--fl-success);
}
.progress-circle .progress-circle-fill.stroke-warning {
  stroke: var(--fl-warning);
}
.progress-circle .progress-circle-fill.stroke-danger {
  stroke: var(--fl-danger);
}
.progress-circle .progress-circle-fill.stroke-info {
  stroke: var(--fl-info);
}
.progress-circle .progress-circle-value {
  position: absolute;
  font-weight: 700;
  color: var(--fl-text-primary);
}

.progress-circle-sm {
  width: 48px;
  height: 48px;
}
.progress-circle-sm .progress-circle-value {
  font-size: 0.75rem;
}
.progress-circle-sm circle {
  stroke-width: 4;
}

.progress-circle-md {
  width: 80px;
  height: 80px;
}
.progress-circle-md .progress-circle-value {
  font-size: 1rem;
}
.progress-circle-md circle {
  stroke-width: 6;
}

.progress-circle-lg {
  width: 120px;
  height: 120px;
}
.progress-circle-lg .progress-circle-value {
  font-size: 1.5rem;
}
.progress-circle-lg circle {
  stroke-width: 8;
}

.progress-segmented {
  display: flex;
  gap: 4px;
  height: 0.5rem;
}
.progress-segmented .progress-segment {
  flex: 1;
  background: var(--fl-surface-hover);
  border-radius: 2px;
  overflow: hidden;
}
.progress-segmented .progress-segment:first-child {
  border-radius: 0.375rem 2px 2px 0.375rem;
}
.progress-segmented .progress-segment:last-child {
  border-radius: 2px 0.375rem 0.375rem 2px;
}
.progress-segmented .progress-segment.filled {
  background: var(--fl-primary);
}
.progress-segmented .progress-segment.filled.bg-success {
  background: var(--fl-success);
}
.progress-segmented .progress-segment.filled.bg-warning {
  background: var(--fl-warning);
}
.progress-segmented .progress-segment.filled.bg-danger {
  background: var(--fl-danger);
}
.progress-segmented .progress-segment.filled.bg-info {
  background: var(--fl-info);
}

.step-indicator {
  display: flex;
  align-items: center;
  justify-content: space-between;
  counter-reset: step;
}

.step-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
}
.step-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 1rem;
  left: calc(50% + 1.25rem);
  width: calc(100% - 2.5rem);
  height: 2px;
  background: var(--fl-border);
}
.step-item.completed::after, .step-item.active::after {
  background: var(--fl-primary);
}

.step-number {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fl-surface-hover);
  border: 2px solid var(--fl-border);
  color: var(--fl-text-secondary);
  font-size: 0.8125rem;
  font-weight: 600;
  position: relative;
  z-index: 1;
  counter-increment: step;
}
.step-number::before {
  content: counter(step);
}
.completed .step-number {
  background: var(--fl-primary);
  border-color: var(--fl-primary);
  color: #fff;
}
.completed .step-number::before {
  content: "✓";
}
.active .step-number {
  background: var(--fl-surface);
  border-color: var(--fl-primary);
  color: var(--fl-primary);
  box-shadow: 0 0 0 4px rgba(19, 59, 98, 0.15);
}
.error .step-number {
  background: var(--fl-danger);
  border-color: var(--fl-danger);
  color: #fff;
}
.error .step-number::before {
  content: "!";
}

.step-label {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  text-align: center;
}
.active .step-label {
  color: var(--fl-text-primary);
  font-weight: 500;
}
.completed .step-label {
  color: var(--fl-text-primary);
}

.step-indicator-vertical {
  flex-direction: column;
  align-items: flex-start;
}
.step-indicator-vertical .step-item {
  flex-direction: row;
  align-items: flex-start;
  padding-bottom: 2rem;
}
.step-indicator-vertical .step-item:not(:last-child)::after {
  top: 2rem;
  left: 0.9375rem;
  width: 2px;
  height: calc(100% - 2rem);
}
.step-indicator-vertical .step-item:last-child {
  padding-bottom: 0;
}
.step-indicator-vertical .step-label {
  margin-top: 0;
  margin-left: 1rem;
  text-align: left;
}

.spinner {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border: 3px solid var(--fl-surface-hover);
  border-top-color: var(--fl-primary);
  border-radius: 50%;
  animation: spinner-rotate 0.75s linear infinite;
}

@keyframes spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}
.spinner-sm {
  width: 1rem;
  height: 1rem;
  border-width: 2px;
}

.spinner-lg {
  width: 3rem;
  height: 3rem;
  border-width: 4px;
}

.spinner-primary {
  border-top-color: var(--fl-primary);
}

.spinner-success {
  border-top-color: var(--fl-success);
}

.spinner-warning {
  border-top-color: var(--fl-warning);
}

.spinner-danger {
  border-top-color: var(--fl-danger);
}

.spinner-info {
  border-top-color: var(--fl-info);
}

.spinner-light {
  border-top-color: #fff;
}

.spinner-dots {
  display: inline-flex;
  gap: 4px;
}
.spinner-dots span {
  width: 8px;
  height: 8px;
  background: var(--fl-primary);
  border-radius: 50%;
  animation: spinner-dots 1.4s ease-in-out infinite;
}
.spinner-dots span:nth-child(2) {
  animation-delay: 0.16s;
}
.spinner-dots span:nth-child(3) {
  animation-delay: 0.32s;
}

@keyframes spinner-dots {
  0%, 80%, 100% {
    transform: scale(0.6);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: var(--fl-primary);
  border-radius: 50%;
  opacity: 0;
  animation: spinner-grow 0.75s linear infinite;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(var(--fl-surface), 0.9);
  z-index: 100;
}
[data-bs-theme=light] .loading-overlay {
  background: rgba(255, 255, 255, 0.9);
}
[data-bs-theme=dark] .loading-overlay {
  background: rgba(30, 41, 59, 0.9);
}

.loading-text {
  margin-top: 1rem;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}

.progress-ring {
  display: inline-block;
  width: 1em;
  height: 1em;
}
.progress-ring svg {
  animation: spinner-rotate 1s linear infinite;
}
.progress-ring circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 60;
  stroke-dashoffset: 45;
}

.upload-progress {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  padding: 1rem;
}

.upload-progress-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.upload-progress-header .upload-icon {
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  background: var(--fl-surface-hover);
  color: var(--fl-text-secondary);
}
.upload-progress-header .upload-icon i, .upload-progress-header .upload-icon svg {
  width: 1.125rem;
  height: 1.125rem;
}
.upload-progress-header .upload-info {
  flex: 1;
  min-width: 0;
}
.upload-progress-header .upload-info .upload-name {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.upload-progress-header .upload-info .upload-size {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
}
.upload-progress-header .upload-status {
  font-size: 0.8125rem;
  font-weight: 500;
}
.upload-progress-header .upload-status.uploading {
  color: var(--fl-primary);
}
.upload-progress-header .upload-status.complete {
  color: var(--fl-success);
}
.upload-progress-header .upload-status.error {
  color: var(--fl-danger);
}

[data-bs-theme=dark] .progress {
  background-color: #334155;
}
[data-bs-theme=dark] .progress-circle-bg {
  stroke: #334155;
}
[data-bs-theme=dark] .progress-segmented .progress-segment {
  background: #334155;
}
[data-bs-theme=dark] .step-number {
  background: #334155;
  border-color: #334155;
  color: #94a3b8;
}
.active [data-bs-theme=dark] .step-number {
  background: #1e293b;
}
[data-bs-theme=dark] .step-item:not(:last-child)::after {
  background: #334155;
}
[data-bs-theme=dark] .step-label {
  color: #94a3b8;
}
.active [data-bs-theme=dark] .step-label, .completed [data-bs-theme=dark] .step-label {
  color: #f1f5f9;
}
[data-bs-theme=dark] .spinner {
  border-color: #334155;
}
[data-bs-theme=dark] .upload-progress {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .upload-icon {
  background: #334155;
  color: #94a3b8;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar,
  .spinner,
  .spinner-dots span,
  .spinner-grow,
  .progress-ring svg {
    animation: none;
  }
  .progress-bar {
    transition: none;
  }
}
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25em 0.625em;
  font-size: 0.75em;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.5rem;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.badge:empty {
  display: none;
}

.badge-sm {
  padding: 0.2em 0.5em;
  font-size: 0.65em;
}

.badge-lg {
  padding: 0.35em 0.75em;
  font-size: 0.875em;
}

.badge-pill {
  border-radius: 50rem;
}

.badge-square {
  border-radius: 0.375rem;
}

.badge-circle {
  width: 1.5em;
  height: 1.5em;
  padding: 0;
  border-radius: 50%;
  justify-content: center;
}

.badge-primary {
  color: #fff;
  background-color: #133B62;
}

.badge-secondary {
  color: #fff;
  background-color: #64748b;
}

.badge-success {
  color: #fff;
  background-color: #10b981;
}

.badge-warning {
  color: #d97706;
  background-color: #f59e0b;
}

.badge-danger {
  color: #fff;
  background-color: #ef4444;
}

.badge-info {
  color: #fff;
  background-color: #3b82f6;
}

.badge-light {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
}

.badge-dark {
  color: #fff;
  background-color: #1e293b;
}

.badge-soft-primary {
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.1);
}

.badge-soft-secondary {
  color: #475569;
  background-color: #f1f5f9;
}

.badge-soft-success {
  color: #059669;
  background-color: #ecfdf5;
}

.badge-soft-warning {
  color: #d97706;
  background-color: #fffbeb;
}

.badge-soft-danger {
  color: #dc2626;
  background-color: #fef2f2;
}

.badge-soft-info {
  color: #2563eb;
  background-color: #eff6ff;
}

.badge-outline-primary {
  color: #133B62;
  background-color: transparent;
  border: 1px solid #133B62;
}

.badge-outline-secondary {
  color: #475569;
  background-color: transparent;
  border: 1px solid #cbd5e1;
}

.badge-outline-success {
  color: #10b981;
  background-color: transparent;
  border: 1px solid #10b981;
}

.badge-outline-warning {
  color: #f59e0b;
  background-color: transparent;
  border: 1px solid #f59e0b;
}

.badge-outline-danger {
  color: #ef4444;
  background-color: transparent;
  border: 1px solid #ef4444;
}

.badge-outline-info {
  color: #3b82f6;
  background-color: transparent;
  border: 1px solid #3b82f6;
}

.badge-dot {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  background: transparent;
  color: var(--fl-text-secondary);
}
.badge-dot::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: currentColor;
  flex-shrink: 0;
}
.badge-dot.badge-primary::before {
  background-color: #133B62;
}
.badge-dot.badge-success::before {
  background-color: #10b981;
}
.badge-dot.badge-warning::before {
  background-color: #f59e0b;
}
.badge-dot.badge-danger::before {
  background-color: #ef4444;
}
.badge-dot.badge-info::before {
  background-color: #3b82f6;
}

.badge-dot-pulse::before {
  animation: pulse-dot 2s infinite;
}

@keyframes pulse-dot {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.badge-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.badge-icon i, .badge-icon svg {
  width: 0.875em;
  height: 0.875em;
  flex-shrink: 0;
}

.badge-icon-only {
  padding: 0.375em;
}
.badge-icon-only i, .badge-icon-only svg {
  width: 0.875em;
  height: 0.875em;
}

.badge-counter {
  min-width: 1.5em;
  padding: 0.25em 0.5em;
  font-size: 0.65rem;
  font-weight: 700;
  text-align: center;
}
.badge-counter.badge-counter-sm {
  min-width: 1.25em;
  padding: 0.125em 0.375em;
  font-size: 0.6rem;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 50rem;
}
.status-badge .status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  flex-shrink: 0;
}
.status-badge.status-active {
  color: #059669;
  background-color: #ecfdf5;
}
.status-badge.status-active .status-dot {
  background-color: #10b981;
}
.status-badge.status-pending {
  color: #d97706;
  background-color: #fffbeb;
}
.status-badge.status-pending .status-dot {
  background-color: #f59e0b;
}
.status-badge.status-inactive {
  color: #475569;
  background-color: #f1f5f9;
}
.status-badge.status-inactive .status-dot {
  background-color: #94a3b8;
}
.status-badge.status-error {
  color: #dc2626;
  background-color: #fef2f2;
}
.status-badge.status-error .status-dot {
  background-color: #ef4444;
}
.status-badge.status-scheduled {
  color: #2563eb;
  background-color: #eff6ff;
}
.status-badge.status-scheduled .status-dot {
  background-color: #3b82f6;
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.tag i, .tag svg {
  width: 0.875rem;
  height: 0.875rem;
  opacity: 0.7;
}

.tag-removable {
  padding-right: 0.375rem;
}
.tag-removable .tag-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin-left: 0.25rem;
  background: transparent;
  border: none;
  border-radius: 50%;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
}
.tag-removable .tag-remove i, .tag-removable .tag-remove svg {
  width: 0.625rem;
  height: 0.625rem;
  opacity: 1;
}
.tag-removable .tag-remove:hover {
  color: var(--fl-danger);
  background: rgba(239, 68, 68, 0.1);
}

a.tag,
.tag-link {
  cursor: pointer;
}
a.tag:hover,
.tag-link:hover {
  color: var(--fl-primary);
  border-color: var(--fl-primary);
  background-color: rgba(19, 59, 98, 0.05);
  text-decoration: none;
}

.tag-primary {
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.1);
  border-color: rgba(19, 59, 98, 0.2);
}

.tag-success {
  color: #10b981;
  background-color: #ecfdf5;
  border-color: rgba(16, 185, 129, 0.2);
}

.tag-warning {
  color: #d97706;
  background-color: #fffbeb;
  border-color: rgba(245, 158, 11, 0.2);
}

.tag-danger {
  color: #ef4444;
  background-color: #fef2f2;
  border-color: rgba(239, 68, 68, 0.2);
}

.tag-info {
  color: #3b82f6;
  background-color: #eff6ff;
  border-color: rgba(59, 130, 246, 0.2);
}

.tag-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tag-list-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.tag-list-inline .tag {
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
}

.label {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 0.375rem;
}
.label.label-primary {
  color: #fff;
  background-color: #133B62;
}
.label.label-success {
  color: #fff;
  background-color: #10b981;
}
.label.label-warning {
  color: #d97706;
  background-color: #f59e0b;
}
.label.label-danger {
  color: #fff;
  background-color: #ef4444;
}
.label.label-info {
  color: #fff;
  background-color: #3b82f6;
}
.label.label-secondary {
  color: #fff;
  background-color: #64748b;
}

.avatar-badge-wrapper {
  position: relative;
  display: inline-block;
}
.avatar-badge-wrapper .badge {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(25%, 25%);
  border: 2px solid var(--fl-surface);
}
.avatar-badge-wrapper .avatar-status {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  border: 2px solid var(--fl-surface);
}
.avatar-badge-wrapper .avatar-status.online {
  background-color: #10b981;
}
.avatar-badge-wrapper .avatar-status.offline {
  background-color: #94a3b8;
}
.avatar-badge-wrapper .avatar-status.busy {
  background-color: #ef4444;
}
.avatar-badge-wrapper .avatar-status.away {
  background-color: #f59e0b;
}

.notification-badge {
  position: relative;
}
.notification-badge .badge {
  position: absolute;
  top: -0.375rem;
  right: -0.375rem;
  min-width: 1.125rem;
  height: 1.125rem;
  padding: 0 0.25rem;
  font-size: 0.625rem;
  font-weight: 700;
  border: 2px solid var(--fl-surface);
  border-radius: 50rem;
}
.notification-badge .badge.badge-dot-only {
  width: 0.5rem;
  height: 0.5rem;
  min-width: auto;
  padding: 0;
  border-width: 1px;
}

[data-bs-theme=dark] .badge-soft-primary {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .badge-soft-secondary {
  color: #94a3b8;
  background-color: rgba(100, 116, 139, 0.2);
}
[data-bs-theme=dark] .badge-soft-success {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .badge-soft-warning {
  color: #fbbf24;
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .badge-soft-danger {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .badge-soft-info {
  color: #60a5fa;
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .badge-light {
  color: #f1f5f9;
  background-color: #334155;
}
[data-bs-theme=dark] .badge-dot {
  color: #94a3b8;
}
[data-bs-theme=dark] .status-badge.status-active {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .status-badge.status-pending {
  color: #fbbf24;
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .status-badge.status-inactive {
  color: #94a3b8;
  background-color: rgba(100, 116, 139, 0.2);
}
[data-bs-theme=dark] .status-badge.status-error {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .status-badge.status-scheduled {
  color: #60a5fa;
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .tag {
  color: #f1f5f9;
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .tag:hover {
  background-color: #1e293b;
}
[data-bs-theme=dark] .tag-primary {
  background-color: rgba(19, 59, 98, 0.2);
  border-color: rgba(19, 59, 98, 0.3);
}
[data-bs-theme=dark] .tag-success {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .tag-warning {
  color: #fbbf24;
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .tag-danger {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .tag-info {
  color: #60a5fa;
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .avatar-badge-wrapper .badge,
[data-bs-theme=dark] .avatar-badge-wrapper .avatar-status,
[data-bs-theme=dark] .notification-badge .badge {
  border-color: #1e293b;
}

@media (prefers-reduced-motion: reduce) {
  .badge-dot-pulse::before {
    animation: none;
  }
}
.timeline {
  position: relative;
  padding: 0;
  margin: 0;
  list-style: none;
}
.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1rem;
  width: 2px;
  background: var(--fl-border);
}

.timeline-item {
  position: relative;
  padding-left: 3rem;
  padding-bottom: 1.5rem;
}
.timeline-item:last-child {
  padding-bottom: 0;
}

.timeline-marker {
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 50%;
  z-index: 1;
}
.timeline-marker i, .timeline-marker svg {
  width: 0.875rem;
  height: 0.875rem;
  color: var(--fl-text-secondary);
}
.timeline-marker.marker-primary {
  background: #133B62;
  border-color: #133B62;
  color: #fff;
}
.timeline-marker.marker-primary i, .timeline-marker.marker-primary svg {
  color: #fff;
}
.timeline-marker.marker-success {
  background: #10b981;
  border-color: #10b981;
  color: #fff;
}
.timeline-marker.marker-success i, .timeline-marker.marker-success svg {
  color: #fff;
}
.timeline-marker.marker-warning {
  background: #f59e0b;
  border-color: #f59e0b;
  color: #fff;
}
.timeline-marker.marker-warning i, .timeline-marker.marker-warning svg {
  color: #fff;
}
.timeline-marker.marker-danger {
  background: #ef4444;
  border-color: #ef4444;
  color: #fff;
}
.timeline-marker.marker-danger i, .timeline-marker.marker-danger svg {
  color: #fff;
}
.timeline-marker.marker-info {
  background: #3b82f6;
  border-color: #3b82f6;
  color: #fff;
}
.timeline-marker.marker-info i, .timeline-marker.marker-info svg {
  color: #fff;
}
.timeline-marker.marker-soft-primary {
  background: rgba(19, 59, 98, 0.1);
  border-color: rgba(19, 59, 98, 0.3);
}
.timeline-marker.marker-soft-primary i, .timeline-marker.marker-soft-primary svg {
  color: #133B62;
}
.timeline-marker.marker-soft-success {
  background: #ecfdf5;
  border-color: rgba(16, 185, 129, 0.3);
}
.timeline-marker.marker-soft-success i, .timeline-marker.marker-soft-success svg {
  color: #10b981;
}
.timeline-marker.marker-soft-warning {
  background: #fffbeb;
  border-color: rgba(245, 158, 11, 0.3);
}
.timeline-marker.marker-soft-warning i, .timeline-marker.marker-soft-warning svg {
  color: #f59e0b;
}
.timeline-marker.marker-soft-danger {
  background: #fef2f2;
  border-color: rgba(239, 68, 68, 0.3);
}
.timeline-marker.marker-soft-danger i, .timeline-marker.marker-soft-danger svg {
  color: #ef4444;
}
.timeline-marker.marker-soft-info {
  background: #eff6ff;
  border-color: rgba(59, 130, 246, 0.3);
}
.timeline-marker.marker-soft-info i, .timeline-marker.marker-soft-info svg {
  color: #3b82f6;
}

.timeline-marker-dot {
  width: 0.75rem;
  height: 0.75rem;
  left: 0.625rem;
  top: 0.375rem;
  border-width: 0;
  background: var(--fl-primary);
}

.timeline-content {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  padding: 1rem;
}

.timeline-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.timeline-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}

.timeline-time {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  white-space: nowrap;
}

.timeline-body {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  line-height: 1.6;
}
.timeline-body p:last-child {
  margin-bottom: 0;
}

.timeline-footer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--fl-border-light);
}

.timeline-simple .timeline-content {
  background: transparent;
  border: none;
  padding: 0;
}
.timeline-simple .timeline-body {
  color: var(--fl-text-primary);
}

.timeline-compact::before {
  left: 0.75rem;
}
.timeline-compact .timeline-item {
  padding-left: 2.5rem;
  padding-bottom: 1rem;
}
.timeline-compact .timeline-marker {
  width: 1.5rem;
  height: 1.5rem;
}
.timeline-compact .timeline-marker i, .timeline-compact .timeline-marker svg {
  width: 0.75rem;
  height: 0.75rem;
}
.timeline-compact .timeline-content {
  padding: 0.75rem;
}
.timeline-compact .timeline-title {
  font-size: 0.8125rem;
}
.timeline-compact .timeline-body {
  font-size: 0.8125rem;
}

.timeline-centered::before {
  left: 50%;
  transform: translateX(-50%);
}
.timeline-centered .timeline-item {
  width: 50%;
  padding-left: 0;
  padding-right: 3rem;
}
.timeline-centered .timeline-item:nth-child(even) {
  margin-left: 50%;
  padding-right: 0;
  padding-left: 3rem;
}
.timeline-centered .timeline-item:nth-child(even) .timeline-marker {
  left: auto;
  right: auto;
  left: -1rem;
}
.timeline-centered .timeline-item:nth-child(even) .timeline-content::before {
  left: -8px;
  right: auto;
  border-width: 8px 8px 8px 0;
  border-color: transparent var(--fl-border) transparent transparent;
}
.timeline-centered .timeline-marker {
  left: auto;
  right: -1rem;
}
.timeline-centered .timeline-content {
  position: relative;
}
.timeline-centered .timeline-content::before {
  content: "";
  position: absolute;
  top: 0.75rem;
  right: -8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 8px;
  border-color: transparent transparent transparent var(--fl-border);
}

.timeline-horizontal {
  display: flex;
  overflow-x: auto;
  padding-bottom: 1rem;
}
.timeline-horizontal::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--fl-border);
}
.timeline-horizontal .timeline-item {
  flex: 0 0 auto;
  min-width: 180px;
  max-width: 250px;
  padding: 3rem 1rem 0;
  text-align: center;
}
.timeline-horizontal .timeline-item:last-child {
  padding-bottom: 0;
}
.timeline-horizontal .timeline-marker {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.timeline-horizontal .timeline-content {
  text-align: center;
}
.timeline-horizontal .timeline-header {
  flex-direction: column;
  align-items: center;
}
.timeline-horizontal .timeline-header .timeline-time {
  order: -1;
  margin-bottom: 0.25rem;
}

.timeline-date-separator {
  position: relative;
  padding-left: 3rem;
  margin: 1.5rem 0;
}
.timeline-date-separator .date-label {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--fl-text-secondary);
  background: var(--fl-background);
  border: 1px solid var(--fl-border);
  border-radius: 50rem;
  position: relative;
  z-index: 1;
}

.activity-timeline::before {
  width: 1px;
  background: var(--fl-border-light);
}
.activity-timeline .timeline-item {
  padding-left: 2.5rem;
  padding-bottom: 1rem;
}
.activity-timeline .timeline-marker {
  width: 1.75rem;
  height: 1.75rem;
  background: var(--fl-surface-hover);
  border-color: var(--fl-surface-hover);
}
.activity-timeline .timeline-marker i, .activity-timeline .timeline-marker svg {
  width: 0.75rem;
  height: 0.75rem;
}
.activity-timeline .timeline-content {
  background: transparent;
  border: none;
  padding: 0;
}
.activity-timeline .timeline-content .timeline-text {
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
}
.activity-timeline .timeline-content .timeline-text .user-name {
  font-weight: 600;
}
.activity-timeline .timeline-content .timeline-text .action {
  color: var(--fl-text-secondary);
}
.activity-timeline .timeline-content .timeline-text .target {
  font-weight: 500;
  color: var(--fl-accent);
}
.activity-timeline .timeline-content .timeline-time {
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.event-timeline .timeline-item {
  display: flex;
  gap: 1rem;
  padding-left: 0;
  padding-bottom: 1rem;
}
.event-timeline .timeline-item::before {
  display: none;
}
.event-timeline::before {
  display: none;
}
.event-timeline .event-time {
  flex: 0 0 60px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  text-align: right;
  padding-top: 0.125rem;
}
.event-timeline .event-indicator {
  flex: 0 0 4px;
  background: var(--fl-primary);
  border-radius: 2px;
}
.event-timeline .event-indicator.event-success {
  background: var(--fl-success);
}
.event-timeline .event-indicator.event-warning {
  background: var(--fl-warning);
}
.event-timeline .event-indicator.event-danger {
  background: var(--fl-danger);
}
.event-timeline .event-indicator.event-info {
  background: var(--fl-info);
}
.event-timeline .event-content {
  flex: 1;
  min-width: 0;
}
.event-timeline .event-content .event-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-primary);
}
.event-timeline .event-content .event-description {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-top: 0.125rem;
}

[data-bs-theme=dark] .timeline::before {
  background: #334155;
}
[data-bs-theme=dark] .timeline-marker {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .timeline-marker i, [data-bs-theme=dark] .timeline-marker svg {
  color: #94a3b8;
}
[data-bs-theme=dark] .timeline-marker.marker-soft-primary {
  background: rgba(19, 59, 98, 0.2);
  border-color: rgba(19, 59, 98, 0.4);
}
[data-bs-theme=dark] .timeline-marker.marker-soft-success {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.3);
}
[data-bs-theme=dark] .timeline-marker.marker-soft-warning {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.3);
}
[data-bs-theme=dark] .timeline-marker.marker-soft-danger {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.3);
}
[data-bs-theme=dark] .timeline-marker.marker-soft-info {
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.3);
}
[data-bs-theme=dark] .timeline-content {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .timeline-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .timeline-time {
  color: #64748b;
}
[data-bs-theme=dark] .timeline-body {
  color: #94a3b8;
}
[data-bs-theme=dark] .timeline-footer {
  border-color: #475569;
}
[data-bs-theme=dark] .timeline-date-separator .date-label {
  background: #0f172a;
  border-color: #334155;
  color: #94a3b8;
}
[data-bs-theme=dark] .activity-timeline::before {
  background: #475569;
}
[data-bs-theme=dark] .activity-timeline .timeline-marker {
  background: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .event-timeline .event-time {
  color: #94a3b8;
}
[data-bs-theme=dark] .event-timeline .event-content .event-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .event-timeline .event-content .event-description {
  color: #94a3b8;
}
[data-bs-theme=dark] .timeline-centered .timeline-content::before {
  border-color: transparent transparent transparent #334155;
}
[data-bs-theme=dark] .timeline-centered .timeline-item:nth-child(even) .timeline-content::before {
  border-color: transparent #334155 transparent transparent;
}

@media (max-width: 767.98px) {
  .timeline-centered::before {
    left: 1rem;
    transform: none;
  }
  .timeline-centered .timeline-item,
  .timeline-centered .timeline-item:nth-child(even) {
    width: 100%;
    margin-left: 0;
    padding-left: 3rem;
    padding-right: 0;
  }
  .timeline-centered .timeline-item .timeline-marker,
  .timeline-centered .timeline-item:nth-child(even) .timeline-marker {
    left: 0;
    right: auto;
  }
  .timeline-centered .timeline-item .timeline-content::before,
  .timeline-centered .timeline-item:nth-child(even) .timeline-content::before {
    display: none;
  }
  .timeline-horizontal .timeline-item {
    min-width: 150px;
  }
}
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 1.5rem;
  min-height: 200px;
}

.empty-state-icon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--fl-surface-hover);
  color: var(--fl-text-muted);
  margin-bottom: 1.25rem;
}
.empty-state-icon i, .empty-state-icon svg {
  width: 2.5rem;
  height: 2.5rem;
}
.empty-state-icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.empty-state-icon.icon-primary {
  background: rgba(19, 59, 98, 0.1);
  color: #133B62;
}
.empty-state-icon.icon-success {
  background: var(--fl-success-bg);
  color: var(--fl-success);
}
.empty-state-icon.icon-warning {
  background: var(--fl-warning-bg);
  color: var(--fl-warning);
}
.empty-state-icon.icon-danger {
  background: var(--fl-danger-bg);
  color: var(--fl-danger);
}
.empty-state-icon.icon-info {
  background: var(--fl-info-bg);
  color: var(--fl-info);
}

.empty-state-illustration {
  width: 160px;
  height: 120px;
  margin-bottom: 1.5rem;
}
.empty-state-illustration img, .empty-state-illustration svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.empty-state-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.5rem;
}

.empty-state-text {
  font-size: 0.9375rem;
  color: var(--fl-text-secondary);
  max-width: 400px;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.empty-state-sm {
  padding: 2rem 1rem;
  min-height: 150px;
}
.empty-state-sm .empty-state-icon {
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 1rem;
}
.empty-state-sm .empty-state-icon i, .empty-state-sm .empty-state-icon svg {
  width: 1.75rem;
  height: 1.75rem;
}
.empty-state-sm .empty-state-title {
  font-size: 1rem;
}
.empty-state-sm .empty-state-text {
  font-size: 0.8125rem;
  margin-bottom: 1rem;
}

.empty-state-lg {
  padding: 4rem 2rem;
  min-height: 300px;
}
.empty-state-lg .empty-state-icon {
  width: 7rem;
  height: 7rem;
  margin-bottom: 1.5rem;
}
.empty-state-lg .empty-state-icon i, .empty-state-lg .empty-state-icon svg {
  width: 3.5rem;
  height: 3.5rem;
}
.empty-state-lg .empty-state-title {
  font-size: 1.375rem;
}
.empty-state-lg .empty-state-text {
  font-size: 1rem;
  max-width: 500px;
}

.empty-state-inline {
  flex-direction: row;
  text-align: left;
  padding: 1.25rem;
  min-height: auto;
  gap: 1rem;
}
.empty-state-inline .empty-state-icon {
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0;
  flex-shrink: 0;
}
.empty-state-inline .empty-state-icon i, .empty-state-inline .empty-state-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.empty-state-inline .empty-state-content {
  flex: 1;
}
.empty-state-inline .empty-state-title {
  font-size: 1rem;
  margin-bottom: 0.25rem;
}
.empty-state-inline .empty-state-text {
  font-size: 0.8125rem;
  margin-bottom: 0;
  max-width: none;
}
.empty-state-inline .empty-state-actions {
  flex-shrink: 0;
  margin-top: 0;
}

.empty-state-no-results .empty-state-icon {
  background: var(--fl-info-bg);
  color: var(--fl-info);
}

.empty-state-no-data .empty-state-icon {
  background: var(--fl-surface-hover);
  color: var(--fl-text-muted);
}

.empty-state-no-access .empty-state-icon {
  background: var(--fl-warning-bg);
  color: var(--fl-warning);
}

.empty-state-error .empty-state-icon {
  background: var(--fl-danger-bg);
  color: var(--fl-danger);
}

.empty-state-success .empty-state-icon {
  background: var(--fl-success-bg);
  color: var(--fl-success);
}

.loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 1.5rem;
  min-height: 200px;
}

.loading-state-spinner {
  margin-bottom: 1rem;
}

.loading-state-text {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}

.skeleton {
  background: linear-gradient(90deg, var(--fl-surface-hover) 0%, var(--fl-surface) 50%, var(--fl-surface-hover) 100%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s ease-in-out infinite;
  border-radius: 0.375rem;
}

@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.skeleton-text {
  height: 1em;
  width: 100%;
}
.skeleton-text.skeleton-text-sm {
  height: 0.75em;
}
.skeleton-text.skeleton-text-lg {
  height: 1.25em;
}

.skeleton-title {
  height: 1.5em;
  width: 60%;
}

.skeleton-circle {
  border-radius: 50%;
}

.skeleton-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
}
.skeleton-avatar.skeleton-avatar-sm {
  width: 2rem;
  height: 2rem;
}
.skeleton-avatar.skeleton-avatar-lg {
  width: 3.5rem;
  height: 3.5rem;
}

.skeleton-button {
  height: 2.25rem;
  width: 6rem;
  border-radius: 0.5rem;
}

.skeleton-image {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 0.5rem;
}

.skeleton-card {
  background: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  padding: 1.25rem;
}

.skeleton-table-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--fl-border-light);
}
.skeleton-table-row .skeleton-cell {
  flex: 1;
}
.skeleton-table-row .skeleton-cell-sm {
  flex: 0 0 80px;
}
.skeleton-table-row .skeleton-cell-lg {
  flex: 2;
}

.skeleton-card-layout .skeleton-card-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--fl-border-light);
}
.skeleton-card-layout .skeleton-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.skeleton-list-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 0;
}
.skeleton-list-item .skeleton-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.skeleton-stat-card {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.skeleton-stat-card .skeleton-stat-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
}
.skeleton-stat-card .skeleton-stat-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.skeleton-stat-card .skeleton-stat-content .skeleton-stat-value {
  height: 1.75rem;
  width: 60%;
}
.skeleton-stat-card .skeleton-stat-content .skeleton-stat-label {
  height: 0.875rem;
  width: 80%;
}

.placeholder-content {
  opacity: 0.5;
  pointer-events: none;
  user-select: none;
}
.placeholder-content img, .placeholder-content svg {
  filter: grayscale(100%);
  opacity: 0.3;
}

.error-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 2rem;
  text-align: center;
  background: var(--fl-background);
}

.error-page-code {
  font-size: 6rem;
  font-weight: 700;
  color: var(--fl-primary);
  line-height: 1;
  margin-bottom: 1rem;
}
@media (max-width: 575.98px) {
  .error-page-code {
    font-size: 4rem;
  }
}

.error-page-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.75rem;
}

.error-page-text {
  font-size: 0.9375rem;
  color: var(--fl-text-secondary);
  max-width: 500px;
  margin-bottom: 2rem;
}

.error-page-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.maintenance-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 2rem;
  text-align: center;
  background: linear-gradient(135deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
  color: #fff;
}

.maintenance-icon {
  width: 6rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  margin-bottom: 1.5rem;
}
.maintenance-icon i, .maintenance-icon svg {
  width: 3rem;
  height: 3rem;
}

.maintenance-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.maintenance-text {
  font-size: 0.9375rem;
  opacity: 0.85;
  max-width: 500px;
  margin-bottom: 2rem;
}

[data-bs-theme=dark] .empty-state-icon {
  background: #334155;
  color: #64748b;
}
[data-bs-theme=dark] .empty-state-icon.icon-primary {
  background: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .empty-state-icon.icon-success {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
}
[data-bs-theme=dark] .empty-state-icon.icon-warning {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
}
[data-bs-theme=dark] .empty-state-icon.icon-danger {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
[data-bs-theme=dark] .empty-state-icon.icon-info {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
}
[data-bs-theme=dark] .empty-state-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .empty-state-text {
  color: #94a3b8;
}
[data-bs-theme=dark] .loading-state-text {
  color: #94a3b8;
}
[data-bs-theme=dark] .skeleton {
  background: linear-gradient(90deg, #334155 0%, #1e293b 50%, #334155 100%);
  background-size: 200% 100%;
}
[data-bs-theme=dark] .skeleton-card {
  background: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .skeleton-table-row {
  border-color: #475569;
}
[data-bs-theme=dark] .skeleton-card-header {
  border-color: #475569;
}
[data-bs-theme=dark] .error-page {
  background: #0f172a;
}
[data-bs-theme=dark] .error-page-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .error-page-text {
  color: #94a3b8;
}

@media (prefers-reduced-motion: reduce) {
  .skeleton {
    animation: none;
    background: var(--fl-surface-hover);
  }
}
@media (max-width: 575.98px) {
  .empty-state {
    padding: 2rem 1rem;
  }
  .empty-state-lg {
    padding: 3rem 1rem;
  }
  .empty-state-lg .empty-state-icon {
    width: 5rem;
    height: 5rem;
  }
  .empty-state-lg .empty-state-icon i, .empty-state-lg .empty-state-icon svg {
    width: 2.5rem;
    height: 2.5rem;
  }
  .empty-state-lg .empty-state-title {
    font-size: 1.125rem;
  }
  .empty-state-inline {
    flex-direction: column;
    text-align: center;
  }
  .empty-state-inline .empty-state-actions {
    width: 100%;
    justify-content: center;
  }
  .error-page-code {
    font-size: 4rem;
  }
  .error-page-title {
    font-size: 1.25rem;
  }
}
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1050;
}
.modal-backdrop.fade {
  opacity: 1;
}
.modal-backdrop.show {
  opacity: 1;
}
.modal-backdrop.backdrop-blur {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.4);
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1055;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}
.modal.fade .modal-dialog {
  transform: translateY(-20px) scale(0.95);
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.modal.show .modal-dialog {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 1.75rem;
  pointer-events: none;
}
@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3.5rem);
}

.modal-dialog-scrollable {
  height: calc(100% - 3.5rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: var(--fl-surface);
  background-clip: padding-box;
  border: 1px solid var(--fl-border);
  border-radius: 1rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  outline: 0;
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--fl-border-light);
  border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
}
.modal-header .modal-title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--fl-text-primary);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.modal-header .modal-title i, .modal-header .modal-title svg {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--fl-text-secondary);
}
.modal-header .btn-close {
  padding: 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
  background-size: 0.75em;
  opacity: 0.5;
  border-radius: 0.375rem;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.modal-header .btn-close:hover {
  opacity: 1;
  background-color: var(--fl-surface-hover);
}
.modal-header .btn-close:focus {
  box-shadow: none;
  outline: 2px solid var(--fl-accent);
  outline-offset: 2px;
}

.modal-header-with-subtitle {
  flex-direction: column;
  align-items: flex-start;
}
.modal-header-with-subtitle .modal-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-top: 0.25rem;
}
.modal-header-with-subtitle .btn-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  margin: 0;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1.5rem;
}
.modal-body > p:first-child {
  color: var(--fl-text-secondary);
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  padding: 1rem 1.5rem;
  background-color: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
  border-radius: 0 0 calc(1rem - 1px) calc(1rem - 1px);
  gap: 0.5rem;
}
.modal-footer.modal-footer-stacked {
  flex-direction: column;
}
.modal-footer.modal-footer-stacked > * {
  width: 100%;
}

.modal-footer-split {
  justify-content: space-between;
}
.modal-footer-split .modal-footer-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.modal-footer-split .modal-footer-left a {
  font-size: 0.8125rem;
}
.modal-footer-split .modal-footer-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

@media (min-width: 576px) {
  .modal-sm {
    max-width: 380px;
  }
}

@media (min-width: 992px) {
  .modal-lg {
    max-width: 800px;
  }
}

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header {
  border-radius: 0;
}
.modal-fullscreen .modal-footer {
  border-radius: 0;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
}

@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
}

.modal-confirm {
  text-align: center;
}
.modal-confirm .modal-header {
  border-bottom: none;
  padding-bottom: 0;
  justify-content: center;
}
.modal-confirm .modal-header .btn-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.modal-confirm .modal-body {
  padding-top: 0;
}
.modal-confirm .modal-confirm-icon {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin: 0 auto 1rem;
}
.modal-confirm .modal-confirm-icon i, .modal-confirm .modal-confirm-icon svg {
  width: 2rem;
  height: 2rem;
}
.modal-confirm .modal-confirm-icon.icon-warning {
  background: var(--fl-warning-bg);
  color: var(--fl-warning);
}
.modal-confirm .modal-confirm-icon.icon-danger {
  background: var(--fl-danger-bg);
  color: var(--fl-danger);
}
.modal-confirm .modal-confirm-icon.icon-success {
  background: var(--fl-success-bg);
  color: var(--fl-success);
}
.modal-confirm .modal-confirm-icon.icon-info {
  background: var(--fl-info-bg);
  color: var(--fl-info);
}
.modal-confirm .modal-confirm-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.modal-confirm .modal-confirm-text {
  color: var(--fl-text-secondary);
  margin-bottom: 1.5rem;
}
.modal-confirm .modal-footer {
  justify-content: center;
  background: transparent;
  border-top: none;
}

.modal-alert .modal-dialog {
  max-width: 420px;
}
.modal-alert .modal-content {
  text-align: center;
}
.modal-alert .modal-body {
  padding: 2rem 1.5rem;
}
.modal-alert .modal-alert-icon {
  width: 5rem;
  height: 5rem;
  margin: 0 auto 1.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-alert .modal-alert-icon i, .modal-alert .modal-alert-icon svg {
  width: 2.5rem;
  height: 2.5rem;
}
.modal-alert .modal-footer {
  background: transparent;
  border: none;
  justify-content: center;
}

.modal-side .modal-dialog {
  position: fixed;
  top: 0;
  right: 0;
  margin: 0;
  max-width: 480px;
  width: 100%;
  height: 100%;
}
@media (max-width: 575.98px) {
  .modal-side .modal-dialog {
    max-width: 100%;
  }
}
.modal-side .modal-content {
  height: 100%;
  border-radius: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 0;
}
.modal-side.fade .modal-dialog {
  transform: translateX(100%);
  opacity: 1;
}
.modal-side.show .modal-dialog {
  transform: translateX(0);
}

.modal-form .modal-body {
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}
.modal-form .modal-form-section {
  margin-bottom: 1.5rem;
}
.modal-form .modal-form-section:last-child {
  margin-bottom: 0;
}
.modal-form .modal-form-section .section-title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-secondary);
  margin-bottom: 1rem;
}

.modal-tabs .modal-header {
  padding-bottom: 0;
  border-bottom: none;
}
.modal-tabs .modal-nav {
  padding: 0 1.5rem;
  margin-top: 0.5rem;
  border-bottom: 1px solid var(--fl-border);
}
.modal-tabs .modal-nav .nav-tabs {
  margin-bottom: -1px;
  border-bottom: none;
}

.modal-media .modal-body {
  padding: 0;
}
.modal-media .modal-media-content img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: calc(1rem - 1px);
}
.modal-media.modal-media-with-header .modal-media-content img {
  border-radius: 0;
}

[data-bs-theme=dark] .modal-backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
[data-bs-theme=dark] .modal-backdrop.backdrop-blur {
  background-color: rgba(0, 0, 0, 0.6);
}
[data-bs-theme=dark] .modal-content {
  background-color: #1e293b;
  border-color: #334155;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
[data-bs-theme=dark] .modal-header {
  border-color: #475569;
}
[data-bs-theme=dark] .modal-header .modal-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .modal-header .modal-title i, [data-bs-theme=dark] .modal-header .modal-title svg {
  color: #94a3b8;
}
[data-bs-theme=dark] .modal-header .btn-close:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .modal-header-with-subtitle .modal-subtitle {
  color: #94a3b8;
}
[data-bs-theme=dark] .modal-body > p:first-child {
  color: #94a3b8;
}
[data-bs-theme=dark] .modal-footer {
  background-color: #334155;
  border-color: #475569;
}
[data-bs-theme=dark] .modal-confirm .modal-confirm-text {
  color: #94a3b8;
}
[data-bs-theme=dark] .modal-confirm .modal-footer {
  background: transparent;
}
[data-bs-theme=dark] .modal-alert .modal-footer {
  background: transparent;
}
[data-bs-theme=dark] .modal-tabs .modal-nav {
  border-color: #334155;
}

.modal[aria-hidden=true] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
  .modal-side.fade .modal-dialog {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 1rem);
  }
  .modal-content {
    border-radius: 0.75rem;
  }
  .modal-header {
    padding: 1rem;
    border-radius: calc(0.75rem - 1px) calc(0.75rem - 1px) 0 0;
  }
  .modal-header .modal-title {
    font-size: 1rem;
  }
  .modal-body {
    padding: 1rem;
  }
  .modal-footer {
    padding: 0.75rem 1rem;
    border-radius: 0 0 calc(0.75rem - 1px) calc(0.75rem - 1px);
    flex-direction: column;
  }
  .modal-footer > .btn {
    width: 100%;
  }
  .modal-footer-split {
    flex-direction: column-reverse;
  }
  .modal-footer-split .modal-footer-left,
  .modal-footer-split .modal-footer-right {
    width: 100%;
    justify-content: center;
  }
  .modal-footer-split .modal-footer-right {
    flex-direction: column;
    margin-bottom: 0.5rem;
  }
  .modal-footer-split .modal-footer-right > .btn {
    width: 100%;
  }
}
.table-sticky-header {
  position: relative;
  max-height: 70vh;
  overflow-y: auto;
}
.table-sticky-header thead {
  position: sticky;
  top: 0;
  z-index: 10;
}
.table-sticky-header thead th {
  background-color: var(--fl-background);
  box-shadow: 0 1px 0 var(--fl-border);
}
.table-sticky-header::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.table-sticky-header::-webkit-scrollbar-track {
  background: var(--fl-background);
  border-radius: 4px;
}
.table-sticky-header::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.table-sticky-header::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

.table-fixed-column {
  position: relative;
  overflow-x: auto;
}
.table-fixed-column th:first-child,
.table-fixed-column td:first-child {
  position: sticky;
  left: 0;
  z-index: 5;
  background-color: var(--fl-surface);
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.05);
}
.table-fixed-column thead th:first-child {
  z-index: 15;
  background-color: var(--fl-background);
}

.table-fixed-actions th:last-child,
.table-fixed-actions td:last-child {
  position: sticky;
  right: 0;
  z-index: 5;
  background-color: var(--fl-surface);
  box-shadow: -2px 0 4px rgba(0, 0, 0, 0.05);
}
.table-fixed-actions thead th:last-child {
  z-index: 15;
  background-color: var(--fl-background);
}

.table-sortable th[data-sort],
.table-sortable th.sortable {
  cursor: pointer;
  user-select: none;
  position: relative;
  padding-right: 2rem !important;
  transition: background-color 0.15s ease;
}
.table-sortable th[data-sort]:hover,
.table-sortable th.sortable:hover {
  background-color: var(--fl-surface-hover);
}
.table-sortable th[data-sort]::after,
.table-sortable th.sortable::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.875rem;
  height: 0.875rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3e%3cpath d='M7 10l5-5 5 5'/%3e%3cpath d='M7 14l5 5 5-5'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
.table-sortable th[data-sort]:hover::after,
.table-sortable th.sortable:hover::after {
  opacity: 0.8;
}
.table-sortable th[data-sort].sort-asc::after, .table-sortable th[data-sort][aria-sort=ascending]::after,
.table-sortable th.sortable.sort-asc::after,
.table-sortable th.sortable[aria-sort=ascending]::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23133B62' stroke-width='2.5'%3e%3cpath d='M7 14l5-5 5 5'/%3e%3c/svg%3e");
  opacity: 1;
}
.table-sortable th[data-sort].sort-desc::after, .table-sortable th[data-sort][aria-sort=descending]::after,
.table-sortable th.sortable.sort-desc::after,
.table-sortable th.sortable[aria-sort=descending]::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23133B62' stroke-width='2.5'%3e%3cpath d='M7 10l5 5 5-5'/%3e%3c/svg%3e");
  opacity: 1;
}

.table-expandable .row-expand-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  margin-right: 0.5rem;
  background: transparent;
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.table-expandable .row-expand-toggle svg, .table-expandable .row-expand-toggle i {
  width: 1rem;
  height: 1rem;
  transition: transform 0.2s ease;
  color: var(--fl-text-secondary);
}
.table-expandable .row-expand-toggle:hover {
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.table-expandable .row-expand-toggle:hover svg, .table-expandable .row-expand-toggle:hover i {
  color: var(--fl-text-primary);
}
.table-expandable .row-expand-toggle[aria-expanded=true] svg, .table-expandable .row-expand-toggle[aria-expanded=true] i, .table-expandable .row-expand-toggle.expanded svg, .table-expandable .row-expand-toggle.expanded i {
  transform: rotate(90deg);
}
.table-expandable tr.expandable-row {
  cursor: pointer;
}
.table-expandable tr.expandable-row:hover td {
  background-color: var(--fl-surface-hover);
}
.table-expandable tr.row-details {
  background-color: #f8fafc;
}
.table-expandable tr.row-details > td {
  padding: 0 !important;
  border-bottom: 2px solid var(--fl-border);
}
.table-expandable tr.row-details.collapsed {
  display: none;
}
.table-expandable tr.row-details .row-details-content {
  padding: 1.5rem;
  animation: expandRowIn 0.25s ease;
}

@keyframes expandRowIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.table-selectable th.select-all,
.table-selectable td.row-select {
  width: 48px;
  min-width: 48px;
  max-width: 48px;
  text-align: center;
  padding-left: 1rem !important;
  padding-right: 0.5rem !important;
}
.table-selectable .table-check {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  accent-color: #133B62;
}
.table-selectable .table-check:focus {
  outline: 2px solid rgba(8, 145, 178, 0.25);
  outline-offset: 2px;
}
.table-selectable tr.selected,
.table-selectable tr[data-selected=true] {
  background-color: rgba(19, 59, 98, 0.06) !important;
}
.table-selectable tr.selected td,
.table-selectable tr[data-selected=true] td {
  background-color: transparent;
  border-color: rgba(19, 59, 98, 0.15);
}
.table-selectable tr.selected td:first-child,
.table-selectable tr[data-selected=true] td:first-child {
  position: relative;
}
.table-selectable tr.selected td:first-child::before,
.table-selectable tr[data-selected=true] td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #133B62;
}
.table-selectable tr.selected:hover td,
.table-selectable tr[data-selected=true]:hover td {
  background-color: rgba(19, 59, 98, 0.08) !important;
}

.table-bulk-actions {
  display: none;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  color: #fff;
  animation: slideDown 0.2s ease;
}
.table-bulk-actions.show {
  display: flex;
}
.table-bulk-actions .selected-count {
  font-weight: 600;
  margin-right: auto;
}
.table-bulk-actions .selected-count .count {
  background-color: rgba(255, 255, 255, 0.2);
  padding: 0.125rem 0.5rem;
  border-radius: 0.375rem;
  margin-right: 0.25rem;
}
.table-bulk-actions .bulk-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.table-bulk-actions .bulk-action-btn:hover {
  background-color: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
}
.table-bulk-actions .bulk-action-btn.bulk-action-danger:hover {
  background-color: #ef4444;
  border-color: #ef4444;
}
.table-bulk-actions .bulk-action-btn svg, .table-bulk-actions .bulk-action-btn i {
  width: 1rem;
  height: 1rem;
}
.table-bulk-actions .bulk-clear {
  padding: 0.375rem;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
}
.table-bulk-actions .bulk-clear:hover {
  color: #fff;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.table-bordered-full {
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
}
.table-bordered-full > :not(caption) > * > * {
  border-width: 1px;
  border-color: var(--fl-border);
}
.table-bordered-full > :not(caption) > *:first-child > * {
  border-top: 0;
}
.table-bordered-full > :not(caption) > * > *:first-child {
  border-left: 0;
}
.table-bordered-full > :not(caption) > * > *:last-child {
  border-right: 0;
}
.table-bordered-full > :not(caption) > *:last-child > * {
  border-bottom: 0;
}

.table-minimal > :not(caption) > * > * {
  border-bottom: 1px solid var(--fl-border-light);
  border-left: 0;
  border-right: 0;
}
.table-minimal > thead th {
  border-bottom-width: 2px;
  border-bottom-color: var(--fl-border);
}
.table-minimal > tbody > tr:last-child > td {
  border-bottom: 0;
}

.table-dashed > :not(caption) > * > * {
  border-style: dashed;
  border-color: var(--fl-border-light);
}

.table tr.table-row-success,
.table tr.row-success {
  background-color: #ecfdf5 !important;
}
.table tr.table-row-success td,
.table tr.row-success td {
  color: #059669;
}
.table tr.table-row-success td:first-child,
.table tr.row-success td:first-child {
  position: relative;
}
.table tr.table-row-success td:first-child::before,
.table tr.row-success td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #10b981;
}
.table tr.table-row-warning,
.table tr.row-warning {
  background-color: #fffbeb !important;
}
.table tr.table-row-warning td:first-child,
.table tr.row-warning td:first-child {
  position: relative;
}
.table tr.table-row-warning td:first-child::before,
.table tr.row-warning td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #f59e0b;
}
.table tr.table-row-danger,
.table tr.row-danger {
  background-color: #fef2f2 !important;
}
.table tr.table-row-danger td:first-child,
.table tr.row-danger td:first-child {
  position: relative;
}
.table tr.table-row-danger td:first-child::before,
.table tr.row-danger td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #ef4444;
}
.table tr.table-row-info,
.table tr.row-info {
  background-color: #eff6ff !important;
}
.table tr.table-row-info td:first-child,
.table tr.row-info td:first-child {
  position: relative;
}
.table tr.table-row-info td:first-child::before,
.table tr.row-info td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #3b82f6;
}
.table tr.table-row-muted,
.table tr.row-muted {
  opacity: 0.6;
}
.table tr.table-row-muted td,
.table tr.row-muted td {
  color: var(--fl-text-muted);
}
.table tr.table-row-new td:first-child,
.table tr.row-new td:first-child {
  position: relative;
}
.table tr.table-row-new td:first-child::before,
.table tr.row-new td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #133B62;
}

.table .col-checkbox {
  width: 48px;
  min-width: 48px;
}
.table .col-id {
  width: 80px;
  min-width: 80px;
}
.table .col-icon {
  width: 60px;
  min-width: 60px;
}
.table .col-date {
  width: 120px;
  min-width: 120px;
}
.table .col-datetime {
  width: 160px;
  min-width: 160px;
}
.table .col-time {
  width: 80px;
  min-width: 80px;
}
.table .col-status {
  width: 120px;
  min-width: 120px;
}
.table .col-amount {
  width: 100px;
  min-width: 100px;
}
.table .col-actions-sm {
  width: 80px;
  min-width: 80px;
}
.table .col-actions {
  width: 120px;
  min-width: 120px;
}
.table .col-actions-lg {
  width: 180px;
  min-width: 180px;
}
.table .col-25 {
  width: 25%;
}
.table .col-33 {
  width: 33.333%;
}
.table .col-50 {
  width: 50%;
}
.table .col-auto {
  width: auto;
}
.table .col-numeric,
.table .col-amount,
.table .col-number {
  text-align: right;
}
.table .col-numeric.text-left,
.table .col-amount.text-left,
.table .col-number.text-left {
  text-align: left;
}

.table-resizable th {
  position: relative;
}
.table-resizable th .column-resizer {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  cursor: col-resize;
  background-color: transparent;
  transition: background-color 0.15s ease;
}
.table-resizable th .column-resizer:hover, .table-resizable th .column-resizer.resizing {
  background-color: #0891b2;
}

.table-virtualized {
  position: relative;
}
.table-virtualized .table-viewport {
  height: 500px;
  overflow-y: auto;
  will-change: scroll-position;
}
.table-virtualized .table-content {
  position: relative;
}
.table-virtualized tr {
  contain: layout;
}
.table-virtualized .row-placeholder {
  height: 48px;
  background: transparent;
}

.table caption {
  padding: 0.75rem 1rem;
  color: var(--fl-text-secondary);
  font-size: 0.8125rem;
  text-align: left;
  caption-side: bottom;
}
.table tfoot tr {
  background-color: var(--fl-background);
  font-weight: 600;
}
.table tfoot tr td, .table tfoot tr th {
  border-top: 2px solid var(--fl-border);
  border-bottom: 0;
}

.table-summary-label {
  color: var(--fl-text-secondary);
  font-weight: 500;
}

.table-summary-value {
  color: var(--fl-text-primary);
  font-weight: 600;
}

.column-toggle-dropdown .dropdown-menu {
  min-width: 200px;
  max-height: 300px;
  overflow-y: auto;
  padding: 0.5rem 0;
}
.column-toggle-dropdown .column-toggle-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.column-toggle-dropdown .column-toggle-item:hover {
  background-color: var(--fl-surface-hover);
}
.column-toggle-dropdown .column-toggle-item .form-check-input {
  margin: 0;
}
.column-toggle-dropdown .column-toggle-item label {
  margin-bottom: 0;
  cursor: pointer;
  flex: 1;
}
.column-toggle-dropdown .dropdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.column-toggle-dropdown .dropdown-header .reset-columns {
  font-size: 0.8125rem;
  color: #0891b2;
  cursor: pointer;
}
.column-toggle-dropdown .dropdown-header .reset-columns:hover {
  text-decoration: underline;
}

.table-tree tr[data-level="1"] td:first-child {
  padding-left: 2.5rem;
}
.table-tree tr[data-level="2"] td:first-child {
  padding-left: 4rem;
}
.table-tree tr[data-level="3"] td:first-child {
  padding-left: 5.5rem;
}
.table-tree tr[data-level="4"] td:first-child {
  padding-left: 7rem;
}
.table-tree .tree-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
  cursor: pointer;
  color: var(--fl-text-secondary);
}
.table-tree .tree-toggle:hover {
  color: var(--fl-text-primary);
}
.table-tree .tree-toggle.collapsed svg {
  transform: rotate(-90deg);
}
.table-tree .tree-icon {
  margin-right: 0.5rem;
  color: var(--fl-text-muted);
}

[data-bs-theme=dark] .table-sticky-header thead th {
  background-color: #334155;
}
[data-bs-theme=dark] .table-sticky-header::-webkit-scrollbar-track {
  background: #1e293b;
}
[data-bs-theme=dark] .table-sticky-header::-webkit-scrollbar-thumb {
  background: #475569;
}
[data-bs-theme=dark] .table-sticky-header::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}
[data-bs-theme=dark] .table-fixed-column th:first-child,
[data-bs-theme=dark] .table-fixed-column td:first-child,
[data-bs-theme=dark] .table-fixed-column th:last-child,
[data-bs-theme=dark] .table-fixed-column td:last-child,
[data-bs-theme=dark] .table-fixed-actions th:first-child,
[data-bs-theme=dark] .table-fixed-actions td:first-child,
[data-bs-theme=dark] .table-fixed-actions th:last-child,
[data-bs-theme=dark] .table-fixed-actions td:last-child {
  background-color: #1e293b;
}
[data-bs-theme=dark] .table-fixed-column thead th:first-child,
[data-bs-theme=dark] .table-fixed-column thead th:last-child,
[data-bs-theme=dark] .table-fixed-actions thead th:first-child,
[data-bs-theme=dark] .table-fixed-actions thead th:last-child {
  background-color: #334155;
}
[data-bs-theme=dark] .table-sortable th[data-sort]::after,
[data-bs-theme=dark] .table-sortable th.sortable::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3e%3cpath d='M7 10l5-5 5 5'/%3e%3cpath d='M7 14l5 5 5-5'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .table-sortable th.sort-asc::after,
[data-bs-theme=dark] .table-sortable th[aria-sort=ascending]::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.5'%3e%3cpath d='M7 14l5-5 5 5'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .table-sortable th.sort-desc::after,
[data-bs-theme=dark] .table-sortable th[aria-sort=descending]::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.5'%3e%3cpath d='M7 10l5 5 5-5'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .table-expandable tr.row-details {
  background-color: #334155;
}
[data-bs-theme=dark] .table-selectable tr.selected,
[data-bs-theme=dark] .table-selectable tr[data-selected=true] {
  background-color: rgba(8, 145, 178, 0.12) !important;
}
[data-bs-theme=dark] .table-selectable tr.selected td,
[data-bs-theme=dark] .table-selectable tr[data-selected=true] td {
  border-color: rgba(8, 145, 178, 0.2);
}
[data-bs-theme=dark] .table tr.table-row-success,
[data-bs-theme=dark] .table tr.row-success {
  background-color: rgba(16, 185, 129, 0.15) !important;
}
[data-bs-theme=dark] .table tr.table-row-success td,
[data-bs-theme=dark] .table tr.row-success td {
  color: #34d399;
}
[data-bs-theme=dark] .table tr.table-row-warning,
[data-bs-theme=dark] .table tr.row-warning {
  background-color: rgba(245, 158, 11, 0.15) !important;
}
[data-bs-theme=dark] .table tr.table-row-danger,
[data-bs-theme=dark] .table tr.row-danger {
  background-color: rgba(239, 68, 68, 0.15) !important;
}
[data-bs-theme=dark] .table tr.table-row-info,
[data-bs-theme=dark] .table tr.row-info {
  background-color: rgba(59, 130, 246, 0.15) !important;
}
[data-bs-theme=dark] .column-toggle-dropdown .column-toggle-item:hover {
  background-color: #334155;
}

.data-grid {
  display: grid;
  gap: 1.5rem;
}
.data-grid.grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}
.data-grid.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.data-grid.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.data-grid.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
.data-grid.grid-cols-5 {
  grid-template-columns: repeat(5, 1fr);
}
.data-grid.grid-cols-6 {
  grid-template-columns: repeat(6, 1fr);
}
.data-grid.grid-auto-fill {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.data-grid.grid-auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.data-grid.gap-sm {
  gap: 0.75rem;
}
.data-grid.gap-md {
  gap: 1rem;
}
.data-grid.gap-lg {
  gap: 1.5rem;
}
.data-grid.gap-xl {
  gap: 2rem;
}
@media (max-width: 1200px) {
  .data-grid.grid-cols-5, .data-grid.grid-cols-6 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 992px) {
  .data-grid.grid-cols-4, .data-grid.grid-cols-5, .data-grid.grid-cols-6 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .data-grid.grid-cols-3, .data-grid.grid-cols-4, .data-grid.grid-cols-5, .data-grid.grid-cols-6 {
    grid-template-columns: repeat(2, 1fr);
  }
  .data-grid {
    gap: 1rem;
  }
}
@media (max-width: 576px) {
  .data-grid.grid-cols-2, .data-grid.grid-cols-3, .data-grid.grid-cols-4, .data-grid.grid-cols-5, .data-grid.grid-cols-6 {
    grid-template-columns: 1fr;
  }
}

.data-grid-item {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  overflow: hidden;
  transition: all 0.2s ease;
}
.data-grid-item:hover {
  box-shadow: var(--fl-shadow-lg);
  transform: translateY(-2px);
  border-color: var(--fl-border);
}
.data-grid-item.selected {
  border-color: #133B62;
  box-shadow: 0 0 0 3px rgba(19, 59, 98, 0.15);
}
.data-grid-item.selected .grid-item-check {
  opacity: 1;
}
.data-grid-item.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.grid-item-image {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background-color: var(--fl-background);
  overflow: hidden;
}
.grid-item-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.data-grid-item:hover .grid-item-image img {
  transform: scale(1.05);
}
.grid-item-image .image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.2s ease;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1rem;
  gap: 0.5rem;
}
.grid-item-image .data-grid-item:hover .image-overlay {
  opacity: 1;
}

.grid-item-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  gap: 0.5rem;
}

.grid-item-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
  line-height: 1.4;
}
.grid-item-title a {
  color: inherit;
  text-decoration: none;
}
.grid-item-title a:hover {
  color: #133B62;
}

.grid-item-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin: 0;
}

.grid-item-description {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.grid-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 0.75rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.grid-item-meta .meta-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.grid-item-meta .meta-item svg, .grid-item-meta .meta-item i {
  width: 0.875rem;
  height: 0.875rem;
}

.grid-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--fl-border-light);
  background-color: var(--fl-background);
  gap: 0.5rem;
}

.grid-item-check {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 5;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.data-grid-item:hover .grid-item-check, .data-grid-item.selected .grid-item-check {
  opacity: 1;
}
.grid-item-check input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  accent-color: #133B62;
}

.grid-item-status {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 5;
}

.grid-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.grid-toolbar .toolbar-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}
.grid-toolbar .toolbar-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.view-toggle {
  display: inline-flex;
  align-items: center;
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  padding: 0.25rem;
}
.view-toggle .view-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 0.375rem;
  color: var(--fl-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.view-toggle .view-toggle-btn:hover {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
}
.view-toggle .view-toggle-btn.active {
  color: #133B62;
  background-color: var(--fl-surface);
  box-shadow: var(--fl-shadow-sm);
}
.view-toggle .view-toggle-btn svg, .view-toggle .view-toggle-btn i {
  width: 1rem;
  height: 1rem;
}

.sort-dropdown .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
}
.sort-dropdown .btn svg, .sort-dropdown .btn i {
  width: 1rem;
  height: 1rem;
}
.sort-dropdown .dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sort-dropdown .dropdown-item .sort-direction {
  color: var(--fl-text-muted);
  font-size: 0.8125rem;
}
.sort-dropdown .dropdown-item.active {
  background-color: rgba(19, 59, 98, 0.1);
  color: #133B62;
}

.data-grid-compact {
  gap: 0.75rem;
}
.data-grid-compact .data-grid-item {
  border-radius: 0.5rem;
}
.data-grid-compact .data-grid-item:hover {
  transform: none;
}
.data-grid-compact .grid-item-body {
  padding: 0.75rem;
  gap: 0.25rem;
}
.data-grid-compact .grid-item-title {
  font-size: 0.8125rem;
}
.data-grid-compact .grid-item-meta {
  padding-top: 0.5rem;
  font-size: 0.75rem;
}

.data-grid-masonry {
  column-count: 3;
  column-gap: 1.5rem;
}
.data-grid-masonry .data-grid-item {
  break-inside: avoid;
  margin-bottom: 1.5rem;
}
@media (max-width: 992px) {
  .data-grid-masonry {
    column-count: 2;
  }
}
@media (max-width: 576px) {
  .data-grid-masonry {
    column-count: 1;
  }
}

.data-grid-horizontal {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.data-grid-horizontal::-webkit-scrollbar {
  height: 6px;
}
.data-grid-horizontal::-webkit-scrollbar-track {
  background: var(--fl-background);
  border-radius: 3px;
}
.data-grid-horizontal::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}
.data-grid-horizontal::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
.data-grid-horizontal .data-grid-item {
  flex: 0 0 280px;
  scroll-snap-align: start;
}

.data-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.data-list-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  transition: all 0.15s ease;
}
.data-list-item:hover {
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.data-list-item.selected {
  border-color: #133B62;
  background-color: rgba(19, 59, 98, 0.04);
}

.list-item-checkbox {
  flex-shrink: 0;
}

.list-item-image {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--fl-background);
}
.list-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list-item-content {
  flex: 1;
  min-width: 0;
}

.list-item-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0 0 0.25rem;
}
.list-item-title a {
  color: inherit;
  text-decoration: none;
}
.list-item-title a:hover {
  color: #133B62;
}

.list-item-description {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.list-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.list-item-meta .meta-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.list-item-actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.list-item-arrow {
  flex-shrink: 0;
  color: var(--fl-text-muted);
  transition: transform 0.15s ease;
}
.data-list-item:hover .list-item-arrow {
  transform: translateX(4px);
  color: var(--fl-text-secondary);
}

.data-list-dense {
  gap: 0;
}
.data-list-dense .data-list-item {
  padding: 0.75rem 1rem;
  border-radius: 0;
  border-bottom-width: 0;
}
.data-list-dense .data-list-item:first-child {
  border-radius: 0.75rem 0.75rem 0 0;
}
.data-list-dense .data-list-item:last-child {
  border-radius: 0 0 0.75rem 0.75rem;
  border-bottom-width: 1px;
}
.data-list-dense .list-item-image {
  width: 40px;
  height: 40px;
}

.e-grid {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  border: 1px solid var(--fl-border) !important;
  border-radius: 0.75rem !important;
  overflow: hidden;
}
.e-grid .e-gridheader {
  border-bottom: 2px solid var(--fl-border) !important;
}
.e-grid .e-gridheader .e-headercontent {
  background-color: var(--fl-background) !important;
}
.e-grid .e-gridheader .e-columnheader {
  background-color: var(--fl-background) !important;
}
.e-grid .e-gridheader .e-headercell {
  background-color: var(--fl-background) !important;
  color: var(--fl-text-secondary) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 1rem !important;
  border-color: var(--fl-border) !important;
}
.e-grid .e-gridheader .e-sortfilterdiv {
  padding: 0.25rem !important;
}
.e-grid .e-gridcontent .e-content {
  background-color: var(--fl-surface) !important;
}
.e-grid .e-gridcontent .e-row {
  background-color: var(--fl-surface) !important;
}
.e-grid .e-gridcontent .e-row:hover .e-rowcell {
  background-color: var(--fl-surface-hover) !important;
}
.e-grid .e-gridcontent .e-row.e-altrow {
  background-color: var(--fl-background) !important;
}
.e-grid .e-gridcontent .e-row.e-altrow:hover .e-rowcell {
  background-color: var(--fl-surface-hover) !important;
}
.e-grid .e-gridcontent .e-rowcell {
  color: var(--fl-text-primary) !important;
  border-color: var(--fl-border-light) !important;
  padding: 0.875rem 1rem !important;
  font-size: 0.9375rem !important;
}
.e-grid .e-row.e-selectionbackground,
.e-grid .e-row.e-selectionbackground:hover {
  background-color: rgba(19, 59, 98, 0.08) !important;
}
.e-grid .e-row.e-selectionbackground .e-rowcell,
.e-grid .e-row.e-selectionbackground:hover .e-rowcell {
  background-color: transparent !important;
}
.e-grid .e-pager {
  background-color: var(--fl-background) !important;
  border-top: 1px solid var(--fl-border) !important;
  border-bottom: 0 !important;
  padding: 0.75rem 1rem !important;
}
.e-grid .e-pager .e-pagercontainer {
  background-color: transparent !important;
}
.e-grid .e-pager .e-numericitem,
.e-grid .e-pager .e-first,
.e-grid .e-pager .e-prev,
.e-grid .e-pager .e-next,
.e-grid .e-pager .e-last {
  background-color: var(--fl-surface) !important;
  border: 1px solid var(--fl-border) !important;
  border-radius: 0.375rem !important;
  color: var(--fl-text-secondary) !important;
  margin: 0 0.125rem !important;
  min-width: 2rem !important;
  min-height: 2rem !important;
  line-height: 2rem !important;
}
.e-grid .e-pager .e-numericitem:hover:not(.e-disable),
.e-grid .e-pager .e-first:hover:not(.e-disable),
.e-grid .e-pager .e-prev:hover:not(.e-disable),
.e-grid .e-pager .e-next:hover:not(.e-disable),
.e-grid .e-pager .e-last:hover:not(.e-disable) {
  background-color: var(--fl-surface-hover) !important;
  color: #133B62 !important;
}
.e-grid .e-pager .e-numericitem.e-currentitem,
.e-grid .e-pager .e-first.e-currentitem,
.e-grid .e-pager .e-prev.e-currentitem,
.e-grid .e-pager .e-next.e-currentitem,
.e-grid .e-pager .e-last.e-currentitem {
  background-color: #133B62 !important;
  border-color: #133B62 !important;
  color: #fff !important;
}
.e-grid .e-pager .e-numericitem.e-disable,
.e-grid .e-pager .e-first.e-disable,
.e-grid .e-pager .e-prev.e-disable,
.e-grid .e-pager .e-next.e-disable,
.e-grid .e-pager .e-last.e-disable {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}
.e-grid .e-pager .e-pagerexternalmsg {
  color: var(--fl-text-secondary) !important;
  font-size: 0.8125rem !important;
}
.e-grid .e-toolbar {
  background-color: var(--fl-background) !important;
  border-bottom: 1px solid var(--fl-border) !important;
  padding: 0.5rem !important;
}
.e-grid .e-toolbar .e-toolbar-items {
  background-color: transparent !important;
}
.e-grid .e-toolbar .e-toolbar-item .e-btn {
  background-color: var(--fl-surface) !important;
  border: 1px solid var(--fl-border) !important;
  border-radius: 0.5rem !important;
  color: var(--fl-text-secondary) !important;
  padding: 0.5rem 0.75rem !important;
}
.e-grid .e-toolbar .e-toolbar-item .e-btn:hover {
  background-color: var(--fl-surface-hover) !important;
  color: var(--fl-text-primary) !important;
}
.e-grid .e-toolbar .e-input-group {
  border: 1px solid var(--fl-border) !important;
  border-radius: 0.5rem !important;
  background-color: var(--fl-surface) !important;
}
.e-grid .e-toolbar .e-input-group input.e-input {
  color: var(--fl-text-primary) !important;
}
.e-grid .e-toolbar .e-input-group input.e-input::placeholder {
  color: var(--fl-text-muted) !important;
}

[data-bs-theme=dark] .data-grid-item {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .data-grid-item:hover {
  border-color: #475569;
}
[data-bs-theme=dark] .data-grid-item.selected {
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}
[data-bs-theme=dark] .grid-item-image {
  background-color: #0f172a;
}
[data-bs-theme=dark] .grid-item-footer {
  border-color: #475569;
  background-color: #334155;
}
[data-bs-theme=dark] .view-toggle {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .view-toggle .view-toggle-btn {
  color: #94a3b8;
}
[data-bs-theme=dark] .view-toggle .view-toggle-btn:hover {
  color: #f1f5f9;
  background-color: #334155;
}
[data-bs-theme=dark] .view-toggle .view-toggle-btn.active {
  color: #0891b2;
  background-color: #0f172a;
}
[data-bs-theme=dark] .data-list-item {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .data-list-item:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .data-list-item.selected {
  border-color: #0891b2;
  background-color: rgba(8, 145, 178, 0.08);
}
[data-bs-theme=dark] .list-item-image {
  background-color: #0f172a;
}
[data-bs-theme=dark] .data-grid-horizontal::-webkit-scrollbar-track {
  background: #1e293b;
}
[data-bs-theme=dark] .data-grid-horizontal::-webkit-scrollbar-thumb {
  background: #475569;
}
[data-bs-theme=dark] .data-grid-horizontal::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}
[data-bs-theme=dark] .e-grid {
  border-color: #334155 !important;
}
[data-bs-theme=dark] .e-grid .e-gridheader {
  border-bottom-color: #334155 !important;
}
[data-bs-theme=dark] .e-grid .e-gridheader .e-headercontent,
[data-bs-theme=dark] .e-grid .e-gridheader .e-columnheader,
[data-bs-theme=dark] .e-grid .e-gridheader .e-headercell {
  background-color: #334155 !important;
  color: #94a3b8 !important;
  border-color: #334155 !important;
}
[data-bs-theme=dark] .e-grid .e-gridcontent .e-content {
  background-color: #1e293b !important;
}
[data-bs-theme=dark] .e-grid .e-gridcontent .e-row {
  background-color: #1e293b !important;
}
[data-bs-theme=dark] .e-grid .e-gridcontent .e-row:hover .e-rowcell {
  background-color: #334155 !important;
}
[data-bs-theme=dark] .e-grid .e-gridcontent .e-row.e-altrow {
  background-color: rgba(255, 255, 255, 0.02) !important;
}
[data-bs-theme=dark] .e-grid .e-gridcontent .e-rowcell {
  color: #f1f5f9 !important;
  border-color: #475569 !important;
}
[data-bs-theme=dark] .e-grid .e-row.e-selectionbackground,
[data-bs-theme=dark] .e-grid .e-row.e-selectionbackground:hover {
  background-color: rgba(8, 145, 178, 0.12) !important;
}
[data-bs-theme=dark] .e-grid .e-pager {
  background-color: #334155 !important;
  border-top-color: #334155 !important;
}
[data-bs-theme=dark] .e-grid .e-pager .e-numericitem,
[data-bs-theme=dark] .e-grid .e-pager .e-first,
[data-bs-theme=dark] .e-grid .e-pager .e-prev,
[data-bs-theme=dark] .e-grid .e-pager .e-next,
[data-bs-theme=dark] .e-grid .e-pager .e-last {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #94a3b8 !important;
}
[data-bs-theme=dark] .e-grid .e-pager .e-numericitem:hover:not(.e-disable),
[data-bs-theme=dark] .e-grid .e-pager .e-first:hover:not(.e-disable),
[data-bs-theme=dark] .e-grid .e-pager .e-prev:hover:not(.e-disable),
[data-bs-theme=dark] .e-grid .e-pager .e-next:hover:not(.e-disable),
[data-bs-theme=dark] .e-grid .e-pager .e-last:hover:not(.e-disable) {
  background-color: #334155 !important;
}
[data-bs-theme=dark] .e-grid .e-pager .e-pagerexternalmsg {
  color: #94a3b8 !important;
}
[data-bs-theme=dark] .e-grid .e-toolbar {
  background-color: #334155 !important;
  border-bottom-color: #334155 !important;
}
[data-bs-theme=dark] .e-grid .e-toolbar .e-toolbar-item .e-btn {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #94a3b8 !important;
}
[data-bs-theme=dark] .e-grid .e-toolbar .e-toolbar-item .e-btn:hover {
  background-color: #0f172a !important;
  color: #f1f5f9 !important;
}
[data-bs-theme=dark] .e-grid .e-toolbar .e-input-group {
  border-color: #334155 !important;
  background-color: #1e293b !important;
}
[data-bs-theme=dark] .e-grid .e-toolbar .e-input-group input.e-input {
  color: #f1f5f9 !important;
}
[data-bs-theme=dark] .e-grid .e-toolbar .e-input-group input.e-input::placeholder {
  color: #64748b !important;
}

.fl-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fl-list-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  color: var(--fl-text-primary);
  text-decoration: none;
  background-color: var(--fl-surface);
  border-bottom: 1px solid var(--fl-border-light);
  transition: background-color 0.15s ease;
}
.fl-list-item:last-child {
  border-bottom: 0;
}
.fl-list-item:hover {
  background-color: var(--fl-surface-hover);
}
.fl-list-item.active, .fl-list-item[aria-selected=true] {
  background-color: rgba(19, 59, 98, 0.06);
  border-left: 3px solid #133B62;
  padding-left: calc(1rem - 3px);
}
.fl-list-item.disabled, .fl-list-item[aria-disabled=true] {
  opacity: 0.5;
  pointer-events: none;
}

.fl-list-icon .list-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background-color: var(--fl-background);
  color: var(--fl-text-secondary);
}
.fl-list-icon .list-icon svg, .fl-list-icon .list-icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-list-icon .list-icon.icon-primary {
  background-color: rgba(19, 59, 98, 0.1);
  color: #133B62;
}
.fl-list-icon .list-icon.icon-success {
  background-color: #ecfdf5;
  color: #10b981;
}
.fl-list-icon .list-icon.icon-warning {
  background-color: #fffbeb;
  color: #f59e0b;
}
.fl-list-icon .list-icon.icon-danger {
  background-color: #fef2f2;
  color: #ef4444;
}
.fl-list-icon .list-icon.icon-info {
  background-color: #eff6ff;
  color: #3b82f6;
}

.fl-list-avatar .list-avatar {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  overflow: hidden;
  background-color: var(--fl-background);
}
.fl-list-avatar .list-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fl-list-avatar .list-avatar.avatar-initials {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  background-color: #133B62;
}
.fl-list-avatar.list-avatar-sm .list-avatar {
  width: 2rem;
  height: 2rem;
  font-size: 0.75rem;
}
.fl-list-avatar.list-avatar-lg .list-avatar {
  width: 3rem;
  height: 3rem;
  font-size: 1rem;
}

.list-content {
  flex: 1;
  min-width: 0;
}

.list-title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.list-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin: 0.125rem 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.list-description {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin: 0.25rem 0 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.list-meta {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  margin: 0.25rem 0 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.list-meta .meta-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.list-meta .meta-item svg, .list-meta .meta-item i {
  width: 0.875rem;
  height: 0.875rem;
}

.list-trailing {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--fl-text-secondary);
}

.list-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
}

.list-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  background-color: #133B62;
  border-radius: 50rem;
}

.list-arrow {
  color: var(--fl-text-muted);
  transition: transform 0.15s ease;
}
.fl-list-item:hover .list-arrow {
  transform: translateX(3px);
  color: var(--fl-text-secondary);
}
.list-arrow svg, .list-arrow i {
  width: 1rem;
  height: 1rem;
}

.fl-list-compact .fl-list-item {
  padding: 0.5rem 0.75rem;
  gap: 0.5rem;
}
.fl-list-compact .list-icon,
.fl-list-compact .list-avatar {
  width: 1.75rem;
  height: 1.75rem;
}
.fl-list-compact .list-icon svg, .fl-list-compact .list-icon i,
.fl-list-compact .list-avatar svg,
.fl-list-compact .list-avatar i {
  width: 1rem;
  height: 1rem;
}
.fl-list-compact .list-title {
  font-size: 0.8125rem;
}
.fl-list-compact .list-subtitle {
  font-size: 0.75rem;
}

.fl-list-dense .fl-list-item {
  padding: 0.375rem 0.75rem;
  gap: 0.5rem;
  border-bottom: 0;
}
.fl-list-dense .fl-list-item:hover {
  background-color: var(--fl-surface-hover);
}
.fl-list-dense .list-title {
  font-size: 0.8125rem;
  font-weight: 400;
}

.fl-list-bordered {
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  overflow: hidden;
}
.fl-list-bordered .fl-list-item:last-child {
  border-bottom: 0;
}

.fl-list-cards {
  gap: 0.5rem;
}
.fl-list-cards .fl-list-item {
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  background-color: var(--fl-surface);
}
.fl-list-cards .fl-list-item:hover {
  box-shadow: var(--fl-shadow-sm);
  border-color: var(--fl-border);
}
.fl-list-cards .fl-list-item.active, .fl-list-cards .fl-list-item[aria-selected=true] {
  border-color: #133B62;
  box-shadow: 0 0 0 3px rgba(19, 59, 98, 0.1);
}

.list-divider {
  padding: 0.5rem 1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
  background-color: var(--fl-background);
  border-bottom: 1px solid var(--fl-border-light);
}

.list-separator {
  height: 1px;
  margin: 0.5rem 0;
  background-color: var(--fl-border-light);
}

.fl-list-interactive .fl-list-item {
  cursor: pointer;
}
.fl-list-interactive .fl-list-item:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(8, 145, 178, 0.25);
}
.fl-list-interactive .fl-list-item:active {
  background-color: var(--fl-surface-hover);
}

.fl-list-selectable .list-checkbox {
  flex-shrink: 0;
  margin-right: 0.25rem;
}
.fl-list-selectable .list-checkbox input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  accent-color: #133B62;
}
.fl-list-selectable .fl-list-item.selected {
  background-color: rgba(19, 59, 98, 0.06);
}

.fl-list-swipeable .fl-list-item {
  position: relative;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
}
.fl-list-swipeable .swipe-actions {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: stretch;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.fl-list-swipeable .swipe-actions.left {
  left: 0;
}
.fl-list-swipeable .swipe-actions.right {
  right: 0;
}
.fl-list-swipeable .fl-list-item.swiped .swipe-actions {
  opacity: 1;
  pointer-events: auto;
}
.fl-list-swipeable .swipe-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.5rem;
  border: none;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
}
.fl-list-swipeable .swipe-action-btn.action-edit {
  background-color: #3b82f6;
}
.fl-list-swipeable .swipe-action-btn.action-archive {
  background-color: #f59e0b;
}
.fl-list-swipeable .swipe-action-btn.action-delete {
  background-color: #ef4444;
}
.fl-list-swipeable .swipe-action-btn.action-complete {
  background-color: #10b981;
}
.fl-list-swipeable .swipe-action-btn svg, .fl-list-swipeable .swipe-action-btn i {
  width: 1.25rem;
  height: 1.25rem;
}

.fl-list-sortable .fl-list-item {
  cursor: grab;
}
.fl-list-sortable .fl-list-item:active {
  cursor: grabbing;
}
.fl-list-sortable .drag-handle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0.25rem;
  margin-left: -0.5rem;
  cursor: grab;
  color: var(--fl-text-muted);
}
.fl-list-sortable .drag-handle:hover {
  color: var(--fl-text-secondary);
}
.fl-list-sortable .drag-handle:active {
  cursor: grabbing;
}
.fl-list-sortable .drag-handle svg, .fl-list-sortable .drag-handle i {
  width: 1rem;
  height: 1rem;
}
.fl-list-sortable .fl-list-item.dragging {
  opacity: 0.5;
  background-color: var(--fl-surface-hover);
  box-shadow: var(--fl-shadow-lg);
}
.fl-list-sortable .fl-list-item.drag-over {
  border-top: 2px solid #133B62;
}

.fl-list-timeline .fl-list-item {
  position: relative;
  padding-left: 2.5rem;
  border-bottom: 0;
}
.fl-list-timeline .fl-list-item::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 2rem;
  bottom: -0.75rem;
  width: 2px;
  background-color: var(--fl-border);
}
.fl-list-timeline .fl-list-item:last-child::before {
  display: none;
}
.fl-list-timeline .fl-list-item::after {
  content: "";
  position: absolute;
  left: 0.625rem;
  top: 0.875rem;
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 50%;
}
.fl-list-timeline .fl-list-item.timeline-success::after {
  background-color: #10b981;
  border-color: #10b981;
}
.fl-list-timeline .fl-list-item.timeline-warning::after {
  background-color: #f59e0b;
  border-color: #f59e0b;
}
.fl-list-timeline .fl-list-item.timeline-danger::after {
  background-color: #ef4444;
  border-color: #ef4444;
}
.fl-list-timeline .fl-list-item.timeline-info::after {
  background-color: #3b82f6;
  border-color: #3b82f6;
}
.fl-list-timeline .fl-list-item.timeline-primary::after {
  background-color: #133B62;
  border-color: #133B62;
}

.fl-list-numbered {
  counter-reset: list-counter;
}
.fl-list-numbered .fl-list-item {
  counter-increment: list-counter;
}
.fl-list-numbered .fl-list-item::before {
  content: counter(list-counter);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.1);
  border-radius: 50%;
}

.fl-list-checklist .fl-list-item {
  gap: 0.75rem;
}
.fl-list-checklist .fl-list-item.completed .list-title {
  text-decoration: line-through;
  color: var(--fl-text-muted);
}
.fl-list-checklist .checklist-check {
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
  border: 2px solid var(--fl-border);
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.15s ease;
}
.fl-list-checklist .checklist-check:hover {
  border-color: #133B62;
}
.fl-list-checklist .checklist-check.checked {
  background-color: #10b981;
  border-color: #10b981;
}
.fl-list-checklist .checklist-check.checked::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3e%3c/svg%3e");
  background-size: 75%;
  background-position: center;
  background-repeat: no-repeat;
}

.fl-list-virtual {
  position: relative;
  overflow-y: auto;
  max-height: 400px;
}
.fl-list-virtual .virtual-content {
  position: relative;
}
.fl-list-virtual .fl-list-item {
  position: absolute;
  left: 0;
  right: 0;
}
.fl-list-virtual::-webkit-scrollbar {
  width: 6px;
}
.fl-list-virtual::-webkit-scrollbar-track {
  background: var(--fl-background);
  border-radius: 3px;
}
.fl-list-virtual::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}
.fl-list-virtual::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

[data-bs-theme=dark] .fl-list-item {
  background-color: #1e293b;
  border-bottom-color: #475569;
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-list-item:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-list-item.active, [data-bs-theme=dark] .fl-list-item[aria-selected=true] {
  background-color: rgba(8, 145, 178, 0.1);
  border-left-color: #0891b2;
}
[data-bs-theme=dark] .fl-list-icon .list-icon {
  background-color: #334155;
  color: #94a3b8;
}
[data-bs-theme=dark] .fl-list-icon .list-icon.icon-primary {
  background-color: rgba(19, 59, 98, 0.15);
}
[data-bs-theme=dark] .fl-list-icon .list-icon.icon-success {
  background-color: rgba(16, 185, 129, 0.15);
  color: #34d399;
}
[data-bs-theme=dark] .fl-list-icon .list-icon.icon-warning {
  background-color: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
}
[data-bs-theme=dark] .fl-list-icon .list-icon.icon-danger {
  background-color: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
[data-bs-theme=dark] .fl-list-icon .list-icon.icon-info {
  background-color: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
}
[data-bs-theme=dark] .fl-list-avatar .list-avatar {
  background-color: #334155;
}
[data-bs-theme=dark] .list-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .list-subtitle,
[data-bs-theme=dark] .list-description {
  color: #94a3b8;
}
[data-bs-theme=dark] .list-meta {
  color: #64748b;
}
[data-bs-theme=dark] .list-trailing {
  color: #94a3b8;
}
[data-bs-theme=dark] .list-value {
  color: #f1f5f9;
}
[data-bs-theme=dark] .list-arrow {
  color: #64748b;
}
.fl-list-item:hover [data-bs-theme=dark] .list-arrow {
  color: #94a3b8;
}
[data-bs-theme=dark] .list-divider {
  background-color: #334155;
  border-bottom-color: #475569;
  color: #64748b;
}
[data-bs-theme=dark] .list-separator {
  background-color: #475569;
}
[data-bs-theme=dark] .fl-list-bordered {
  border-color: #334155;
}
[data-bs-theme=dark] .fl-list-cards .fl-list-item {
  border-color: #334155;
  background-color: #1e293b;
}
[data-bs-theme=dark] .fl-list-cards .fl-list-item:hover {
  border-color: #475569;
}
[data-bs-theme=dark] .fl-list-cards .fl-list-item.active, [data-bs-theme=dark] .fl-list-cards .fl-list-item[aria-selected=true] {
  border-color: #0891b2;
}
[data-bs-theme=dark] .fl-list-selectable .fl-list-item.selected {
  background-color: rgba(8, 145, 178, 0.1);
}
[data-bs-theme=dark] .fl-list-timeline .fl-list-item::before {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-list-timeline .fl-list-item::after {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-list-numbered .fl-list-item::before {
  color: #0891b2;
  background-color: rgba(8, 145, 178, 0.15);
}
[data-bs-theme=dark] .fl-list-checklist .checklist-check {
  border-color: #334155;
}
[data-bs-theme=dark] .fl-list-checklist .checklist-check:hover {
  border-color: #0891b2;
}
[data-bs-theme=dark] .fl-list-virtual::-webkit-scrollbar-track {
  background: #1e293b;
}
[data-bs-theme=dark] .fl-list-virtual::-webkit-scrollbar-thumb {
  background: #475569;
}
[data-bs-theme=dark] .fl-list-virtual::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

.fl-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}
.fl-pagination .pagination-info {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}
.fl-pagination .pagination-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pagination-count {
  white-space: nowrap;
}
.pagination-count .count-range {
  font-weight: 600;
  color: var(--fl-text-primary);
}
.pagination-count .count-total {
  color: var(--fl-text-secondary);
}

.pagination-size {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pagination-size label {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  white-space: nowrap;
}
.pagination-size select {
  width: auto;
  min-width: 4.5rem;
  padding: 0.375rem 2rem 0.375rem 0.75rem;
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.pagination-size select:hover {
  border-color: var(--fl-border);
}
.pagination-size select:focus {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}

.pagination-pages {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.pagination-pages .page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.pagination-pages .page-btn:hover:not(.active):not(:disabled) {
  color: #133B62;
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.pagination-pages .page-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.pagination-pages .page-btn.active {
  color: #fff;
  background-color: #133B62;
  border-color: #133B62;
}
.pagination-pages .page-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination-pages .page-btn svg, .pagination-pages .page-btn i {
  width: 1rem;
  height: 1rem;
}
.pagination-pages .page-btn-nav {
  min-width: 2.25rem;
}
.pagination-pages .page-btn-nav:hover:not(:disabled) {
  background-color: var(--fl-surface-hover);
}
.pagination-pages .page-btn-edge {
  color: var(--fl-text-muted);
}
.pagination-pages .page-btn-edge:hover:not(:disabled) {
  color: var(--fl-text-primary);
}
.pagination-pages .page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2.25rem;
  color: var(--fl-text-muted);
  font-size: 0.875rem;
  cursor: default;
}

.pagination-jump {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pagination-jump label {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  white-space: nowrap;
}
.pagination-jump .jump-input {
  width: 4rem;
  padding: 0.375rem 0.5rem;
  font-size: 0.8125rem;
  text-align: center;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  transition: border-color 0.15s ease;
}
.pagination-jump .jump-input:focus {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.pagination-jump .jump-input::-webkit-outer-spin-button, .pagination-jump .jump-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pagination-jump .jump-input {
  -moz-appearance: textfield;
}
.pagination-jump .jump-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #133B62;
  background-color: transparent;
  border: 1px solid #133B62;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.pagination-jump .jump-btn:hover {
  background-color: #133B62;
  color: #fff;
}

.pagination-simple .pagination-controls {
  gap: 0.5rem;
}
.pagination-simple .page-btn {
  padding: 0.5rem 0.75rem;
  min-width: auto;
}
.pagination-simple .page-btn svg, .pagination-simple .page-btn i {
  margin-right: 0.25rem;
}
.pagination-simple .page-status {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin: 0 0.5rem;
}
.pagination-simple .page-status .current {
  font-weight: 600;
  color: var(--fl-text-primary);
}

.pagination-compact {
  padding: 0.75rem 0;
}
.pagination-compact .page-btn {
  min-width: 2rem;
  height: 2rem;
  font-size: 0.8125rem;
}

.pagination-bordered {
  padding: 0.75rem 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
}

.pagination-centered {
  justify-content: center;
}
.pagination-centered .pagination-info {
  display: none;
}

.load-more-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 0;
  gap: 0.75rem;
}

.load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #133B62;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.load-more-btn:hover {
  background-color: var(--fl-surface-hover);
  border-color: #133B62;
}
.load-more-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.load-more-btn.loading {
  pointer-events: none;
}
.load-more-btn.loading .spinner {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner 0.75s linear infinite;
}
.load-more-btn svg, .load-more-btn i {
  width: 1rem;
  height: 1rem;
}

.load-more-info {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.load-more-info .loaded-count,
.load-more-info .total-count {
  font-weight: 600;
  color: var(--fl-text-secondary);
}

@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
.infinite-scroll-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  color: var(--fl-text-muted);
}

.infinite-scroll-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem;
}
.infinite-scroll-loading .loading-spinner {
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--fl-border);
  border-top-color: #133B62;
  border-radius: 50%;
  animation: spinner 0.75s linear infinite;
}
.infinite-scroll-loading .loading-text {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}

.infinite-scroll-end {
  text-align: center;
  padding: 1rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.infinite-scroll-end svg, .infinite-scroll-end i {
  display: block;
  margin: 0 auto 0.5rem;
  width: 1.5rem;
  height: 1.5rem;
}

.pagination-progress {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
}

.pagination-progress-bar {
  width: 100%;
  max-width: 300px;
  height: 4px;
  background-color: var(--fl-background);
  border-radius: 50rem;
  overflow: hidden;
}
.pagination-progress-bar .progress-fill {
  height: 100%;
  background-color: #133B62;
  border-radius: 50rem;
  transition: width 0.3s ease;
}

.pagination-progress-text {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}
.pagination-progress-text .progress-current {
  font-weight: 600;
  color: var(--fl-text-primary);
}

@media (max-width: 768px) {
  .fl-pagination {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  .fl-pagination .pagination-info {
    justify-content: center;
    flex-wrap: wrap;
  }
  .fl-pagination .pagination-controls {
    justify-content: center;
  }
  .pagination-size {
    order: -1;
  }
  .pagination-jump {
    display: none;
  }
  .pagination-pages .page-btn:not(.page-btn-nav):not(.active) {
    display: none;
  }
  .pagination-pages .page-ellipsis {
    display: none;
  }
  .pagination-pages .page-btn.active,
  .pagination-pages .page-btn.adjacent {
    display: inline-flex;
  }
}
@media (max-width: 576px) {
  .pagination-simple .page-btn span {
    display: none;
  }
  .pagination-simple svg, .pagination-simple i {
    margin: 0 !important;
  }
}
.dataTables_wrapper .dataTables_paginate {
  padding: 1rem 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary) !important;
  background-color: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.disabled):not(.current) {
  color: #133B62 !important;
  background-color: var(--fl-surface-hover) !important;
  border-color: var(--fl-border) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  color: #fff !important;
  background-color: #133B62 !important;
  border-color: #133B62 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous, .dataTables_wrapper .dataTables_paginate .paginate_button.next {
  padding: 0 0.75rem;
}
.dataTables_wrapper .dataTables_paginate .ellipsis {
  color: var(--fl-text-muted);
  padding: 0 0.25rem;
}
.dataTables_wrapper .dataTables_info {
  padding: 1rem 0;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}
.dataTables_wrapper .dataTables_info .highlight {
  font-weight: 600;
  color: var(--fl-text-primary);
}

[data-bs-theme=dark] .pagination-count .count-range {
  color: #f1f5f9;
}
[data-bs-theme=dark] .pagination-count .count-total {
  color: #94a3b8;
}
[data-bs-theme=dark] .pagination-size label {
  color: #94a3b8;
}
[data-bs-theme=dark] .pagination-size select {
  color: #f1f5f9;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .pagination-size select:hover {
  border-color: #475569;
}
[data-bs-theme=dark] .pagination-pages .page-btn {
  color: #94a3b8;
}
[data-bs-theme=dark] .pagination-pages .page-btn:hover:not(.active):not(:disabled) {
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .pagination-pages .page-ellipsis {
  color: #64748b;
}
[data-bs-theme=dark] .pagination-jump label {
  color: #94a3b8;
}
[data-bs-theme=dark] .pagination-jump .jump-input {
  color: #f1f5f9;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .pagination-bordered {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .load-more-btn {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .load-more-btn:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .load-more-info {
  color: #64748b;
}
[data-bs-theme=dark] .load-more-info .loaded-count,
[data-bs-theme=dark] .load-more-info .total-count {
  color: #94a3b8;
}
[data-bs-theme=dark] .infinite-scroll-trigger {
  color: #64748b;
}
[data-bs-theme=dark] .infinite-scroll-loading .loading-spinner {
  border-color: #334155;
}
[data-bs-theme=dark] .infinite-scroll-loading .loading-text {
  color: #94a3b8;
}
[data-bs-theme=dark] .infinite-scroll-end {
  color: #64748b;
}
[data-bs-theme=dark] .pagination-progress-bar {
  background-color: #334155;
}
[data-bs-theme=dark] .pagination-progress-text {
  color: #94a3b8;
}
[data-bs-theme=dark] .pagination-progress-text .progress-current {
  color: #f1f5f9;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button {
  color: #94a3b8 !important;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.disabled):not(.current) {
  background-color: #334155 !important;
  border-color: #334155 !important;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_info {
  color: #94a3b8;
}
[data-bs-theme=dark] .dataTables_wrapper .dataTables_info .highlight {
  color: #f1f5f9;
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  margin-bottom: 1.5rem;
}

.filter-bar-inline {
  background-color: transparent;
  border: none;
  padding: 0;
  margin-bottom: 1rem;
}

.filter-search {
  position: relative;
  flex: 1;
  min-width: 200px;
  max-width: 400px;
}
.filter-search .search-icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}
.filter-search .search-icon svg, .filter-search .search-icon i {
  width: 1rem;
  height: 1rem;
}
.filter-search .search-input {
  width: 100%;
  padding: 0.625rem 2.5rem 0.625rem 2.5rem;
  font-size: 0.9375rem;
  color: var(--fl-text-primary);
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  transition: all 0.15s ease;
}
.filter-search .search-input::placeholder {
  color: var(--fl-text-muted);
}
.filter-search .search-input:hover {
  border-color: var(--fl-border);
}
.filter-search .search-input:focus {
  outline: none;
  border-color: #0891b2;
  background-color: var(--fl-surface);
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.filter-search .search-clear {
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 50%;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-search .search-clear:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-secondary);
}
.filter-search .search-clear svg, .filter-search .search-clear i {
  width: 0.875rem;
  height: 0.875rem;
}
.filter-search.has-value .search-clear {
  display: flex;
}

.filter-search-compact .search-input {
  padding: 0.5rem 2.25rem 0.5rem 2.25rem;
  font-size: 0.8125rem;
}
.filter-search-compact .search-icon {
  left: 0.75rem;
}

.filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
  border-radius: 50rem;
  transition: all 0.15s ease;
}
.filter-chip .chip-label {
  color: var(--fl-text-secondary);
}
.filter-chip .chip-value {
  color: var(--fl-text-primary);
  font-weight: 600;
}
.filter-chip .chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  margin-left: 0.125rem;
  margin-right: -0.25rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 50%;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-chip .chip-remove:hover {
  background-color: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}
.filter-chip .chip-remove svg, .filter-chip .chip-remove i {
  width: 0.75rem;
  height: 0.75rem;
}
.filter-chip.chip-primary {
  background-color: rgba(19, 59, 98, 0.1);
  border-color: rgba(19, 59, 98, 0.2);
  color: #133B62;
}
.filter-chip.chip-success {
  background-color: #ecfdf5;
  border-color: rgba(16, 185, 129, 0.2);
  color: #059669;
}
.filter-chip.chip-warning {
  background-color: #fffbeb;
  border-color: rgba(245, 158, 11, 0.2);
  color: #d97706;
}
.filter-chip.chip-danger {
  background-color: #fef2f2;
  border-color: rgba(239, 68, 68, 0.2);
  color: #dc2626;
}

.filter-clear-all {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #ef4444;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-clear-all:hover {
  background-color: #fef2f2;
}
.filter-clear-all svg, .filter-clear-all i {
  width: 0.875rem;
  height: 0.875rem;
}

.filter-buttons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-btn:hover {
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
  color: var(--fl-text-primary);
}
.filter-btn.active {
  background-color: rgba(19, 59, 98, 0.1);
  border-color: #133B62;
  color: #133B62;
}
.filter-btn .filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.375rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #fff;
  background-color: #133B62;
  border-radius: 50rem;
}
.filter-btn svg, .filter-btn i {
  width: 1rem;
  height: 1rem;
}

.filter-dropdown {
  position: relative;
}
.filter-dropdown .filter-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  min-width: 280px;
  max-height: 400px;
  overflow-y: auto;
  padding: 1rem;
  margin-top: 0.5rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: var(--fl-shadow-lg);
}
.filter-dropdown .filter-dropdown-menu.show {
  display: block;
  animation: dropdownFadeIn 0.15s ease;
}
.filter-dropdown .filter-dropdown-menu.dropdown-right {
  left: auto;
  right: 0;
}

@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.filter-group {
  margin-bottom: 1rem;
}
.filter-group:last-child {
  margin-bottom: 0;
}

.filter-group-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
}

.filter-options {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.filter-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0;
  cursor: pointer;
}
.filter-option input[type=checkbox],
.filter-option input[type=radio] {
  width: 1.125rem;
  height: 1.125rem;
  accent-color: #133B62;
  cursor: pointer;
}
.filter-option label {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  cursor: pointer;
  flex: 1;
}
.filter-option .option-count {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}

.filter-dropdown-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fl-border-light);
}

.filter-date-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.filter-date-range .date-input {
  width: 140px;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  transition: border-color 0.15s ease;
}
.filter-date-range .date-input:focus {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.filter-date-range .date-separator {
  color: var(--fl-text-muted);
  font-size: 0.8125rem;
}

.date-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

.date-preset-btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background: transparent;
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.date-preset-btn:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.date-preset-btn.active {
  background-color: #133B62;
  border-color: #133B62;
  color: #fff;
}

.filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background: transparent;
  border: 1px solid var(--fl-border);
  border-radius: 50rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-pill:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.filter-pill.active {
  background-color: #133B62;
  border-color: #133B62;
  color: #fff;
}
.filter-pill.active .pill-count {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.filter-pill .pill-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: currentColor;
}
.filter-pill .pill-dot.dot-success {
  background-color: #10b981;
}
.filter-pill .pill-dot.dot-warning {
  background-color: #f59e0b;
}
.filter-pill .pill-dot.dot-danger {
  background-color: #ef4444;
}
.filter-pill .pill-dot.dot-info {
  background-color: #3b82f6;
}
.filter-pill .pill-count {
  padding: 0.125rem 0.375rem;
  font-size: 0.6875rem;
  background-color: var(--fl-background);
  border-radius: 0.375rem;
}

.saved-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.saved-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.saved-filter:hover {
  border-color: #133B62;
  color: #133B62;
}
.saved-filter.active {
  background-color: rgba(19, 59, 98, 0.1);
  border-color: #133B62;
  color: #133B62;
}
.saved-filter .filter-name {
  font-weight: 500;
}
.saved-filter .filter-delete {
  padding: 0.125rem;
  background: transparent;
  border: none;
  color: var(--fl-text-muted);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.saved-filter .filter-delete:hover {
  color: #ef4444;
}
.saved-filter .filter-delete svg, .saved-filter .filter-delete i {
  width: 0.75rem;
  height: 0.75rem;
}
.saved-filter:hover .filter-delete {
  opacity: 1;
}

.save-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  color: #133B62;
  background: transparent;
  border: 1px dashed #133B62;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.save-filter-btn:hover {
  background-color: rgba(19, 59, 98, 0.05);
}
.save-filter-btn svg, .save-filter-btn i {
  width: 0.875rem;
  height: 0.875rem;
}

.filter-panel {
  display: none;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
}
.filter-panel.show {
  display: block;
  animation: panelSlideDown 0.2s ease;
}

@keyframes panelSlideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.filter-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.filter-panel-header .filter-panel-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.filter-panel-header .filter-panel-close {
  padding: 0.25rem;
  background: transparent;
  border: none;
  color: var(--fl-text-muted);
  cursor: pointer;
}
.filter-panel-header .filter-panel-close:hover {
  color: var(--fl-text-primary);
}
.filter-panel-header .filter-panel-close svg, .filter-panel-header .filter-panel-close i {
  width: 1.25rem;
  height: 1.25rem;
}

.filter-panel-body {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.5rem;
}

.filter-panel-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fl-border-light);
}

@media (max-width: 768px) {
  .filter-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .filter-search {
    max-width: none;
    order: -1;
  }
  .filter-buttons {
    margin-left: 0;
    justify-content: flex-end;
  }
  .filter-chips {
    order: 1;
  }
  .filter-dropdown .filter-dropdown-menu {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    margin-top: 0;
    max-height: 80vh;
    border-radius: 0.75rem 0.75rem 0 0;
  }
  .filter-panel-body {
    grid-template-columns: 1fr;
  }
  .filter-date-range {
    flex-direction: column;
    align-items: stretch;
  }
  .filter-date-range .date-input {
    width: 100%;
  }
  .filter-date-range .date-separator {
    display: none;
  }
}
[data-bs-theme=dark] .filter-bar {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-search .search-icon {
  color: #64748b;
}
[data-bs-theme=dark] .filter-search .search-input {
  color: #f1f5f9;
  background-color: #0f172a;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-search .search-input::placeholder {
  color: #64748b;
}
[data-bs-theme=dark] .filter-search .search-input:focus {
  background-color: #1e293b;
}
[data-bs-theme=dark] .filter-search .search-clear {
  color: #64748b;
}
[data-bs-theme=dark] .filter-search .search-clear:hover {
  background-color: #334155;
  color: #94a3b8;
}
[data-bs-theme=dark] .filter-chip {
  color: #f1f5f9;
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-chip .chip-label {
  color: #94a3b8;
}
[data-bs-theme=dark] .filter-chip .chip-value {
  color: #f1f5f9;
}
[data-bs-theme=dark] .filter-chip .chip-remove {
  color: #64748b;
}
[data-bs-theme=dark] .filter-chip .chip-remove:hover {
  background-color: rgba(239, 68, 68, 0.2);
}
[data-bs-theme=dark] .filter-chip.chip-primary {
  background-color: rgba(19, 59, 98, 0.15);
  border-color: rgba(19, 59, 98, 0.3);
}
[data-bs-theme=dark] .filter-chip.chip-success {
  background-color: rgba(16, 185, 129, 0.15);
  color: #34d399;
}
[data-bs-theme=dark] .filter-chip.chip-warning {
  background-color: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
}
[data-bs-theme=dark] .filter-chip.chip-danger {
  background-color: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
[data-bs-theme=dark] .filter-clear-all:hover {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .filter-btn {
  color: #94a3b8;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-btn:hover {
  background-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .filter-btn.active {
  background-color: rgba(19, 59, 98, 0.15);
  border-color: #133B62;
}
[data-bs-theme=dark] .filter-dropdown .filter-dropdown-menu {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-group-label {
  color: #64748b;
}
[data-bs-theme=dark] .filter-option label {
  color: #f1f5f9;
}
[data-bs-theme=dark] .filter-option .option-count {
  color: #64748b;
}
[data-bs-theme=dark] .filter-dropdown-actions {
  border-top-color: #475569;
}
[data-bs-theme=dark] .filter-date-range .date-input {
  color: #f1f5f9;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-date-range .date-separator {
  color: #64748b;
}
[data-bs-theme=dark] .date-preset-btn {
  color: #94a3b8;
  border-color: #334155;
}
[data-bs-theme=dark] .date-preset-btn:hover {
  background-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .filter-pill {
  color: #94a3b8;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-pill:hover {
  background-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .filter-pill .pill-count {
  background-color: #334155;
}
[data-bs-theme=dark] .saved-filter {
  color: #94a3b8;
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .saved-filter:hover {
  border-color: #133B62;
  color: #0891b2;
}
[data-bs-theme=dark] .saved-filter .filter-delete {
  color: #64748b;
}
[data-bs-theme=dark] .save-filter-btn {
  border-color: #0891b2;
  color: #0891b2;
}
[data-bs-theme=dark] .save-filter-btn:hover {
  background-color: rgba(8, 145, 178, 0.1);
}
[data-bs-theme=dark] .filter-panel {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .filter-panel-header .filter-panel-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .filter-panel-header .filter-panel-close {
  color: #64748b;
}
[data-bs-theme=dark] .filter-panel-header .filter-panel-close:hover {
  color: #f1f5f9;
}
[data-bs-theme=dark] .filter-panel-footer {
  border-top-color: #475569;
}

.row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
  white-space: nowrap;
}

.action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.action-btn:hover {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.action-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.action-btn:active {
  transform: scale(0.95);
}
.action-btn:disabled, .action-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.action-btn svg, .action-btn i {
  width: 1rem;
  height: 1rem;
}
.action-btn.has-label {
  padding: 0 0.625rem;
  gap: 0.375rem;
}

.action-btn-primary:hover {
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.1);
  border-color: transparent;
}

.action-btn-edit:hover {
  color: #3b82f6;
  background-color: rgba(59, 130, 246, 0.1);
  border-color: transparent;
}

.action-btn-view:hover {
  color: #0891b2;
  background-color: rgba(8, 145, 178, 0.1);
  border-color: transparent;
}

.action-btn-delete:hover,
.action-btn-danger:hover {
  color: #ef4444;
  background-color: rgba(239, 68, 68, 0.1);
  border-color: transparent;
}

.action-btn-success:hover {
  color: #10b981;
  background-color: rgba(16, 185, 129, 0.1);
  border-color: transparent;
}

.action-btn-warning:hover {
  color: #f59e0b;
  background-color: rgba(245, 158, 11, 0.1);
  border-color: transparent;
}

.action-btn-icon {
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0;
}
.action-btn-icon svg, .action-btn-icon i {
  width: 0.875rem;
  height: 0.875rem;
}

.action-btn-group {
  display: inline-flex;
  align-items: center;
}
.action-btn-group .action-btn {
  border-radius: 0;
}
.action-btn-group .action-btn:first-child {
  border-radius: 0.375rem 0 0 0.375rem;
}
.action-btn-group .action-btn:last-child {
  border-radius: 0 0.375rem 0.375rem 0;
}
.action-btn-group .action-btn + .action-btn {
  margin-left: -1px;
}
.action-btn-group:hover .action-btn {
  border-color: var(--fl-border);
}

.action-dropdown {
  position: relative;
}
.action-dropdown .action-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  color: var(--fl-text-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.action-dropdown .action-dropdown-toggle:hover, .action-dropdown .action-dropdown-toggle[aria-expanded=true] {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.action-dropdown .action-dropdown-toggle svg, .action-dropdown .action-dropdown-toggle i {
  width: 1rem;
  height: 1rem;
}
.action-dropdown .action-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000;
  display: none;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin-top: 0.25rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  box-shadow: var(--fl-shadow-lg);
}
.action-dropdown .action-dropdown-menu.show {
  display: block;
  animation: actionDropdownIn 0.15s ease;
}
.action-dropdown .action-dropdown-menu.dropdown-left {
  right: auto;
  left: 0;
}
.action-dropdown .action-dropdown-menu.dropdown-up {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.25rem;
}

@keyframes actionDropdownIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.action-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--fl-text-primary);
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.action-dropdown-item:hover {
  background-color: var(--fl-surface-hover);
}
.action-dropdown-item.danger {
  color: #ef4444;
}
.action-dropdown-item.danger:hover {
  background-color: #fef2f2;
}
.action-dropdown-item.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.action-dropdown-item.disabled:hover {
  background-color: transparent;
}
.action-dropdown-item svg, .action-dropdown-item i {
  width: 1rem;
  height: 1rem;
  color: var(--fl-text-secondary);
  flex-shrink: 0;
}
.action-dropdown-item.danger svg, .action-dropdown-item.danger i {
  color: #ef4444;
}

.action-dropdown-divider {
  margin: 0.5rem 0;
  border-top: 1px solid var(--fl-border-light);
}

.action-dropdown-header {
  padding: 0.5rem 1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
}

.quick-actions {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.15s ease;
}
tr:hover .quick-actions, .data-list-item:hover .quick-actions, .fl-list-item:hover .quick-actions {
  opacity: 1;
  visibility: visible;
}
@media (hover: none) {
  .quick-actions {
    opacity: 1;
    visibility: visible;
  }
}

.action-btn-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}
.action-btn-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: -0.4375rem;
  margin-left: -0.4375rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: actionBtnSpin 0.6s linear infinite;
}

@keyframes actionBtnSpin {
  to {
    transform: rotate(360deg);
  }
}
.action-confirm {
  display: none;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem;
  background-color: #fef2f2;
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 0.5rem;
}
.action-confirm.show {
  display: flex;
  animation: confirmSlideIn 0.15s ease;
}
.action-confirm .confirm-text {
  font-size: 0.8125rem;
  color: #dc2626;
  white-space: nowrap;
}
.action-confirm .confirm-actions {
  display: flex;
  gap: 0.25rem;
}
.action-confirm .confirm-btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.1s ease;
}
.action-confirm .confirm-btn.confirm-yes {
  color: #fff;
  background-color: #ef4444;
  border: 1px solid #ef4444;
}
.action-confirm .confirm-btn.confirm-yes:hover {
  background-color: #dc2626;
}
.action-confirm .confirm-btn.confirm-no {
  color: #dc2626;
  background: transparent;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.action-confirm .confirm-btn.confirm-no:hover {
  background-color: rgba(239, 68, 68, 0.1);
}

@keyframes confirmSlideIn {
  from {
    opacity: 0;
    transform: translateX(10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.action-feedback {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  border-radius: 0.375rem;
  animation: feedbackFadeIn 0.2s ease;
}
.action-feedback svg, .action-feedback i {
  width: 0.875rem;
  height: 0.875rem;
}
.action-feedback.feedback-success {
  color: #059669;
  background-color: #ecfdf5;
}
.action-feedback.feedback-error {
  color: #dc2626;
  background-color: #fef2f2;
}

@keyframes feedbackFadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.action-btn[data-tooltip] {
  position: relative;
}
.action-btn[data-tooltip]::before {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.375rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
  color: #fff;
  background-color: #1e293b;
  border-radius: 0.375rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.15s ease;
  pointer-events: none;
  margin-bottom: 0.375rem;
  z-index: 1000;
}
.action-btn[data-tooltip]::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #1e293b;
  margin-bottom: -5px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.15s ease;
  pointer-events: none;
}
.action-btn[data-tooltip]:hover::before, .action-btn[data-tooltip]:hover::after {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 768px) {
  .row-actions-responsive .action-btn:not(.action-dropdown-toggle):not(.action-btn-primary) {
    display: none;
  }
  .action-dropdown .action-dropdown-menu {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
    border-radius: 0.75rem 0.75rem 0 0;
    max-height: 60vh;
    overflow-y: auto;
  }
  .action-dropdown .action-dropdown-menu .action-dropdown-item {
    padding: 0.875rem 1.25rem;
    font-size: 0.9375rem;
  }
  .action-btn {
    min-width: 2.5rem;
    height: 2.5rem;
  }
  .action-btn-icon {
    min-width: 2.25rem;
    height: 2.25rem;
  }
}
.table .row-actions {
  margin: -0.25rem 0;
}
.table td.actions-cell {
  text-align: right;
  width: 1%;
  white-space: nowrap;
  padding-left: 0.5rem !important;
}

.table-sticky-actions td:last-child,
.table-sticky-actions th:last-child {
  position: sticky;
  right: 0;
  background-color: var(--fl-surface);
  box-shadow: -2px 0 4px rgba(0, 0, 0, 0.05);
  z-index: 5;
}
.table-sticky-actions thead th:last-child {
  z-index: 15;
  background-color: var(--fl-background);
}

[data-bs-theme=dark] .action-btn {
  color: #94a3b8;
}
[data-bs-theme=dark] .action-btn:hover {
  color: #f1f5f9;
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .action-btn-primary:hover {
  background-color: rgba(19, 59, 98, 0.15);
}
[data-bs-theme=dark] .action-btn-edit:hover {
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .action-btn-view:hover {
  background-color: rgba(8, 145, 178, 0.15);
}
[data-bs-theme=dark] .action-btn-delete:hover,
[data-bs-theme=dark] .action-btn-danger:hover {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .action-btn-success:hover {
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .action-btn-warning:hover {
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .action-dropdown-toggle {
  color: #64748b;
}
[data-bs-theme=dark] .action-dropdown-toggle:hover, [data-bs-theme=dark] .action-dropdown-toggle[aria-expanded=true] {
  color: #f1f5f9;
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .action-dropdown-menu {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .action-dropdown-item {
  color: #f1f5f9;
}
[data-bs-theme=dark] .action-dropdown-item:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .action-dropdown-item.danger:hover {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .action-dropdown-item svg, [data-bs-theme=dark] .action-dropdown-item i {
  color: #94a3b8;
}
[data-bs-theme=dark] .action-dropdown-divider {
  border-color: #475569;
}
[data-bs-theme=dark] .action-dropdown-header {
  color: #64748b;
}
[data-bs-theme=dark] .action-confirm {
  background-color: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.25);
}
[data-bs-theme=dark] .action-confirm .confirm-text {
  color: #f87171;
}
[data-bs-theme=dark] .action-confirm .confirm-btn.confirm-no {
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.4);
}
[data-bs-theme=dark] .action-confirm .confirm-btn.confirm-no:hover {
  background-color: rgba(239, 68, 68, 0.2);
}
[data-bs-theme=dark] .action-feedback.feedback-success {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .action-feedback.feedback-error {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .action-btn[data-tooltip]::before {
  background-color: #334155;
}
[data-bs-theme=dark] .action-btn[data-tooltip]::after {
  border-top-color: #334155;
}
[data-bs-theme=dark] .table-sticky-actions td:last-child,
[data-bs-theme=dark] .table-sticky-actions th:last-child {
  background-color: #1e293b;
}
[data-bs-theme=dark] .table-sticky-actions thead th:last-child {
  background-color: #334155;
}

.editable-cell {
  position: relative;
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  margin: -0.5rem -0.75rem;
  border-radius: 0.375rem;
  transition: background-color 0.15s ease;
}
.editable-cell:hover:not(.editing) {
  background-color: var(--fl-surface-hover);
}
.editable-cell:hover:not(.editing) .edit-indicator {
  opacity: 1;
}
.editable-cell:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(8, 145, 178, 0.25);
}
.editable-cell.editing {
  padding: 0;
  margin: -0.5rem -0.75rem;
  background-color: transparent;
  cursor: default;
}

.edit-indicator {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  color: var(--fl-text-muted);
  transition: opacity 0.15s ease;
  pointer-events: none;
}
.edit-indicator svg, .edit-indicator i {
  width: 0.875rem;
  height: 0.875rem;
}

.editable-value {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 1.5rem;
}
.editable-value.empty {
  color: var(--fl-text-muted);
  font-style: italic;
}

.inline-edit-wrapper {
  display: none;
  align-items: center;
  gap: 0.375rem;
}
.editing .inline-edit-wrapper {
  display: flex;
}

.inline-edit-input {
  flex: 1;
  min-width: 0;
  padding: 0.375rem 0.5rem;
  font-size: inherit;
  font-family: inherit;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid #0891b2;
  border-radius: 0.375rem;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.inline-edit-input:focus {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.inline-edit-input.is-valid {
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.inline-edit-input.is-invalid {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.inline-edit-input.inline-edit-textarea {
  min-height: 4rem;
  resize: vertical;
}

.inline-edit-select {
  flex: 1;
  min-width: 0;
  padding: 0.375rem 2rem 0.375rem 0.5rem;
  font-size: inherit;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid #0891b2;
  border-radius: 0.375rem;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
  cursor: pointer;
}
.inline-edit-select:focus {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}

.inline-edit-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}

.inline-edit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.inline-edit-btn svg, .inline-edit-btn i {
  width: 0.875rem;
  height: 0.875rem;
}
.inline-edit-btn:focus {
  outline: none;
}

.inline-edit-save {
  color: #fff;
  background-color: #10b981;
}
.inline-edit-save:hover {
  background-color: #059669;
}
.inline-edit-save:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
}

.inline-edit-cancel {
  color: var(--fl-text-secondary);
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
}
.inline-edit-cancel:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.inline-edit-cancel:focus {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}

.inline-edit-saving {
  position: relative;
}
.inline-edit-saving .inline-edit-input {
  padding-right: 2rem;
  opacity: 0.7;
}
.inline-edit-saving::after {
  content: "";
  position: absolute;
  right: 0.5rem;
  top: 50%;
  width: 1rem;
  height: 1rem;
  margin-top: -0.5rem;
  border: 2px solid #0891b2;
  border-right-color: transparent;
  border-radius: 50%;
  animation: inlineEditSpin 0.6s linear infinite;
}

@keyframes inlineEditSpin {
  to {
    transform: rotate(360deg);
  }
}
.inline-edit-feedback {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 0.375rem 0.5rem;
  font-size: 0.75rem;
  border-radius: 0 0 0.375rem 0.375rem;
  z-index: 10;
}
.inline-edit-feedback.feedback-error {
  color: #dc2626;
  background-color: #fef2f2;
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-top: none;
}
.inline-edit-feedback.feedback-success {
  color: #059669;
  background-color: #ecfdf5;
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-top: none;
}

.editable-row.editing {
  background-color: rgba(8, 145, 178, 0.04) !important;
}
.editable-row.editing td {
  background-color: transparent;
}
.editable-row.editing td:first-child {
  position: relative;
}
.editable-row.editing td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #0891b2;
}

.click-to-edit {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.click-to-edit:hover:not(.editing) {
  background-color: var(--fl-surface-hover);
}
.click-to-edit:hover:not(.editing) .click-edit-icon {
  opacity: 1;
}
.click-to-edit .click-edit-icon {
  opacity: 0;
  color: var(--fl-text-muted);
  transition: opacity 0.15s ease;
}
.click-to-edit .click-edit-icon svg, .click-to-edit .click-edit-icon i {
  width: 0.75rem;
  height: 0.75rem;
}
.click-to-edit.editing {
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: default;
}

.editable-badge {
  cursor: pointer;
  transition: transform 0.1s ease;
}
.editable-badge:hover {
  transform: scale(1.05);
}
.editable-badge.editing {
  display: none;
}

.badge-edit-dropdown {
  display: none;
  min-width: 150px;
}
.editing + .badge-edit-dropdown {
  display: block;
}
.badge-edit-dropdown .badge-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.badge-edit-dropdown .badge-option:hover {
  background-color: var(--fl-surface-hover);
}
.badge-edit-dropdown .badge-option .badge {
  pointer-events: none;
}

.editable-date .date-value {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.editable-date .date-value svg, .editable-date .date-value i {
  width: 0.875rem;
  height: 0.875rem;
  color: var(--fl-text-muted);
}
.editable-date .date-picker-inline {
  display: none;
}
.editable-date.editing .date-value {
  display: none;
}
.editable-date.editing .date-picker-inline {
  display: block;
}

.editable-number .inline-edit-input {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.editable-number .number-controls {
  display: flex;
  flex-direction: column;
}
.editable-number .number-controls button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 0.875rem;
  padding: 0;
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
  cursor: pointer;
}
.editable-number .number-controls button:first-child {
  border-radius: 0.375rem 0.375rem 0 0;
  border-bottom: none;
}
.editable-number .number-controls button:last-child {
  border-radius: 0 0 0.375rem 0.375rem;
}
.editable-number .number-controls button:hover {
  background-color: var(--fl-surface-hover);
}
.editable-number .number-controls button svg, .editable-number .number-controls button i {
  width: 0.625rem;
  height: 0.625rem;
}

.bulk-edit-mode .editable-cell:hover:not(.editing) {
  background-color: rgba(8, 145, 178, 0.06);
  outline: 1px dashed rgba(8, 145, 178, 0.3);
}
.bulk-edit-mode .editable-cell.modified {
  background-color: rgba(245, 158, 11, 0.1);
}
.bulk-edit-mode .editable-cell.modified::after {
  content: "";
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  width: 6px;
  height: 6px;
  background-color: #f59e0b;
  border-radius: 50%;
}

.bulk-edit-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
  border-radius: 0.5rem;
  color: #fff;
}
.bulk-edit-toolbar .edit-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.bulk-edit-toolbar .edit-info .edit-count {
  font-weight: 600;
}
.bulk-edit-toolbar .edit-actions {
  display: flex;
  gap: 0.5rem;
}
.bulk-edit-toolbar .edit-actions button {
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.bulk-edit-toolbar .edit-actions .btn-save-all {
  color: #fff;
  background-color: #10b981;
  border: none;
}
.bulk-edit-toolbar .edit-actions .btn-save-all:hover {
  background-color: #059669;
}
.bulk-edit-toolbar .edit-actions .btn-discard-all {
  color: #fff;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.bulk-edit-toolbar .edit-actions .btn-discard-all:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.e-grid .e-editedrow,
.e-grid .e-addedrow {
  background-color: rgba(8, 145, 178, 0.04) !important;
}
.e-grid .e-editedrow td.e-rowcell,
.e-grid .e-addedrow td.e-rowcell {
  background-color: transparent !important;
}
.e-grid .e-inline-edit .e-input-group {
  border: 1px solid #0891b2 !important;
  border-radius: 0.375rem !important;
  background-color: var(--fl-surface) !important;
}
.e-grid .e-inline-edit .e-input-group input.e-input {
  color: var(--fl-text-primary) !important;
}
.e-grid .e-inline-edit .e-editedbatchcell .e-input-group {
  border-color: #0891b2 !important;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1) !important;
}
.e-grid .e-editbutton,
.e-grid .e-deletebutton,
.e-grid .e-savebutton,
.e-grid .e-cancelbutton {
  padding: 0.25rem 0.5rem !important;
  border-radius: 0.375rem !important;
}
.e-grid .e-savebutton {
  background-color: #10b981 !important;
  border-color: #10b981 !important;
}
.e-grid .e-cancelbutton {
  background-color: var(--fl-background) !important;
  border-color: var(--fl-border) !important;
  color: var(--fl-text-secondary) !important;
}
.e-grid .e-griderror {
  background-color: #ef4444 !important;
  border-radius: 0.375rem !important;
}
.e-grid .e-griderror::before {
  border-bottom-color: #ef4444 !important;
}

[data-bs-theme=dark] .editable-cell:hover:not(.editing) {
  background-color: #334155;
}
[data-bs-theme=dark] .edit-indicator {
  color: #64748b;
}
[data-bs-theme=dark] .editable-value.empty {
  color: #64748b;
}
[data-bs-theme=dark] .inline-edit-input {
  color: #f1f5f9;
  background-color: #1e293b;
}
[data-bs-theme=dark] .inline-edit-input:focus {
  background-color: #0f172a;
}
[data-bs-theme=dark] .inline-edit-input.is-valid {
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .inline-edit-input.is-invalid {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .inline-edit-select {
  color: #f1f5f9;
  background-color: #1e293b;
}
[data-bs-theme=dark] .inline-edit-cancel {
  color: #94a3b8;
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .inline-edit-cancel:hover {
  background-color: #0f172a;
  color: #f1f5f9;
}
[data-bs-theme=dark] .inline-edit-feedback.feedback-error {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.25);
}
[data-bs-theme=dark] .inline-edit-feedback.feedback-success {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.25);
}
[data-bs-theme=dark] .editable-row.editing {
  background-color: rgba(8, 145, 178, 0.08) !important;
}
[data-bs-theme=dark] .click-to-edit:hover:not(.editing) {
  background-color: #334155;
}
[data-bs-theme=dark] .click-to-edit .click-edit-icon {
  color: #64748b;
}
[data-bs-theme=dark] .editable-date .date-value svg,
[data-bs-theme=dark] .editable-date .date-value i {
  color: #64748b;
}
[data-bs-theme=dark] .editable-number .number-controls button {
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .editable-number .number-controls button:hover {
  background-color: #0f172a;
}
[data-bs-theme=dark] .bulk-edit-mode .editable-cell:hover:not(.editing) {
  background-color: rgba(8, 145, 178, 0.1);
  outline-color: rgba(8, 145, 178, 0.4);
}
[data-bs-theme=dark] .bulk-edit-mode .editable-cell.modified {
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .badge-edit-dropdown .badge-option:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .e-grid .e-editedrow,
[data-bs-theme=dark] .e-grid .e-addedrow {
  background-color: rgba(8, 145, 178, 0.08) !important;
}
[data-bs-theme=dark] .e-grid .e-inline-edit .e-input-group {
  background-color: #1e293b !important;
}
[data-bs-theme=dark] .e-grid .e-inline-edit .e-input-group input.e-input {
  color: #f1f5f9 !important;
}
[data-bs-theme=dark] .e-grid .e-cancelbutton {
  background-color: #334155 !important;
  border-color: #334155 !important;
  color: #94a3b8 !important;
}

.export-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.export-btn:hover {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.export-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.export-btn svg, .export-btn i {
  width: 1rem;
  height: 1rem;
}
.export-btn.export-btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%);
  border-color: transparent;
}
.export-btn.export-btn-primary:hover {
  opacity: 0.9;
}

.export-btn-group {
  display: inline-flex;
  align-items: center;
}
.export-btn-group .export-btn {
  border-radius: 0;
}
.export-btn-group .export-btn:first-child {
  border-radius: 0.5rem 0 0 0.5rem;
}
.export-btn-group .export-btn:last-child {
  border-radius: 0 0.5rem 0.5rem 0;
}
.export-btn-group .export-btn + .export-btn {
  margin-left: -1px;
}

.export-dropdown {
  position: relative;
  display: inline-block;
}
.export-dropdown .export-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.export-dropdown .export-dropdown-toggle .dropdown-arrow {
  transition: transform 0.15s ease;
}
.export-dropdown .export-dropdown-toggle[aria-expanded=true] .dropdown-arrow {
  transform: rotate(180deg);
}
.export-dropdown .export-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000;
  display: none;
  min-width: 220px;
  padding: 0.5rem 0;
  margin-top: 0.375rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: var(--fl-shadow-lg);
}
.export-dropdown .export-dropdown-menu.show {
  display: block;
  animation: exportDropIn 0.15s ease;
}

@keyframes exportDropIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.export-format-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.export-format-item:hover {
  background-color: var(--fl-surface-hover);
}
.export-format-item .format-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
}
.export-format-item .format-details {
  flex: 1;
}
.export-format-item .format-details .format-name {
  font-weight: 500;
  color: var(--fl-text-primary);
}
.export-format-item .format-details .format-desc {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  margin-top: 0.125rem;
}

.format-icon-csv {
  background-color: rgba(16, 185, 129, 0.1);
  color: #10b981;
}

.format-icon-excel,
.format-icon-xlsx {
  background-color: rgba(33, 115, 70, 0.1);
  color: #217346;
}

.format-icon-pdf {
  background-color: rgba(220, 38, 38, 0.1);
  color: #dc2626;
}

.format-icon-json {
  background-color: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
}

.format-icon-xml {
  background-color: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
}

.export-modal .modal-header {
  border-bottom: 1px solid var(--fl-border-light);
}
.export-modal .modal-header .modal-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.export-modal .modal-header .modal-title svg, .export-modal .modal-header .modal-title i {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--fl-text-secondary);
}
.export-modal .modal-body {
  padding: 1.5rem;
}
.export-modal .modal-footer {
  background-color: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
}

.export-section {
  margin-bottom: 1.5rem;
}
.export-section:last-child {
  margin-bottom: 0;
}

.export-section-title {
  display: block;
  margin-bottom: 0.75rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
}

.export-format-selector {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.75rem;
}

.format-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 0.75rem;
  background-color: var(--fl-background);
  border: 2px solid var(--fl-border);
  border-radius: 0.75rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.format-option:hover {
  border-color: var(--fl-border);
  background-color: var(--fl-surface-hover);
}
.format-option.selected {
  border-color: #133B62;
  background-color: rgba(19, 59, 98, 0.05);
}
.format-option.selected .format-icon {
  transform: scale(1.1);
}
.format-option .format-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  border-radius: 0.5rem;
  transition: transform 0.15s ease;
}
.format-option .format-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-primary);
}
.format-option input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.export-columns {
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  max-height: 250px;
  overflow-y: auto;
}

.column-select-all {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: var(--fl-background);
  border-bottom: 1px solid var(--fl-border);
  font-weight: 500;
}
.column-select-all input[type=checkbox] {
  width: 1.125rem;
  height: 1.125rem;
  accent-color: #133B62;
}

.export-column-list {
  padding: 0.5rem 0;
}

.export-column-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.export-column-item:hover {
  background-color: var(--fl-surface-hover);
}
.export-column-item input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  accent-color: #133B62;
  cursor: pointer;
}
.export-column-item label {
  flex: 1;
  margin: 0;
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  cursor: pointer;
}
.export-column-item.required label::after {
  content: "*";
  color: #ef4444;
  margin-left: 0.25rem;
}
.export-column-item.required input[type=checkbox] {
  pointer-events: none;
}

.column-drag-handle {
  padding: 0.25rem;
  color: var(--fl-text-muted);
  cursor: grab;
}
.column-drag-handle:active {
  cursor: grabbing;
}
.column-drag-handle svg, .column-drag-handle i {
  width: 0.875rem;
  height: 0.875rem;
}

.export-date-range {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.date-range-preset {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.date-range-preset .preset-btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background: transparent;
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.date-range-preset .preset-btn:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.date-range-preset .preset-btn.active {
  background-color: #133B62;
  border-color: #133B62;
  color: #fff;
}

.date-range-custom {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.date-range-custom input[type=date] {
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
}
.date-range-custom input[type=date]:focus {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.date-range-custom .date-separator {
  color: var(--fl-text-muted);
  font-size: 0.8125rem;
}

.export-rows-option {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.row-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.row-option:hover {
  border-color: var(--fl-border);
  background-color: var(--fl-surface-hover);
}
.row-option.selected {
  border-color: #133B62;
  background-color: rgba(19, 59, 98, 0.05);
}
.row-option input[type=radio] {
  width: 1.125rem;
  height: 1.125rem;
  accent-color: #133B62;
  cursor: pointer;
}
.row-option .option-content {
  flex: 1;
}
.row-option .option-content .option-label {
  font-weight: 500;
  color: var(--fl-text-primary);
}
.row-option .option-content .option-desc {
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  margin-top: 0.125rem;
}
.row-option .option-count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
}

.export-progress {
  padding: 1.5rem;
  text-align: center;
}

.export-progress-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 1rem;
  color: #133B62;
  animation: exportSpin 1s linear infinite;
}
.export-progress-icon svg, .export-progress-icon i {
  width: 100%;
  height: 100%;
}

@keyframes exportSpin {
  to {
    transform: rotate(360deg);
  }
}
.export-progress-text {
  margin-bottom: 1rem;
}
.export-progress-text .progress-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
}
.export-progress-text .progress-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}

.export-progress-bar {
  width: 100%;
  height: 6px;
  background-color: var(--fl-background);
  border-radius: 50rem;
  overflow: hidden;
}
.export-progress-bar .progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #133B62 0%, #0891b2 100%);
  border-radius: 50rem;
  transition: width 0.3s ease;
}

.export-progress-percent {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
}

.export-result {
  padding: 2rem;
  text-align: center;
}

.export-result-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.export-result-icon svg, .export-result-icon i {
  width: 2rem;
  height: 2rem;
}
.export-result-icon.success {
  background-color: #ecfdf5;
  color: #10b981;
}
.export-result-icon.error {
  background-color: #fef2f2;
  color: #ef4444;
}

.export-result-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.5rem;
}

.export-result-message {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin-bottom: 1.5rem;
}

.export-result-details {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background-color: var(--fl-background);
  border-radius: 0.5rem;
  font-size: 0.8125rem;
}
.export-result-details .detail-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--fl-text-secondary);
}
.export-result-details .detail-item strong {
  color: var(--fl-text-primary);
}

.export-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  margin-top: 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #fff;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.export-download-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}
.export-download-btn svg, .export-download-btn i {
  width: 1.125rem;
  height: 1.125rem;
}

.quick-export-buttons {
  display: flex;
  gap: 0.5rem;
}

.quick-export-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  background: transparent;
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.quick-export-btn:hover {
  background-color: var(--fl-surface-hover);
}
.quick-export-btn svg, .quick-export-btn i {
  width: 1rem;
  height: 1rem;
}
.quick-export-btn.export-csv:hover {
  color: #10b981;
  border-color: #10b981;
}
.quick-export-btn.export-excel:hover {
  color: #217346;
  border-color: #217346;
}
.quick-export-btn.export-pdf:hover {
  color: #dc2626;
  border-color: #dc2626;
}

.dt-buttons {
  display: flex;
  gap: 0.375rem;
  margin-bottom: 1rem;
}
.dt-buttons .dt-button {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.dt-buttons .dt-button:hover {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
}
.dt-buttons .dt-button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}
.dt-buttons .dt-button span {
  display: flex;
  align-items: center;
}
.dt-buttons .dt-button span::before {
  margin-right: 0.375rem;
}
.dt-buttons .dt-button-collection {
  position: absolute;
  z-index: 1000;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: var(--fl-shadow-lg);
  padding: 0.5rem 0;
}
.dt-buttons .dt-button-collection .dt-button {
  display: block;
  width: 100%;
  border: none;
  border-radius: 0;
  text-align: left;
}
.dt-buttons .dt-button-collection .dt-button:hover {
  background-color: var(--fl-surface-hover);
}

[data-bs-theme=dark] .export-btn {
  color: #94a3b8;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .export-btn:hover {
  color: #f1f5f9;
  background-color: #334155;
}
[data-bs-theme=dark] .export-dropdown-menu {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .export-format-item {
  color: #f1f5f9;
}
[data-bs-theme=dark] .export-format-item:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .export-format-item .format-details .format-name {
  color: #f1f5f9;
}
[data-bs-theme=dark] .export-format-item .format-details .format-desc {
  color: #64748b;
}
[data-bs-theme=dark] .format-icon-csv {
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .format-icon-excel,
[data-bs-theme=dark] .format-icon-xlsx {
  background-color: rgba(74, 222, 128, 0.15);
  color: #4ade80;
}
[data-bs-theme=dark] .format-icon-pdf {
  background-color: rgba(248, 113, 113, 0.15);
  color: #f87171;
}
[data-bs-theme=dark] .format-icon-json {
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .format-icon-xml {
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .export-modal .modal-header {
  border-bottom-color: #475569;
}
[data-bs-theme=dark] .export-modal .modal-footer {
  background-color: #334155;
  border-top-color: #475569;
}
[data-bs-theme=dark] .export-section-title {
  color: #64748b;
}
[data-bs-theme=dark] .format-option {
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .format-option:hover {
  background-color: #0f172a;
}
[data-bs-theme=dark] .format-option.selected {
  border-color: #0891b2;
  background-color: rgba(8, 145, 178, 0.1);
}
[data-bs-theme=dark] .format-option .format-label {
  color: #f1f5f9;
}
[data-bs-theme=dark] .export-columns {
  border-color: #334155;
}
[data-bs-theme=dark] .column-select-all {
  background-color: #334155;
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .export-column-item:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .export-column-item label {
  color: #f1f5f9;
}
[data-bs-theme=dark] .column-drag-handle {
  color: #64748b;
}
[data-bs-theme=dark] .date-range-preset .preset-btn {
  color: #94a3b8;
  border-color: #334155;
}
[data-bs-theme=dark] .date-range-preset .preset-btn:hover {
  background-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .date-range-custom input[type=date] {
  color: #f1f5f9;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .date-range-custom .date-separator {
  color: #64748b;
}
[data-bs-theme=dark] .row-option {
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .row-option:hover {
  background-color: #0f172a;
}
[data-bs-theme=dark] .row-option.selected {
  border-color: #0891b2;
  background-color: rgba(8, 145, 178, 0.1);
}
[data-bs-theme=dark] .row-option .option-content .option-label {
  color: #f1f5f9;
}
[data-bs-theme=dark] .row-option .option-content .option-desc {
  color: #64748b;
}
[data-bs-theme=dark] .row-option .option-count {
  color: #0891b2;
  background-color: rgba(8, 145, 178, 0.15);
}
[data-bs-theme=dark] .export-progress-bar {
  background-color: #334155;
}
[data-bs-theme=dark] .export-progress-text .progress-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .export-progress-text .progress-subtitle {
  color: #94a3b8;
}
[data-bs-theme=dark] .export-result-icon.success {
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .export-result-icon.error {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .export-result-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .export-result-message {
  color: #94a3b8;
}
[data-bs-theme=dark] .export-result-details {
  background-color: #334155;
}
[data-bs-theme=dark] .export-result-details .detail-item {
  color: #94a3b8;
}
[data-bs-theme=dark] .export-result-details .detail-item strong {
  color: #f1f5f9;
}
[data-bs-theme=dark] .quick-export-btn {
  border-color: #334155;
}
[data-bs-theme=dark] .quick-export-btn:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .dt-buttons .dt-button {
  color: #94a3b8;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .dt-buttons .dt-button:hover {
  color: #f1f5f9;
  background-color: #334155;
}
[data-bs-theme=dark] .dt-buttons .dt-button-collection {
  background-color: #1e293b;
  border-color: #334155;
}

.fl-floating {
  position: relative;
}
.fl-floating .fl-floating-input {
  width: 100%;
  height: 3.5rem;
  padding: 1.5rem 0.875rem 0.5rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fl-floating .fl-floating-input::placeholder {
  color: transparent;
}
.fl-floating .fl-floating-input:focus {
  border-color: var(--fl-accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.fl-floating .fl-floating-input:focus ~ .fl-floating-label, .fl-floating .fl-floating-input:not(:placeholder-shown) ~ .fl-floating-label, .fl-floating .fl-floating-input.has-value ~ .fl-floating-label {
  top: 0.375rem;
  font-size: 0.75rem;
  color: var(--fl-accent);
}
.fl-floating .fl-floating-input.is-invalid {
  border-color: var(--fl-danger);
}
.fl-floating .fl-floating-input.is-invalid:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.fl-floating .fl-floating-input.is-invalid ~ .fl-floating-label {
  color: var(--fl-danger);
}
.fl-floating .fl-floating-input.is-valid {
  border-color: var(--fl-success);
}
.fl-floating .fl-floating-input.is-valid:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.fl-floating .fl-floating-input:disabled {
  background-color: var(--fl-surface-hover);
  cursor: not-allowed;
  opacity: 0.65;
}
.fl-floating .fl-floating-input[readonly] {
  background-color: var(--fl-surface-hover);
}
.fl-floating .fl-floating-label {
  position: absolute;
  top: 1rem;
  left: 0.875rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--fl-text-muted);
  pointer-events: none;
  transition: all 0.15s ease;
  background-color: transparent;
}
.fl-floating.has-leading-icon .fl-floating-input {
  padding-left: 2.75rem;
}
.fl-floating.has-leading-icon .fl-floating-label {
  left: 2.75rem;
}
.fl-floating.has-leading-icon .fl-input-icon-leading {
  position: absolute;
  top: 50%;
  left: 0.875rem;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}
.fl-floating.has-trailing-icon .fl-floating-input {
  padding-right: 2.75rem;
}
.fl-floating.has-trailing-icon .fl-input-icon-trailing {
  position: absolute;
  top: 50%;
  right: 0.875rem;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
}

.fl-input-clearable {
  position: relative;
}
.fl-input-clearable .form-control {
  padding-right: 2.5rem;
}
.fl-input-clearable .fl-input-clear {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fl-surface-hover);
  border: none;
  border-radius: 50%;
  color: var(--fl-text-muted);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.fl-input-clearable .fl-input-clear:hover {
  background: var(--fl-border);
  color: var(--fl-text-primary);
}
.fl-input-clearable .fl-input-clear svg {
  width: 0.75rem;
  height: 0.75rem;
}
.fl-input-clearable.has-value .fl-input-clear,
.fl-input-clearable .form-control:not(:placeholder-shown) ~ .fl-input-clear {
  opacity: 1;
}
.fl-input-clearable .form-control:placeholder-shown ~ .fl-input-clear,
.fl-input-clearable .form-control:disabled ~ .fl-input-clear {
  opacity: 0;
  pointer-events: none;
}

.fl-input-counter {
  position: relative;
}
.fl-input-counter .fl-counter-display {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-input-counter .fl-counter-display .fl-counter-current {
  color: var(--fl-text-secondary);
}
.fl-input-counter .fl-counter-display.near-limit {
  color: var(--fl-warning);
}
.fl-input-counter .fl-counter-display.near-limit .fl-counter-current {
  color: var(--fl-warning);
  font-weight: 600;
}
.fl-input-counter .fl-counter-display.at-limit {
  color: var(--fl-danger);
}
.fl-input-counter .fl-counter-display.at-limit .fl-counter-current {
  color: var(--fl-danger);
  font-weight: 600;
}

.fl-password-input {
  position: relative;
}
.fl-password-input .form-control {
  padding-right: 3rem;
}
.fl-password-input .fl-password-toggle {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  padding: 0.25rem;
  background: none;
  border: none;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: color 0.15s ease;
}
.fl-password-input .fl-password-toggle:hover {
  color: var(--fl-text-primary);
}
.fl-password-input .fl-password-toggle svg, .fl-password-input .fl-password-toggle i {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}
.fl-password-input .fl-password-toggle .icon-hide {
  display: none;
}
.fl-password-input .fl-password-toggle.is-visible .icon-show {
  display: none;
}
.fl-password-input .fl-password-toggle.is-visible .icon-hide {
  display: block;
}
.fl-password-input .fl-caps-warning {
  display: none;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.375rem;
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  color: var(--fl-warning-dark);
  background-color: var(--fl-warning-bg);
  border-radius: 0.375rem;
}
.fl-password-input .fl-caps-warning svg, .fl-password-input .fl-caps-warning i {
  width: 1rem;
  height: 1rem;
}
.fl-password-input .fl-caps-warning.is-active {
  display: flex;
}

.fl-password-strength {
  margin-top: 0.5rem;
}
.fl-password-strength .fl-strength-bar {
  height: 4px;
  background-color: var(--fl-border);
  border-radius: 50rem;
  overflow: hidden;
}
.fl-password-strength .fl-strength-bar .fl-strength-fill {
  height: 100%;
  width: 0;
  border-radius: 50rem;
  transition: width 0.3s ease, background-color 0.3s ease;
}
.fl-password-strength .fl-strength-text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
}
.fl-password-strength .fl-strength-label {
  font-weight: 500;
}
.fl-password-strength .fl-strength-requirements {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
}
.fl-password-strength .fl-strength-requirements li {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.125rem 0;
  color: var(--fl-text-muted);
}
.fl-password-strength .fl-strength-requirements li svg, .fl-password-strength .fl-strength-requirements li i {
  width: 0.875rem;
  height: 0.875rem;
}
.fl-password-strength .fl-strength-requirements li.is-valid {
  color: var(--fl-success);
}
.fl-password-strength[data-strength=weak] .fl-strength-fill {
  width: 25%;
  background-color: var(--fl-danger);
}
.fl-password-strength[data-strength=weak] .fl-strength-label {
  color: var(--fl-danger);
}
.fl-password-strength[data-strength=fair] .fl-strength-fill {
  width: 50%;
  background-color: var(--fl-warning);
}
.fl-password-strength[data-strength=fair] .fl-strength-label {
  color: var(--fl-warning);
}
.fl-password-strength[data-strength=good] .fl-strength-fill {
  width: 75%;
  background-color: var(--fl-info);
}
.fl-password-strength[data-strength=good] .fl-strength-label {
  color: var(--fl-info);
}
.fl-password-strength[data-strength=strong] .fl-strength-fill {
  width: 100%;
  background-color: var(--fl-success);
}
.fl-password-strength[data-strength=strong] .fl-strength-label {
  color: var(--fl-success);
}

.fl-number-input {
  position: relative;
  display: flex;
}
.fl-number-input .form-control {
  text-align: center;
  -moz-appearance: textfield;
}
.fl-number-input .form-control::-webkit-outer-spin-button, .fl-number-input .form-control::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.fl-number-input .fl-number-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  padding: 0;
  background-color: var(--fl-surface-hover);
  border: 1px solid var(--fl-border);
  color: var(--fl-text-secondary);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.fl-number-input .fl-number-btn:hover:not(:disabled) {
  background-color: var(--fl-border);
  color: var(--fl-text-primary);
}
.fl-number-input .fl-number-btn:active:not(:disabled) {
  background-color: var(--fl-primary);
  color: white;
}
.fl-number-input .fl-number-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-number-input .fl-number-btn svg, .fl-number-input .fl-number-btn i {
  width: 1rem;
  height: 1rem;
}
.fl-number-input .fl-number-decrement {
  border-radius: 0.5rem 0 0 0.5rem;
  border-right: none;
}
.fl-number-input .fl-number-increment {
  border-radius: 0 0.5rem 0.5rem 0;
  border-left: none;
}
.fl-number-input .form-control {
  border-radius: 0;
  border-left: none;
  border-right: none;
}
.fl-number-input.fl-number-sm .form-control {
  height: 2rem;
  font-size: 0.8125rem;
}
.fl-number-input.fl-number-sm .fl-number-btn {
  width: 2rem;
}
.fl-number-input.fl-number-lg .form-control {
  height: 3rem;
  font-size: 1.125rem;
}
.fl-number-input.fl-number-lg .fl-number-btn {
  width: 3rem;
}

.fl-currency-input {
  position: relative;
}
.fl-currency-input .fl-currency-symbol {
  position: absolute;
  top: 50%;
  left: 0.875rem;
  transform: translateY(-50%);
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--fl-text-muted);
  pointer-events: none;
}
.fl-currency-input .form-control {
  padding-left: 1.75rem;
}
.fl-currency-input.has-selector {
  display: flex;
}
.fl-currency-input.has-selector .fl-currency-select {
  flex: 0 0 auto;
  width: auto;
  min-width: 4.5rem;
  border-radius: 0.5rem 0 0 0.5rem;
  border-right: none;
  background-color: var(--fl-surface-hover);
}
.fl-currency-input.has-selector .form-control {
  border-radius: 0 0.5rem 0.5rem 0;
  padding-left: 0.875rem;
}
.fl-currency-input.has-selector .fl-currency-symbol {
  display: none;
}

.fl-search-input {
  position: relative;
}
.fl-search-input .form-control {
  padding-left: 2.75rem;
  padding-right: 2.75rem;
  border-radius: 50rem;
}
.fl-search-input .fl-search-icon {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}
.fl-search-input .fl-search-icon svg, .fl-search-input .fl-search-icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-search-input .fl-search-clear {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  padding: 0.25rem;
  background: none;
  border: none;
  color: var(--fl-text-muted);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.fl-search-input .fl-search-clear:hover {
  color: var(--fl-text-primary);
}
.fl-search-input .fl-search-clear svg, .fl-search-input .fl-search-clear i {
  width: 1rem;
  height: 1rem;
}
.fl-search-input.has-value .fl-search-clear,
.fl-search-input .form-control:not(:placeholder-shown) ~ .fl-search-clear {
  opacity: 1;
}
.fl-search-input .fl-search-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 0.25rem;
  padding: 0.5rem 0;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  box-shadow: var(--fl-shadow-lg);
  z-index: 1000;
  display: none;
}
.fl-search-input .fl-search-suggestions.is-open {
  display: block;
}
.fl-search-input .fl-search-suggestions .fl-suggestion-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.fl-search-input .fl-search-suggestions .fl-suggestion-item:hover, .fl-search-input .fl-search-suggestions .fl-suggestion-item.is-highlighted {
  background-color: var(--fl-surface-hover);
}
.fl-search-input .fl-search-suggestions .fl-suggestion-item .fl-suggestion-icon {
  color: var(--fl-text-muted);
  flex-shrink: 0;
}
.fl-search-input .fl-search-suggestions .fl-suggestion-item .fl-suggestion-text {
  flex: 1;
}
.fl-search-input .fl-search-suggestions .fl-suggestion-item .fl-suggestion-text .highlight {
  font-weight: 600;
  color: var(--fl-primary);
}
.fl-search-input .fl-search-suggestions .fl-suggestion-item .fl-suggestion-type {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-search-input .fl-search-suggestions .fl-suggestion-divider {
  height: 1px;
  margin: 0.5rem 0;
  background-color: var(--fl-border);
}
.fl-search-input .fl-search-suggestions .fl-suggestion-header {
  padding: 0.375rem 1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
}

.fl-textarea {
  position: relative;
}
.fl-textarea textarea.form-control {
  min-height: 6rem;
  resize: vertical;
}
.fl-textarea textarea.form-control.fl-textarea-auto {
  overflow: hidden;
  resize: none;
}
.fl-textarea .fl-textarea-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-textarea textarea::-webkit-resizer {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M9 1L1 9M9 5L5 9' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size: 8px;
  background-repeat: no-repeat;
  background-position: bottom right;
}

.fl-input-hint {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-input-hint svg, .fl-input-hint i {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.125rem;
}
.fl-input-hint.fl-hint-info {
  color: var(--fl-info);
}
.fl-input-hint.fl-hint-warning {
  color: var(--fl-warning-dark);
}

.fl-input-loading {
  position: relative;
}
.fl-input-loading .form-control {
  padding-right: 2.5rem;
}
.fl-input-loading .fl-input-spinner {
  position: absolute;
  top: 50%;
  right: 0.875rem;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--fl-border);
  border-top-color: var(--fl-primary);
  border-radius: 50%;
  animation: fl-spin 0.75s linear infinite;
}

@keyframes fl-spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}
.fl-input-xs .form-control {
  height: 1.75rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}

.fl-input-sm .form-control {
  height: 2.25rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
}

.fl-input-lg .form-control {
  height: 3.25rem;
  padding: 0.75rem 1rem;
  font-size: 1.125rem;
}

.fl-input-xl .form-control {
  height: 3.75rem;
  padding: 1rem 1.25rem;
  font-size: 1.25rem;
}

[data-bs-theme=dark] .fl-floating .fl-floating-input {
  background-color: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-floating .fl-floating-input:focus {
  border-color: #0891b2;
}
[data-bs-theme=dark] .fl-floating .fl-floating-label {
  color: #64748b;
}
[data-bs-theme=dark] .fl-input-clear {
  background: #334155;
}
[data-bs-theme=dark] .fl-input-clear:hover {
  background: #334155;
}
[data-bs-theme=dark] .fl-number-btn {
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-number-btn:hover:not(:disabled) {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-search-suggestions {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-search-suggestions .fl-suggestion-item:hover,
[data-bs-theme=dark] .fl-search-suggestions .fl-suggestion-item.is-highlighted {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-password-strength .fl-strength-bar {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-caps-warning {
  background-color: rgba(245, 158, 11, 0.15);
}

.fl-select {
  position: relative;
}
.fl-select .fl-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 2.375rem;
  padding: 0.5rem 0.75rem;
  padding-right: 2.5rem;
  font-size: 0.9375rem;
  font-weight: 400;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fl-select .fl-select-trigger:hover {
  border-color: var(--fl-border);
}
.fl-select .fl-select-trigger:focus {
  outline: none;
  border-color: var(--fl-accent);
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.fl-select .fl-select-value {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fl-select .fl-select-value.is-placeholder {
  color: var(--fl-text-muted);
}
.fl-select .fl-select-icon {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
  transition: transform 0.2s ease;
}
.fl-select .fl-select-icon svg, .fl-select .fl-select-icon i {
  width: 1rem;
  height: 1rem;
  display: block;
}
.fl-select.is-open .fl-select-trigger {
  border-color: var(--fl-accent);
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.fl-select.is-open .fl-select-icon {
  transform: translateY(-50%) rotate(180deg);
}
.fl-select.is-open .fl-select-dropdown, .fl-select.is-open .fl-combobox .fl-combobox-dropdown, .fl-combobox .fl-select.is-open .fl-combobox-dropdown, .fl-select.is-open .fl-multiselect .fl-multiselect-dropdown, .fl-multiselect .fl-select.is-open .fl-multiselect-dropdown {
  display: block;
  animation: fl-dropdown-enter 0.15s ease;
}
.fl-select.is-disabled .fl-select-trigger {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-muted);
  cursor: not-allowed;
}
.fl-select.is-invalid .fl-select-trigger {
  border-color: var(--fl-danger);
}
.fl-select.is-invalid .fl-select-trigger:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.fl-select-dropdown, .fl-combobox .fl-combobox-dropdown, .fl-multiselect .fl-multiselect-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  display: none;
  max-height: 300px;
  overflow: hidden;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  box-shadow: var(--fl-shadow-lg);
  z-index: 1000;
}
.fl-select-dropdown.fl-select-dropup, .fl-combobox .fl-select-dropup.fl-combobox-dropdown, .fl-multiselect .fl-select-dropup.fl-multiselect-dropdown {
  top: auto;
  bottom: calc(100% + 4px);
}

.fl-select-search {
  padding: 0.5rem;
  border-bottom: 1px solid var(--fl-border);
}
.fl-select-search .fl-select-search-input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  padding-left: 2.25rem;
  font-size: 0.8125rem;
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  background-color: var(--fl-background);
}
.fl-select-search .fl-select-search-input:focus {
  outline: none;
  border-color: var(--fl-accent);
}
.fl-select-search .fl-select-search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}
.fl-select-search .fl-select-search-icon svg, .fl-select-search .fl-select-search-icon i {
  width: 1rem;
  height: 1rem;
}
.fl-select-search {
  position: relative;
}

.fl-select-options {
  max-height: 250px;
  overflow-y: auto;
  padding: 0.25rem 0;
}
.fl-select-options::-webkit-scrollbar {
  width: 6px;
}
.fl-select-options::-webkit-scrollbar-track {
  background: transparent;
}
.fl-select-options::-webkit-scrollbar-thumb {
  background-color: var(--fl-border);
  border-radius: 3px;
}

.fl-select-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1rem;
  font-size: 0.9375rem;
  color: var(--fl-text-primary);
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.fl-select-option:hover, .fl-select-option.is-highlighted {
  background-color: var(--fl-surface-hover);
}
.fl-select-option.is-selected {
  background-color: rgba(19, 59, 98, 0.1);
  color: var(--fl-primary);
}
.fl-select-option.is-selected .fl-select-option-check {
  opacity: 1;
}
.fl-select-option.is-disabled {
  color: var(--fl-text-muted);
  cursor: not-allowed;
  pointer-events: none;
}
.fl-select-option .fl-select-option-icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--fl-text-muted);
}
.fl-select-option .fl-select-option-content {
  flex: 1;
  min-width: 0;
}
.fl-select-option .fl-select-option-content .fl-select-option-label {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fl-select-option .fl-select-option-content .fl-select-option-description {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  margin-top: 0.125rem;
}
.fl-select-option .fl-select-option-check {
  flex-shrink: 0;
  opacity: 0;
  color: var(--fl-primary);
}
.fl-select-option .fl-select-option-check svg, .fl-select-option .fl-select-option-check i {
  width: 1rem;
  height: 1rem;
}

.fl-select-group:not(:first-child) {
  border-top: 1px solid var(--fl-border);
  margin-top: 0.25rem;
  padding-top: 0.25rem;
}
.fl-select-group .fl-select-group-label {
  padding: 0.5rem 1rem 0.375rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
}

.fl-select-empty {
  padding: 1.5rem 1rem;
  text-align: center;
  color: var(--fl-text-muted);
}
.fl-select-empty .fl-select-empty-icon {
  margin-bottom: 0.5rem;
  color: var(--fl-text-muted);
  opacity: 0.5;
}
.fl-select-empty .fl-select-empty-icon svg, .fl-select-empty .fl-select-empty-icon i {
  width: 2rem;
  height: 2rem;
}

.fl-select-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.fl-select-loading .fl-select-spinner {
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--fl-border);
  border-top-color: var(--fl-primary);
  border-radius: 50%;
  animation: fl-spin 0.75s linear infinite;
}

.fl-multiselect {
  position: relative;
}
.fl-multiselect .fl-multiselect-trigger {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.375rem;
  padding: 0.375rem 2.5rem 0.375rem 0.5rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fl-multiselect .fl-multiselect-trigger:focus {
  outline: none;
  border-color: var(--fl-accent);
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.fl-multiselect .fl-multiselect-placeholder {
  padding: 0.25rem 0.5rem;
  color: var(--fl-text-muted);
}
.fl-multiselect .fl-multiselect-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 200px;
  padding: 0.25rem 0.375rem 0.25rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-primary);
  background-color: rgba(19, 59, 98, 0.1);
  border-radius: 0.375rem;
}
.fl-multiselect .fl-multiselect-tag .fl-multiselect-tag-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fl-multiselect .fl-multiselect-tag .fl-multiselect-tag-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 50%;
  color: var(--fl-primary);
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.fl-multiselect .fl-multiselect-tag .fl-multiselect-tag-remove:hover {
  background-color: rgba(19, 59, 98, 0.2);
}
.fl-multiselect .fl-multiselect-tag .fl-multiselect-tag-remove svg, .fl-multiselect .fl-multiselect-tag .fl-multiselect-tag-remove i {
  width: 0.625rem;
  height: 0.625rem;
}
.fl-multiselect .fl-multiselect-more {
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  background-color: var(--fl-surface-hover);
  border-radius: 0.375rem;
}
.fl-multiselect .fl-multiselect-icon {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
}
.fl-multiselect .fl-multiselect-input {
  flex: 1;
  min-width: 80px;
  padding: 0.25rem 0.375rem;
  font-size: 0.9375rem;
  border: none;
  background: transparent;
  outline: none;
}
.fl-multiselect .fl-multiselect-input::placeholder {
  color: var(--fl-text-muted);
}
.fl-multiselect .fl-multiselect-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1rem;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.fl-multiselect .fl-multiselect-option:hover, .fl-multiselect .fl-multiselect-option.is-highlighted {
  background-color: var(--fl-surface-hover);
}
.fl-multiselect .fl-multiselect-option.is-selected .fl-multiselect-checkbox {
  background-color: var(--fl-primary);
  border-color: var(--fl-primary);
}
.fl-multiselect .fl-multiselect-option.is-selected .fl-multiselect-checkbox svg {
  opacity: 1;
}
.fl-multiselect .fl-multiselect-option.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-multiselect .fl-multiselect-checkbox {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 0.25rem;
  transition: all 0.15s ease;
}
.fl-multiselect .fl-multiselect-checkbox svg {
  width: 0.75rem;
  height: 0.75rem;
  color: white;
  opacity: 0;
}
.fl-multiselect .fl-multiselect-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--fl-border);
  background-color: var(--fl-background);
}
.fl-multiselect .fl-multiselect-actions .fl-multiselect-action {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-accent);
  background: none;
  border: none;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
}
.fl-multiselect .fl-multiselect-actions .fl-multiselect-action:hover {
  text-decoration: underline;
}
.fl-multiselect .fl-multiselect-actions .fl-multiselect-action:disabled {
  color: var(--fl-text-muted);
  cursor: not-allowed;
}
.fl-multiselect .fl-multiselect-actions .fl-multiselect-count {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-multiselect.is-open .fl-multiselect-trigger {
  border-color: var(--fl-accent);
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.fl-multiselect.is-open .fl-multiselect-dropdown {
  display: block;
}

.fl-select-sm .fl-select-trigger {
  min-height: 2.25rem;
  padding: 0.375rem 0.75rem;
  padding-right: 2rem;
  font-size: 0.8125rem;
}

.fl-select-lg .fl-select-trigger {
  min-height: 3.25rem;
  padding: 0.75rem 1rem;
  padding-right: 3rem;
  font-size: 1.125rem;
}

.fl-native-select {
  position: relative;
}
.fl-native-select select.form-select {
  appearance: none;
  padding-right: 2.5rem;
}
.fl-native-select select.form-select option {
  padding: 0.5rem;
}
.fl-native-select .fl-native-select-icon {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--fl-text-muted);
}

.fl-select-avatar-option .fl-select-option-avatar {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  object-fit: cover;
  background-color: var(--fl-surface-hover);
}

.fl-multiselect-tag-avatar {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  object-fit: cover;
  margin-right: -0.125rem;
}

.fl-combobox {
  position: relative;
}
.fl-combobox .fl-combobox-input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  padding-right: 2.5rem;
  font-size: 0.9375rem;
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  background-color: var(--fl-surface);
}
.fl-combobox .fl-combobox-input:focus {
  outline: none;
  border-color: var(--fl-accent);
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.fl-combobox .fl-combobox-toggle {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  padding: 0.25rem;
  background: none;
  border: none;
  color: var(--fl-text-muted);
  cursor: pointer;
}
.fl-combobox .fl-combobox-toggle:hover {
  color: var(--fl-text-primary);
}
.fl-combobox.is-open .fl-combobox-dropdown {
  display: block;
}

@keyframes fl-dropdown-enter {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
[data-bs-theme=dark] .fl-select-trigger,
[data-bs-theme=dark] .fl-multiselect-trigger,
[data-bs-theme=dark] .fl-combobox-input {
  background-color: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-select-dropdown,
[data-bs-theme=dark] .fl-multiselect-dropdown,
[data-bs-theme=dark] .fl-combobox-dropdown {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-select-option:hover,
[data-bs-theme=dark] .fl-select-option.is-highlighted,
[data-bs-theme=dark] .fl-multiselect-option:hover,
[data-bs-theme=dark] .fl-multiselect-option.is-highlighted {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-select-option.is-selected {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .fl-select-search-input {
  background-color: #0f172a;
  border-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-select-group {
  border-top-color: #334155;
}
[data-bs-theme=dark] .fl-multiselect-tag {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .fl-multiselect-more {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-multiselect-actions {
  background-color: #0f172a;
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .fl-multiselect-checkbox {
  background-color: #1e293b;
  border-color: #334155;
}

.fl-checkbox {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}
.fl-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.fl-checkbox input[type=checkbox]:checked + .fl-checkbox-box {
  background-color: var(--fl-primary);
  border-color: var(--fl-primary);
}
.fl-checkbox input[type=checkbox]:checked + .fl-checkbox-box .fl-checkbox-icon {
  opacity: 1;
  transform: scale(1);
}
.fl-checkbox input[type=checkbox]:indeterminate + .fl-checkbox-box {
  background-color: var(--fl-primary);
  border-color: var(--fl-primary);
}
.fl-checkbox input[type=checkbox]:indeterminate + .fl-checkbox-box .fl-checkbox-icon-check {
  opacity: 0;
}
.fl-checkbox input[type=checkbox]:indeterminate + .fl-checkbox-box .fl-checkbox-icon-indeterminate {
  opacity: 1;
}
.fl-checkbox input[type=checkbox]:focus-visible + .fl-checkbox-box {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}
.fl-checkbox input[type=checkbox]:disabled + .fl-checkbox-box {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-checkbox input[type=checkbox]:disabled ~ .fl-checkbox-content {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-checkbox .fl-checkbox-box {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  background-color: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 0.25rem;
  transition: all 0.15s ease;
}
.fl-checkbox .fl-checkbox-box .fl-checkbox-icon {
  width: 0.75rem;
  height: 0.75rem;
  color: white;
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.15s ease;
}
.fl-checkbox .fl-checkbox-box .fl-checkbox-icon-indeterminate {
  opacity: 0;
  width: 0.625rem;
  height: 2px;
  background-color: white;
  border-radius: 1px;
}
.fl-checkbox .fl-checkbox-content {
  flex: 1;
  min-width: 0;
}
.fl-checkbox .fl-checkbox-label {
  display: block;
  font-size: 0.9375rem;
  font-weight: 400;
  color: var(--fl-text-primary);
  line-height: 1.5;
}
.fl-checkbox .fl-checkbox-description {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  line-height: 1.4;
}
.fl-checkbox:hover:not(.is-disabled) .fl-checkbox-box {
  border-color: var(--fl-primary);
}
.fl-checkbox.fl-checkbox-sm {
  gap: 0.5rem;
}
.fl-checkbox.fl-checkbox-sm .fl-checkbox-box {
  width: 1rem;
  height: 1rem;
}
.fl-checkbox.fl-checkbox-sm .fl-checkbox-box .fl-checkbox-icon {
  width: 0.625rem;
  height: 0.625rem;
}
.fl-checkbox.fl-checkbox-sm .fl-checkbox-label {
  font-size: 0.8125rem;
}
.fl-checkbox.fl-checkbox-lg {
  gap: 1rem;
}
.fl-checkbox.fl-checkbox-lg .fl-checkbox-box {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.375rem;
}
.fl-checkbox.fl-checkbox-lg .fl-checkbox-box .fl-checkbox-icon {
  width: 1rem;
  height: 1rem;
}
.fl-checkbox.fl-checkbox-lg .fl-checkbox-label {
  font-size: 1.125rem;
}
.fl-checkbox.fl-checkbox-success input:checked + .fl-checkbox-box {
  background-color: var(--fl-success);
  border-color: var(--fl-success);
}
.fl-checkbox.fl-checkbox-warning input:checked + .fl-checkbox-box {
  background-color: var(--fl-warning);
  border-color: var(--fl-warning);
}
.fl-checkbox.fl-checkbox-danger input:checked + .fl-checkbox-box {
  background-color: var(--fl-danger);
  border-color: var(--fl-danger);
}

.fl-radio {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}
.fl-radio input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.fl-radio input[type=radio]:checked + .fl-radio-circle {
  border-color: var(--fl-primary);
}
.fl-radio input[type=radio]:checked + .fl-radio-circle .fl-radio-dot {
  opacity: 1;
  transform: scale(1);
}
.fl-radio input[type=radio]:focus-visible + .fl-radio-circle {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}
.fl-radio input[type=radio]:disabled + .fl-radio-circle {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-radio input[type=radio]:disabled ~ .fl-radio-content {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-radio .fl-radio-circle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  background-color: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 50%;
  transition: border-color 0.15s ease;
}
.fl-radio .fl-radio-circle .fl-radio-dot {
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--fl-primary);
  border-radius: 50%;
  opacity: 0;
  transform: scale(0);
  transition: all 0.15s ease;
}
.fl-radio .fl-radio-content {
  flex: 1;
  min-width: 0;
}
.fl-radio .fl-radio-label {
  display: block;
  font-size: 0.9375rem;
  font-weight: 400;
  color: var(--fl-text-primary);
  line-height: 1.5;
}
.fl-radio .fl-radio-description {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  line-height: 1.4;
}
.fl-radio:hover:not(.is-disabled) .fl-radio-circle {
  border-color: var(--fl-primary);
}
.fl-radio.fl-radio-sm {
  gap: 0.5rem;
}
.fl-radio.fl-radio-sm .fl-radio-circle {
  width: 1rem;
  height: 1rem;
}
.fl-radio.fl-radio-sm .fl-radio-circle .fl-radio-dot {
  width: 0.375rem;
  height: 0.375rem;
}
.fl-radio.fl-radio-sm .fl-radio-label {
  font-size: 0.8125rem;
}
.fl-radio.fl-radio-lg {
  gap: 1rem;
}
.fl-radio.fl-radio-lg .fl-radio-circle {
  width: 1.5rem;
  height: 1.5rem;
}
.fl-radio.fl-radio-lg .fl-radio-circle .fl-radio-dot {
  width: 0.625rem;
  height: 0.625rem;
}
.fl-radio.fl-radio-lg .fl-radio-label {
  font-size: 1.125rem;
}

.fl-check-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.fl-check-group.fl-check-group-horizontal {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.fl-check-group.fl-check-group-compact {
  gap: 0.5rem;
}
.fl-check-group.fl-check-group-divided {
  gap: 0;
}
.fl-check-group.fl-check-group-divided > .fl-checkbox,
.fl-check-group.fl-check-group-divided > .fl-radio {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--fl-border);
}
.fl-check-group.fl-check-group-divided > .fl-checkbox:last-child,
.fl-check-group.fl-check-group-divided > .fl-radio:last-child {
  border-bottom: none;
}

.fl-check-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  background-color: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 0.75rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fl-check-card input[type=checkbox],
.fl-check-card input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.fl-check-card input[type=checkbox]:checked ~ .fl-check-card-content .fl-check-card-box,
.fl-check-card input[type=radio]:checked ~ .fl-check-card-content .fl-check-card-box {
  background-color: var(--fl-primary);
  border-color: var(--fl-primary);
}
.fl-check-card input[type=checkbox]:checked ~ .fl-check-card-content .fl-check-card-box .fl-check-card-icon,
.fl-check-card input[type=radio]:checked ~ .fl-check-card-content .fl-check-card-box .fl-check-card-icon {
  opacity: 1;
}
.fl-check-card input[type=checkbox]:focus-visible ~ .fl-check-card-content,
.fl-check-card input[type=radio]:focus-visible ~ .fl-check-card-content {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}
.fl-check-card input[type=checkbox]:disabled ~ .fl-check-card-content,
.fl-check-card input[type=radio]:disabled ~ .fl-check-card-content {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-check-card.is-selected, .fl-check-card:has(input:checked) {
  border-color: var(--fl-primary);
  background-color: rgba(19, 59, 98, 0.03);
}
.fl-check-card:hover:not(.is-disabled) {
  border-color: var(--fl-primary);
}
.fl-check-card .fl-check-card-content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex: 1;
}
.fl-check-card .fl-check-card-box {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 0.25rem;
  transition: all 0.15s ease;
}
.fl-check-card .fl-check-card-box.fl-check-card-box-radio {
  border-radius: 50%;
}
.fl-check-card .fl-check-card-box.fl-check-card-box-radio .fl-check-card-icon {
  width: 0.5rem;
  height: 0.5rem;
  background-color: white;
  border-radius: 50%;
}
.fl-check-card .fl-check-card-box .fl-check-card-icon {
  width: 0.75rem;
  height: 0.75rem;
  color: white;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.fl-check-card .fl-check-card-body {
  flex: 1;
  min-width: 0;
}
.fl-check-card .fl-check-card-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
}
.fl-check-card .fl-check-card-description {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  line-height: 1.4;
}
.fl-check-card .fl-check-card-icon-wrapper {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--fl-surface-hover);
  border-radius: 0.5rem;
  color: var(--fl-text-secondary);
}
.fl-check-card .fl-check-card-icon-wrapper svg, .fl-check-card .fl-check-card-icon-wrapper i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-check-card .fl-check-card-badge {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
}

.fl-check-card-group {
  display: grid;
  gap: 0.75rem;
}
.fl-check-card-group.fl-check-card-group-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.fl-check-card-group.fl-check-card-group-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.fl-check-card-group.fl-check-card-group-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 768px) {
  .fl-check-card-group.fl-check-card-group-cols-3, .fl-check-card-group.fl-check-card-group-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .fl-check-card-group.fl-check-card-group-cols-2, .fl-check-card-group.fl-check-card-group-cols-3, .fl-check-card-group.fl-check-card-group-cols-4 {
    grid-template-columns: 1fr;
  }
}

.fl-check-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  background-color: var(--fl-surface-hover);
  border: 1px solid transparent;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.fl-check-icon input {
  display: none;
}
.fl-check-icon input:checked ~ .fl-check-icon-content {
  color: var(--fl-primary);
}
.fl-check-icon.is-selected, .fl-check-icon:has(input:checked) {
  background-color: rgba(19, 59, 98, 0.1);
  border-color: var(--fl-primary);
}
.fl-check-icon.is-selected .fl-check-icon-content, .fl-check-icon:has(input:checked) .fl-check-icon-content {
  color: var(--fl-primary);
}
.fl-check-icon:hover:not(.is-disabled) {
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.fl-check-icon .fl-check-icon-content {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
}
.fl-check-icon .fl-check-icon-content svg, .fl-check-icon .fl-check-icon-content i {
  width: 1rem;
  height: 1rem;
}

.fl-toggle-group {
  display: inline-flex;
  background-color: var(--fl-surface-hover);
  border-radius: 0.5rem;
  padding: 0.25rem;
}
.fl-toggle-group .fl-toggle-btn {
  position: relative;
}
.fl-toggle-group .fl-toggle-btn input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.fl-toggle-group .fl-toggle-btn input:checked + .fl-toggle-btn-content {
  background-color: var(--fl-surface);
  color: var(--fl-text-primary);
  box-shadow: var(--fl-shadow-sm);
}
.fl-toggle-group .fl-toggle-btn input:focus-visible + .fl-toggle-btn-content {
  box-shadow: 0 0 0 2px rgba(8, 145, 178, 0.3);
}
.fl-toggle-group .fl-toggle-btn input:disabled + .fl-toggle-btn-content {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-toggle-group .fl-toggle-btn .fl-toggle-btn-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-muted);
  background-color: transparent;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.fl-toggle-group .fl-toggle-btn .fl-toggle-btn-content svg, .fl-toggle-group .fl-toggle-btn .fl-toggle-btn-content i {
  width: 1rem;
  height: 1rem;
}
.fl-toggle-group .fl-toggle-btn:hover:not(.is-disabled) .fl-toggle-btn-content:not(:has(+ input:checked)) {
  color: var(--fl-text-primary);
}
.fl-toggle-group.fl-toggle-group-sm {
  padding: 0.125rem;
}
.fl-toggle-group.fl-toggle-group-sm .fl-toggle-btn-content {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
}
.fl-toggle-group.fl-toggle-group-lg {
  padding: 0.375rem;
}
.fl-toggle-group.fl-toggle-group-lg .fl-toggle-btn-content {
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
}
.fl-toggle-group.fl-toggle-group-full {
  display: flex;
  width: 100%;
}
.fl-toggle-group.fl-toggle-group-full .fl-toggle-btn {
  flex: 1;
}
.fl-toggle-group.fl-toggle-group-full .fl-toggle-btn .fl-toggle-btn-content {
  width: 100%;
}

[data-bs-theme=dark] .fl-checkbox-box,
[data-bs-theme=dark] .fl-radio-circle,
[data-bs-theme=dark] .fl-check-card-box {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-checkbox-label,
[data-bs-theme=dark] .fl-radio-label,
[data-bs-theme=dark] .fl-check-card-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-checkbox-description,
[data-bs-theme=dark] .fl-radio-description,
[data-bs-theme=dark] .fl-check-card-description {
  color: #64748b;
}
[data-bs-theme=dark] .fl-check-card {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-check-card.is-selected, [data-bs-theme=dark] .fl-check-card:has(input:checked) {
  background-color: rgba(19, 59, 98, 0.1);
}
[data-bs-theme=dark] .fl-check-card-icon-wrapper {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-check-group-divided > .fl-checkbox,
[data-bs-theme=dark] .fl-check-group-divided > .fl-radio {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .fl-check-icon {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-check-icon:hover:not(.is-disabled) {
  border-color: #334155;
}
[data-bs-theme=dark] .fl-toggle-group {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-toggle-group .fl-toggle-btn input:checked + .fl-toggle-btn-content {
  background-color: #1e293b;
}

.fl-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
}
.fl-switch input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.fl-switch input[type=checkbox]:checked + .fl-switch-track {
  background-color: var(--fl-primary);
}
.fl-switch input[type=checkbox]:checked + .fl-switch-track .fl-switch-thumb {
  transform: translateX(calc(100% + 2px));
  background-color: white;
}
.fl-switch input[type=checkbox]:checked + .fl-switch-track .fl-switch-icon-off {
  opacity: 0;
}
.fl-switch input[type=checkbox]:checked + .fl-switch-track .fl-switch-icon-on {
  opacity: 1;
}
.fl-switch input[type=checkbox]:focus-visible + .fl-switch-track {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}
.fl-switch input[type=checkbox]:disabled + .fl-switch-track {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-switch input[type=checkbox]:disabled ~ .fl-switch-label {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-switch .fl-switch-track {
  position: relative;
  flex-shrink: 0;
  width: 2.75rem;
  height: 1.5rem;
  background-color: var(--fl-border);
  border-radius: 50rem;
  transition: background-color 0.2s ease;
}
.fl-switch .fl-switch-track .fl-switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.5rem - 4px);
  height: calc(1.5rem - 4px);
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease, background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fl-switch .fl-switch-track .fl-switch-thumb .fl-switch-icon-on,
.fl-switch .fl-switch-track .fl-switch-thumb .fl-switch-icon-off {
  position: absolute;
  width: 0.625rem;
  height: 0.625rem;
  transition: opacity 0.15s ease;
}
.fl-switch .fl-switch-track .fl-switch-thumb .fl-switch-icon-on {
  opacity: 0;
  color: var(--fl-primary);
}
.fl-switch .fl-switch-track .fl-switch-thumb .fl-switch-icon-off {
  opacity: 1;
  color: var(--fl-text-muted);
}
.fl-switch .fl-switch-label {
  font-size: 0.9375rem;
  font-weight: 400;
  color: var(--fl-text-primary);
  line-height: 1.5;
  user-select: none;
}
.fl-switch .fl-switch-description {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  margin-top: 0.125rem;
}
.fl-switch.fl-switch-label-left {
  flex-direction: row-reverse;
}
.fl-switch.fl-switch-stacked .fl-switch-content {
  display: flex;
  flex-direction: column;
}

.fl-switch-sm {
  gap: 0.5rem;
}
.fl-switch-sm .fl-switch-track {
  width: 2rem;
  height: 1.125rem;
}
.fl-switch-sm .fl-switch-track .fl-switch-thumb {
  width: calc(1.125rem - 4px);
  height: calc(1.125rem - 4px);
}
.fl-switch-sm .fl-switch-track .fl-switch-thumb .fl-switch-icon-on,
.fl-switch-sm .fl-switch-track .fl-switch-thumb .fl-switch-icon-off {
  width: 0.5rem;
  height: 0.5rem;
}
.fl-switch-sm .fl-switch-label {
  font-size: 0.8125rem;
}

.fl-switch-lg {
  gap: 1rem;
}
.fl-switch-lg .fl-switch-track {
  width: 3.5rem;
  height: 1.875rem;
}
.fl-switch-lg .fl-switch-track .fl-switch-thumb {
  top: 3px;
  left: 3px;
  width: calc(1.875rem - 6px);
  height: calc(1.875rem - 6px);
}
.fl-switch-lg .fl-switch-track .fl-switch-thumb .fl-switch-icon-on,
.fl-switch-lg .fl-switch-track .fl-switch-thumb .fl-switch-icon-off {
  width: 0.75rem;
  height: 0.75rem;
}
.fl-switch-lg input:checked + .fl-switch-track .fl-switch-thumb {
  transform: translateX(calc(100% + 4px));
}
.fl-switch-lg .fl-switch-label {
  font-size: 1.125rem;
}

.fl-switch-success input:checked + .fl-switch-track {
  background-color: var(--fl-success);
}

.fl-switch-warning input:checked + .fl-switch-track {
  background-color: var(--fl-warning);
}

.fl-switch-danger input:checked + .fl-switch-track {
  background-color: var(--fl-danger);
}

.fl-switch-info input:checked + .fl-switch-track {
  background-color: var(--fl-info);
}

.fl-switch-text .fl-switch-track {
  width: 3.5rem;
}
.fl-switch-text .fl-switch-track::before, .fl-switch-text .fl-switch-track::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  transition: opacity 0.15s ease;
}
.fl-switch-text .fl-switch-track::before {
  content: attr(data-off);
  right: 0.375rem;
  color: var(--fl-text-muted);
  opacity: 1;
}
.fl-switch-text .fl-switch-track::after {
  content: attr(data-on);
  left: 0.375rem;
  color: white;
  opacity: 0;
}
.fl-switch-text input:checked + .fl-switch-track::before {
  opacity: 0;
}
.fl-switch-text input:checked + .fl-switch-track::after {
  opacity: 1;
}

.fl-switch-icons .fl-switch-track .fl-switch-track-icons {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0.375rem;
}
.fl-switch-icons .fl-switch-track .fl-switch-track-icons .fl-switch-track-icon {
  width: 0.75rem;
  height: 0.75rem;
  transition: opacity 0.15s ease;
}
.fl-switch-icons .fl-switch-track .fl-switch-track-icons .fl-switch-track-icon.icon-off {
  color: var(--fl-text-muted);
  opacity: 1;
}
.fl-switch-icons .fl-switch-track .fl-switch-track-icons .fl-switch-track-icon.icon-on {
  color: rgba(255, 255, 255, 0.9);
  opacity: 0;
}
.fl-switch-icons input:checked + .fl-switch-track .fl-switch-track-icons .icon-off {
  opacity: 0;
}
.fl-switch-icons input:checked + .fl-switch-track .fl-switch-track-icons .icon-on {
  opacity: 1;
}

.fl-switch-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.fl-switch-group.fl-switch-group-horizontal {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.fl-switch-group.fl-switch-group-divided {
  gap: 0;
}
.fl-switch-group.fl-switch-group-divided .fl-switch {
  padding: 1rem 0;
  border-bottom: 1px solid var(--fl-border);
}
.fl-switch-group.fl-switch-group-divided .fl-switch:last-child {
  border-bottom: none;
}

.fl-switch-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
}
.fl-switch-card .fl-switch-card-content {
  flex: 1;
  min-width: 0;
}
.fl-switch-card .fl-switch-card-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
}
.fl-switch-card .fl-switch-card-description {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  line-height: 1.4;
}
.fl-switch-card .fl-switch {
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.fl-switch-card .fl-switch-card-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--fl-surface-hover);
  border-radius: 0.5rem;
  color: var(--fl-text-secondary);
  margin-right: 0.75rem;
}
.fl-switch-card .fl-switch-card-icon svg, .fl-switch-card .fl-switch-card-icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-switch-card.fl-switch-card-with-icon .fl-switch-card-body {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.fl-switch-card.is-active {
  border-color: var(--fl-primary);
  background-color: rgba(19, 59, 98, 0.03);
}
.fl-switch-card.is-active .fl-switch-card-icon {
  background-color: rgba(19, 59, 98, 0.1);
  color: var(--fl-primary);
}

.fl-switch-ios .fl-switch-track {
  width: 3.125rem;
  height: 1.875rem;
  background-color: #e5e5ea;
}
.fl-switch-ios .fl-switch-track .fl-switch-thumb {
  top: 2px;
  left: 2px;
  width: calc(1.875rem - 4px);
  height: calc(1.875rem - 4px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
}
.fl-switch-ios input:checked + .fl-switch-track {
  background-color: #34c759;
}
.fl-switch-ios input:checked + .fl-switch-track .fl-switch-thumb {
  transform: translateX(1.25rem);
}

.fl-switch-material .fl-switch-track {
  width: 2.25rem;
  height: 0.875rem;
  background-color: rgba(0, 0, 0, 0.26);
}
.fl-switch-material .fl-switch-track .fl-switch-thumb {
  top: -3px;
  left: -2px;
  width: 1.25rem;
  height: 1.25rem;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}
.fl-switch-material input:checked + .fl-switch-track {
  background-color: rgba(19, 59, 98, 0.5);
}
.fl-switch-material input:checked + .fl-switch-track .fl-switch-thumb {
  transform: translateX(1rem);
  background-color: var(--fl-primary);
}

.fl-switch-loading .fl-switch-track {
  pointer-events: none;
}
.fl-switch-loading .fl-switch-thumb::after {
  content: "";
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid var(--fl-border);
  border-top-color: var(--fl-primary);
  border-radius: 50%;
  animation: fl-spin 0.75s linear infinite;
}

[data-bs-theme=dark] .fl-switch-track {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-switch-track .fl-switch-thumb {
  background-color: #cbd5e1;
}
[data-bs-theme=dark] .fl-switch input:checked + .fl-switch-track .fl-switch-thumb {
  background-color: white;
}
[data-bs-theme=dark] .fl-switch-label {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-switch-description {
  color: #64748b;
}
[data-bs-theme=dark] .fl-switch-card {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-switch-card.is-active {
  background-color: rgba(19, 59, 98, 0.1);
}
[data-bs-theme=dark] .fl-switch-card-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-switch-card-icon {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-switch-group-divided .fl-switch {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .fl-switch-ios .fl-switch-track {
  background-color: #475569;
}
[data-bs-theme=dark] .fl-switch-material .fl-switch-track {
  background-color: rgba(255, 255, 255, 0.3);
}
[data-bs-theme=dark] .fl-switch-material input:checked + .fl-switch-track {
  background-color: rgba(19, 59, 98, 0.5);
}

.fl-date-input {
  position: relative;
}
.fl-date-input .form-control {
  padding-right: 2.75rem;
}
.fl-date-input .fl-date-icon {
  position: absolute;
  top: 50%;
  right: 0.875rem;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}
.fl-date-input .fl-date-icon svg, .fl-date-input .fl-date-icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-date-input .fl-date-clear {
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
  padding: 0.25rem;
  background: none;
  border: none;
  color: var(--fl-text-muted);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.fl-date-input .fl-date-clear:hover {
  color: var(--fl-text-primary);
}
.fl-date-input .fl-date-clear svg, .fl-date-input .fl-date-clear i {
  width: 0.875rem;
  height: 0.875rem;
}
.fl-date-input.has-value .fl-date-clear {
  opacity: 1;
}

.fl-calendar {
  width: 280px;
  padding: 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: var(--fl-shadow-lg);
}
.fl-calendar .fl-calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.fl-calendar .fl-calendar-header .fl-calendar-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
}
.fl-calendar .fl-calendar-header .fl-calendar-nav {
  display: flex;
  gap: 0.25rem;
}
.fl-calendar .fl-calendar-header .fl-calendar-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0.375rem;
  color: var(--fl-text-secondary);
  cursor: pointer;
  transition: background-color 0.1s ease, color 0.1s ease;
}
.fl-calendar .fl-calendar-header .fl-calendar-nav-btn:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.fl-calendar .fl-calendar-header .fl-calendar-nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.fl-calendar .fl-calendar-header .fl-calendar-nav-btn svg, .fl-calendar .fl-calendar-header .fl-calendar-nav-btn i {
  width: 1rem;
  height: 1rem;
}
.fl-calendar .fl-calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 0.5rem;
}
.fl-calendar .fl-calendar-weekdays .fl-calendar-weekday {
  padding: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--fl-text-muted);
}
.fl-calendar .fl-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.fl-calendar .fl-calendar-day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  background-color: transparent;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background-color 0.1s ease, color 0.1s ease;
}
.fl-calendar .fl-calendar-day:hover:not(:disabled):not(.is-selected) {
  background-color: var(--fl-surface-hover);
}
.fl-calendar .fl-calendar-day.is-today {
  font-weight: 700;
  color: var(--fl-primary);
  background-color: rgba(19, 59, 98, 0.1);
}
.fl-calendar .fl-calendar-day.is-selected {
  background-color: var(--fl-primary);
  color: white;
}
.fl-calendar .fl-calendar-day.is-selected.is-today {
  background-color: var(--fl-primary);
  color: white;
}
.fl-calendar .fl-calendar-day.is-other-month {
  color: var(--fl-text-muted);
  opacity: 0.5;
}
.fl-calendar .fl-calendar-day:disabled, .fl-calendar .fl-calendar-day.is-disabled {
  color: var(--fl-text-muted);
  opacity: 0.3;
  cursor: not-allowed;
}
.fl-calendar .fl-calendar-day.is-range-start {
  border-radius: 0.375rem 0 0 0.375rem;
  background-color: var(--fl-primary);
  color: white;
}
.fl-calendar .fl-calendar-day.is-range-end {
  border-radius: 0 0.375rem 0.375rem 0;
  background-color: var(--fl-primary);
  color: white;
}
.fl-calendar .fl-calendar-day.is-in-range {
  background-color: rgba(19, 59, 98, 0.15);
  border-radius: 0;
}
.fl-calendar .fl-calendar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fl-border);
}
.fl-calendar .fl-calendar-footer .fl-calendar-today-btn {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-accent);
  background: none;
  border: none;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
}
.fl-calendar .fl-calendar-footer .fl-calendar-today-btn:hover {
  text-decoration: underline;
}
.fl-calendar .fl-calendar-footer .fl-calendar-actions {
  display: flex;
  gap: 0.5rem;
}
.fl-calendar .fl-calendar-selectors {
  display: flex;
  gap: 0.5rem;
}
.fl-calendar .fl-calendar-selectors .fl-calendar-selector {
  flex: 1;
  padding: 0.375rem 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: center;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
}
.fl-calendar .fl-calendar-selectors .fl-calendar-selector:hover {
  background-color: var(--fl-border);
}

.fl-time-input {
  position: relative;
}
.fl-time-input .form-control {
  padding-right: 2.75rem;
}
.fl-time-input .fl-time-icon {
  position: absolute;
  top: 50%;
  right: 0.875rem;
  transform: translateY(-50%);
  color: var(--fl-text-muted);
  pointer-events: none;
}
.fl-time-input .fl-time-icon svg, .fl-time-input .fl-time-icon i {
  width: 1.25rem;
  height: 1.25rem;
}

.fl-time-picker {
  width: 220px;
  padding: 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: var(--fl-shadow-lg);
}
.fl-time-picker .fl-time-picker-header {
  text-align: center;
  margin-bottom: 1rem;
}
.fl-time-picker .fl-time-picker-header .fl-time-display {
  font-size: 2rem;
  font-weight: 700;
  color: var(--fl-text-primary);
  letter-spacing: 0.05em;
}
.fl-time-picker .fl-time-spinners {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.fl-time-picker .fl-time-spinners .fl-time-spinner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}
.fl-time-picker .fl-time-spinners .fl-time-spinner .fl-time-spinner-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2rem;
  padding: 0;
  background-color: var(--fl-surface-hover);
  border: none;
  border-radius: 0.375rem;
  color: var(--fl-text-secondary);
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.fl-time-picker .fl-time-spinners .fl-time-spinner .fl-time-spinner-btn:hover {
  background-color: var(--fl-border);
  color: var(--fl-text-primary);
}
.fl-time-picker .fl-time-spinners .fl-time-spinner .fl-time-spinner-btn:active {
  background-color: var(--fl-primary);
  color: white;
}
.fl-time-picker .fl-time-spinners .fl-time-spinner .fl-time-spinner-btn svg, .fl-time-picker .fl-time-spinners .fl-time-spinner .fl-time-spinner-btn i {
  width: 1rem;
  height: 1rem;
}
.fl-time-picker .fl-time-spinners .fl-time-spinner .fl-time-spinner-value {
  width: 2.5rem;
  padding: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
  border: none;
  border-radius: 0.375rem;
}
.fl-time-picker .fl-time-spinners .fl-time-spinner .fl-time-spinner-value:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(8, 145, 178, 0.2);
}
.fl-time-picker .fl-time-spinners .fl-time-separator {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--fl-text-muted);
  margin: 0 0.25rem;
  padding-top: 0.5rem;
}
.fl-time-picker .fl-time-spinners .fl-time-period {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-left: 0.5rem;
}
.fl-time-picker .fl-time-spinners .fl-time-period .fl-time-period-btn {
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--fl-text-muted);
  background-color: var(--fl-surface-hover);
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.1s ease;
}
.fl-time-picker .fl-time-spinners .fl-time-period .fl-time-period-btn.is-active {
  background-color: var(--fl-primary);
  color: white;
}
.fl-time-picker .fl-time-spinners .fl-time-period .fl-time-period-btn:hover:not(.is-active) {
  background-color: var(--fl-border);
  color: var(--fl-text-primary);
}
.fl-time-picker .fl-time-presets {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fl-border);
}
.fl-time-picker .fl-time-presets .fl-time-presets-title {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
  margin-bottom: 0.5rem;
}
.fl-time-picker .fl-time-presets .fl-time-presets-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.375rem;
}
.fl-time-picker .fl-time-presets .fl-time-presets-grid .fl-time-preset {
  padding: 0.375rem 0.5rem;
  font-size: 0.8125rem;
  text-align: center;
  color: var(--fl-text-secondary);
  background-color: var(--fl-surface-hover);
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
}
.fl-time-picker .fl-time-presets .fl-time-presets-grid .fl-time-preset:hover {
  background-color: var(--fl-border);
  color: var(--fl-text-primary);
}

.fl-date-range-input {
  display: flex;
  align-items: center;
}
.fl-date-range-input .fl-date-range-start,
.fl-date-range-input .fl-date-range-end {
  flex: 1;
  position: relative;
}
.fl-date-range-input .fl-date-range-separator {
  padding: 0 0.75rem;
  color: var(--fl-text-muted);
}
.fl-date-range-input .fl-date-range-separator svg, .fl-date-range-input .fl-date-range-separator i {
  width: 1rem;
  height: 1rem;
}
.fl-date-range-input.fl-date-range-single {
  position: relative;
}
.fl-date-range-input.fl-date-range-single .form-control {
  text-align: center;
}

.fl-date-range-picker {
  display: flex;
  padding: 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: var(--fl-shadow-lg);
}
.fl-date-range-picker .fl-calendar {
  box-shadow: none;
  border: none;
}
.fl-date-range-picker .fl-calendar:first-child {
  border-right: 1px solid var(--fl-border);
  padding-right: 1rem;
}
.fl-date-range-picker .fl-calendar:last-child {
  padding-left: 1rem;
}
.fl-date-range-picker .fl-date-range-presets {
  width: 150px;
  padding-right: 1rem;
  border-right: 1px solid var(--fl-border);
  margin-right: 1rem;
}
.fl-date-range-picker .fl-date-range-presets .fl-date-range-presets-title {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
  margin-bottom: 0.75rem;
}
.fl-date-range-picker .fl-date-range-presets .fl-date-range-preset {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  text-align: left;
  color: var(--fl-text-secondary);
  background: none;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background-color 0.1s ease, color 0.1s ease;
}
.fl-date-range-picker .fl-date-range-presets .fl-date-range-preset:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.fl-date-range-picker .fl-date-range-presets .fl-date-range-preset.is-active {
  background-color: rgba(19, 59, 98, 0.1);
  color: var(--fl-primary);
  font-weight: 500;
}
.fl-date-range-picker .fl-date-range-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-top: 1px solid var(--fl-border);
  margin: 0 -1rem -1rem;
  background-color: var(--fl-background);
  border-radius: 0 0 0.75rem 0.75rem;
}
.fl-date-range-picker .fl-date-range-footer .fl-date-range-selected {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
}
.fl-date-range-picker .fl-date-range-footer .fl-date-range-selected strong {
  color: var(--fl-text-primary);
}

.fl-datetime-input {
  display: flex;
  gap: 0.5rem;
}
.fl-datetime-input .fl-date-input {
  flex: 1;
}
.fl-datetime-input .fl-time-input {
  width: 120px;
}

.e-datepicker.e-input-group,
.e-datetimepicker.e-input-group {
  border-radius: 0.5rem !important;
}
.e-datepicker.e-input-group input.e-input,
.e-datetimepicker.e-input-group input.e-input {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.9375rem !important;
  padding: 0.5rem 0.75rem !important;
}
.e-datepicker.e-input-group.e-input-focus,
.e-datetimepicker.e-input-group.e-input-focus {
  border-color: #0891b2 !important;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1) !important;
}

.e-calendar,
.e-daterangepicker {
  border-radius: 0.75rem !important;
  box-shadow: var(--fl-shadow-lg) !important;
  border-color: var(--fl-border) !important;
}
.e-calendar .e-header,
.e-daterangepicker .e-header {
  background-color: var(--fl-surface) !important;
  border-bottom-color: var(--fl-border) !important;
}
.e-calendar .e-content .e-cell.e-selected,
.e-daterangepicker .e-content .e-cell.e-selected {
  background-color: #133B62 !important;
}
.e-calendar .e-content .e-cell.e-today,
.e-daterangepicker .e-content .e-cell.e-today {
  border-color: #133B62 !important;
}
.e-calendar .e-content .e-cell:hover:not(.e-disabled),
.e-daterangepicker .e-content .e-cell:hover:not(.e-disabled) {
  background-color: var(--fl-surface-hover) !important;
}
.e-calendar .e-footer-container,
.e-daterangepicker .e-footer-container {
  background-color: var(--fl-background) !important;
  border-top-color: var(--fl-border) !important;
}

[data-bs-theme=dark] .fl-calendar,
[data-bs-theme=dark] .fl-time-picker,
[data-bs-theme=dark] .fl-date-range-picker {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-calendar-title,
[data-bs-theme=dark] .fl-calendar-day:not(.is-other-month):not(.is-selected),
[data-bs-theme=dark] .fl-time-display,
[data-bs-theme=dark] .fl-time-spinner-value {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-calendar-weekday,
[data-bs-theme=dark] .fl-calendar-day.is-other-month {
  color: #64748b;
}
[data-bs-theme=dark] .fl-calendar-nav-btn,
[data-bs-theme=dark] .fl-time-spinner-btn,
[data-bs-theme=dark] .fl-time-period-btn:not(.is-active) {
  color: #94a3b8;
}
[data-bs-theme=dark] .fl-calendar-nav-btn:hover,
[data-bs-theme=dark] .fl-time-spinner-btn:hover,
[data-bs-theme=dark] .fl-time-period-btn:not(.is-active):hover {
  background-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-calendar-day:hover:not(:disabled):not(.is-selected) {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-calendar-day.is-today:not(.is-selected) {
  background-color: rgba(19, 59, 98, 0.15);
}
[data-bs-theme=dark] .fl-calendar-footer,
[data-bs-theme=dark] .fl-time-presets,
[data-bs-theme=dark] .fl-date-range-footer {
  border-top-color: #334155;
}
[data-bs-theme=dark] .fl-date-range-presets {
  border-right-color: #334155;
}
[data-bs-theme=dark] .fl-date-range-presets .fl-date-range-preset:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-date-range-footer {
  background-color: #0f172a;
}
[data-bs-theme=dark] .fl-time-spinner-value {
  background-color: #334155;
}
[data-bs-theme=dark] .e-calendar,
[data-bs-theme=dark] .e-daterangepicker {
  background-color: #1e293b !important;
}
[data-bs-theme=dark] .e-calendar .e-header,
[data-bs-theme=dark] .e-daterangepicker .e-header {
  background-color: #1e293b !important;
  border-bottom-color: #334155 !important;
}
[data-bs-theme=dark] .e-calendar .e-content .e-cell:hover:not(.e-disabled),
[data-bs-theme=dark] .e-daterangepicker .e-content .e-cell:hover:not(.e-disabled) {
  background-color: #334155 !important;
}
[data-bs-theme=dark] .e-calendar .e-footer-container,
[data-bs-theme=dark] .e-daterangepicker .e-footer-container {
  background-color: #0f172a !important;
  border-top-color: #334155 !important;
}

@media (max-width: 768px) {
  .fl-date-range-picker {
    flex-direction: column;
  }
  .fl-date-range-picker .fl-date-range-presets {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--fl-border);
    padding-right: 0;
    padding-bottom: 1rem;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  .fl-date-range-picker .fl-date-range-presets .fl-date-range-presets-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
  }
  .fl-date-range-picker .fl-calendar {
    width: 100%;
  }
  .fl-date-range-picker .fl-calendar:first-child {
    border-right: none;
    border-bottom: 1px solid var(--fl-border);
    padding-right: 0;
    padding-bottom: 1rem;
  }
  .fl-date-range-picker .fl-calendar:last-child {
    padding-left: 0;
    padding-top: 1rem;
  }
  .fl-datetime-input {
    flex-direction: column;
  }
  .fl-datetime-input .fl-time-input {
    width: 100%;
  }
}
.fl-file-upload {
  position: relative;
}
.fl-file-upload .fl-upload-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: 2rem;
  border: 2px dashed var(--fl-border);
  border-radius: 0.75rem;
  background-color: var(--fl-surface);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.fl-file-upload .fl-upload-zone:hover {
  border-color: var(--fl-primary);
  background-color: rgba(19, 59, 98, 0.02);
}
.fl-file-upload .fl-upload-zone.is-dragover {
  border-color: var(--fl-primary);
  background-color: rgba(19, 59, 98, 0.05);
}
.fl-file-upload .fl-upload-zone.is-dragover .fl-upload-icon {
  transform: scale(1.1);
  color: var(--fl-primary);
}
.fl-file-upload .fl-upload-zone.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.fl-file-upload .fl-upload-zone.is-disabled:hover {
  border-color: var(--fl-border);
  background-color: var(--fl-surface);
}
.fl-file-upload .fl-upload-icon {
  margin-bottom: 1rem;
  color: var(--fl-text-muted);
  transition: transform 0.2s ease, color 0.2s ease;
}
.fl-file-upload .fl-upload-icon svg, .fl-file-upload .fl-upload-icon i {
  width: 3rem;
  height: 3rem;
}
.fl-file-upload .fl-upload-text {
  text-align: center;
}
.fl-file-upload .fl-upload-text .fl-upload-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.375rem;
}
.fl-file-upload .fl-upload-text .fl-upload-title .fl-upload-browse {
  color: var(--fl-primary);
  text-decoration: underline;
  cursor: pointer;
}
.fl-file-upload .fl-upload-text .fl-upload-title .fl-upload-browse:hover {
  color: var(--fl-primary-dark);
}
.fl-file-upload .fl-upload-text .fl-upload-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-file-upload .fl-upload-formats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.375rem;
  margin-top: 1rem;
}
.fl-file-upload .fl-upload-formats .fl-upload-format {
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--fl-text-muted);
  background-color: var(--fl-surface-hover);
  border-radius: 0.375rem;
}
.fl-file-upload .fl-upload-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.fl-file-upload .fl-upload-input:disabled {
  cursor: not-allowed;
}

.fl-file-upload-compact .fl-upload-zone {
  min-height: auto;
  padding: 1rem 1.5rem;
  flex-direction: row;
  gap: 1rem;
}
.fl-file-upload-compact .fl-upload-icon {
  margin-bottom: 0;
}
.fl-file-upload-compact .fl-upload-icon svg, .fl-file-upload-compact .fl-upload-icon i {
  width: 2rem;
  height: 2rem;
}
.fl-file-upload-compact .fl-upload-text {
  text-align: left;
}

.fl-file-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
}

.fl-file-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
}
.fl-file-item .fl-file-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--fl-surface-hover);
  border-radius: 0.375rem;
  color: var(--fl-text-secondary);
}
.fl-file-item .fl-file-icon svg, .fl-file-item .fl-file-icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-file-item .fl-file-icon.fl-file-icon-image {
  background-color: rgba(16, 185, 129, 0.1);
  color: #10b981;
}
.fl-file-item .fl-file-icon.fl-file-icon-pdf {
  background-color: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}
.fl-file-item .fl-file-icon.fl-file-icon-doc {
  background-color: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
}
.fl-file-item .fl-file-icon.fl-file-icon-spreadsheet {
  background-color: rgba(16, 185, 129, 0.1);
  color: #059669;
}
.fl-file-item .fl-file-thumbnail {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.375rem;
  object-fit: cover;
  background-color: var(--fl-surface-hover);
}
.fl-file-item .fl-file-info {
  flex: 1;
  min-width: 0;
}
.fl-file-item .fl-file-info .fl-file-name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fl-file-item .fl-file-info .fl-file-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.125rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-file-item .fl-file-info .fl-file-meta .fl-file-size,
.fl-file-item .fl-file-info .fl-file-meta .fl-file-date {
  display: inline;
}
.fl-file-item .fl-file-info .fl-file-meta .fl-file-separator {
  color: var(--fl-border);
}
.fl-file-item .fl-file-status {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
}
.fl-file-item .fl-file-status.status-success {
  color: var(--fl-success);
}
.fl-file-item .fl-file-status.status-error {
  color: var(--fl-danger);
}
.fl-file-item .fl-file-status.status-pending {
  color: var(--fl-warning);
}
.fl-file-item .fl-file-status svg, .fl-file-item .fl-file-status i {
  width: 1rem;
  height: 1rem;
}
.fl-file-item .fl-file-actions {
  flex-shrink: 0;
  display: flex;
  gap: 0.25rem;
}
.fl-file-item .fl-file-actions .fl-file-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0.375rem;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: background-color 0.1s ease, color 0.1s ease;
}
.fl-file-item .fl-file-actions .fl-file-action:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.fl-file-item .fl-file-actions .fl-file-action.fl-file-action-remove:hover {
  background-color: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}
.fl-file-item .fl-file-actions .fl-file-action svg, .fl-file-item .fl-file-actions .fl-file-action i {
  width: 1rem;
  height: 1rem;
}
.fl-file-item.has-error {
  border-color: var(--fl-danger);
  background-color: rgba(239, 68, 68, 0.02);
}
.fl-file-item.is-uploading .fl-file-info {
  padding-bottom: 0.5rem;
}

.fl-file-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: var(--fl-surface-hover);
  border-radius: 0 0 0.5rem 0.5rem;
  overflow: hidden;
}
.fl-file-progress .fl-file-progress-bar {
  height: 100%;
  background-color: var(--fl-primary);
  transition: width 0.2s ease;
}

.fl-file-progress-circle {
  width: 2.5rem;
  height: 2.5rem;
  position: relative;
}
.fl-file-progress-circle svg {
  transform: rotate(-90deg);
  width: 100%;
  height: 100%;
}
.fl-file-progress-circle svg circle {
  fill: none;
  stroke-width: 3;
}
.fl-file-progress-circle svg circle.fl-progress-track {
  stroke: var(--fl-border);
}
.fl-file-progress-circle svg circle.fl-progress-fill {
  stroke: var(--fl-primary);
  stroke-linecap: round;
  transition: stroke-dashoffset 0.3s ease;
}
.fl-file-progress-circle .fl-progress-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--fl-text-primary);
}

.fl-file-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.fl-file-preview {
  position: relative;
  aspect-ratio: 1;
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--fl-surface-hover);
  border: 1px solid var(--fl-border);
}
.fl-file-preview .fl-file-preview-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fl-file-preview .fl-file-preview-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.fl-file-preview .fl-file-preview-overlay .fl-file-preview-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0 0.25rem;
  background-color: white;
  border: none;
  border-radius: 50%;
  color: var(--fl-text-primary);
  cursor: pointer;
  transition: transform 0.1s ease;
}
.fl-file-preview .fl-file-preview-overlay .fl-file-preview-action:hover {
  transform: scale(1.1);
}
.fl-file-preview .fl-file-preview-overlay .fl-file-preview-action svg, .fl-file-preview .fl-file-preview-overlay .fl-file-preview-action i {
  width: 1rem;
  height: 1rem;
}
.fl-file-preview:hover .fl-file-preview-overlay {
  opacity: 1;
}
.fl-file-preview .fl-file-preview-remove {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.6);
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.fl-file-preview .fl-file-preview-remove svg, .fl-file-preview .fl-file-preview-remove i {
  width: 0.75rem;
  height: 0.75rem;
}
.fl-file-preview:hover .fl-file-preview-remove {
  opacity: 1;
}
.fl-file-preview.is-uploading .fl-file-preview-overlay {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.9);
}
.fl-file-preview.has-error {
  border-color: var(--fl-danger);
}
.fl-file-preview.has-error::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(239, 68, 68, 0.1);
  pointer-events: none;
}

.fl-upload-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--fl-primary);
  background-color: transparent;
  border: 1px solid var(--fl-primary);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.fl-upload-btn:hover {
  background-color: rgba(19, 59, 98, 0.05);
}
.fl-upload-btn svg, .fl-upload-btn i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-upload-btn .fl-upload-btn-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.fl-upload-btn.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.fl-avatar-upload {
  position: relative;
  display: inline-block;
}
.fl-avatar-upload .fl-avatar-preview {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: var(--fl-surface-hover);
  background-size: cover;
  background-position: center;
  border: 4px solid var(--fl-surface);
  box-shadow: var(--fl-shadow);
}
.fl-avatar-upload .fl-avatar-preview.is-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fl-text-muted);
}
.fl-avatar-upload .fl-avatar-preview.is-empty svg, .fl-avatar-upload .fl-avatar-preview.is-empty i {
  width: 3rem;
  height: 3rem;
}
.fl-avatar-upload .fl-avatar-upload-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background-color: var(--fl-primary);
  border: 3px solid var(--fl-surface);
  border-radius: 50%;
  color: white;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.fl-avatar-upload .fl-avatar-upload-btn:hover {
  background-color: var(--fl-primary-dark);
}
.fl-avatar-upload .fl-avatar-upload-btn svg, .fl-avatar-upload .fl-avatar-upload-btn i {
  width: 1rem;
  height: 1rem;
}
.fl-avatar-upload .fl-avatar-upload-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.fl-avatar-upload.fl-avatar-upload-sm .fl-avatar-preview {
  width: 80px;
  height: 80px;
  border-width: 3px;
}
.fl-avatar-upload.fl-avatar-upload-sm .fl-avatar-upload-btn {
  width: 2rem;
  height: 2rem;
  border-width: 2px;
}
.fl-avatar-upload.fl-avatar-upload-lg .fl-avatar-preview {
  width: 160px;
  height: 160px;
  border-width: 5px;
}
.fl-avatar-upload.fl-avatar-upload-lg .fl-avatar-upload-btn {
  width: 3rem;
  height: 3rem;
  border-width: 4px;
}

.fl-drop-indicator {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(19, 59, 98, 0.95);
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.fl-drop-indicator.is-active {
  opacity: 1;
}
.fl-drop-indicator .fl-drop-indicator-content {
  text-align: center;
  color: white;
}
.fl-drop-indicator .fl-drop-indicator-content svg, .fl-drop-indicator .fl-drop-indicator-content i {
  width: 4rem;
  height: 4rem;
  margin-bottom: 1rem;
}
.fl-drop-indicator .fl-drop-indicator-content .fl-drop-indicator-text {
  font-size: 1.5rem;
  font-weight: 600;
}

[data-bs-theme=dark] .fl-upload-zone {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-upload-zone:hover {
  background-color: rgba(19, 59, 98, 0.05);
}
[data-bs-theme=dark] .fl-upload-zone.is-dragover {
  background-color: rgba(19, 59, 98, 0.1);
}
[data-bs-theme=dark] .fl-upload-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-upload-format {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-file-item {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-file-item.has-error {
  background-color: rgba(239, 68, 68, 0.05);
}
[data-bs-theme=dark] .fl-file-icon,
[data-bs-theme=dark] .fl-file-thumbnail {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-file-name {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-file-action:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-file-preview {
  background-color: #334155;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-avatar-preview {
  background-color: #334155;
  border-color: #1e293b;
}
[data-bs-theme=dark] .fl-avatar-preview.is-empty {
  color: #64748b;
}
[data-bs-theme=dark] .fl-avatar-upload-btn {
  border-color: #1e293b;
}

.fl-form-valid .form-control,
.fl-form-valid .form-select,
.is-valid .form-control,
.is-valid .form-select {
  border-color: var(--fl-success) !important;
  padding-right: 2.75rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2310b981'%3e%3cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 1rem;
}
.fl-form-valid .form-control:focus,
.fl-form-valid .form-select:focus,
.is-valid .form-control:focus,
.is-valid .form-select:focus {
  border-color: var(--fl-success) !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
}
.fl-form-valid .form-check-input,
.is-valid .form-check-input {
  border-color: var(--fl-success);
}
.fl-form-valid .form-check-input:checked,
.is-valid .form-check-input:checked {
  background-color: var(--fl-success);
  border-color: var(--fl-success);
}
.fl-form-valid .form-label,
.is-valid .form-label {
  color: var(--fl-success);
}

.fl-form-invalid .form-control,
.fl-form-invalid .form-select,
.is-invalid .form-control,
.is-invalid .form-select {
  border-color: var(--fl-danger) !important;
  padding-right: 2.75rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ef4444'%3e%3cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z' clip-rule='evenodd'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 1rem;
}
.fl-form-invalid .form-control:focus,
.fl-form-invalid .form-select:focus,
.is-invalid .form-control:focus,
.is-invalid .form-select:focus {
  border-color: var(--fl-danger) !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}
.fl-form-invalid .form-check-input,
.is-invalid .form-check-input {
  border-color: var(--fl-danger);
}
.fl-form-invalid textarea.form-control,
.is-invalid textarea.form-control {
  background-position: right 0.875rem top 0.75rem;
}

.fl-form-warning .form-control,
.fl-form-warning .form-select {
  border-color: var(--fl-warning) !important;
  padding-right: 2.75rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23f59e0b'%3e%3cpath fill-rule='evenodd' d='M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z' clip-rule='evenodd'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 1rem;
}
.fl-form-warning .form-control:focus,
.fl-form-warning .form-select:focus {
  border-color: var(--fl-warning) !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15) !important;
}

.fl-form-feedback {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
}
.fl-form-feedback svg, .fl-form-feedback i {
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 0.125rem;
}
.fl-form-feedback.fl-feedback-error, .fl-form-feedback.invalid-feedback {
  color: var(--fl-danger);
}
.fl-form-feedback.fl-feedback-success, .fl-form-feedback.valid-feedback {
  color: var(--fl-success);
}
.fl-form-feedback.fl-feedback-warning {
  color: var(--fl-warning-dark);
}
.fl-form-feedback.fl-feedback-info {
  color: var(--fl-info);
}

.was-validated .form-control:valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-feedback,
.was-validated .form-control:invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-feedback,
.was-validated .form-select:valid ~ .valid-feedback,
.form-select.is-valid ~ .valid-feedback,
.was-validated .form-select:invalid ~ .invalid-feedback,
.form-select.is-invalid ~ .invalid-feedback {
  display: flex;
}

.fl-error-list {
  list-style: none;
  padding: 0;
  margin: 0.375rem 0 0;
}
.fl-error-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  padding: 0.25rem 0;
  font-size: 0.8125rem;
  color: var(--fl-danger);
}
.fl-error-list li svg, .fl-error-list li i {
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.25rem;
}

.fl-validation-summary {
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  background-color: var(--fl-danger-bg);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 0.5rem;
}
.fl-validation-summary .fl-validation-summary-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-danger-dark);
  margin-bottom: 0.75rem;
}
.fl-validation-summary .fl-validation-summary-title svg, .fl-validation-summary .fl-validation-summary-title i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-validation-summary .fl-validation-summary-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fl-validation-summary .fl-validation-summary-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.25rem 0;
  font-size: 0.8125rem;
  color: var(--fl-danger-dark);
}
.fl-validation-summary .fl-validation-summary-list li::before {
  content: "•";
  color: var(--fl-danger);
}
.fl-validation-summary .fl-validation-summary-list li a {
  color: inherit;
  text-decoration: underline;
}
.fl-validation-summary .fl-validation-summary-list li a:hover {
  color: var(--fl-danger);
}
.fl-validation-summary.fl-validation-summary-success {
  background-color: var(--fl-success-bg);
  border-color: rgba(16, 185, 129, 0.2);
}
.fl-validation-summary.fl-validation-summary-success .fl-validation-summary-title,
.fl-validation-summary.fl-validation-summary-success .fl-validation-summary-list li {
  color: var(--fl-success-dark);
}
.fl-validation-summary.fl-validation-summary-success .fl-validation-summary-list li::before {
  content: "✓";
  color: var(--fl-success);
}

.fl-field-validation {
  position: relative;
}
.fl-field-validation.has-validation-icon .form-control,
.fl-field-validation.has-validation-icon .form-select {
  padding-right: 2.75rem;
}
.fl-field-validation.has-validation-icon .fl-validation-icon {
  position: absolute;
  top: 50%;
  right: 0.875rem;
  transform: translateY(-50%);
  pointer-events: none;
}
.fl-field-validation.has-validation-icon .fl-validation-icon svg, .fl-field-validation.has-validation-icon .fl-validation-icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-field-validation.has-validation-icon .fl-validation-icon.icon-valid {
  color: var(--fl-success);
}
.fl-field-validation.has-validation-icon .fl-validation-icon.icon-invalid {
  color: var(--fl-danger);
}
.fl-field-validation.has-validation-icon .fl-validation-icon.icon-validating {
  color: var(--fl-text-muted);
  animation: fl-spin 0.75s linear infinite;
}
.fl-field-validation.fl-field-textarea .fl-validation-icon {
  top: 0.875rem;
  transform: none;
}

.fl-realtime-validation .form-control,
.fl-realtime-validation .form-select {
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fl-realtime-validation .fl-form-feedback {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fl-realtime-validation .fl-form-feedback.is-hidden {
  opacity: 0;
  transform: translateY(-0.25rem);
}

.fl-required::after {
  content: " *";
  color: var(--fl-danger);
}

.fl-required-asterisk {
  color: var(--fl-danger);
  margin-left: 0.125rem;
}

.fl-optional::after {
  content: " (optional)";
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--fl-text-muted);
}

.fl-form-hint,
.form-text {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-form-hint svg, .fl-form-hint i,
.form-text svg,
.form-text i {
  width: 0.875rem;
  height: 0.875rem;
  vertical-align: middle;
  margin-right: 0.25rem;
}
.fl-form-hint a,
.form-text a {
  color: var(--fl-accent);
}

.fl-form-hint-icon {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
}
.fl-form-hint-icon svg, .fl-form-hint-icon i {
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.fl-field-counter {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-field-counter .current-count {
  color: var(--fl-text-secondary);
}
.fl-field-counter.near-limit .current-count {
  color: var(--fl-warning);
  font-weight: 600;
}
.fl-field-counter.at-limit .current-count {
  color: var(--fl-danger);
  font-weight: 600;
}

.fl-validation-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.25rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  color: white;
  background-color: #ef4444;
  border-radius: 0.5rem;
  box-shadow: var(--fl-shadow);
  z-index: 1080;
}
.fl-validation-tooltip::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 1rem;
  border: 6px solid transparent;
  border-bottom-color: #ef4444;
}
.fl-validation-tooltip.tooltip-success {
  background-color: #10b981;
}
.fl-validation-tooltip.tooltip-success::before {
  border-bottom-color: #10b981;
}

.fl-field-dirty .form-label::after {
  content: " •";
  color: var(--fl-warning);
}

.fl-field-touched.is-invalid .invalid-feedback {
  display: flex;
}

.fl-sr-only, .fl-error-announcer {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fl-form-status {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
}
.fl-form-status .fl-form-status-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
}
.fl-form-status .fl-form-status-icon svg, .fl-form-status .fl-form-status-icon i {
  width: 1rem;
  height: 1rem;
}
.fl-form-status .fl-form-status-content {
  flex: 1;
}
.fl-form-status .fl-form-status-content .fl-form-status-title {
  font-weight: 600;
  margin-bottom: 0.125rem;
}
.fl-form-status .fl-form-status-content .fl-form-status-message {
  font-size: 0.8125rem;
  opacity: 0.9;
}
.fl-form-status .fl-form-status-action {
  flex-shrink: 0;
}
.fl-form-status.fl-form-status-error {
  background-color: var(--fl-danger-bg);
  color: var(--fl-danger-dark);
}
.fl-form-status.fl-form-status-error .fl-form-status-icon {
  background-color: rgba(239, 68, 68, 0.2);
  color: var(--fl-danger);
}
.fl-form-status.fl-form-status-success {
  background-color: var(--fl-success-bg);
  color: var(--fl-success-dark);
}
.fl-form-status.fl-form-status-success .fl-form-status-icon {
  background-color: rgba(16, 185, 129, 0.2);
  color: var(--fl-success);
}
.fl-form-status.fl-form-status-warning {
  background-color: var(--fl-warning-bg);
  color: var(--fl-warning-dark);
}
.fl-form-status.fl-form-status-warning .fl-form-status-icon {
  background-color: rgba(245, 158, 11, 0.2);
  color: var(--fl-warning);
}
.fl-form-status.fl-form-status-info {
  background-color: var(--fl-info-bg);
  color: var(--fl-info-dark);
}
.fl-form-status.fl-form-status-info .fl-form-status-icon {
  background-color: rgba(59, 130, 246, 0.2);
  color: var(--fl-info);
}

.fl-inline-error {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: white;
  background-color: #ef4444;
  border-radius: 0.375rem;
}
.fl-inline-error svg, .fl-inline-error i {
  width: 0.75rem;
  height: 0.75rem;
}

[data-bs-theme=dark] .fl-validation-summary {
  background-color: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.2);
}
[data-bs-theme=dark] .fl-validation-summary.fl-validation-summary-success {
  background-color: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.2);
}
[data-bs-theme=dark] .fl-validation-summary-title {
  color: #f87171;
}
[data-bs-theme=dark] .fl-validation-summary-list li {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-form-status-error {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .fl-form-status-success {
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .fl-form-status-warning {
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .fl-form-status-info {
  background-color: rgba(59, 130, 246, 0.15);
}

.fl-form-grid {
  display: grid;
  gap: 1rem;
}
.fl-form-grid.fl-form-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.fl-form-grid.fl-form-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.fl-form-grid.fl-form-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
.fl-form-grid.fl-form-auto {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.fl-form-grid.fl-form-gap-sm {
  gap: 0.75rem;
}
.fl-form-grid.fl-form-gap-lg {
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .fl-form-grid.fl-form-cols-3, .fl-form-grid.fl-form-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .fl-form-grid.fl-form-cols-2, .fl-form-grid.fl-form-cols-3, .fl-form-grid.fl-form-cols-4 {
    grid-template-columns: 1fr;
  }
}

.fl-form-col-span-2 {
  grid-column: span 2;
}
@media (max-width: 576px) {
  .fl-form-col-span-2 {
    grid-column: span 1;
  }
}

.fl-form-col-span-3 {
  grid-column: span 3;
}
@media (max-width: 768px) {
  .fl-form-col-span-3 {
    grid-column: span 2;
  }
}
@media (max-width: 576px) {
  .fl-form-col-span-3 {
    grid-column: span 1;
  }
}

.fl-form-col-span-full {
  grid-column: 1/-1;
}

.fl-form-group {
  margin-bottom: 1.25rem;
}
.fl-form-group:last-child {
  margin-bottom: 0;
}
.fl-form-group.fl-form-group-compact {
  margin-bottom: 0.75rem;
}

.fl-form-inline {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.fl-form-inline .fl-form-group {
  margin-bottom: 0;
  flex: 1;
}
.fl-form-inline .btn {
  flex-shrink: 0;
  margin-top: 1.75rem;
}
.fl-form-inline.fl-form-inline-no-label .btn {
  margin-top: 0;
}
@media (max-width: 576px) {
  .fl-form-inline {
    flex-direction: column;
  }
  .fl-form-inline .btn {
    width: 100%;
    margin-top: 0;
  }
}

.fl-form-section {
  margin-bottom: 2rem;
}
.fl-form-section:last-child {
  margin-bottom: 0;
}
.fl-form-section .fl-form-section-header {
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--fl-border);
}
.fl-form-section .fl-form-section-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
}
.fl-form-section .fl-form-section-description {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  margin: 0;
}
.fl-form-section .fl-form-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-right: 0.75rem;
  background-color: var(--fl-surface-hover);
  border-radius: 0.375rem;
  color: var(--fl-text-secondary);
  vertical-align: middle;
}
.fl-form-section .fl-form-section-icon svg, .fl-form-section .fl-form-section-icon i {
  width: 1rem;
  height: 1rem;
}

.fl-form-section-collapsible .fl-form-section-header {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.fl-form-section-collapsible .fl-form-section-header:hover .fl-form-section-title {
  color: var(--fl-primary);
}
.fl-form-section-collapsible .fl-form-section-toggle {
  color: var(--fl-text-muted);
  transition: transform 0.2s ease;
}
.fl-form-section-collapsible .fl-form-section-toggle svg, .fl-form-section-collapsible .fl-form-section-toggle i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-form-section-collapsible.is-collapsed .fl-form-section-toggle {
  transform: rotate(-90deg);
}
.fl-form-section-collapsible.is-collapsed .fl-form-section-content {
  display: none;
}

.fl-fieldset {
  margin: 0 0 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  background-color: var(--fl-surface);
}
.fl-fieldset:last-child {
  margin-bottom: 0;
}
.fl-fieldset .fl-fieldset-legend {
  float: left;
  width: auto;
  padding: 0 0.5rem;
  margin: -1.75rem 0 0 -0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-secondary);
  background-color: var(--fl-surface);
}
.fl-fieldset .fl-fieldset-content {
  clear: both;
  padding-top: 0.5rem;
}

.fl-form-divider {
  display: flex;
  align-items: center;
  margin: 1.5rem 0;
}
.fl-form-divider::before, .fl-form-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--fl-border);
}
.fl-form-divider .fl-form-divider-text {
  padding: 0 1rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.fl-form-divider.fl-form-divider-simple::before {
  flex: none;
  width: 2rem;
}
.fl-form-divider.fl-form-divider-simple .fl-form-divider-text {
  padding-left: 0;
}

.fl-form-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--fl-border);
}
.fl-form-actions .fl-form-actions-secondary {
  margin-left: auto;
  display: flex;
  gap: 0.5rem;
}
.fl-form-actions.fl-form-actions-center {
  justify-content: center;
}
.fl-form-actions.fl-form-actions-end {
  justify-content: flex-end;
}
.fl-form-actions.fl-form-actions-spread {
  justify-content: space-between;
}
.fl-form-actions.fl-form-actions-sticky {
  position: sticky;
  bottom: 0;
  margin: 2rem -1.5rem 0;
  padding: 1rem 1.5rem;
  background-color: var(--fl-surface);
  border-top: 1px solid var(--fl-border);
  z-index: 10;
}
@media (max-width: 576px) {
  .fl-form-actions {
    flex-direction: column;
  }
  .fl-form-actions .btn {
    width: 100%;
  }
  .fl-form-actions .fl-form-actions-secondary {
    margin-left: 0;
    width: 100%;
    flex-direction: column;
  }
}

.fl-wizard .fl-wizard-steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 2rem;
  padding: 0 1rem;
  counter-reset: step;
}
.fl-wizard .fl-wizard-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.fl-wizard .fl-wizard-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: calc(50% + 1.25rem);
  width: calc(100% - 2.5rem);
  height: 2px;
  background-color: var(--fl-border);
  z-index: 0;
}
.fl-wizard .fl-wizard-step.is-completed::after {
  background-color: var(--fl-success);
}
.fl-wizard .fl-wizard-step.is-active::after {
  background: linear-gradient(90deg, var(--fl-primary) 50%, var(--fl-border) 50%);
}
.fl-wizard .fl-wizard-step-indicator {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--fl-text-muted);
  background-color: var(--fl-surface);
  border: 2px solid var(--fl-border);
  border-radius: 50%;
  transition: all 0.2s ease;
}
.fl-wizard .fl-wizard-step-indicator svg, .fl-wizard .fl-wizard-step-indicator i {
  width: 1rem;
  height: 1rem;
}
.fl-wizard .fl-wizard-step-label {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-muted);
  text-align: center;
}
.fl-wizard .fl-wizard-step.is-completed .fl-wizard-step-indicator {
  color: white;
  background-color: var(--fl-success);
  border-color: var(--fl-success);
}
.fl-wizard .fl-wizard-step.is-completed .fl-wizard-step-label {
  color: var(--fl-success);
}
.fl-wizard .fl-wizard-step.is-active .fl-wizard-step-indicator {
  color: white;
  background-color: var(--fl-primary);
  border-color: var(--fl-primary);
  box-shadow: 0 0 0 4px rgba(19, 59, 98, 0.2);
}
.fl-wizard .fl-wizard-step.is-active .fl-wizard-step-label {
  color: var(--fl-primary);
  font-weight: 600;
}
.fl-wizard .fl-wizard-step.has-error .fl-wizard-step-indicator {
  color: white;
  background-color: var(--fl-danger);
  border-color: var(--fl-danger);
}
.fl-wizard .fl-wizard-step.has-error .fl-wizard-step-label {
  color: var(--fl-danger);
}
.fl-wizard .fl-wizard-step.is-clickable {
  cursor: pointer;
}
.fl-wizard .fl-wizard-step.is-clickable:hover .fl-wizard-step-indicator {
  border-color: var(--fl-primary);
}
.fl-wizard .fl-wizard-content {
  min-height: 200px;
}
.fl-wizard .fl-wizard-panel {
  display: none;
}
.fl-wizard .fl-wizard-panel.is-active {
  display: block;
  animation: fl-fade-in 0.2s ease;
}
.fl-wizard .fl-wizard-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--fl-border);
}
.fl-wizard.fl-wizard-progress .fl-wizard-progress-bar {
  height: 4px;
  margin-bottom: 1.5rem;
  background-color: var(--fl-border);
  border-radius: 50rem;
  overflow: hidden;
}
.fl-wizard.fl-wizard-progress .fl-wizard-progress-bar .fl-wizard-progress-fill {
  height: 100%;
  background-color: var(--fl-primary);
  transition: width 0.3s ease;
}
.fl-wizard.fl-wizard-progress .fl-wizard-steps {
  display: none;
}
@media (max-width: 576px) {
  .fl-wizard .fl-wizard-steps {
    flex-direction: column;
    gap: 0.5rem;
    padding: 0;
  }
  .fl-wizard .fl-wizard-step {
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.75rem;
  }
  .fl-wizard .fl-wizard-step:not(:last-child)::after {
    display: none;
  }
  .fl-wizard .fl-wizard-step-label {
    margin-top: 0;
    text-align: left;
  }
}

@keyframes fl-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fl-form-horizontal .fl-form-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.fl-form-horizontal .fl-form-row:last-child {
  margin-bottom: 0;
}
.fl-form-horizontal .fl-form-label {
  flex: 0 0 200px;
  padding-top: 0.625rem;
  padding-right: 1rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  text-align: right;
}
.fl-form-horizontal .fl-form-field {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .fl-form-horizontal .fl-form-row {
    flex-direction: column;
  }
  .fl-form-horizontal .fl-form-label {
    flex: none;
    text-align: left;
    padding-top: 0;
    padding-right: 0;
    margin-bottom: 0.375rem;
  }
}

.fl-form-card {
  padding: 1.5rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
}
.fl-form-card .fl-form-card-header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--fl-border);
}
.fl-form-card .fl-form-card-header .fl-form-card-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin-bottom: 0.25rem;
}
.fl-form-card .fl-form-card-header .fl-form-card-subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
}
.fl-form-card .fl-form-card-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fl-border);
}

.fl-form-two-col {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 2rem;
}
@media (max-width: 992px) {
  .fl-form-two-col {
    grid-template-columns: 1fr;
  }
  .fl-form-two-col .fl-form-sidebar {
    order: -1;
  }
}

.fl-form-help {
  padding: 1.25rem;
  background-color: var(--fl-info-bg);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 0.75rem;
}
.fl-form-help .fl-form-help-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-info-dark);
  margin-bottom: 0.75rem;
}
.fl-form-help .fl-form-help-title svg, .fl-form-help .fl-form-help-title i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-form-help .fl-form-help-text {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  line-height: 1.5;
}
.fl-form-help .fl-form-help-text ul, .fl-form-help .fl-form-help-text ol {
  margin: 0.5rem 0;
  padding-left: 1.25rem;
}
.fl-form-help .fl-form-help-text li {
  margin-bottom: 0.25rem;
}

[data-bs-theme=dark] .fl-form-section-header {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .fl-form-section-title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-form-section-icon {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-fieldset {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-fieldset .fl-fieldset-legend {
  background-color: #1e293b;
}
[data-bs-theme=dark] .fl-form-divider::before,
[data-bs-theme=dark] .fl-form-divider::after {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-form-actions {
  border-top-color: #334155;
}
[data-bs-theme=dark] .fl-form-actions.fl-form-actions-sticky {
  background-color: #1e293b;
  border-top-color: #334155;
}
[data-bs-theme=dark] .fl-wizard-step::after {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-wizard-step-indicator {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-wizard-nav,
[data-bs-theme=dark] .fl-wizard-progress .fl-wizard-progress-bar {
  border-top-color: #334155;
  background-color: #334155;
}
[data-bs-theme=dark] .fl-form-card {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-form-card .fl-form-card-header,
[data-bs-theme=dark] .fl-form-card .fl-form-card-footer {
  border-color: #334155;
}
[data-bs-theme=dark] .fl-form-help {
  background-color: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.2);
}

.e-richtexteditor .e-rte-toolbar-wrapper {
  overflow: hidden;
}

.fl-tooltip {
  position: absolute;
  z-index: 1080;
  display: none;
  max-width: 280px;
  padding: 0.5rem 0.75rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.4;
  color: #ffffff;
  background-color: #1e293b;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fl-tooltip::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.fl-tooltip.is-visible {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.fl-tooltip--sm {
  padding: 0.375rem 0.5rem;
  font-size: 0.75rem;
  max-width: 200px;
}
.fl-tooltip--lg {
  padding: 0.75rem 1rem;
  font-size: 0.9375rem;
  max-width: 360px;
}
.fl-tooltip--light {
  color: #1e293b;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
}
.fl-tooltip--light::before {
  border-color: #ffffff;
}

.fl-tooltip--top {
  transform: translateX(-50%) translateY(-8px);
}
.fl-tooltip--top::before {
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #1e293b;
  border-bottom-width: 0;
}
.fl-tooltip--top.is-visible {
  transform: translateX(-50%) translateY(0);
}
.fl-tooltip--top.fl-tooltip--light::before {
  border-top-color: #ffffff;
  filter: drop-shadow(0 1px 0 #cbd5e1);
}

.fl-tooltip--bottom {
  transform: translateX(-50%) translateY(8px);
}
.fl-tooltip--bottom::before {
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #1e293b;
  border-top-width: 0;
}
.fl-tooltip--bottom.is-visible {
  transform: translateX(-50%) translateY(0);
}
.fl-tooltip--bottom.fl-tooltip--light::before {
  border-bottom-color: #ffffff;
  filter: drop-shadow(0 -1px 0 #cbd5e1);
}

.fl-tooltip--left {
  transform: translateX(-8px) translateY(-50%);
}
.fl-tooltip--left::before {
  top: 50%;
  right: -6px;
  transform: translateY(-50%);
  border-left-color: #1e293b;
  border-right-width: 0;
}
.fl-tooltip--left.is-visible {
  transform: translateX(0) translateY(-50%);
}
.fl-tooltip--left.fl-tooltip--light::before {
  border-left-color: #ffffff;
  filter: drop-shadow(1px 0 0 #cbd5e1);
}

.fl-tooltip--right {
  transform: translateX(8px) translateY(-50%);
}
.fl-tooltip--right::before {
  top: 50%;
  left: -6px;
  transform: translateY(-50%);
  border-right-color: #1e293b;
  border-left-width: 0;
}
.fl-tooltip--right.is-visible {
  transform: translateX(0) translateY(-50%);
}
.fl-tooltip--right.fl-tooltip--light::before {
  border-right-color: #ffffff;
  filter: drop-shadow(-1px 0 0 #cbd5e1);
}

[data-tooltip] {
  position: relative;
  cursor: help;
}
[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 1080;
  padding: 0.5rem 0.75rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.4;
  color: #ffffff;
  white-space: nowrap;
  background-color: #1e293b;
  border-radius: 0.5rem;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(-8px);
  transition: opacity 0.15s ease, transform 0.15s ease;
  bottom: 100%;
  left: 50%;
  margin-bottom: 8px;
}
[data-tooltip]:hover::after, [data-tooltip]:focus::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
[data-tooltip][data-tooltip-pos=bottom]::after {
  bottom: auto;
  top: 100%;
  margin-bottom: 0;
  margin-top: 8px;
  transform: translateX(-50%) translateY(8px);
}
[data-tooltip][data-tooltip-pos=bottom]:hover::after, [data-tooltip][data-tooltip-pos=bottom]:focus::after {
  transform: translateX(-50%) translateY(0);
}
[data-tooltip][data-tooltip-pos=left]::after {
  bottom: auto;
  left: auto;
  top: 50%;
  right: 100%;
  margin-bottom: 0;
  margin-right: 8px;
  transform: translateY(-50%) translateX(-8px);
}
[data-tooltip][data-tooltip-pos=left]:hover::after, [data-tooltip][data-tooltip-pos=left]:focus::after {
  transform: translateY(-50%) translateX(0);
}
[data-tooltip][data-tooltip-pos=right]::after {
  bottom: auto;
  left: 100%;
  top: 50%;
  margin-bottom: 0;
  margin-left: 8px;
  transform: translateY(-50%) translateX(8px);
}
[data-tooltip][data-tooltip-pos=right]:hover::after, [data-tooltip][data-tooltip-pos=right]:focus::after {
  transform: translateY(-50%) translateX(0);
}
[data-tooltip][data-tooltip-multiline]::after {
  white-space: normal;
  width: 200px;
  text-align: center;
}

.fl-popover {
  position: absolute;
  z-index: 1070;
  display: none;
  min-width: 200px;
  max-width: 320px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.9375rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transform: scale(0.95) translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fl-popover::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  transform: rotate(45deg);
}
.fl-popover.is-visible {
  display: block;
  opacity: 1;
  transform: scale(1) translateY(0);
}
.fl-popover__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: var(--fl-background);
  border-bottom: 1px solid var(--fl-border-light);
  border-radius: calc(0.75rem - 1px) calc(0.75rem - 1px) 0 0;
}
.fl-popover__title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.fl-popover__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.fl-popover__close:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.fl-popover__close svg, .fl-popover__close i {
  width: 1rem;
  height: 1rem;
}
.fl-popover__body {
  padding: 1rem;
  color: var(--fl-text-primary);
  line-height: 1.5;
}
.fl-popover__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
  border-radius: 0 0 calc(0.75rem - 1px) calc(0.75rem - 1px);
}
.fl-popover--no-header .fl-popover__body {
  padding-top: 1.25rem;
}

.fl-popover--top::before {
  bottom: -7px;
  left: 50%;
  margin-left: -6px;
  border-bottom: none;
  border-right: none;
}

.fl-popover--bottom::before {
  top: -7px;
  left: 50%;
  margin-left: -6px;
  border-top: none;
  border-left: none;
}

.fl-popover--left::before {
  top: 50%;
  right: -7px;
  margin-top: -6px;
  border-bottom: none;
  border-left: none;
}

.fl-popover--right::before {
  top: 50%;
  left: -7px;
  margin-top: -6px;
  border-top: none;
  border-right: none;
}

.fl-popover-trigger {
  position: relative;
  cursor: pointer;
}
.fl-info-tooltip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  font-size: 0.75rem;
  color: var(--fl-text-muted);
  cursor: help;
  transition: color 0.15s ease;
}
.fl-info-tooltip:hover {
  color: var(--fl-text-secondary);
}
.fl-info-tooltip--circle {
  width: 1.125rem;
  height: 1.125rem;
  background-color: var(--fl-surface-hover);
  border-radius: 50%;
  font-weight: 600;
}
.fl-info-tooltip--circle:hover {
  background-color: var(--fl-border);
}

.fl-dropdown {
  position: relative;
  display: inline-block;
}
.fl-dropdown__trigger {
  cursor: pointer;
}
.fl-dropdown__menu {
  position: absolute;
  z-index: 1000;
  display: none;
  min-width: 180px;
  padding: 0.5rem 0;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.fl-dropdown__menu.is-visible {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.fl-dropdown__menu--right {
  right: 0;
  left: auto;
}
.fl-dropdown__menu--up {
  bottom: 100%;
  top: auto;
  margin-bottom: 4px;
  transform: translateY(8px);
}
.fl-dropdown__menu--up.is-visible {
  transform: translateY(0);
}
.fl-dropdown__menu--wide {
  min-width: 240px;
}
.fl-dropdown__menu--full {
  width: 100%;
}
.fl-dropdown__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 0.9375rem;
  color: var(--fl-text-primary);
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.fl-dropdown__item:hover {
  background-color: var(--fl-surface-hover);
}
.fl-dropdown__item--danger {
  color: #ef4444;
}
.fl-dropdown__item--danger:hover {
  background-color: #fef2f2;
}
.fl-dropdown__item--disabled {
  color: var(--fl-text-muted);
  pointer-events: none;
  cursor: not-allowed;
}
.fl-dropdown__item i, .fl-dropdown__item svg {
  width: 1rem;
  height: 1rem;
  opacity: 0.7;
}
.fl-dropdown__divider {
  height: 1px;
  margin: 0.5rem 0;
  background-color: var(--fl-border);
}
.fl-dropdown__header {
  padding: 0.5rem 1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
}
.fl-dropdown.is-open .fl-dropdown__menu {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.fl-context-menu {
  position: fixed;
  z-index: 1080;
  min-width: 180px;
  padding: 0.5rem 0;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.1s ease, transform 0.1s ease;
  pointer-events: none;
}
.fl-context-menu.is-visible {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.fl-context-menu__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  color: var(--fl-text-primary);
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.fl-context-menu__item:hover {
  background-color: var(--fl-surface-hover);
}
.fl-context-menu__item kbd {
  margin-left: auto;
  padding: 0.125rem 0.375rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.6875rem;
  color: var(--fl-text-muted);
  background-color: var(--fl-background);
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
}
.fl-context-menu__divider {
  height: 1px;
  margin: 0.5rem 0;
  background-color: var(--fl-border);
}
.fl-context-menu__submenu {
  position: relative;
}
.fl-context-menu__submenu::after {
  content: "›";
  margin-left: auto;
  font-size: 1rem;
  color: var(--fl-text-muted);
}
.fl-context-menu__submenu .fl-context-menu {
  position: absolute;
  top: -0.5rem;
  left: 100%;
  margin-left: 4px;
  display: none;
}
.fl-context-menu__submenu:hover .fl-context-menu {
  display: block;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

[data-bs-theme=dark] .fl-tooltip {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-tooltip--light {
  color: #f1f5f9;
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-tooltip--top::before {
  border-top-color: #334155;
}
[data-bs-theme=dark] .fl-tooltip--bottom::before {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .fl-tooltip--left::before {
  border-left-color: #334155;
}
[data-bs-theme=dark] .fl-tooltip--right::before {
  border-right-color: #334155;
}
[data-bs-theme=dark] [data-tooltip]::after {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-popover {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-popover::before {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-popover__header {
  background-color: #334155;
  border-bottom-color: #475569;
}
[data-bs-theme=dark] .fl-popover__footer {
  background-color: #334155;
  border-top-color: #475569;
}
[data-bs-theme=dark] .fl-dropdown__menu {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-dropdown__item {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-dropdown__item:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-dropdown__item--danger:hover {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .fl-context-menu {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-context-menu__item {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-context-menu__item:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-context-menu__item kbd {
  background-color: #0f172a;
  border-color: #334155;
}

@media (prefers-reduced-motion: reduce) {
  .fl-tooltip,
  .fl-popover,
  .fl-dropdown__menu,
  .fl-context-menu {
    transition: none;
  }
  [data-tooltip]::after {
    transition: none;
  }
}
.fl-toast-container {
  position: fixed;
  z-index: 1090;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
  pointer-events: none;
  max-height: 100vh;
  overflow: hidden;
}
.fl-toast-container--top-right {
  top: 0;
  right: 0;
}
.fl-toast-container--top-left {
  top: 0;
  left: 0;
}
.fl-toast-container--top-center {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.fl-toast-container--bottom-right {
  bottom: 0;
  right: 0;
  flex-direction: column-reverse;
}
.fl-toast-container--bottom-left {
  bottom: 0;
  left: 0;
  flex-direction: column-reverse;
}
.fl-toast-container--bottom-center {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  flex-direction: column-reverse;
}

.fl-toast {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 300px;
  max-width: 420px;
  padding: 1rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.fl-toast.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.fl-toast.is-hiding {
  opacity: 0;
  transform: translateX(100%);
}
.fl-toast-container--top-left .fl-toast, .fl-toast-container--bottom-left .fl-toast {
  transform: translateX(-100%);
}
.fl-toast-container--top-left .fl-toast.is-visible, .fl-toast-container--bottom-left .fl-toast.is-visible {
  transform: translateX(0);
}
.fl-toast-container--top-left .fl-toast.is-hiding, .fl-toast-container--bottom-left .fl-toast.is-hiding {
  transform: translateX(-100%);
}
.fl-toast-container--top-center .fl-toast, .fl-toast-container--bottom-center .fl-toast {
  transform: translateY(-100%);
}
.fl-toast-container--top-center .fl-toast.is-visible, .fl-toast-container--bottom-center .fl-toast.is-visible {
  transform: translateY(0);
}
.fl-toast-container--top-center .fl-toast.is-hiding, .fl-toast-container--bottom-center .fl-toast.is-hiding {
  transform: translateY(-100%);
}
.fl-toast__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
}
.fl-toast__icon svg, .fl-toast__icon i {
  width: 100%;
  height: 100%;
}
.fl-toast__content {
  flex: 1;
  min-width: 0;
}
.fl-toast__title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}
.fl-toast__message {
  font-size: 0.8125rem;
  color: var(--fl-text-secondary);
  margin: 0;
  line-height: 1.4;
}
.fl-toast__close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.fl-toast__close:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.fl-toast__close svg, .fl-toast__close i {
  width: 1rem;
  height: 1rem;
}
.fl-toast__action {
  display: inline-flex;
  align-items: center;
  margin-top: 0.5rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #133B62;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.fl-toast__action:hover {
  background-color: rgba(19, 59, 98, 0.1);
}
.fl-toast__progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: var(--fl-surface-hover);
  border-radius: 0 0 calc(0.75rem - 1px) calc(0.75rem - 1px);
  overflow: hidden;
}
.fl-toast__progress-bar {
  height: 100%;
  background-color: currentColor;
  opacity: 0.3;
  animation: toast-progress linear forwards;
}
.fl-toast--with-progress {
  position: relative;
  padding-bottom: calc(1rem + 3px);
}

@keyframes toast-progress {
  from {
    width: 100%;
  }
  to {
    width: 0;
  }
}
.fl-toast--success {
  border-left: 4px solid #10b981;
}
.fl-toast--success .fl-toast__icon {
  color: #10b981;
}
.fl-toast--success .fl-toast__action {
  color: #10b981;
}
.fl-toast--success .fl-toast__action:hover {
  background-color: rgba(16, 185, 129, 0.1);
}

.fl-toast--error {
  border-left: 4px solid #ef4444;
}
.fl-toast--error .fl-toast__icon {
  color: #ef4444;
}
.fl-toast--error .fl-toast__action {
  color: #ef4444;
}
.fl-toast--error .fl-toast__action:hover {
  background-color: rgba(239, 68, 68, 0.1);
}

.fl-toast--warning {
  border-left: 4px solid #f59e0b;
}
.fl-toast--warning .fl-toast__icon {
  color: #f59e0b;
}
.fl-toast--warning .fl-toast__action {
  color: #d97706;
}
.fl-toast--warning .fl-toast__action:hover {
  background-color: rgba(245, 158, 11, 0.1);
}

.fl-toast--info {
  border-left: 4px solid #3b82f6;
}
.fl-toast--info .fl-toast__icon {
  color: #3b82f6;
}
.fl-toast--info .fl-toast__action {
  color: #3b82f6;
}
.fl-toast--info .fl-toast__action:hover {
  background-color: rgba(59, 130, 246, 0.1);
}

.fl-toast--simple {
  min-width: 200px;
  padding: 0.75rem 1rem;
  gap: 0.5rem;
}
.fl-toast--simple .fl-toast__content .fl-toast__message {
  color: var(--fl-text-primary);
  font-size: 0.9375rem;
}

.fl-alert-banner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 0.8125rem;
  background-color: #eff6ff;
  border-bottom: 1px solid rgba(59, 130, 246, 0.2);
}
.fl-alert-banner__icon {
  flex-shrink: 0;
  color: #3b82f6;
}
.fl-alert-banner__icon svg, .fl-alert-banner__icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-alert-banner__content {
  flex: 1;
  color: #2563eb;
}
.fl-alert-banner__link {
  color: inherit;
  font-weight: 500;
  text-decoration: underline;
}
.fl-alert-banner__link:hover {
  text-decoration: none;
}
.fl-alert-banner__dismiss {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  background: transparent;
  border: none;
  color: inherit;
  opacity: 0.6;
  cursor: pointer;
  border-radius: 0.375rem;
  transition: opacity 0.15s ease;
}
.fl-alert-banner__dismiss:hover {
  opacity: 1;
}
.fl-alert-banner__dismiss svg, .fl-alert-banner__dismiss i {
  width: 1rem;
  height: 1rem;
}
.fl-alert-banner--success {
  background-color: #ecfdf5;
  border-bottom-color: rgba(16, 185, 129, 0.2);
}
.fl-alert-banner--success .fl-alert-banner__icon {
  color: #10b981;
}
.fl-alert-banner--success .fl-alert-banner__content {
  color: #059669;
}
.fl-alert-banner--warning {
  background-color: #fffbeb;
  border-bottom-color: rgba(245, 158, 11, 0.2);
}
.fl-alert-banner--warning .fl-alert-banner__icon {
  color: #f59e0b;
}
.fl-alert-banner--warning .fl-alert-banner__content {
  color: #d97706;
}
.fl-alert-banner--error {
  background-color: #fef2f2;
  border-bottom-color: rgba(239, 68, 68, 0.2);
}
.fl-alert-banner--error .fl-alert-banner__icon {
  color: #ef4444;
}
.fl-alert-banner--error .fl-alert-banner__content {
  color: #dc2626;
}
.fl-alert-banner--sticky {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.fl-notification-badge {
  position: relative;
  display: inline-flex;
}
.fl-notification-badge__indicator {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 1.125rem;
  height: 1.125rem;
  padding: 0 0.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.125rem;
  color: #ffffff;
  text-align: center;
  background-color: #ef4444;
  border-radius: 50rem;
  transform: translate(50%, -50%);
}
.fl-notification-badge__indicator--pulse {
  animation: notification-pulse 2s ease-in-out infinite;
}
.fl-notification-badge__indicator--dot {
  min-width: 0.625rem;
  width: 0.625rem;
  height: 0.625rem;
  padding: 0;
}

@keyframes notification-pulse {
  0%, 100% {
    transform: translate(50%, -50%) scale(1);
  }
  50% {
    transform: translate(50%, -50%) scale(1.1);
  }
}
.fl-inline-notification {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.5rem;
}
.fl-inline-notification__icon {
  flex-shrink: 0;
}
.fl-inline-notification__icon svg, .fl-inline-notification__icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-inline-notification__content {
  flex: 1;
}
.fl-inline-notification__title {
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}
.fl-inline-notification__message {
  font-size: 0.8125rem;
  margin: 0;
  line-height: 1.5;
}
.fl-inline-notification__message a {
  font-weight: 500;
  text-decoration: underline;
}
.fl-inline-notification__actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.fl-inline-notification__dismiss {
  flex-shrink: 0;
  margin-left: auto;
  padding: 0.25rem;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  color: inherit;
  opacity: 0.6;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.fl-inline-notification__dismiss:hover {
  opacity: 1;
}
.fl-inline-notification__dismiss svg, .fl-inline-notification__dismiss i {
  width: 1rem;
  height: 1rem;
}
.fl-inline-notification--info {
  background-color: #eff6ff;
  color: #2563eb;
}
.fl-inline-notification--info .fl-inline-notification__icon {
  color: #3b82f6;
}
.fl-inline-notification--success {
  background-color: #ecfdf5;
  color: #059669;
}
.fl-inline-notification--success .fl-inline-notification__icon {
  color: #10b981;
}
.fl-inline-notification--warning {
  background-color: #fffbeb;
  color: #d97706;
}
.fl-inline-notification--warning .fl-inline-notification__icon {
  color: #f59e0b;
}
.fl-inline-notification--error {
  background-color: #fef2f2;
  color: #dc2626;
}
.fl-inline-notification--error .fl-inline-notification__icon {
  color: #ef4444;
}
.fl-inline-notification--bordered {
  background-color: transparent;
  border: 1px solid;
}
.fl-inline-notification--bordered.fl-inline-notification--info {
  border-color: rgba(59, 130, 246, 0.3);
}
.fl-inline-notification--bordered.fl-inline-notification--success {
  border-color: rgba(16, 185, 129, 0.3);
}
.fl-inline-notification--bordered.fl-inline-notification--warning {
  border-color: rgba(245, 158, 11, 0.3);
}
.fl-inline-notification--bordered.fl-inline-notification--error {
  border-color: rgba(239, 68, 68, 0.3);
}

.fl-snackbar {
  position: fixed;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  z-index: 1090;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 280px;
  max-width: 560px;
  padding: 0.875rem 1rem;
  font-size: 0.9375rem;
  color: #ffffff;
  background-color: #1e293b;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.fl-snackbar.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.fl-snackbar__message {
  flex: 1;
  line-height: 1.4;
}
.fl-snackbar__action {
  flex-shrink: 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #22d3ee;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.fl-snackbar__action:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.fl-fab {
  position: fixed;
  z-index: 1030;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 0;
  font-size: 1.5rem;
  color: #ffffff;
  background-color: #133B62;
  border: none;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(19, 59, 98, 0.35);
  cursor: pointer;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
.fl-fab:hover {
  background-color: rgb(25.6256410256, 79.5743589744, 132.1743589744);
  box-shadow: 0 6px 16px rgba(19, 59, 98, 0.4);
}
.fl-fab:active {
  background-color: rgb(12.3743589744, 38.4256410256, 63.8256410256);
}
.fl-fab:focus {
  outline: none;
  box-shadow: 0 4px 12px rgba(19, 59, 98, 0.35), 0 0 0 3px rgba(8, 145, 178, 0.3);
}
.fl-fab svg, .fl-fab i {
  width: 1.5rem;
  height: 1.5rem;
}
.fl-fab--bottom-right {
  bottom: 1.5rem;
  right: 1.5rem;
}
.fl-fab--bottom-left {
  bottom: 1.5rem;
  left: 1.5rem;
}
.fl-fab--bottom-center {
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.fl-fab--mini {
  width: 40px;
  height: 40px;
  font-size: 1.125rem;
}
.fl-fab--mini svg, .fl-fab--mini i {
  width: 1.125rem;
  height: 1.125rem;
}
.fl-fab--extended {
  width: auto;
  padding: 0 1.25rem;
  border-radius: 28px;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
}
.fl-fab--extended svg, .fl-fab--extended i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-fab--secondary {
  background-color: #0891b2;
  box-shadow: 0 4px 12px rgba(8, 145, 178, 0.35);
}
.fl-fab--secondary:hover {
  background-color: #0e7490;
  box-shadow: 0 6px 16px rgba(8, 145, 178, 0.4);
}

.fl-fab-menu {
  position: fixed;
  z-index: 1030;
  bottom: 1.5rem;
  right: 1.5rem;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 0.75rem;
}
.fl-fab-menu__trigger {
  width: 56px;
  height: 56px;
  font-size: 1.5rem;
  color: #ffffff;
  background-color: #133B62;
  border: none;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(19, 59, 98, 0.35);
  cursor: pointer;
  transition: background-color 0.15s ease, box-shadow 0.2s ease;
}
.fl-fab-menu__trigger svg, .fl-fab-menu__trigger i {
  width: 1.5rem;
  height: 1.5rem;
  transition: transform 0.3s ease;
}
.fl-fab-menu__trigger:hover {
  background-color: rgb(25.6256410256, 79.5743589744, 132.1743589744);
  box-shadow: 0 6px 16px rgba(19, 59, 98, 0.4);
}
.fl-fab-menu__items {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 0.5rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}
.fl-fab-menu__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fl-fab-menu__item:nth-child(1) {
  transition-delay: 0ms;
}
.fl-fab-menu__item:nth-child(2) {
  transition-delay: 50ms;
}
.fl-fab-menu__item:nth-child(3) {
  transition-delay: 100ms;
}
.fl-fab-menu__item:nth-child(4) {
  transition-delay: 150ms;
}
.fl-fab-menu__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  font-size: 1.25rem;
  color: #ffffff;
  background-color: #334155;
  border: none;
  border-radius: 50%;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease;
}
.fl-fab-menu__btn:hover {
  transform: scale(1.1);
  background-color: #475569;
}
.fl-fab-menu__btn svg, .fl-fab-menu__btn i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-fab-menu__label {
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
}
.fl-fab-menu.is-open .fl-fab-menu__trigger svg,
.fl-fab-menu.is-open .fl-fab-menu__trigger i {
  transform: rotate(45deg);
}
.fl-fab-menu.is-open .fl-fab-menu__items {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.fl-fab-menu.is-open .fl-fab-menu__item {
  opacity: 1;
  transform: scale(1);
}

[data-bs-theme=dark] .fl-toast {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .fl-toast__title {
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-toast__message {
  color: #94a3b8;
}
[data-bs-theme=dark] .fl-toast__close {
  color: #64748b;
}
[data-bs-theme=dark] .fl-toast__close:hover {
  background-color: #334155;
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-toast__progress {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-alert-banner--info {
  background-color: rgba(59, 130, 246, 0.15);
  border-bottom-color: rgba(59, 130, 246, 0.2);
}
[data-bs-theme=dark] .fl-alert-banner--info .fl-alert-banner__content {
  color: #60a5fa;
}
[data-bs-theme=dark] .fl-alert-banner--success {
  background-color: rgba(16, 185, 129, 0.15);
  border-bottom-color: rgba(16, 185, 129, 0.2);
}
[data-bs-theme=dark] .fl-alert-banner--success .fl-alert-banner__content {
  color: #34d399;
}
[data-bs-theme=dark] .fl-alert-banner--warning {
  background-color: rgba(245, 158, 11, 0.15);
  border-bottom-color: rgba(245, 158, 11, 0.2);
}
[data-bs-theme=dark] .fl-alert-banner--warning .fl-alert-banner__content {
  color: #fbbf24;
}
[data-bs-theme=dark] .fl-alert-banner--error {
  background-color: rgba(239, 68, 68, 0.15);
  border-bottom-color: rgba(239, 68, 68, 0.2);
}
[data-bs-theme=dark] .fl-alert-banner--error .fl-alert-banner__content {
  color: #f87171;
}
[data-bs-theme=dark] .fl-inline-notification--info {
  background-color: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
}
[data-bs-theme=dark] .fl-inline-notification--success {
  background-color: rgba(16, 185, 129, 0.15);
  color: #34d399;
}
[data-bs-theme=dark] .fl-inline-notification--warning {
  background-color: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
}
[data-bs-theme=dark] .fl-inline-notification--error {
  background-color: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
[data-bs-theme=dark] .fl-inline-notification--bordered {
  background-color: transparent;
}
[data-bs-theme=dark] .fl-snackbar {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-fab-menu__label {
  background-color: #1e293b;
  color: #f1f5f9;
}
[data-bs-theme=dark] .fl-fab-menu__btn {
  background-color: #475569;
}
[data-bs-theme=dark] .fl-fab-menu__btn:hover {
  background-color: #64748b;
}

@media (prefers-reduced-motion: reduce) {
  .fl-toast,
  .fl-snackbar,
  .fl-fab,
  .fl-fab-menu__trigger svg,
  .fl-fab-menu__items,
  .fl-fab-menu__item,
  .fl-notification-badge__indicator--pulse {
    transition: none;
    animation: none;
  }
  .fl-toast__progress-bar {
    animation: none;
    width: 0;
  }
}
@media (max-width: 576px) {
  .fl-toast-container {
    padding: 0.5rem;
  }
  .fl-toast-container--top-center, .fl-toast-container--bottom-center {
    left: 0.5rem;
    right: 0.5rem;
    transform: none;
  }
  .fl-toast {
    min-width: 0;
    width: 100%;
  }
  .fl-snackbar {
    left: 0.5rem;
    right: 0.5rem;
    transform: translateY(100%);
    max-width: none;
  }
  .fl-snackbar.is-visible {
    transform: translateY(0);
  }
  .fl-fab--bottom-right {
    bottom: 1rem;
    right: 1rem;
  }
  .fl-fab--bottom-left {
    bottom: 1rem;
    left: 1rem;
  }
  .fl-fab-menu {
    bottom: 1rem;
    right: 1rem;
  }
}
.fl-confirm-dialog {
  max-width: 400px;
}
.fl-confirm-dialog .modal-content {
  border-radius: 0.75rem;
}
.fl-confirm-dialog__header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  border-bottom: none;
}
.fl-confirm-dialog__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
}
.fl-confirm-dialog__icon svg, .fl-confirm-dialog__icon i {
  width: 1.5rem;
  height: 1.5rem;
}
.fl-confirm-dialog__icon--warning {
  background-color: #fffbeb;
  color: #f59e0b;
}
.fl-confirm-dialog__icon--danger {
  background-color: #fef2f2;
  color: #ef4444;
}
.fl-confirm-dialog__icon--info {
  background-color: #eff6ff;
  color: #3b82f6;
}
.fl-confirm-dialog__icon--success {
  background-color: #ecfdf5;
  color: #10b981;
}
.fl-confirm-dialog__content {
  flex: 1;
}
.fl-confirm-dialog__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0 0 0.5rem 0;
  line-height: 1.3;
}
.fl-confirm-dialog__message {
  font-size: 0.9375rem;
  color: var(--fl-text-secondary);
  margin: 0;
  line-height: 1.5;
}
.fl-confirm-dialog__body {
  padding: 0 1.5rem 1.5rem;
}
.fl-confirm-dialog__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background-color: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
  border-radius: 0 0 calc(0.75rem - 1px) calc(0.75rem - 1px);
}
.fl-confirm-dialog--danger .fl-confirm-dialog__title {
  color: #ef4444;
}
.fl-confirm-dialog--centered {
  text-align: center;
}
.fl-confirm-dialog--centered .fl-confirm-dialog__header {
  flex-direction: column;
  align-items: center;
}
.fl-confirm-dialog--centered .fl-confirm-dialog__icon {
  width: 4rem;
  height: 4rem;
}
.fl-confirm-dialog--centered .fl-confirm-dialog__icon svg, .fl-confirm-dialog--centered .fl-confirm-dialog__icon i {
  width: 2rem;
  height: 2rem;
}
.fl-confirm-dialog--centered .fl-confirm-dialog__footer {
  justify-content: center;
}

.fl-result-dialog {
  max-width: 360px;
  text-align: center;
}
.fl-result-dialog .modal-content {
  border-radius: 0.75rem;
  overflow: hidden;
}
.fl-result-dialog__body {
  padding: 2rem 1.5rem;
}
.fl-result-dialog__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
}
.fl-result-dialog__icon svg, .fl-result-dialog__icon i {
  width: 2.5rem;
  height: 2.5rem;
}
.fl-result-dialog__icon--success {
  background-color: #ecfdf5;
  color: #10b981;
  animation: result-icon-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fl-result-dialog__icon--success svg, .fl-result-dialog__icon--success i {
  animation: result-checkmark 0.3s ease 0.2s both;
}
.fl-result-dialog__icon--error {
  background-color: #fef2f2;
  color: #ef4444;
  animation: result-icon-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fl-result-dialog__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0 0 0.5rem 0;
}
.fl-result-dialog__message {
  font-size: 0.9375rem;
  color: var(--fl-text-secondary);
  margin: 0;
  line-height: 1.5;
}
.fl-result-dialog__footer {
  padding: 0 1.5rem 1.5rem;
}
.fl-result-dialog__footer .btn {
  min-width: 120px;
}

@keyframes result-icon-pop {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes result-checkmark {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.fl-loading-dialog {
  max-width: 280px;
  text-align: center;
}
.fl-loading-dialog .modal-content {
  border-radius: 0.75rem;
}
.fl-loading-dialog__body {
  padding: 2rem 1.5rem;
}
.fl-loading-dialog__spinner {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  border: 3px solid var(--fl-surface-hover);
  border-top-color: #133B62;
  border-radius: 50%;
  animation: loading-spin 0.8s linear infinite;
}
.fl-loading-dialog__title {
  font-size: 1rem;
  font-weight: 500;
  color: var(--fl-text-primary);
  margin: 0 0 0.25rem 0;
}
.fl-loading-dialog__message {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  margin: 0;
}

@keyframes loading-spin {
  to {
    transform: rotate(360deg);
  }
}
.fl-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s;
}
.fl-drawer-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
}

.fl-drawer {
  position: fixed;
  z-index: 1055;
  display: flex;
  flex-direction: column;
  background-color: var(--fl-surface);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}
.fl-drawer--right {
  top: 0;
  right: 0;
  bottom: 0;
  width: 400px;
  max-width: calc(100vw - 2rem);
  transform: translateX(100%);
}
.fl-drawer--right.is-visible {
  transform: translateX(0);
}
.fl-drawer--left {
  top: 0;
  left: 0;
  bottom: 0;
  width: 400px;
  max-width: calc(100vw - 2rem);
  transform: translateX(-100%);
}
.fl-drawer--left.is-visible {
  transform: translateX(0);
}
.fl-drawer--bottom {
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 80vh;
  border-radius: 1rem 1rem 0 0;
  transform: translateY(100%);
}
.fl-drawer--bottom.is-visible {
  transform: translateY(0);
}
.fl-drawer--narrow {
  width: 320px;
}
.fl-drawer--wide {
  width: 560px;
}
.fl-drawer--full {
  width: 100%;
  max-width: 100%;
}
.fl-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--fl-border-light);
}
.fl-drawer__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.fl-drawer__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0.5rem;
  color: var(--fl-text-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.fl-drawer__close:hover {
  background-color: var(--fl-surface-hover);
  color: var(--fl-text-primary);
}
.fl-drawer__close svg, .fl-drawer__close i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
  overscroll-behavior: contain;
}
.fl-drawer__footer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background-color: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
}
.fl-drawer__footer--sticky {
  position: sticky;
  bottom: 0;
}

.modal.fl-modal-sm .modal-dialog {
  max-width: 360px;
}
.modal.fl-modal-lg .modal-dialog {
  max-width: 640px;
}
.modal.fl-modal-xl .modal-dialog {
  max-width: 900px;
}
.modal.fl-modal-full .modal-dialog {
  max-width: calc(100vw - 2rem);
  margin: 1rem;
}

.modal.fl-modal-fade .modal-dialog {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.modal.fl-modal-fade.show .modal-dialog {
  opacity: 1;
  transform: translateY(0);
}

.modal.fl-modal-scale .modal-dialog {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.modal.fl-modal-scale.show .modal-dialog {
  opacity: 1;
  transform: scale(1);
}

.modal.fl-modal-slide-up .modal-dialog {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.modal.fl-modal-slide-up.show .modal-dialog {
  opacity: 1;
  transform: translateY(0);
}

.fl-modal-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.fl-modal-header__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background-color: var(--fl-surface-hover);
  color: #133B62;
}
.fl-modal-header__icon svg, .fl-modal-header__icon i {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-modal-header__content {
  flex: 1;
  min-width: 0;
}
.fl-modal-header__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0 0 0.25rem 0;
}
.fl-modal-header__subtitle {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  margin: 0;
}

.modal.fl-modal-fullscreen .modal-dialog {
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
}
.modal.fl-modal-fullscreen .modal-content {
  height: 100%;
  border-radius: 0;
}
.modal.fl-modal-fullscreen .modal-body {
  overflow-y: auto;
}

.fl-modal-sidebar .modal-content {
  display: flex;
  flex-direction: row;
  overflow: hidden;
}
.fl-modal-sidebar__sidebar {
  flex-shrink: 0;
  width: 200px;
  background-color: var(--fl-background);
  border-right: 1px solid var(--fl-border);
  padding: 1.5rem 0;
}
.fl-modal-sidebar__sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.fl-modal-sidebar__sidebar-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--fl-text-secondary);
  text-decoration: none;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.fl-modal-sidebar__sidebar-item:hover {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
}
.fl-modal-sidebar__sidebar-item.active {
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.08);
}
.fl-modal-sidebar__sidebar-item svg, .fl-modal-sidebar__sidebar-item i {
  width: 1rem;
  height: 1rem;
  opacity: 0.7;
}
.fl-modal-sidebar__main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.fl-sheet {
  position: fixed;
  z-index: 1055;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  background-color: var(--fl-surface);
  border-radius: 1rem 1rem 0 0;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
}
.fl-sheet.is-visible {
  transform: translateY(0);
}
.fl-sheet__handle {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  padding: 0.75rem 0;
  cursor: grab;
}
.fl-sheet__handle::after {
  content: "";
  width: 2.5rem;
  height: 0.25rem;
  background-color: var(--fl-border);
  border-radius: 50rem;
}
.fl-sheet__handle:active {
  cursor: grabbing;
}
.fl-sheet__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 0 1.5rem 1rem;
  border-bottom: 1px solid var(--fl-border-light);
}
.fl-sheet__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--fl-text-primary);
  margin: 0;
}
.fl-sheet__body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
  overscroll-behavior: contain;
}
.fl-sheet__footer {
  flex-shrink: 0;
  padding: 1rem 1.5rem;
  padding-bottom: max(1rem, env(safe-area-inset-bottom));
  background-color: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
}

[data-bs-theme=dark] .fl-confirm-dialog__icon--warning {
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .fl-confirm-dialog__icon--danger {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .fl-confirm-dialog__icon--info {
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .fl-confirm-dialog__icon--success {
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .fl-confirm-dialog__footer {
  background-color: #334155;
  border-top-color: #475569;
}
[data-bs-theme=dark] .fl-result-dialog__icon--success {
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .fl-result-dialog__icon--error {
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .fl-loading-dialog__spinner {
  border-color: #334155;
  border-top-color: #133B62;
}
[data-bs-theme=dark] .fl-drawer {
  background-color: #1e293b;
}
[data-bs-theme=dark] .fl-drawer__header {
  border-bottom-color: #475569;
}
[data-bs-theme=dark] .fl-drawer__footer {
  background-color: #334155;
  border-top-color: #475569;
}
[data-bs-theme=dark] .fl-drawer-backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
[data-bs-theme=dark] .fl-modal-sidebar__sidebar {
  background-color: #0f172a;
  border-right-color: #334155;
}
[data-bs-theme=dark] .fl-modal-sidebar__sidebar-item {
  color: #94a3b8;
}
[data-bs-theme=dark] .fl-modal-sidebar__sidebar-item:hover {
  color: #f1f5f9;
  background-color: #334155;
}
[data-bs-theme=dark] .fl-modal-sidebar__sidebar-item.active {
  background-color: rgba(19, 59, 98, 0.15);
}
[data-bs-theme=dark] .fl-sheet {
  background-color: #1e293b;
}
[data-bs-theme=dark] .fl-sheet__handle::after {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-sheet__header {
  border-bottom-color: #475569;
}
[data-bs-theme=dark] .fl-sheet__footer {
  background-color: #334155;
  border-top-color: #475569;
}

@media (prefers-reduced-motion: reduce) {
  .fl-drawer,
  .fl-drawer-backdrop,
  .fl-sheet,
  .modal.fl-modal-fade .modal-dialog,
  .modal.fl-modal-scale .modal-dialog,
  .modal.fl-modal-slide-up .modal-dialog,
  .fl-result-dialog__icon,
  .fl-result-dialog__icon svg,
  .fl-result-dialog__icon i,
  .fl-loading-dialog__spinner {
    transition: none;
    animation: none;
  }
}
@media (max-width: 576px) {
  .fl-confirm-dialog,
  .fl-result-dialog,
  .fl-loading-dialog {
    margin: 0.5rem;
    max-width: calc(100vw - 1rem);
  }
  .fl-drawer--right, .fl-drawer--left {
    width: 100%;
    max-width: 100%;
  }
  .fl-modal-sidebar .modal-content {
    flex-direction: column;
  }
  .fl-modal-sidebar__sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--fl-border);
    padding: 1rem 0;
  }
  .fl-modal-sidebar__sidebar-nav {
    flex-direction: row;
    overflow-x: auto;
    padding: 0 1rem;
    gap: 0.5rem;
  }
  .fl-modal-sidebar__sidebar-item {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    border-radius: 50rem;
  }
}
:root {
  --fl-anim-duration-fast: 150ms;
  --fl-anim-duration-normal: 300ms;
  --fl-anim-duration-slow: 500ms;
  --fl-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --fl-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --fl-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --fl-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --fl-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --fl-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes fl-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fl-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fl-fade-in {
  animation: fl-fade-in var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}

.fl-fade-out {
  animation: fl-fade-out var(--fl-anim-duration-normal) var(--fl-ease-in) both;
}

@keyframes fl-slide-up {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fl-slide-up-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-16px);
  }
}
.fl-slide-up {
  animation: fl-slide-up var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}

.fl-slide-up-out {
  animation: fl-slide-up-out var(--fl-anim-duration-normal) var(--fl-ease-in) both;
}

@keyframes fl-slide-down {
  from {
    opacity: 0;
    transform: translateY(-16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fl-slide-down-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(16px);
  }
}
.fl-slide-down {
  animation: fl-slide-down var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}

.fl-slide-down-out {
  animation: fl-slide-down-out var(--fl-anim-duration-normal) var(--fl-ease-in) both;
}

@keyframes fl-slide-left {
  from {
    opacity: 0;
    transform: translateX(16px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fl-slide-left-out {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-16px);
  }
}
.fl-slide-left {
  animation: fl-slide-left var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}

.fl-slide-left-out {
  animation: fl-slide-left-out var(--fl-anim-duration-normal) var(--fl-ease-in) both;
}

@keyframes fl-slide-right {
  from {
    opacity: 0;
    transform: translateX(-16px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fl-slide-right-out {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(16px);
  }
}
.fl-slide-right {
  animation: fl-slide-right var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}

.fl-slide-right-out {
  animation: fl-slide-right-out var(--fl-anim-duration-normal) var(--fl-ease-in) both;
}

@keyframes fl-scale-in {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fl-scale-out {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}
@keyframes fl-scale-up {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.fl-scale-in {
  animation: fl-scale-in var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}

.fl-scale-out {
  animation: fl-scale-out var(--fl-anim-duration-fast) var(--fl-ease-in) both;
}

.fl-scale-up {
  animation: fl-scale-up var(--fl-anim-duration-normal) var(--fl-ease-bounce) both;
}

@keyframes fl-bounce-in {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fl-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
@keyframes fl-bounce-subtle {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
.fl-bounce-in {
  animation: fl-bounce-in 0.5s var(--fl-ease-spring) both;
}

.fl-bounce {
  animation: fl-bounce 1s ease-in-out infinite;
}

.fl-bounce-subtle {
  animation: fl-bounce-subtle 0.6s ease-in-out infinite;
}

@keyframes fl-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-4px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(4px);
  }
}
.fl-shake {
  animation: fl-shake 0.5s ease-in-out;
}

@keyframes fl-shake-subtle {
  0%, 100% {
    transform: translateX(0);
  }
  20%, 60% {
    transform: translateX(-2px);
  }
  40%, 80% {
    transform: translateX(2px);
  }
}
.fl-shake-subtle {
  animation: fl-shake-subtle 0.3s ease-in-out;
}

@keyframes fl-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes fl-pulse-scale {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@keyframes fl-pulse-ring {
  0% {
    box-shadow: 0 0 0 0 currentColor;
  }
  70% {
    box-shadow: 0 0 0 8px transparent;
  }
  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}
.fl-pulse {
  animation: fl-pulse 2s ease-in-out infinite;
}

.fl-pulse-scale {
  animation: fl-pulse-scale 2s ease-in-out infinite;
}

.fl-pulse-ring {
  animation: fl-pulse-ring 1.5s ease-out infinite;
}

@keyframes fl-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes fl-spin-slow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.fl-spin {
  animation: fl-spin 0.75s linear infinite;
}

.fl-spin-slow {
  animation: fl-spin-slow 3s linear infinite;
}

@keyframes fl-loading-dots {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.fl-loading-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.fl-loading-dots span {
  display: block;
  width: 8px;
  height: 8px;
  background-color: currentColor;
  border-radius: 50%;
  animation: fl-loading-dots 1.4s ease-in-out infinite both;
}
.fl-loading-dots span:nth-child(1) {
  animation-delay: -0.32s;
}
.fl-loading-dots span:nth-child(2) {
  animation-delay: -0.16s;
}
.fl-loading-dots span:nth-child(3) {
  animation-delay: 0s;
}

@keyframes fl-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.fl-skeleton {
  background: linear-gradient(90deg, var(--fl-surface-hover) 0%, var(--fl-surface) 50%, var(--fl-surface-hover) 100%);
  background-size: 200% 100%;
  animation: fl-shimmer 1.5s ease-in-out infinite;
  border-radius: 0.5rem;
}
.fl-skeleton--text {
  height: 1em;
  width: 100%;
}
.fl-skeleton--title {
  height: 1.5em;
  width: 60%;
}
.fl-skeleton--avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.fl-skeleton--button {
  height: 2.5rem;
  width: 100px;
}
.fl-skeleton--card {
  height: 200px;
  width: 100%;
}
.fl-skeleton--image {
  height: 120px;
  width: 100%;
  border-radius: 0.75rem;
}

@keyframes fl-ripple {
  from {
    transform: scale(0);
    opacity: 0.4;
  }
  to {
    transform: scale(4);
    opacity: 0;
  }
}
.fl-ripple {
  position: relative;
  overflow: hidden;
}
.fl-ripple::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}
.fl-ripple:active::after {
  animation: fl-ripple 0.6s ease-out;
}

.fl-stagger > * {
  opacity: 0;
  animation: fl-slide-up var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}
.fl-stagger > *:nth-child(1) {
  animation-delay: 50ms;
}
.fl-stagger > *:nth-child(2) {
  animation-delay: 100ms;
}
.fl-stagger > *:nth-child(3) {
  animation-delay: 150ms;
}
.fl-stagger > *:nth-child(4) {
  animation-delay: 200ms;
}
.fl-stagger > *:nth-child(5) {
  animation-delay: 250ms;
}
.fl-stagger > *:nth-child(6) {
  animation-delay: 300ms;
}
.fl-stagger > *:nth-child(7) {
  animation-delay: 350ms;
}
.fl-stagger > *:nth-child(8) {
  animation-delay: 400ms;
}
.fl-stagger > *:nth-child(9) {
  animation-delay: 450ms;
}
.fl-stagger > *:nth-child(10) {
  animation-delay: 500ms;
}

.fl-stagger-fade > * {
  opacity: 0;
  animation: fl-fade-in var(--fl-anim-duration-normal) var(--fl-ease-out) both;
}
.fl-stagger-fade > *:nth-child(1) {
  animation-delay: 50ms;
}
.fl-stagger-fade > *:nth-child(2) {
  animation-delay: 100ms;
}
.fl-stagger-fade > *:nth-child(3) {
  animation-delay: 150ms;
}
.fl-stagger-fade > *:nth-child(4) {
  animation-delay: 200ms;
}
.fl-stagger-fade > *:nth-child(5) {
  animation-delay: 250ms;
}
.fl-stagger-fade > *:nth-child(6) {
  animation-delay: 300ms;
}
.fl-stagger-fade > *:nth-child(7) {
  animation-delay: 350ms;
}
.fl-stagger-fade > *:nth-child(8) {
  animation-delay: 400ms;
}
.fl-stagger-fade > *:nth-child(9) {
  animation-delay: 450ms;
}
.fl-stagger-fade > *:nth-child(10) {
  animation-delay: 500ms;
}

@keyframes fl-attention-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(19, 59, 98, 0.4);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(19, 59, 98, 0);
  }
}
@keyframes fl-attention-flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0.4;
  }
}
.fl-attention-pulse {
  animation: fl-attention-pulse 2s ease-in-out infinite;
}

.fl-attention-flash {
  animation: fl-attention-flash 1s ease-in-out 3;
}

.fl-transition-none {
  transition: none !important;
}

.fl-transition-all {
  transition: all var(--fl-anim-duration-normal) var(--fl-ease-default);
}

.fl-transition-colors {
  transition: color var(--fl-anim-duration-fast) var(--fl-ease-default), background-color var(--fl-anim-duration-fast) var(--fl-ease-default), border-color var(--fl-anim-duration-fast) var(--fl-ease-default);
}

.fl-transition-opacity {
  transition: opacity var(--fl-anim-duration-normal) var(--fl-ease-default);
}

.fl-transition-transform {
  transition: transform var(--fl-anim-duration-normal) var(--fl-ease-default);
}

.fl-duration-fast {
  --fl-anim-duration: var(--fl-anim-duration-fast);
  animation-duration: var(--fl-anim-duration-fast);
  transition-duration: var(--fl-anim-duration-fast);
}

.fl-duration-normal {
  --fl-anim-duration: var(--fl-anim-duration-normal);
  animation-duration: var(--fl-anim-duration-normal);
  transition-duration: var(--fl-anim-duration-normal);
}

.fl-duration-slow {
  --fl-anim-duration: var(--fl-anim-duration-slow);
  animation-duration: var(--fl-anim-duration-slow);
  transition-duration: var(--fl-anim-duration-slow);
}

.fl-delay-100 {
  animation-delay: 100ms;
}

.fl-delay-200 {
  animation-delay: 200ms;
}

.fl-delay-300 {
  animation-delay: 300ms;
}

.fl-delay-500 {
  animation-delay: 500ms;
}

.fl-delay-700 {
  animation-delay: 700ms;
}

.fl-delay-1000 {
  animation-delay: 1000ms;
}

.fl-animate-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--fl-anim-duration-slow) var(--fl-ease-out), transform var(--fl-anim-duration-slow) var(--fl-ease-out);
}
.fl-animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.fl-hover-lift {
  transition: transform var(--fl-anim-duration-fast) var(--fl-ease-out), box-shadow var(--fl-anim-duration-fast) var(--fl-ease-out);
}
.fl-hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.fl-hover-scale {
  transition: transform var(--fl-anim-duration-fast) var(--fl-ease-out);
}
.fl-hover-scale:hover {
  transform: scale(1.02);
}

.fl-hover-glow {
  transition: box-shadow var(--fl-anim-duration-normal) var(--fl-ease-out);
}
.fl-hover-glow:hover {
  box-shadow: 0 0 20px rgba(19, 59, 98, 0.3);
}

[data-bs-theme=dark] .fl-skeleton {
  background: linear-gradient(90deg, #334155 0%, #1e293b 50%, #334155 100%);
  background-size: 200% 100%;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .fl-skeleton {
    animation: none;
    background: var(--fl-surface-hover);
  }
  .fl-loading-dots span {
    animation: none;
    opacity: 1;
    transform: scale(1);
  }
  .fl-loading-dots span:nth-child(2) {
    opacity: 0.6;
  }
  .fl-loading-dots span:nth-child(3) {
    opacity: 0.3;
  }
  .fl-animate-on-scroll {
    opacity: 1;
    transform: none;
  }
  .fl-stagger > *,
  .fl-stagger-fade > * {
    opacity: 1;
    animation: none;
  }
}
.fl-btn-press {
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}
.fl-btn-press:active {
  transform: scale(0.97);
}

.fl-btn-ripple {
  position: relative;
  overflow: hidden;
}
.fl-btn-ripple .fl-ripple-effect {
  position: absolute;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  transform: scale(0);
  animation: fl-ripple-expand 0.6s ease-out;
  pointer-events: none;
}

@keyframes fl-ripple-expand {
  to {
    transform: scale(4);
    opacity: 0;
  }
}
.fl-icon-btn-hover {
  position: relative;
  transition: color 0.2s ease;
}
.fl-icon-btn-hover::before {
  content: "";
  position: absolute;
  inset: -8px;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fl-icon-btn-hover:hover::before {
  opacity: 0.08;
  transform: scale(1);
}
.fl-icon-btn-hover:active::before {
  opacity: 0.12;
  transform: scale(0.95);
}

.fl-checkbox-animated {
  position: relative;
}
.fl-checkbox-animated input[type=checkbox] {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--fl-border);
  border-radius: 0.25rem;
  background-color: var(--fl-surface);
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.fl-checkbox-animated input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -60%) rotate(45deg) scale(0);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fl-checkbox-animated input[type=checkbox]:checked {
  background-color: #133B62;
  border-color: #133B62;
}
.fl-checkbox-animated input[type=checkbox]:checked::after {
  transform: translate(-50%, -60%) rotate(45deg) scale(1);
}
.fl-checkbox-animated input[type=checkbox]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}

.fl-checkbox-bounce input[type=checkbox]:checked {
  animation: fl-checkbox-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes fl-checkbox-pop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.fl-radio-animated {
  position: relative;
}
.fl-radio-animated input[type=radio] {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--fl-border);
  border-radius: 50%;
  background-color: var(--fl-surface);
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.fl-radio-animated input[type=radio]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #133B62;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fl-radio-animated input[type=radio]:checked {
  border-color: #133B62;
}
.fl-radio-animated input[type=radio]:checked::after {
  transform: translate(-50%, -50%) scale(1);
}
.fl-radio-animated input[type=radio]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}

.fl-switch-animated {
  position: relative;
  display: inline-flex;
}
.fl-switch-animated input[type=checkbox] {
  appearance: none;
  width: 2.75rem;
  height: 1.5rem;
  background-color: var(--fl-border);
  border-radius: 0.75rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.fl-switch-animated input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.5rem - 4px);
  height: calc(1.5rem - 4px);
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fl-switch-animated input[type=checkbox]:checked {
  background-color: #133B62;
}
.fl-switch-animated input[type=checkbox]:checked::after {
  transform: translateX(1.25rem);
}
.fl-switch-animated input[type=checkbox]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.2);
}
.fl-switch-animated input[type=checkbox]:active::after {
  width: calc(1.5rem - 4px + 4px);
}

.fl-focus-ring {
  position: relative;
}
.fl-focus-ring:focus {
  outline: none;
}
.fl-focus-ring:focus-visible {
  outline: none;
}
.fl-focus-ring:focus-visible::after {
  content: "";
  position: absolute;
  inset: -3px;
  border: 2px solid #0891b2;
  border-radius: inherit;
  animation: fl-focus-ring-pulse 0.3s ease;
}

@keyframes fl-focus-ring-pulse {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.fl-input-focus-line {
  position: relative;
}
.fl-input-focus-line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #0891b2;
  transition: width 0.3s ease, left 0.3s ease;
}
.fl-input-focus-line:focus-within::after {
  left: 0;
  width: 100%;
}

.fl-input-shake.is-invalid, .fl-input-shake.has-error {
  animation: fl-input-shake 0.4s ease;
}

@keyframes fl-input-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20%, 60% {
    transform: translateX(-4px);
  }
  40%, 80% {
    transform: translateX(4px);
  }
}
.fl-input-success.is-valid {
  animation: fl-input-success-flash 0.3s ease;
}

@keyframes fl-input-success-flash {
  0%, 100% {
    border-color: #10b981;
  }
  50% {
    border-color: #34d399;
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
  }
}
.fl-link-underline {
  position: relative;
  text-decoration: none;
}
.fl-link-underline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}
.fl-link-underline:hover::after {
  width: 100%;
}

.fl-link-underline-out {
  position: relative;
  text-decoration: none;
}
.fl-link-underline-out::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform 0.3s ease;
}
.fl-link-underline-out:hover::after {
  transform: scaleX(0);
  transform-origin: left;
}

.fl-text-hover-fade {
  transition: color 0.2s ease;
}
.fl-text-hover-fade:hover {
  color: #133B62;
}

.fl-card-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.fl-card-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

.fl-card-glow {
  transition: box-shadow 0.3s ease;
}
.fl-card-glow:hover {
  box-shadow: 0 0 0 4px rgba(19, 59, 98, 0.1), 0 4px 12px rgba(0, 0, 0, 0.05);
}

.fl-card-border-highlight {
  position: relative;
  overflow: hidden;
}
.fl-card-border-highlight::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #133B62, #0891b2);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.fl-card-border-highlight:hover::before {
  transform: scaleX(1);
}

.fl-list-item-hover {
  transition: background-color 0.15s ease, padding-left 0.15s ease;
}
.fl-list-item-hover:hover {
  background-color: var(--fl-surface-hover);
  padding-left: calc(var(--item-padding, 1rem) + 4px);
}

.fl-list-item-slide {
  position: relative;
}
.fl-list-item-slide::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #133B62;
  transform: scaleY(0);
  transition: transform 0.2s ease;
}
.fl-list-item-slide:hover::before, .fl-list-item-slide.active::before {
  transform: scaleY(1);
}

.fl-icon-rotate {
  transition: transform 0.3s ease;
}
.fl-icon-rotate:hover {
  transform: rotate(90deg);
}

.fl-icon-scale {
  transition: transform 0.2s ease;
}
.fl-icon-scale:hover {
  transform: scale(1.2);
}

.fl-icon-float {
  animation: fl-icon-float 3s ease-in-out infinite;
}

@keyframes fl-icon-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}
.fl-menu-item-arrow {
  position: relative;
}
.fl-menu-item-arrow .arrow {
  transition: transform 0.2s ease;
}
.fl-menu-item-arrow:hover .arrow {
  transform: translateX(4px);
}

.fl-menu-collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.fl-menu-collapse.is-open {
  max-height: 500px;
}

.fl-progress-animate .fl-progress-bar {
  transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.fl-progress-striped .fl-progress-bar {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}
.fl-progress-striped.is-animated .fl-progress-bar {
  animation: fl-progress-stripe 1s linear infinite;
}

@keyframes fl-progress-stripe {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.fl-avatar-group {
  display: flex;
}
.fl-avatar-group > * {
  margin-left: -0.5rem;
  border: 2px solid var(--fl-surface);
  transition: transform 0.2s ease, z-index 0.2s;
}
.fl-avatar-group > *:first-child {
  margin-left: 0;
}
.fl-avatar-group > *:hover {
  transform: translateY(-4px);
  z-index: 10;
}

.fl-avatar-online {
  position: relative;
}
.fl-avatar-online::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 12px;
  height: 12px;
  background-color: #10b981;
  border: 2px solid var(--fl-surface);
  border-radius: 50%;
  animation: fl-online-pulse 2s ease-in-out infinite;
}

@keyframes fl-online-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0);
  }
}
.fl-table-row-hover tr {
  transition: background-color 0.15s ease;
}
.fl-table-row-hover tr:hover {
  background-color: var(--fl-surface-hover);
}

.fl-table-row-highlight tr {
  position: relative;
}
.fl-table-row-highlight tr::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: #133B62;
  transform: scaleY(0);
  transition: transform 0.2s ease;
}
.fl-table-row-highlight tr:hover::before {
  transform: scaleY(1);
}

[data-bs-theme=dark] .fl-checkbox-animated input[type=checkbox],
[data-bs-theme=dark] .fl-radio-animated input[type=radio] {
  border-color: #334155;
  background-color: #1e293b;
}
[data-bs-theme=dark] .fl-switch-animated input[type=checkbox] {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-switch-animated input[type=checkbox]::after {
  background-color: #cbd5e1;
}
[data-bs-theme=dark] .fl-switch-animated input[type=checkbox]:checked::after {
  background-color: #ffffff;
}
[data-bs-theme=dark] .fl-card-lift:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);
}
[data-bs-theme=dark] .fl-card-glow:hover {
  box-shadow: 0 0 0 4px rgba(19, 59, 98, 0.2), 0 4px 12px rgba(0, 0, 0, 0.2);
}

@media (prefers-reduced-motion: reduce) {
  .fl-btn-press,
  .fl-btn-ripple,
  .fl-icon-btn-hover,
  .fl-checkbox-animated input[type=checkbox],
  .fl-radio-animated input[type=radio],
  .fl-switch-animated input[type=checkbox],
  .fl-input-focus-line,
  .fl-link-underline,
  .fl-link-underline-out,
  .fl-card-lift,
  .fl-card-glow,
  .fl-card-border-highlight,
  .fl-list-item-hover,
  .fl-list-item-slide,
  .fl-icon-rotate,
  .fl-icon-scale,
  .fl-icon-float,
  .fl-menu-item-arrow .arrow,
  .fl-menu-collapse,
  .fl-progress-animate .fl-progress-bar,
  .fl-avatar-group > *,
  .fl-avatar-online::after,
  .fl-table-row-hover tr,
  .fl-table-row-highlight tr::before {
    transition: none !important;
    animation: none !important;
  }
  .fl-checkbox-bounce input[type=checkbox]:checked {
    animation: none;
  }
}
.fl-skip-links {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
}
.fl-skip-links__link {
  position: absolute;
  top: -100%;
  left: 0;
  padding: 1rem 1.5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #ffffff;
  background-color: #133B62;
  text-decoration: none;
  border-radius: 0 0 0.5rem 0.5rem;
  transition: top 0.2s ease;
}
.fl-skip-links__link:focus {
  top: 0;
  outline: 2px solid #0891b2;
  outline-offset: 2px;
}

.fl-sr-only, .fl-error-announcer,
.sr-only,
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fl-sr-only-focusable:not(:focus):not(:focus-within),
.sr-only-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

*:focus {
  outline: none;
}

*:focus-visible {
  outline: 2px solid #0891b2;
  outline-offset: 2px;
}

.fl-focus-visible:focus {
  outline: none;
}
.fl-focus-visible:focus-visible {
  outline: 2px solid #0891b2;
  outline-offset: 2px;
  border-radius: 0.375rem;
}

.fl-focus-within:focus-within {
  outline: 2px solid #0891b2;
  outline-offset: 2px;
  border-radius: inherit;
}

.fl-focus-ring-primary:focus-visible {
  outline-color: #133B62;
  box-shadow: 0 0 0 4px rgba(19, 59, 98, 0.2);
}

.fl-focus-ring-accent:focus-visible {
  outline-color: #0891b2;
  box-shadow: 0 0 0 4px rgba(8, 145, 178, 0.2);
}

.fl-focus-ring-danger:focus-visible {
  outline-color: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
}

.fl-focus-inset:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px #0891b2;
}

[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 2px solid #0891b2;
  outline-offset: 2px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role=button]:focus-visible,
[role=link]:focus-visible,
[role=menuitem]:focus-visible,
[role=tab]:focus-visible {
  outline: 2px solid #0891b2;
  outline-offset: 2px;
}

.form-control:focus-visible,
.form-select:focus-visible {
  outline: none;
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.15);
}

.btn:focus-visible {
  outline: 2px solid #0891b2;
  outline-offset: 2px;
  box-shadow: none;
}

[aria-disabled=true],
[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

[aria-busy=true] {
  cursor: wait;
}

[aria-expanded=false] .fl-expand-icon {
  transition: transform 0.2s ease;
}

[aria-expanded=true] .fl-expand-icon {
  transform: rotate(180deg);
}

[aria-selected=true] {
  background-color: rgba(19, 59, 98, 0.08);
  color: #133B62;
}

[aria-current=page],
[aria-current=step],
[aria-current=location] {
  font-weight: 600;
  color: #133B62;
}

[aria-invalid=true] {
  border-color: #ef4444 !important;
}
[aria-invalid=true]:focus-visible {
  outline-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

.fl-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.fl-status__icon {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}
.fl-status__icon svg {
  width: 100%;
  height: 100%;
}
.fl-status__text {
  font-weight: 500;
}
.fl-status--success {
  color: #059669;
}
.fl-status--success .fl-status__icon {
  color: #10b981;
}
.fl-status--warning {
  color: #d97706;
}
.fl-status--warning .fl-status__icon {
  color: #f59e0b;
}
.fl-status--error {
  color: #dc2626;
}
.fl-status--error .fl-status__icon {
  color: #ef4444;
}
.fl-status--info {
  color: #2563eb;
}
.fl-status--info .fl-status__icon {
  color: #3b82f6;
}

.fl-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border-radius: 50rem;
}
.fl-status-badge svg, .fl-status-badge i {
  width: 0.875rem;
  height: 0.875rem;
}
.fl-status-badge--success {
  color: #059669;
  background-color: #ecfdf5;
}
.fl-status-badge--warning {
  color: #d97706;
  background-color: #fffbeb;
}
.fl-status-badge--error {
  color: #dc2626;
  background-color: #fef2f2;
}
.fl-status-badge--info {
  color: #2563eb;
  background-color: #eff6ff;
}

.fl-required::after {
  content: " *";
  color: #ef4444;
}

.fl-optional::after {
  content: " (optional)";
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--fl-text-muted);
}

.fl-error-message {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: #ef4444;
}
.fl-error-message svg, .fl-error-message i {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.125rem;
}
.fl-help-text {
  font-size: 0.8125rem;
  color: var(--fl-text-muted);
  margin-top: 0.375rem;
}
.fl-field-group.has-error .form-control,
.fl-field-group.has-error .form-select {
  border-color: #ef4444;
}
.fl-field-group.has-error .form-control:focus,
.fl-field-group.has-error .form-select:focus {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}
.fl-field-group.has-error label {
  color: #ef4444;
}

.fl-live-region {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[role=alert] {
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: #fef2f2;
  color: #dc2626;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.fl-heading-1 {
  font-size: 2rem;
  font-weight: 700;
}

.fl-heading-2 {
  font-size: 1.5rem;
  font-weight: 600;
}

.fl-heading-3 {
  font-size: 1.25rem;
  font-weight: 600;
}

.fl-heading-4 {
  font-size: 1.125rem;
  font-weight: 600;
}

.fl-heading-5 {
  font-size: 1rem;
  font-weight: 500;
}

.fl-heading-6 {
  font-size: 0.875rem;
  font-weight: 500;
}

@media (prefers-contrast: high) {
  .card,
  .btn,
  .form-control,
  .form-select,
  .table,
  .dropdown-menu {
    border-width: 2px;
  }
  *:focus-visible {
    outline-width: 3px;
    outline-offset: 3px;
  }
  .text-muted,
  .text-secondary {
    color: var(--fl-text-primary) !important;
  }
  .badge,
  .badge-soft-primary,
  .badge-soft-success,
  .badge-soft-warning,
  .badge-soft-danger,
  .badge-soft-info {
    border: 2px solid currentColor;
  }
  a {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .btn {
    border: 2px solid currentColor !important;
  }
  [aria-disabled=true],
  [disabled] {
    opacity: 0.5;
    text-decoration: line-through;
  }
}
@media (forced-colors: active) {
  .btn-primary {
    background-color: ButtonFace;
    color: ButtonText;
    border-color: ButtonText;
  }
  .btn-primary:hover {
    background-color: Highlight;
    color: HighlightText;
  }
  a {
    color: LinkText;
  }
  a:visited {
    color: VisitedText;
  }
  *:focus-visible {
    outline: 3px solid Highlight;
  }
  .form-control,
  .form-select {
    border-color: ButtonText;
  }
  .form-control:focus,
  .form-select:focus {
    border-color: Highlight;
    outline-color: Highlight;
  }
  [disabled] {
    color: GrayText;
    border-color: GrayText;
  }
}
.fl-touch-target {
  min-width: 44px;
  min-height: 44px;
}

@media (pointer: coarse) {
  .btn,
  .dropdown-item,
  .nav-link,
  .page-link,
  .list-group-item-action,
  [role=button],
  [role=menuitem],
  [role=tab] {
    min-height: 44px;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .form-check-input {
    width: 1.25rem;
    height: 1.25rem;
  }
  .btn + .btn {
    margin-left: 0.5rem;
  }
  .nav-link + .nav-link,
  .dropdown-item + .dropdown-item {
    margin-top: 0.25rem;
  }
}
.fl-text-spacing-friendly {
  line-height: 1.5 !important;
  letter-spacing: 0.12em !important;
  word-spacing: 0.16em !important;
}
.fl-text-spacing-friendly p {
  margin-bottom: 2em !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.fl-reduce-motion *,
.fl-reduce-motion *::before,
.fl-reduce-motion *::after {
  animation: none !important;
  transition: none !important;
}

[data-bs-theme=dark] *:focus-visible {
  outline-color: #22d3ee;
}
[data-bs-theme=dark] .fl-status--success,
[data-bs-theme=dark] .fl-status-badge--success {
  color: #34d399;
}
[data-bs-theme=dark] .fl-status--warning,
[data-bs-theme=dark] .fl-status-badge--warning {
  color: #fbbf24;
}
[data-bs-theme=dark] .fl-status--error,
[data-bs-theme=dark] .fl-status-badge--error {
  color: #f87171;
}
[data-bs-theme=dark] .fl-status--info,
[data-bs-theme=dark] .fl-status-badge--info {
  color: #60a5fa;
}
[data-bs-theme=dark] .fl-status-badge--success {
  background-color: rgba(16, 185, 129, 0.2);
}
[data-bs-theme=dark] .fl-status-badge--warning {
  background-color: rgba(245, 158, 11, 0.2);
}
[data-bs-theme=dark] .fl-status-badge--error {
  background-color: rgba(239, 68, 68, 0.2);
}
[data-bs-theme=dark] .fl-status-badge--info {
  background-color: rgba(59, 130, 246, 0.2);
}
[data-bs-theme=dark] .fl-error-message {
  color: #f87171;
}
[data-bs-theme=dark] [role=alert] {
  background-color: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.3);
}

.fl-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  fill: currentColor;
  vertical-align: middle;
}
.fl-icon svg {
  width: 100%;
  height: 100%;
  fill: inherit;
}
.fl-icon[class*=fe-], .fl-icon[class*=ri-], .fl-icon[class*=mdi-], .fl-icon[class*=fa-] {
  font-size: inherit;
}

.fl-icon-xs {
  width: 0.75rem;
  height: 0.75rem;
  font-size: 0.75rem;
}

.fl-icon-sm {
  width: 1rem;
  height: 1rem;
  font-size: 1rem;
}

.fl-icon-md {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.25rem;
}

.fl-icon-lg {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1.5rem;
}

.fl-icon-xl {
  width: 2rem;
  height: 2rem;
  font-size: 2rem;
}

.fl-icon-2xl {
  width: 2.5rem;
  height: 2.5rem;
  font-size: 2.5rem;
}

.fl-icon-3xl {
  width: 3rem;
  height: 3rem;
  font-size: 3rem;
}

.fl-icon-16 {
  width: 16px;
  height: 16px;
  font-size: 16px;
}

.fl-icon-20 {
  width: 20px;
  height: 20px;
  font-size: 20px;
}

.fl-icon-24 {
  width: 24px;
  height: 24px;
  font-size: 24px;
}

.fl-icon-32 {
  width: 32px;
  height: 32px;
  font-size: 32px;
}

.fl-icon-48 {
  width: 48px;
  height: 48px;
  font-size: 48px;
}

.fl-icon-64 {
  width: 64px;
  height: 64px;
  font-size: 64px;
}

.fl-icon-primary {
  color: #133B62;
}

.fl-icon-secondary {
  color: var(--fl-text-secondary);
}

.fl-icon-muted {
  color: var(--fl-text-muted);
}

.fl-icon-accent {
  color: #0891b2;
}

.fl-icon-success {
  color: #10b981;
}

.fl-icon-warning {
  color: #f59e0b;
}

.fl-icon-danger {
  color: #ef4444;
}

.fl-icon-info {
  color: #3b82f6;
}

.fl-icon-white {
  color: #ffffff;
}

.fl-icon-dark {
  color: #1e293b;
}

.fl-icon-inherit {
  color: inherit;
}

.fl-icon-baseline {
  vertical-align: baseline;
}

.fl-icon-middle {
  vertical-align: middle;
}

.fl-icon-top {
  vertical-align: top;
}

.fl-icon-text-top {
  vertical-align: text-top;
}

.fl-icon-text-bottom {
  vertical-align: text-bottom;
}

.fl-icon-ml-1 {
  margin-left: 0.25rem;
}

.fl-icon-ml-2 {
  margin-left: 0.5rem;
}

.fl-icon-ml-3 {
  margin-left: 0.75rem;
}

.fl-icon-mr-1 {
  margin-right: 0.25rem;
}

.fl-icon-mr-2 {
  margin-right: 0.5rem;
}

.fl-icon-mr-3 {
  margin-right: 0.75rem;
}

.fl-icon-bg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border-radius: 0.5rem;
  background-color: var(--fl-surface-hover);
}
.fl-icon-bg--sm {
  padding: 0.375rem;
}
.fl-icon-bg--lg {
  padding: 0.75rem;
}
.fl-icon-bg--circle {
  border-radius: 50%;
}
.fl-icon-bg--primary {
  background-color: rgba(19, 59, 98, 0.1);
  color: #133B62;
}
.fl-icon-bg--accent {
  background-color: rgba(8, 145, 178, 0.1);
  color: #0891b2;
}
.fl-icon-bg--success {
  background-color: #ecfdf5;
  color: #10b981;
}
.fl-icon-bg--warning {
  background-color: #fffbeb;
  color: #f59e0b;
}
.fl-icon-bg--danger {
  background-color: #fef2f2;
  color: #ef4444;
}
.fl-icon-bg--info {
  background-color: #eff6ff;
  color: #3b82f6;
}

.fl-icon-bg-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border-radius: 0.5rem;
}
.fl-icon-bg-solid--primary {
  background-color: #133B62;
  color: #ffffff;
}
.fl-icon-bg-solid--accent {
  background-color: #0891b2;
  color: #ffffff;
}
.fl-icon-bg-solid--success {
  background-color: #10b981;
  color: #ffffff;
}
.fl-icon-bg-solid--warning {
  background-color: #f59e0b;
  color: #ffffff;
}
.fl-icon-bg-solid--danger {
  background-color: #ef4444;
  color: #ffffff;
}
.fl-icon-bg-solid--info {
  background-color: #3b82f6;
  color: #ffffff;
}

.fl-icon-spin {
  animation: fl-icon-spin 1s linear infinite;
}

@keyframes fl-icon-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.fl-icon-pulse {
  animation: fl-icon-pulse 1.5s ease-in-out infinite;
}

@keyframes fl-icon-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.fl-icon-bounce {
  animation: fl-icon-bounce 1s ease infinite;
}

@keyframes fl-icon-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
.fl-icon-shake {
  animation: fl-icon-shake 0.5s ease-in-out;
}

@keyframes fl-icon-shake {
  0%, 100% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(-10deg);
  }
  75% {
    transform: rotate(10deg);
  }
}
.fl-icon-beat {
  animation: fl-icon-beat 1s ease-in-out infinite;
}

@keyframes fl-icon-beat {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}
.fl-icon-fade-in {
  animation: fl-icon-fade-in 0.3s ease;
}

@keyframes fl-icon-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fl-icon-rotate-90 {
  transform: rotate(90deg);
}

.fl-icon-rotate-180 {
  transform: rotate(180deg);
}

.fl-icon-rotate-270 {
  transform: rotate(270deg);
}

.fl-icon-flip-h {
  transform: scaleX(-1);
}

.fl-icon-flip-v {
  transform: scaleY(-1);
}

.fl-icon-text {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.fl-icon-text--sm {
  gap: 0.375rem;
}
.fl-icon-text--lg {
  gap: 0.75rem;
}
.fl-icon-text--reverse {
  flex-direction: row-reverse;
}

.fl-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  background: transparent;
  border: none;
  border-radius: 0.5rem;
  color: var(--fl-text-secondary);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.fl-icon-btn:hover {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
}
.fl-icon-btn:focus-visible {
  outline: 2px solid #0891b2;
  outline-offset: 2px;
}
.fl-icon-btn--sm {
  padding: 0.375rem;
}
.fl-icon-btn--sm .fl-icon {
  width: 1rem;
  height: 1rem;
}
.fl-icon-btn--lg {
  padding: 0.625rem;
}
.fl-icon-btn--lg .fl-icon {
  width: 1.5rem;
  height: 1.5rem;
}
.fl-icon-btn--circle {
  border-radius: 50%;
}
.fl-icon-btn--primary {
  color: #133B62;
}
.fl-icon-btn--primary:hover {
  background-color: rgba(19, 59, 98, 0.1);
}
.fl-icon-btn--danger {
  color: #ef4444;
}
.fl-icon-btn--danger:hover {
  background-color: #fef2f2;
}

.fl-icon-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fl-icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.5rem 0;
}
.fl-icon-list li .fl-icon {
  flex-shrink: 0;
  margin-top: 0.125rem;
  color: #133B62;
}
.fl-icon-list--check li .fl-icon {
  color: #10b981;
}
.fl-icon-list--cross li .fl-icon {
  color: #ef4444;
}

.fl-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(19, 59, 98, 0.1), rgba(8, 145, 178, 0.1));
  color: #133B62;
}
.fl-feature-icon .fl-icon {
  width: 1.5rem;
  height: 1.5rem;
}
.fl-feature-icon--sm {
  width: 2.5rem;
  height: 2.5rem;
}
.fl-feature-icon--sm .fl-icon {
  width: 1.25rem;
  height: 1.25rem;
}
.fl-feature-icon--lg {
  width: 4rem;
  height: 4rem;
}
.fl-feature-icon--lg .fl-icon {
  width: 2rem;
  height: 2rem;
}
.fl-feature-icon--circle {
  border-radius: 50%;
}
.fl-feature-icon--success {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(16, 185, 129, 0.05));
  color: #10b981;
}
.fl-feature-icon--warning {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(245, 158, 11, 0.05));
  color: #f59e0b;
}
.fl-feature-icon--danger {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.05));
  color: #ef4444;
}
.fl-feature-icon--info {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05));
  color: #3b82f6;
}

.fl-icon-stack {
  position: relative;
  display: inline-flex;
  width: 2em;
  height: 2em;
}
.fl-icon-stack .fl-icon {
  position: absolute;
}
.fl-icon-stack .fl-icon:first-child {
  width: 100%;
  height: 100%;
}
.fl-icon-stack .fl-icon:last-child {
  width: 50%;
  height: 50%;
  right: 0;
  bottom: 0;
}

.fl-status-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--fl-text-muted);
}
.fl-status-dot--online {
  background-color: #10b981;
}
.fl-status-dot--offline {
  background-color: #94a3b8;
}
.fl-status-dot--away {
  background-color: #f59e0b;
}
.fl-status-dot--busy {
  background-color: #ef4444;
}
.fl-status-dot--pulse {
  animation: fl-status-pulse 2s ease-in-out infinite;
}

@keyframes fl-status-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.fl-loading-spinner {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--fl-surface-hover);
  border-top-color: #133B62;
  border-radius: 50%;
  animation: fl-icon-spin 0.75s linear infinite;
}
.fl-loading-spinner--sm {
  width: 1rem;
  height: 1rem;
  border-width: 1.5px;
}
.fl-loading-spinner--lg {
  width: 2rem;
  height: 2rem;
  border-width: 3px;
}
.fl-loading-spinner--white {
  border-color: rgba(255, 255, 255, 0.3);
  border-top-color: #ffffff;
}
.fl-loading-spinner--accent {
  border-top-color: #0891b2;
}

[data-bs-theme=dark] .fl-icon-bg {
  background-color: #334155;
}
[data-bs-theme=dark] .fl-icon-bg--primary {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .fl-icon-bg--accent {
  background-color: rgba(8, 145, 178, 0.2);
}
[data-bs-theme=dark] .fl-icon-bg--success {
  background-color: rgba(16, 185, 129, 0.2);
}
[data-bs-theme=dark] .fl-icon-bg--warning {
  background-color: rgba(245, 158, 11, 0.2);
}
[data-bs-theme=dark] .fl-icon-bg--danger {
  background-color: rgba(239, 68, 68, 0.2);
}
[data-bs-theme=dark] .fl-icon-bg--info {
  background-color: rgba(59, 130, 246, 0.2);
}
[data-bs-theme=dark] .fl-icon-btn {
  color: #94a3b8;
}
[data-bs-theme=dark] .fl-icon-btn:hover {
  color: #f1f5f9;
  background-color: #334155;
}
[data-bs-theme=dark] .fl-icon-btn--primary:hover {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .fl-icon-btn--danger:hover {
  background-color: rgba(239, 68, 68, 0.2);
}
[data-bs-theme=dark] .fl-feature-icon {
  background: linear-gradient(135deg, rgba(19, 59, 98, 0.2), rgba(8, 145, 178, 0.2));
}
[data-bs-theme=dark] .fl-feature-icon--success {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(16, 185, 129, 0.1));
}
[data-bs-theme=dark] .fl-feature-icon--warning {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2), rgba(245, 158, 11, 0.1));
}
[data-bs-theme=dark] .fl-feature-icon--danger {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(239, 68, 68, 0.1));
}
[data-bs-theme=dark] .fl-feature-icon--info {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(59, 130, 246, 0.1));
}
[data-bs-theme=dark] .fl-loading-spinner {
  border-color: #334155;
  border-top-color: #133B62;
}

@media (prefers-reduced-motion: reduce) {
  .fl-icon-spin,
  .fl-icon-pulse,
  .fl-icon-bounce,
  .fl-icon-shake,
  .fl-icon-beat,
  .fl-icon-fade-in,
  .fl-status-dot--pulse,
  .fl-loading-spinner {
    animation: none;
  }
}
.fl-d-none {
  display: none !important;
}

.fl-d-inline {
  display: inline !important;
}

.fl-d-inline-block {
  display: inline-block !important;
}

.fl-d-block {
  display: block !important;
}

.fl-d-flex {
  display: flex !important;
}

.fl-d-inline-flex {
  display: inline-flex !important;
}

.fl-d-grid {
  display: grid !important;
}

.fl-d-inline-grid {
  display: inline-grid !important;
}

.fl-d-table {
  display: table !important;
}

.fl-d-table-row {
  display: table-row !important;
}

.fl-d-table-cell {
  display: table-cell !important;
}

.fl-flex-row {
  flex-direction: row !important;
}

.fl-flex-row-reverse {
  flex-direction: row-reverse !important;
}

.fl-flex-column {
  flex-direction: column !important;
}

.fl-flex-column-reverse {
  flex-direction: column-reverse !important;
}

.fl-flex-wrap {
  flex-wrap: wrap !important;
}

.fl-flex-nowrap {
  flex-wrap: nowrap !important;
}

.fl-flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.fl-justify-start {
  justify-content: flex-start !important;
}

.fl-justify-end {
  justify-content: flex-end !important;
}

.fl-justify-center {
  justify-content: center !important;
}

.fl-justify-between {
  justify-content: space-between !important;
}

.fl-justify-around {
  justify-content: space-around !important;
}

.fl-justify-evenly {
  justify-content: space-evenly !important;
}

.fl-items-start {
  align-items: flex-start !important;
}

.fl-items-end {
  align-items: flex-end !important;
}

.fl-items-center {
  align-items: center !important;
}

.fl-items-baseline {
  align-items: baseline !important;
}

.fl-items-stretch {
  align-items: stretch !important;
}

.fl-self-start {
  align-self: flex-start !important;
}

.fl-self-end {
  align-self: flex-end !important;
}

.fl-self-center {
  align-self: center !important;
}

.fl-self-baseline {
  align-self: baseline !important;
}

.fl-self-stretch {
  align-self: stretch !important;
}

.fl-content-start {
  align-content: flex-start !important;
}

.fl-content-end {
  align-content: flex-end !important;
}

.fl-content-center {
  align-content: center !important;
}

.fl-content-between {
  align-content: space-between !important;
}

.fl-content-around {
  align-content: space-around !important;
}

.fl-flex-1 {
  flex: 1 1 0% !important;
}

.fl-flex-auto {
  flex: 1 1 auto !important;
}

.fl-flex-initial {
  flex: 0 1 auto !important;
}

.fl-flex-none {
  flex: none !important;
}

.fl-flex-grow-0 {
  flex-grow: 0 !important;
}

.fl-flex-grow-1 {
  flex-grow: 1 !important;
}

.fl-flex-shrink-0 {
  flex-shrink: 0 !important;
}

.fl-flex-shrink-1 {
  flex-shrink: 1 !important;
}

.fl-order-first {
  order: -9999 !important;
}

.fl-order-last {
  order: 9999 !important;
}

.fl-order-none {
  order: 0 !important;
}

.fl-order-1 {
  order: 1 !important;
}

.fl-order-2 {
  order: 2 !important;
}

.fl-order-3 {
  order: 3 !important;
}

.fl-order-4 {
  order: 4 !important;
}

.fl-order-5 {
  order: 5 !important;
}

.fl-order-6 {
  order: 6 !important;
}

.fl-order-7 {
  order: 7 !important;
}

.fl-order-8 {
  order: 8 !important;
}

.fl-order-9 {
  order: 9 !important;
}

.fl-order-10 {
  order: 10 !important;
}

.fl-order-11 {
  order: 11 !important;
}

.fl-order-12 {
  order: 12 !important;
}

.fl-grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.fl-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.fl-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.fl-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.fl-grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.fl-grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.fl-grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.fl-col-span-1 {
  grid-column: span 1/span 1 !important;
}

.fl-col-span-2 {
  grid-column: span 2/span 2 !important;
}

.fl-col-span-3 {
  grid-column: span 3/span 3 !important;
}

.fl-col-span-4 {
  grid-column: span 4/span 4 !important;
}

.fl-col-span-6 {
  grid-column: span 6/span 6 !important;
}

.fl-col-span-full {
  grid-column: 1/-1 !important;
}

.fl-gap-0 {
  gap: 0 !important;
}

.fl-gap-1 {
  gap: 0.25rem !important;
}

.fl-gap-2 {
  gap: 0.5rem !important;
}

.fl-gap-3 {
  gap: 0.75rem !important;
}

.fl-gap-4 {
  gap: 1rem !important;
}

.fl-gap-5 {
  gap: 1.25rem !important;
}

.fl-gap-6 {
  gap: 1.5rem !important;
}

.fl-gap-8 {
  gap: 2rem !important;
}

.fl-gap-10 {
  gap: 2.5rem !important;
}

.fl-gap-12 {
  gap: 3rem !important;
}

.fl-gap-x-1 {
  column-gap: 0.25rem !important;
}

.fl-gap-x-2 {
  column-gap: 0.5rem !important;
}

.fl-gap-x-4 {
  column-gap: 1rem !important;
}

.fl-gap-x-6 {
  column-gap: 1.5rem !important;
}

.fl-gap-y-1 {
  row-gap: 0.25rem !important;
}

.fl-gap-y-2 {
  row-gap: 0.5rem !important;
}

.fl-gap-y-4 {
  row-gap: 1rem !important;
}

.fl-gap-y-6 {
  row-gap: 1.5rem !important;
}

.fl-m-0 {
  margin: 0 !important;
}

.fl-mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.fl-my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.fl-mt-0 {
  margin-top: 0 !important;
}

.fl-mr-0 {
  margin-right: 0 !important;
}

.fl-mb-0 {
  margin-bottom: 0 !important;
}

.fl-ml-0 {
  margin-left: 0 !important;
}

.fl-p-0 {
  padding: 0 !important;
}

.fl-px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.fl-py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.fl-pt-0 {
  padding-top: 0 !important;
}

.fl-pr-0 {
  padding-right: 0 !important;
}

.fl-pb-0 {
  padding-bottom: 0 !important;
}

.fl-pl-0 {
  padding-left: 0 !important;
}

.fl-m-1 {
  margin: 0.25rem !important;
}

.fl-mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.fl-my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.fl-mt-1 {
  margin-top: 0.25rem !important;
}

.fl-mr-1 {
  margin-right: 0.25rem !important;
}

.fl-mb-1 {
  margin-bottom: 0.25rem !important;
}

.fl-ml-1 {
  margin-left: 0.25rem !important;
}

.fl-p-1 {
  padding: 0.25rem !important;
}

.fl-px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.fl-py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.fl-pt-1 {
  padding-top: 0.25rem !important;
}

.fl-pr-1 {
  padding-right: 0.25rem !important;
}

.fl-pb-1 {
  padding-bottom: 0.25rem !important;
}

.fl-pl-1 {
  padding-left: 0.25rem !important;
}

.fl-m-2 {
  margin: 0.5rem !important;
}

.fl-mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.fl-my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.fl-mt-2 {
  margin-top: 0.5rem !important;
}

.fl-mr-2 {
  margin-right: 0.5rem !important;
}

.fl-mb-2 {
  margin-bottom: 0.5rem !important;
}

.fl-ml-2 {
  margin-left: 0.5rem !important;
}

.fl-p-2 {
  padding: 0.5rem !important;
}

.fl-px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.fl-py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.fl-pt-2 {
  padding-top: 0.5rem !important;
}

.fl-pr-2 {
  padding-right: 0.5rem !important;
}

.fl-pb-2 {
  padding-bottom: 0.5rem !important;
}

.fl-pl-2 {
  padding-left: 0.5rem !important;
}

.fl-m-3 {
  margin: 0.75rem !important;
}

.fl-mx-3 {
  margin-left: 0.75rem !important;
  margin-right: 0.75rem !important;
}

.fl-my-3 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

.fl-mt-3 {
  margin-top: 0.75rem !important;
}

.fl-mr-3 {
  margin-right: 0.75rem !important;
}

.fl-mb-3 {
  margin-bottom: 0.75rem !important;
}

.fl-ml-3 {
  margin-left: 0.75rem !important;
}

.fl-p-3 {
  padding: 0.75rem !important;
}

.fl-px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.fl-py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.fl-pt-3 {
  padding-top: 0.75rem !important;
}

.fl-pr-3 {
  padding-right: 0.75rem !important;
}

.fl-pb-3 {
  padding-bottom: 0.75rem !important;
}

.fl-pl-3 {
  padding-left: 0.75rem !important;
}

.fl-m-4 {
  margin: 1rem !important;
}

.fl-mx-4 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.fl-my-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.fl-mt-4 {
  margin-top: 1rem !important;
}

.fl-mr-4 {
  margin-right: 1rem !important;
}

.fl-mb-4 {
  margin-bottom: 1rem !important;
}

.fl-ml-4 {
  margin-left: 1rem !important;
}

.fl-p-4 {
  padding: 1rem !important;
}

.fl-px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.fl-py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.fl-pt-4 {
  padding-top: 1rem !important;
}

.fl-pr-4 {
  padding-right: 1rem !important;
}

.fl-pb-4 {
  padding-bottom: 1rem !important;
}

.fl-pl-4 {
  padding-left: 1rem !important;
}

.fl-m-5 {
  margin: 1.25rem !important;
}

.fl-mx-5 {
  margin-left: 1.25rem !important;
  margin-right: 1.25rem !important;
}

.fl-my-5 {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

.fl-mt-5 {
  margin-top: 1.25rem !important;
}

.fl-mr-5 {
  margin-right: 1.25rem !important;
}

.fl-mb-5 {
  margin-bottom: 1.25rem !important;
}

.fl-ml-5 {
  margin-left: 1.25rem !important;
}

.fl-p-5 {
  padding: 1.25rem !important;
}

.fl-px-5 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.fl-py-5 {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

.fl-pt-5 {
  padding-top: 1.25rem !important;
}

.fl-pr-5 {
  padding-right: 1.25rem !important;
}

.fl-pb-5 {
  padding-bottom: 1.25rem !important;
}

.fl-pl-5 {
  padding-left: 1.25rem !important;
}

.fl-m-6 {
  margin: 1.5rem !important;
}

.fl-mx-6 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.fl-my-6 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.fl-mt-6 {
  margin-top: 1.5rem !important;
}

.fl-mr-6 {
  margin-right: 1.5rem !important;
}

.fl-mb-6 {
  margin-bottom: 1.5rem !important;
}

.fl-ml-6 {
  margin-left: 1.5rem !important;
}

.fl-p-6 {
  padding: 1.5rem !important;
}

.fl-px-6 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.fl-py-6 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.fl-pt-6 {
  padding-top: 1.5rem !important;
}

.fl-pr-6 {
  padding-right: 1.5rem !important;
}

.fl-pb-6 {
  padding-bottom: 1.5rem !important;
}

.fl-pl-6 {
  padding-left: 1.5rem !important;
}

.fl-m-8 {
  margin: 2rem !important;
}

.fl-mx-8 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.fl-my-8 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.fl-mt-8 {
  margin-top: 2rem !important;
}

.fl-mr-8 {
  margin-right: 2rem !important;
}

.fl-mb-8 {
  margin-bottom: 2rem !important;
}

.fl-ml-8 {
  margin-left: 2rem !important;
}

.fl-p-8 {
  padding: 2rem !important;
}

.fl-px-8 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.fl-py-8 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.fl-pt-8 {
  padding-top: 2rem !important;
}

.fl-pr-8 {
  padding-right: 2rem !important;
}

.fl-pb-8 {
  padding-bottom: 2rem !important;
}

.fl-pl-8 {
  padding-left: 2rem !important;
}

.fl-m-10 {
  margin: 2.5rem !important;
}

.fl-mx-10 {
  margin-left: 2.5rem !important;
  margin-right: 2.5rem !important;
}

.fl-my-10 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.fl-mt-10 {
  margin-top: 2.5rem !important;
}

.fl-mr-10 {
  margin-right: 2.5rem !important;
}

.fl-mb-10 {
  margin-bottom: 2.5rem !important;
}

.fl-ml-10 {
  margin-left: 2.5rem !important;
}

.fl-p-10 {
  padding: 2.5rem !important;
}

.fl-px-10 {
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
}

.fl-py-10 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.fl-pt-10 {
  padding-top: 2.5rem !important;
}

.fl-pr-10 {
  padding-right: 2.5rem !important;
}

.fl-pb-10 {
  padding-bottom: 2.5rem !important;
}

.fl-pl-10 {
  padding-left: 2.5rem !important;
}

.fl-m-12 {
  margin: 3rem !important;
}

.fl-mx-12 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.fl-my-12 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.fl-mt-12 {
  margin-top: 3rem !important;
}

.fl-mr-12 {
  margin-right: 3rem !important;
}

.fl-mb-12 {
  margin-bottom: 3rem !important;
}

.fl-ml-12 {
  margin-left: 3rem !important;
}

.fl-p-12 {
  padding: 3rem !important;
}

.fl-px-12 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.fl-py-12 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.fl-pt-12 {
  padding-top: 3rem !important;
}

.fl-pr-12 {
  padding-right: 3rem !important;
}

.fl-pb-12 {
  padding-bottom: 3rem !important;
}

.fl-pl-12 {
  padding-left: 3rem !important;
}

.fl-m-16 {
  margin: 4rem !important;
}

.fl-mx-16 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.fl-my-16 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.fl-mt-16 {
  margin-top: 4rem !important;
}

.fl-mr-16 {
  margin-right: 4rem !important;
}

.fl-mb-16 {
  margin-bottom: 4rem !important;
}

.fl-ml-16 {
  margin-left: 4rem !important;
}

.fl-p-16 {
  padding: 4rem !important;
}

.fl-px-16 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.fl-py-16 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.fl-pt-16 {
  padding-top: 4rem !important;
}

.fl-pr-16 {
  padding-right: 4rem !important;
}

.fl-pb-16 {
  padding-bottom: 4rem !important;
}

.fl-pl-16 {
  padding-left: 4rem !important;
}

.fl-m-auto {
  margin: auto !important;
}

.fl-mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.fl-my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.fl-mt-auto {
  margin-top: auto !important;
}

.fl-mr-auto {
  margin-right: auto !important;
}

.fl-mb-auto {
  margin-bottom: auto !important;
}

.fl-ml-auto {
  margin-left: auto !important;
}

.fl--mt-1 {
  margin-top: -0.25rem !important;
}

.fl--mt-2 {
  margin-top: -0.5rem !important;
}

.fl--mt-4 {
  margin-top: -1rem !important;
}

.fl--mb-1 {
  margin-bottom: -0.25rem !important;
}

.fl--mb-2 {
  margin-bottom: -0.5rem !important;
}

.fl--mb-4 {
  margin-bottom: -1rem !important;
}

.fl-w-auto {
  width: auto !important;
}

.fl-w-full {
  width: 100% !important;
}

.fl-w-screen {
  width: 100vw !important;
}

.fl-w-min {
  width: min-content !important;
}

.fl-w-max {
  width: max-content !important;
}

.fl-w-fit {
  width: fit-content !important;
}

.fl-w-1\/2 {
  width: 50% !important;
}

.fl-w-1\/3 {
  width: 33.333333% !important;
}

.fl-w-2\/3 {
  width: 66.666667% !important;
}

.fl-w-1\/4 {
  width: 25% !important;
}

.fl-w-3\/4 {
  width: 75% !important;
}

.fl-min-w-0 {
  min-width: 0 !important;
}

.fl-min-w-full {
  min-width: 100% !important;
}

.fl-max-w-none {
  max-width: none !important;
}

.fl-max-w-xs {
  max-width: 20rem !important;
}

.fl-max-w-sm {
  max-width: 24rem !important;
}

.fl-max-w-md {
  max-width: 28rem !important;
}

.fl-max-w-lg {
  max-width: 32rem !important;
}

.fl-max-w-xl {
  max-width: 36rem !important;
}

.fl-max-w-2xl {
  max-width: 42rem !important;
}

.fl-max-w-full {
  max-width: 100% !important;
}

.fl-h-auto {
  height: auto !important;
}

.fl-h-full {
  height: 100% !important;
}

.fl-h-screen {
  height: 100vh !important;
}

.fl-h-min {
  height: min-content !important;
}

.fl-h-max {
  height: max-content !important;
}

.fl-h-fit {
  height: fit-content !important;
}

.fl-min-h-0 {
  min-height: 0 !important;
}

.fl-min-h-full {
  min-height: 100% !important;
}

.fl-min-h-screen {
  min-height: 100vh !important;
}

.fl-max-h-none {
  max-height: none !important;
}

.fl-max-h-full {
  max-height: 100% !important;
}

.fl-max-h-screen {
  max-height: 100vh !important;
}

.fl-text-left {
  text-align: left !important;
}

.fl-text-center {
  text-align: center !important;
}

.fl-text-right {
  text-align: right !important;
}

.fl-text-justify {
  text-align: justify !important;
}

.fl-uppercase {
  text-transform: uppercase !important;
}

.fl-lowercase {
  text-transform: lowercase !important;
}

.fl-capitalize {
  text-transform: capitalize !important;
}

.fl-normal-case {
  text-transform: none !important;
}

.fl-font-normal {
  font-weight: 400 !important;
}

.fl-font-medium {
  font-weight: 500 !important;
}

.fl-font-semibold {
  font-weight: 600 !important;
}

.fl-font-bold {
  font-weight: 700 !important;
}

.fl-text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}

.fl-text-sm {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}

.fl-text-base {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}

.fl-text-lg {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
}

.fl-text-xl {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}

.fl-text-2xl {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}

.fl-text-3xl {
  font-size: 1.875rem !important;
  line-height: 2.25rem !important;
}

.fl-leading-none {
  line-height: 1 !important;
}

.fl-leading-tight {
  line-height: 1.25 !important;
}

.fl-leading-snug {
  line-height: 1.375 !important;
}

.fl-leading-normal {
  line-height: 1.5 !important;
}

.fl-leading-relaxed {
  line-height: 1.625 !important;
}

.fl-leading-loose {
  line-height: 2 !important;
}

.fl-tracking-tighter {
  letter-spacing: -0.05em !important;
}

.fl-tracking-tight {
  letter-spacing: -0.025em !important;
}

.fl-tracking-normal {
  letter-spacing: 0 !important;
}

.fl-tracking-wide {
  letter-spacing: 0.025em !important;
}

.fl-tracking-wider {
  letter-spacing: 0.05em !important;
}

.fl-tracking-widest {
  letter-spacing: 0.1em !important;
}

.fl-underline {
  text-decoration: underline !important;
}

.fl-line-through {
  text-decoration: line-through !important;
}

.fl-no-underline {
  text-decoration: none !important;
}

.fl-truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.fl-text-ellipsis {
  text-overflow: ellipsis !important;
}

.fl-text-clip {
  text-overflow: clip !important;
}

.fl-whitespace-normal {
  white-space: normal !important;
}

.fl-whitespace-nowrap {
  white-space: nowrap !important;
}

.fl-whitespace-pre {
  white-space: pre !important;
}

.fl-whitespace-pre-line {
  white-space: pre-line !important;
}

.fl-whitespace-pre-wrap {
  white-space: pre-wrap !important;
}

.fl-break-normal {
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.fl-break-words {
  overflow-wrap: break-word !important;
}

.fl-break-all {
  word-break: break-all !important;
}

.fl-line-clamp-1 {
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.fl-line-clamp-2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.fl-line-clamp-3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.fl-text-primary {
  color: #133B62 !important;
}

.fl-text-accent {
  color: #0891b2 !important;
}

.fl-text-success {
  color: #10b981 !important;
}

.fl-text-warning {
  color: #f59e0b !important;
}

.fl-text-danger {
  color: #ef4444 !important;
}

.fl-text-info {
  color: #3b82f6 !important;
}

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

.fl-text-secondary {
  color: var(--fl-text-secondary) !important;
}

.fl-text-body {
  color: var(--fl-text-primary) !important;
}

.fl-text-white {
  color: #ffffff !important;
}

.fl-text-inherit {
  color: inherit !important;
}

.fl-bg-primary {
  background-color: #133B62 !important;
}

.fl-bg-accent {
  background-color: #0891b2 !important;
}

.fl-bg-success {
  background-color: #10b981 !important;
}

.fl-bg-warning {
  background-color: #f59e0b !important;
}

.fl-bg-danger {
  background-color: #ef4444 !important;
}

.fl-bg-info {
  background-color: #3b82f6 !important;
}

.fl-bg-surface {
  background-color: var(--fl-surface) !important;
}

.fl-bg-surface-hover {
  background-color: var(--fl-surface-hover) !important;
}

.fl-bg-body {
  background-color: var(--fl-background) !important;
}

.fl-bg-white {
  background-color: #ffffff !important;
}

.fl-bg-transparent {
  background-color: transparent !important;
}

.fl-bg-primary-soft {
  background-color: rgba(19, 59, 98, 0.1) !important;
}

.fl-bg-success-soft {
  background-color: #ecfdf5 !important;
}

.fl-bg-warning-soft {
  background-color: #fffbeb !important;
}

.fl-bg-danger-soft {
  background-color: #fef2f2 !important;
}

.fl-bg-info-soft {
  background-color: #eff6ff !important;
}

.fl-border {
  border: 1px solid var(--fl-border) !important;
}

.fl-border-0 {
  border: 0 !important;
}

.fl-border-t {
  border-top: 1px solid var(--fl-border) !important;
}

.fl-border-r {
  border-right: 1px solid var(--fl-border) !important;
}

.fl-border-b {
  border-bottom: 1px solid var(--fl-border) !important;
}

.fl-border-l {
  border-left: 1px solid var(--fl-border) !important;
}

.fl-border-primary {
  border-color: #133B62 !important;
}

.fl-border-success {
  border-color: #10b981 !important;
}

.fl-border-warning {
  border-color: #f59e0b !important;
}

.fl-border-danger {
  border-color: #ef4444 !important;
}

.fl-border-transparent {
  border-color: transparent !important;
}

.fl-rounded-none {
  border-radius: 0 !important;
}

.fl-rounded-sm {
  border-radius: 0.375rem !important;
}

.fl-rounded {
  border-radius: 0.5rem !important;
}

.fl-rounded-lg {
  border-radius: 0.75rem !important;
}

.fl-rounded-xl {
  border-radius: 1rem !important;
}

.fl-rounded-full {
  border-radius: 9999px !important;
}

.fl-shadow-none {
  box-shadow: none !important;
}

.fl-shadow-sm {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.fl-shadow {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
}

.fl-shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
}

.fl-static {
  position: static !important;
}

.fl-relative {
  position: relative !important;
}

.fl-absolute {
  position: absolute !important;
}

.fl-fixed {
  position: fixed !important;
}

.fl-sticky {
  position: sticky !important;
}

.fl-inset-0 {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
}

.fl-inset-x-0 {
  left: 0 !important;
  right: 0 !important;
}

.fl-inset-y-0 {
  top: 0 !important;
  bottom: 0 !important;
}

.fl-top-0 {
  top: 0 !important;
}

.fl-right-0 {
  right: 0 !important;
}

.fl-bottom-0 {
  bottom: 0 !important;
}

.fl-left-0 {
  left: 0 !important;
}

.fl-overflow-auto {
  overflow: auto !important;
}

.fl-overflow-hidden {
  overflow: hidden !important;
}

.fl-overflow-visible {
  overflow: visible !important;
}

.fl-overflow-scroll {
  overflow: scroll !important;
}

.fl-overflow-x-auto {
  overflow-x: auto !important;
}

.fl-overflow-y-auto {
  overflow-y: auto !important;
}

.fl-overflow-x-hidden {
  overflow-x: hidden !important;
}

.fl-overflow-y-hidden {
  overflow-y: hidden !important;
}

.fl-visible {
  visibility: visible !important;
}

.fl-invisible {
  visibility: hidden !important;
}

.fl-opacity-0 {
  opacity: 0 !important;
}

.fl-opacity-25 {
  opacity: 0.25 !important;
}

.fl-opacity-50 {
  opacity: 0.5 !important;
}

.fl-opacity-75 {
  opacity: 0.75 !important;
}

.fl-opacity-100 {
  opacity: 1 !important;
}

.fl-pointer-events-none {
  pointer-events: none !important;
}

.fl-pointer-events-auto {
  pointer-events: auto !important;
}

.fl-cursor-auto {
  cursor: auto !important;
}

.fl-cursor-default {
  cursor: default !important;
}

.fl-cursor-pointer {
  cursor: pointer !important;
}

.fl-cursor-wait {
  cursor: wait !important;
}

.fl-cursor-text {
  cursor: text !important;
}

.fl-cursor-move {
  cursor: move !important;
}

.fl-cursor-not-allowed {
  cursor: not-allowed !important;
}

.fl-select-none {
  user-select: none !important;
}

.fl-select-text {
  user-select: text !important;
}

.fl-select-all {
  user-select: all !important;
}

.fl-z-0 {
  z-index: 0 !important;
}

.fl-z-10 {
  z-index: 10 !important;
}

.fl-z-20 {
  z-index: 20 !important;
}

.fl-z-30 {
  z-index: 30 !important;
}

.fl-z-40 {
  z-index: 40 !important;
}

.fl-z-50 {
  z-index: 50 !important;
}

.fl-z-auto {
  z-index: auto !important;
}

@media print {
  .fl-print-hidden {
    display: none !important;
  }
  .fl-print-block {
    display: block !important;
  }
  .fl-print-break-before {
    break-before: page !important;
  }
  .fl-print-break-after {
    break-after: page !important;
  }
  .fl-print-avoid-break {
    break-inside: avoid !important;
  }
}
@media (min-width: 576px) {
  .fl-sm\:d-none {
    display: none !important;
  }
  .fl-sm\:d-block {
    display: block !important;
  }
  .fl-sm\:d-flex {
    display: flex !important;
  }
  .fl-sm\:d-grid {
    display: grid !important;
  }
  .fl-sm\:flex-row {
    flex-direction: row !important;
  }
  .fl-sm\:flex-column {
    flex-direction: column !important;
  }
  .fl-sm\:justify-start {
    justify-content: flex-start !important;
  }
  .fl-sm\:justify-center {
    justify-content: center !important;
  }
  .fl-sm\:justify-end {
    justify-content: flex-end !important;
  }
  .fl-sm\:justify-between {
    justify-content: space-between !important;
  }
  .fl-sm\:items-start {
    align-items: flex-start !important;
  }
  .fl-sm\:items-center {
    align-items: center !important;
  }
  .fl-sm\:items-end {
    align-items: flex-end !important;
  }
  .fl-sm\:w-auto {
    width: auto !important;
  }
  .fl-sm\:w-full {
    width: 100% !important;
  }
  .fl-sm\:w-1\/2 {
    width: 50% !important;
  }
  .fl-sm\:w-1\/3 {
    width: 33.333333% !important;
  }
  .fl-sm\:w-2\/3 {
    width: 66.666667% !important;
  }
  .fl-sm\:text-left {
    text-align: left !important;
  }
  .fl-sm\:text-center {
    text-align: center !important;
  }
  .fl-sm\:text-right {
    text-align: right !important;
  }
  .fl-sm\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  .fl-sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .fl-sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .fl-sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 768px) {
  .fl-md\:d-none {
    display: none !important;
  }
  .fl-md\:d-block {
    display: block !important;
  }
  .fl-md\:d-flex {
    display: flex !important;
  }
  .fl-md\:d-grid {
    display: grid !important;
  }
  .fl-md\:flex-row {
    flex-direction: row !important;
  }
  .fl-md\:flex-column {
    flex-direction: column !important;
  }
  .fl-md\:justify-start {
    justify-content: flex-start !important;
  }
  .fl-md\:justify-center {
    justify-content: center !important;
  }
  .fl-md\:justify-end {
    justify-content: flex-end !important;
  }
  .fl-md\:justify-between {
    justify-content: space-between !important;
  }
  .fl-md\:items-start {
    align-items: flex-start !important;
  }
  .fl-md\:items-center {
    align-items: center !important;
  }
  .fl-md\:items-end {
    align-items: flex-end !important;
  }
  .fl-md\:w-auto {
    width: auto !important;
  }
  .fl-md\:w-full {
    width: 100% !important;
  }
  .fl-md\:w-1\/2 {
    width: 50% !important;
  }
  .fl-md\:w-1\/3 {
    width: 33.333333% !important;
  }
  .fl-md\:w-2\/3 {
    width: 66.666667% !important;
  }
  .fl-md\:text-left {
    text-align: left !important;
  }
  .fl-md\:text-center {
    text-align: center !important;
  }
  .fl-md\:text-right {
    text-align: right !important;
  }
  .fl-md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  .fl-md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .fl-md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .fl-md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 992px) {
  .fl-lg\:d-none {
    display: none !important;
  }
  .fl-lg\:d-block {
    display: block !important;
  }
  .fl-lg\:d-flex {
    display: flex !important;
  }
  .fl-lg\:d-grid {
    display: grid !important;
  }
  .fl-lg\:flex-row {
    flex-direction: row !important;
  }
  .fl-lg\:flex-column {
    flex-direction: column !important;
  }
  .fl-lg\:justify-start {
    justify-content: flex-start !important;
  }
  .fl-lg\:justify-center {
    justify-content: center !important;
  }
  .fl-lg\:justify-end {
    justify-content: flex-end !important;
  }
  .fl-lg\:justify-between {
    justify-content: space-between !important;
  }
  .fl-lg\:items-start {
    align-items: flex-start !important;
  }
  .fl-lg\:items-center {
    align-items: center !important;
  }
  .fl-lg\:items-end {
    align-items: flex-end !important;
  }
  .fl-lg\:w-auto {
    width: auto !important;
  }
  .fl-lg\:w-full {
    width: 100% !important;
  }
  .fl-lg\:w-1\/2 {
    width: 50% !important;
  }
  .fl-lg\:w-1\/3 {
    width: 33.333333% !important;
  }
  .fl-lg\:w-2\/3 {
    width: 66.666667% !important;
  }
  .fl-lg\:text-left {
    text-align: left !important;
  }
  .fl-lg\:text-center {
    text-align: center !important;
  }
  .fl-lg\:text-right {
    text-align: right !important;
  }
  .fl-lg\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  .fl-lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .fl-lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .fl-lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1200px) {
  .fl-xl\:d-none {
    display: none !important;
  }
  .fl-xl\:d-block {
    display: block !important;
  }
  .fl-xl\:d-flex {
    display: flex !important;
  }
  .fl-xl\:d-grid {
    display: grid !important;
  }
  .fl-xl\:flex-row {
    flex-direction: row !important;
  }
  .fl-xl\:flex-column {
    flex-direction: column !important;
  }
  .fl-xl\:justify-start {
    justify-content: flex-start !important;
  }
  .fl-xl\:justify-center {
    justify-content: center !important;
  }
  .fl-xl\:justify-end {
    justify-content: flex-end !important;
  }
  .fl-xl\:justify-between {
    justify-content: space-between !important;
  }
  .fl-xl\:items-start {
    align-items: flex-start !important;
  }
  .fl-xl\:items-center {
    align-items: center !important;
  }
  .fl-xl\:items-end {
    align-items: flex-end !important;
  }
  .fl-xl\:w-auto {
    width: auto !important;
  }
  .fl-xl\:w-full {
    width: 100% !important;
  }
  .fl-xl\:w-1\/2 {
    width: 50% !important;
  }
  .fl-xl\:w-1\/3 {
    width: 33.333333% !important;
  }
  .fl-xl\:w-2\/3 {
    width: 66.666667% !important;
  }
  .fl-xl\:text-left {
    text-align: left !important;
  }
  .fl-xl\:text-center {
    text-align: center !important;
  }
  .fl-xl\:text-right {
    text-align: right !important;
  }
  .fl-xl\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  .fl-xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .fl-xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .fl-xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1400px) {
  .fl-xxl\:d-none {
    display: none !important;
  }
  .fl-xxl\:d-block {
    display: block !important;
  }
  .fl-xxl\:d-flex {
    display: flex !important;
  }
  .fl-xxl\:d-grid {
    display: grid !important;
  }
  .fl-xxl\:flex-row {
    flex-direction: row !important;
  }
  .fl-xxl\:flex-column {
    flex-direction: column !important;
  }
  .fl-xxl\:justify-start {
    justify-content: flex-start !important;
  }
  .fl-xxl\:justify-center {
    justify-content: center !important;
  }
  .fl-xxl\:justify-end {
    justify-content: flex-end !important;
  }
  .fl-xxl\:justify-between {
    justify-content: space-between !important;
  }
  .fl-xxl\:items-start {
    align-items: flex-start !important;
  }
  .fl-xxl\:items-center {
    align-items: center !important;
  }
  .fl-xxl\:items-end {
    align-items: flex-end !important;
  }
  .fl-xxl\:w-auto {
    width: auto !important;
  }
  .fl-xxl\:w-full {
    width: 100% !important;
  }
  .fl-xxl\:w-1\/2 {
    width: 50% !important;
  }
  .fl-xxl\:w-1\/3 {
    width: 33.333333% !important;
  }
  .fl-xxl\:w-2\/3 {
    width: 66.666667% !important;
  }
  .fl-xxl\:text-left {
    text-align: left !important;
  }
  .fl-xxl\:text-center {
    text-align: center !important;
  }
  .fl-xxl\:text-right {
    text-align: right !important;
  }
  .fl-xxl\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  .fl-xxl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .fl-xxl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .fl-xxl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 575.98px) {
  .fl-hide-xs {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .fl-hide-sm {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .fl-hide-md {
    display: none !important;
  }
}
@media (max-width: 1199.98px) {
  .fl-hide-lg {
    display: none !important;
  }
}
@media (min-width: 576px) {
  .fl-show-xs-only {
    display: none !important;
  }
}
@media (max-width: 575.98px) {
  .fl-show-xs-only {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .fl-show-sm-only {
    display: none !important;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .fl-show-sm-only {
    display: block !important;
  }
}
.impersonation-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 40px;
  padding: 0 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #7a2e00;
  background: repeating-linear-gradient(45deg, #ffd966, #ffd966 10px, #ffe699 10px, #ffe699 20px);
  border-bottom: 2px solid #b8860b;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  text-align: center;
}
.impersonation-banner i {
  font-size: 1rem;
  color: #b8860b;
}
.impersonation-banner .impersonation-banner-end {
  color: #7a2e00;
  text-decoration: underline;
  font-weight: 700;
}
.impersonation-banner .impersonation-banner-end:hover {
  color: #4a1d00;
}

body.impersonation-active .navbar-custom {
  top: 40px;
}
body.impersonation-active .left-side-menu,
body.impersonation-active .sidebar-wrapper {
  top: 40px;
}
body.impersonation-active .content-page {
  padding-top: 40px;
}

[data-bs-theme=dark] .impersonation-banner {
  color: #ffe699;
  background: repeating-linear-gradient(45deg, #4a3200, #4a3200 10px, #5c3f00 10px, #5c3f00 20px);
  border-bottom-color: #b8860b;
}
[data-bs-theme=dark] .impersonation-banner i {
  color: #ffd966;
}
[data-bs-theme=dark] .impersonation-banner .impersonation-banner-end {
  color: #ffd966;
}
[data-bs-theme=dark] .impersonation-banner .impersonation-banner-end:hover {
  color: #ffffff;
}

.fl-auth-card {
  width: 360px;
  max-width: 100%;
}
.fl-auth-card--wide {
  width: 500px;
}
.fl-auth-card--xl {
  width: 540px;
}
@media (max-width: 575.98px) {
  .fl-auth-card {
    width: 100% !important;
  }
}

.modal-dialog.modal-xl-custom {
  max-width: 1000px;
}
@media (max-width: 767.98px) {
  .modal-dialog.modal-xl-custom {
    max-width: calc(100% - 1rem);
    margin: 0.5rem auto;
  }
}

@media (max-width: 767.98px) {
  .e-schedule .e-timeline-view .e-resource-left-td,
  .e-schedule .e-timeline-month-view .e-resource-left-td,
  .e-schedule .e-timeline-week-view .e-resource-left-td,
  .e-schedule .e-month-view .e-resource-left-td,
  .e-schedule .e-week-view .e-resource-left-td {
    width: 120px !important;
    min-width: 120px !important;
  }
  .e-schedule .e-timeline-month-view .e-resource-column-wrap,
  .e-schedule .e-timeline-month-view .e-resource-column-table,
  .e-schedule .e-timeline-month-view .e-resource-cells,
  .e-schedule .e-month-view .e-resource-cells {
    width: 120px !important;
    min-width: 120px !important;
  }
  .e-resource-column-wrap .resource-team,
  .e-resource-column-wrap .resource-user {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .e-schedule .e-content-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .content .table,
  .card-body .table,
  .modal-body .table,
  .tab-content .table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #work .row {
    max-width: 100% !important;
  }
}
@media (max-width: 575.98px) {
  .dropdown-menu-lg {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
  }
}
@media (max-width: 575.98px) {
  .ratio iframe {
    height: 100% !important;
  }
}
@media (max-width: 767.98px) {
  .e-more-popup-wrapper {
    max-width: calc(100vw - 1rem) !important;
    left: 0.5rem !important;
    right: 0.5rem !important;
    width: auto !important;
  }
}
:root {
  --fl-primary: #133B62;
  --fl-primary-dark: rgb(12.3743589744, 38.4256410256, 63.8256410256);
  --fl-primary-light: rgb(25.6256410256, 79.5743589744, 132.1743589744);
  --fl-primary-rgb: 19, 59, 98;
  --fl-accent: #0891b2;
  --fl-accent-dark: #0e7490;
  --fl-accent-light: #22d3ee;
  --fl-background: #f8fafc;
  --fl-surface: #ffffff;
  --fl-surface-hover: #f1f5f9;
  --fl-border: #cbd5e1;
  --fl-border-light: #f1f5f9;
  --fl-text-primary: #1e293b;
  --fl-text-secondary: #64748b;
  --fl-text-muted: #94a3b8;
  --fl-success: #10b981;
  --fl-success-bg: #ecfdf5;
  --fl-warning: #f59e0b;
  --fl-warning-bg: #fffbeb;
  --fl-danger: #ef4444;
  --fl-danger-bg: #fef2f2;
  --fl-info: #3b82f6;
  --fl-info-bg: #eff6ff;
  --fl-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --fl-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --fl-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --fl-radius-sm: 0.375rem;
  --fl-radius: 0.5rem;
  --fl-radius-lg: 0.75rem;
  --fl-radius-xl: 1rem;
  --fl-sidebar-width: 260px;
  --fl-topbar-height: 64px;
}

[data-bs-theme=dark] {
  --fl-background: #0f172a;
  --fl-surface: #1e293b;
  --fl-surface-hover: #334155;
  --fl-border: #334155;
  --fl-border-light: #475569;
  --fl-text-primary: #f1f5f9;
  --fl-text-secondary: #94a3b8;
  --fl-text-muted: #64748b;
  --fl-success-bg: rgba(16, 185, 129, 0.15);
  --fl-warning-bg: rgba(245, 158, 11, 0.15);
  --fl-danger-bg: rgba(239, 68, 68, 0.15);
  --fl-info-bg: rgba(59, 130, 246, 0.15);
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--fl-text-primary);
  background-color: var(--fl-background);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 600;
  line-height: 1.3;
  color: var(--fl-text-primary);
  margin-bottom: 0.5rem;
}

h1, .h1 {
  font-size: 2rem;
}

h2, .h2 {
  font-size: 1.5rem;
}

h3, .h3 {
  font-size: 1.25rem;
}

h4, .h4 {
  font-size: 1.125rem;
}

h5, .h5 {
  font-size: 1rem;
}

h6, .h6 {
  font-size: 0.875rem;
}

.page-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

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

.text-secondary {
  color: var(--fl-text-secondary) !important;
}

a {
  color: var(--fl-accent);
  text-decoration: none;
  transition: color 0.15s ease;
}
a:hover {
  color: var(--fl-accent-dark);
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shadow-sm {
  box-shadow: var(--fl-shadow-sm) !important;
}

.shadow {
  box-shadow: var(--fl-shadow) !important;
}

.shadow-lg {
  box-shadow: var(--fl-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.rounded-sm {
  border-radius: var(--fl-radius-sm) !important;
}

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

.rounded-lg {
  border-radius: var(--fl-radius-lg) !important;
}

.rounded-xl {
  border-radius: var(--fl-radius-xl) !important;
}

.bg-surface {
  background-color: var(--fl-surface) !important;
}

.bg-surface-hover {
  background-color: var(--fl-surface-hover) !important;
}

.border-light {
  border-color: var(--fl-border-light) !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 0.75rem !important;
}

.gap-4 {
  gap: 1rem !important;
}

.gap-5 {
  gap: 1.5rem !important;
}

.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25em 0.625em;
  font-size: 0.75em;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.5rem;
}

.badge-soft-primary {
  color: #133B62;
  background-color: rgba(19, 59, 98, 0.1);
}

.badge-soft-success {
  color: #059669;
  background-color: #ecfdf5;
}

.badge-soft-warning {
  color: #d97706;
  background-color: #fffbeb;
}

.badge-soft-danger {
  color: #dc2626;
  background-color: #fef2f2;
}

.badge-soft-info {
  color: #2563eb;
  background-color: #eff6ff;
}

.badge-soft-secondary {
  color: #475569;
  background-color: #f1f5f9;
}

.alert {
  position: relative;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
}

.alert-success {
  color: #059669;
  background-color: #ecfdf5;
  border-color: rgba(16, 185, 129, 0.2);
}

.alert-warning {
  color: #d97706;
  background-color: #fffbeb;
  border-color: rgba(245, 158, 11, 0.2);
}

.alert-danger {
  color: #dc2626;
  background-color: #fef2f2;
  border-color: rgba(239, 68, 68, 0.2);
}

.alert-info {
  color: #2563eb;
  background-color: #eff6ff;
  border-color: rgba(59, 130, 246, 0.2);
}

.alert-primary {
  color: rgb(12.3743589744, 38.4256410256, 63.8256410256);
  background-color: rgba(19, 59, 98, 0.1);
  border-color: rgba(19, 59, 98, 0.2);
}

.modal-content {
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.75rem;
  box-shadow: var(--fl-shadow-lg);
}

.modal-header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--fl-border-light);
}
.modal-header .modal-title {
  font-weight: 600;
  font-size: 1.125rem;
}
.modal-header .btn-close {
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
.modal-header .btn-close:hover {
  opacity: 1;
}

.modal-body {
  padding: 1.5rem;
}

.modal-footer {
  padding: 1rem 1.5rem;
  background-color: var(--fl-background);
  border-top: 1px solid var(--fl-border-light);
  border-radius: 0 0 calc(0.75rem - 1px) calc(0.75rem - 1px);
  gap: 0.5rem;
}

.dropdown-menu {
  min-width: 12rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 0.9375rem;
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  box-shadow: var(--fl-shadow-lg);
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  font-weight: 400;
  color: var(--fl-text-primary);
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  transition: background-color 0.1s ease;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
}
.dropdown-item:active, .dropdown-item.active {
  color: #fff;
  background-color: var(--fl-primary);
}
.dropdown-item:disabled, .dropdown-item.disabled {
  color: var(--fl-text-muted);
  pointer-events: none;
  background-color: transparent;
}
.dropdown-item i, .dropdown-item svg {
  width: 1rem;
  height: 1rem;
  opacity: 0.7;
}

.dropdown-header {
  padding: 0.5rem 1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fl-text-muted);
}

.dropdown-divider {
  margin: 0.5rem 0;
  border-top: 1px solid var(--fl-border);
}

.nav-tabs {
  border-bottom: 1px solid var(--fl-border);
}
.nav-tabs .nav-link {
  margin-bottom: -1px;
  border: 1px solid transparent;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  color: var(--fl-text-secondary);
  font-weight: 500;
  padding: 0.75rem 1rem;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.nav-tabs .nav-link:hover {
  color: var(--fl-text-primary);
  border-color: var(--fl-border) var(--fl-border) transparent;
}
.nav-tabs .nav-link.active {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface);
  border-color: var(--fl-border) var(--fl-border) var(--fl-surface);
}

.nav-pills .nav-link {
  border-radius: 0.5rem;
  color: var(--fl-text-secondary);
  font-weight: 500;
  padding: 0.5rem 1rem;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.nav-pills .nav-link:hover {
  color: var(--fl-text-primary);
  background-color: var(--fl-surface-hover);
}
.nav-pills .nav-link.active {
  color: #fff;
  background-color: var(--fl-primary);
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  gap: 0.25rem;
}

.page-item .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  color: var(--fl-text-secondary);
  background-color: transparent;
  border: 1px solid var(--fl-border);
  border-radius: 0.375rem;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
.page-item .page-link:hover {
  color: var(--fl-primary);
  background-color: var(--fl-surface-hover);
  border-color: var(--fl-border);
}
.page-item .page-link:focus {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1);
}
.page-item.active .page-link {
  color: #fff;
  background-color: var(--fl-primary);
  border-color: var(--fl-primary);
}
.page-item.disabled .page-link {
  color: var(--fl-text-muted);
  background-color: transparent;
  border-color: var(--fl-border);
  pointer-events: none;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 0;
  list-style: none;
  background-color: transparent;
}

.breadcrumb-item {
  font-size: 0.8125rem;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: var(--fl-text-muted);
  content: "/";
}
.breadcrumb-item a {
  color: var(--fl-text-secondary);
}
.breadcrumb-item a:hover {
  color: var(--fl-primary);
}
.breadcrumb-item.active {
  color: var(--fl-text-primary);
}

.tooltip .tooltip-inner {
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  background-color: #1e293b;
  border-radius: 0.375rem;
}

.popover {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.8125rem;
  background-color: var(--fl-surface);
  border: 1px solid var(--fl-border);
  border-radius: 0.5rem;
  box-shadow: var(--fl-shadow-lg);
}

.popover-header {
  padding: 0.75rem 1rem;
  font-size: 0.9375rem;
  font-weight: 600;
  background-color: var(--fl-background);
  border-bottom: 1px solid var(--fl-border);
  border-radius: calc(0.5rem - 1px) calc(0.5rem - 1px) 0 0;
}

.popover-body {
  padding: 1rem;
  color: var(--fl-text-primary);
}

.progress {
  display: flex;
  height: 0.5rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: var(--fl-surface-hover);
  border-radius: 50rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: var(--fl-primary);
  transition: width 0.6s ease;
}

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--fl-text-primary);
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%2364748b' d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
.btn-close:hover {
  opacity: 1;
}
.btn-close:focus {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.25);
  opacity: 1;
}

.e-control {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.e-btn.e-primary:not(.e-flat) {
  background: linear-gradient(135deg, #133B62 0%, rgb(12.3743589744, 38.4256410256, 63.8256410256) 100%) !important;
  border-color: transparent !important;
  border-radius: 0.5rem !important;
}

.e-input-group:not(.e-disabled) .e-input:focus,
.e-input-group.e-input-focus:not(.e-disabled) {
  border-color: #0891b2 !important;
}

.e-ddl.e-input-group.e-control-wrapper,
.e-dropdownlist.e-input-group.e-control-wrapper {
  border-radius: 0.5rem !important;
}

.input-group > .e-ddl.e-input-group.e-control-wrapper:not(:last-child),
.input-group > .e-dropdownlist.e-input-group.e-control-wrapper:not(:last-child) {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .e-ddl.e-input-group.e-control-wrapper:not(:last-child) .e-input-group-icon.e-ddl-icon,
.input-group > .e-dropdownlist.e-input-group.e-control-wrapper:not(:last-child) .e-input-group-icon.e-ddl-icon {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.e-grid {
  border-radius: 0.75rem !important;
  border: 1px solid var(--fl-border) !important;
  overflow: hidden;
}
.e-grid .e-gridheader {
  background-color: var(--fl-background) !important;
}
.e-grid .e-gridheader th.e-headercell {
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.05em !important;
  color: var(--fl-text-secondary) !important;
}
.e-grid .e-row:hover .e-rowcell {
  background-color: var(--fl-surface-hover) !important;
}

[data-bs-theme=dark] {
  color-scheme: dark;
}
[data-bs-theme=dark] body {
  color: var(--fl-text-primary);
  background-color: var(--fl-background);
}
[data-bs-theme=dark] .badge-soft-primary {
  background-color: rgba(19, 59, 98, 0.2);
}
[data-bs-theme=dark] .badge-soft-success {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.15);
}
[data-bs-theme=dark] .badge-soft-warning {
  color: #fbbf24;
  background-color: rgba(245, 158, 11, 0.15);
}
[data-bs-theme=dark] .badge-soft-danger {
  color: #f87171;
  background-color: rgba(239, 68, 68, 0.15);
}
[data-bs-theme=dark] .badge-soft-info {
  color: #60a5fa;
  background-color: rgba(59, 130, 246, 0.15);
}
[data-bs-theme=dark] .badge-soft-secondary {
  color: #94a3b8;
  background-color: rgba(100, 116, 139, 0.2);
}
[data-bs-theme=dark] .alert-success {
  color: #34d399;
}
[data-bs-theme=dark] .alert-warning {
  color: #fbbf24;
}
[data-bs-theme=dark] .alert-danger {
  color: #f87171;
}
[data-bs-theme=dark] .alert-info {
  color: #60a5fa;
}
[data-bs-theme=dark] .dropdown-menu {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .dropdown-item {
  color: #f1f5f9;
}
[data-bs-theme=dark] .dropdown-item:hover, [data-bs-theme=dark] .dropdown-item:focus {
  background-color: #334155;
}
[data-bs-theme=dark] .dropdown-header {
  color: #64748b;
}
[data-bs-theme=dark] .dropdown-divider {
  border-top-color: #334155;
}
[data-bs-theme=dark] .modal-content {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .modal-header {
  border-bottom-color: #475569;
}
[data-bs-theme=dark] .modal-footer {
  background-color: #334155;
  border-top-color: #475569;
}
[data-bs-theme=dark] .nav-tabs {
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .nav-tabs .nav-link {
  color: #94a3b8;
}
[data-bs-theme=dark] .nav-tabs .nav-link:hover {
  color: #f1f5f9;
  border-color: #334155 #334155 transparent;
}
[data-bs-theme=dark] .nav-tabs .nav-link.active {
  color: #f1f5f9;
  background-color: #1e293b;
  border-color: #334155 #334155 #1e293b;
}
[data-bs-theme=dark] .nav-pills .nav-link {
  color: #94a3b8;
}
[data-bs-theme=dark] .nav-pills .nav-link:hover {
  color: #f1f5f9;
  background-color: #334155;
}
[data-bs-theme=dark] .progress {
  background-color: #334155;
}
[data-bs-theme=dark] .btn-close {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%2394a3b8' d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .tooltip .tooltip-inner {
  background-color: #334155;
}
[data-bs-theme=dark] .popover {
  background-color: #1e293b;
  border-color: #334155;
}
[data-bs-theme=dark] .popover-header {
  background-color: #334155;
  border-bottom-color: #334155;
}
[data-bs-theme=dark] .breadcrumb-item a {
  color: #94a3b8;
}
[data-bs-theme=dark] .breadcrumb-item.active {
  color: #f1f5f9;
}
[data-bs-theme=dark] .breadcrumb-item + .breadcrumb-item::before {
  color: #64748b;
}
[data-bs-theme=dark] .ql-toolbar.ql-snow {
  border-color: #334155 !important;
  background-color: #1e293b;
}
[data-bs-theme=dark] .ql-container.ql-snow {
  border-color: #334155 !important;
}
[data-bs-theme=dark] .ql-toolbar span {
  color: #f1f5f9 !important;
}
[data-bs-theme=dark] .ql-snow .ql-stroke {
  stroke: #f1f5f9 !important;
}
[data-bs-theme=dark] .ql-snow .ql-fill,
[data-bs-theme=dark] .ql-snow .ql-stroke.ql-fill {
  fill: #f1f5f9 !important;
}
[data-bs-theme=dark] .ql-snow .ql-picker {
  color: #f1f5f9 !important;
}
[data-bs-theme=dark] .ql-snow .ql-picker-label {
  color: #f1f5f9 !important;
}
[data-bs-theme=dark] .ql-snow .ql-picker-options {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}
[data-bs-theme=dark] .ql-editor {
  color: #f1f5f9 !important;
  background-color: #1e293b;
}
[data-bs-theme=dark] .page-item .page-link {
  color: #94a3b8;
  border-color: #334155;
}
[data-bs-theme=dark] .page-item .page-link:hover {
  background-color: #334155;
}
[data-bs-theme=dark] .page-item.disabled .page-link {
  color: #64748b;
  border-color: #334155;
}

