zenkit-css 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/zenkit.css CHANGED
@@ -19821,6 +19821,3728 @@ li .kbd {
19821
19821
  background-color: var(--gray-700);
19822
19822
  }
19823
19823
 
19824
+ .table-container {
19825
+ width: 100%;
19826
+ overflow-x: auto;
19827
+ -webkit-overflow-scrolling: touch;
19828
+ }
19829
+
19830
+ .table {
19831
+ width: 100%;
19832
+ border-collapse: collapse;
19833
+ border-spacing: 0;
19834
+ font-size: var(--text-sm);
19835
+ color: var(--text);
19836
+ background-color: var(--bg);
19837
+ }
19838
+
19839
+ .table thead {
19840
+ background-color: var(--gray-50);
19841
+ }
19842
+
19843
+ .table th {
19844
+ padding: 0.75rem 1rem;
19845
+ font-weight: 600;
19846
+ text-align: left;
19847
+ color: var(--text);
19848
+ border-bottom: 2px solid var(--border);
19849
+ white-space: nowrap;
19850
+ }
19851
+
19852
+ .table td {
19853
+ padding: 0.75rem 1rem;
19854
+ border-bottom: 1px solid var(--border);
19855
+ vertical-align: middle;
19856
+ }
19857
+
19858
+ .table tbody tr {
19859
+ transition: background-color 150ms ease-in-out;
19860
+ }
19861
+
19862
+ .table-striped tbody tr:nth-child(odd) {
19863
+ background-color: var(--gray-50);
19864
+ }
19865
+
19866
+ .table-hover tbody tr:hover {
19867
+ background-color: var(--gray-100);
19868
+ }
19869
+
19870
+ .table-bordered {
19871
+ border: 1px solid var(--border);
19872
+ }
19873
+ .table-bordered th,
19874
+ .table-bordered td {
19875
+ border: 1px solid var(--border);
19876
+ }
19877
+
19878
+ .table-borderless th,
19879
+ .table-borderless td {
19880
+ border: none;
19881
+ }
19882
+
19883
+ .table-sm th,
19884
+ .table-sm td {
19885
+ padding: 0.5rem 0.75rem;
19886
+ font-size: var(--text-xs);
19887
+ }
19888
+
19889
+ .table-lg th,
19890
+ .table-lg td {
19891
+ padding: 1rem 1.25rem;
19892
+ font-size: var(--text-base);
19893
+ }
19894
+
19895
+ .table-center th,
19896
+ .table-center td {
19897
+ text-align: center;
19898
+ }
19899
+
19900
+ .table-right th,
19901
+ .table-right td {
19902
+ text-align: right;
19903
+ }
19904
+
19905
+ .text-left {
19906
+ text-align: left;
19907
+ }
19908
+
19909
+ .text-center {
19910
+ text-align: center;
19911
+ }
19912
+
19913
+ .text-right {
19914
+ text-align: right;
19915
+ }
19916
+
19917
+ .table-sortable th {
19918
+ cursor: pointer;
19919
+ user-select: none;
19920
+ position: relative;
19921
+ padding-right: 1.75rem;
19922
+ }
19923
+ .table-sortable th:hover {
19924
+ background-color: var(--gray-100);
19925
+ }
19926
+ .table-sortable th::after {
19927
+ content: "";
19928
+ position: absolute;
19929
+ right: 0.5rem;
19930
+ top: 50%;
19931
+ transform: translateY(-50%);
19932
+ width: 0;
19933
+ height: 0;
19934
+ border-left: 4px solid transparent;
19935
+ border-right: 4px solid transparent;
19936
+ border-top: 5px solid var(--gray-400);
19937
+ opacity: 0.3;
19938
+ }
19939
+
19940
+ .table-sortable th.sort-asc::after {
19941
+ border-top: none;
19942
+ border-bottom: 5px solid var(--primary);
19943
+ opacity: 1;
19944
+ }
19945
+
19946
+ .table-sortable th.sort-desc::after {
19947
+ border-top: 5px solid var(--primary);
19948
+ border-bottom: none;
19949
+ opacity: 1;
19950
+ }
19951
+
19952
+ .table-sortable th.sort-none::after {
19953
+ opacity: 0.3;
19954
+ }
19955
+
19956
+ .table-selectable tbody tr {
19957
+ cursor: pointer;
19958
+ }
19959
+
19960
+ .table-selectable tbody tr.selected {
19961
+ background-color: var(--primary-50);
19962
+ }
19963
+ .table-selectable tbody tr.selected:hover {
19964
+ background-color: var(--primary-100);
19965
+ }
19966
+
19967
+ .table-select-col {
19968
+ width: 3rem;
19969
+ text-align: center;
19970
+ }
19971
+
19972
+ .table-checkbox {
19973
+ width: 1rem;
19974
+ height: 1rem;
19975
+ cursor: pointer;
19976
+ }
19977
+
19978
+ .table-expandable tr.expandable-row {
19979
+ cursor: pointer;
19980
+ }
19981
+
19982
+ .table-expand-icon {
19983
+ display: inline-flex;
19984
+ align-items: center;
19985
+ justify-content: center;
19986
+ width: 1.5rem;
19987
+ height: 1.5rem;
19988
+ margin-right: 0.5rem;
19989
+ transition: transform 200ms ease-in-out;
19990
+ }
19991
+ .table-expand-icon::before {
19992
+ content: "";
19993
+ border: solid var(--text);
19994
+ border-width: 0 2px 2px 0;
19995
+ display: inline-block;
19996
+ padding: 3px;
19997
+ transform: rotate(-45deg);
19998
+ }
19999
+
20000
+ .table-expandable tr.expanded .table-expand-icon::before {
20001
+ transform: rotate(45deg);
20002
+ }
20003
+
20004
+ .table-expanded-content {
20005
+ background-color: var(--gray-50);
20006
+ }
20007
+ .table-expanded-content td {
20008
+ padding: 1rem 1.5rem;
20009
+ border-bottom: 1px solid var(--border);
20010
+ }
20011
+
20012
+ .table-fixed-header {
20013
+ position: relative;
20014
+ }
20015
+ .table-fixed-header thead {
20016
+ position: sticky;
20017
+ top: 0;
20018
+ z-index: 10;
20019
+ background-color: var(--bg);
20020
+ box-shadow: 0 1px 0 var(--border);
20021
+ }
20022
+
20023
+ .table-fixed-col th:first-child,
20024
+ .table-fixed-col td:first-child {
20025
+ position: sticky;
20026
+ left: 0;
20027
+ z-index: 5;
20028
+ background-color: inherit;
20029
+ box-shadow: 1px 0 0 var(--border);
20030
+ }
20031
+
20032
+ .table-loading {
20033
+ position: relative;
20034
+ pointer-events: none;
20035
+ opacity: 0.6;
20036
+ }
20037
+
20038
+ .table-loading-overlay {
20039
+ position: absolute;
20040
+ top: 0;
20041
+ left: 0;
20042
+ right: 0;
20043
+ bottom: 0;
20044
+ display: flex;
20045
+ align-items: center;
20046
+ justify-content: center;
20047
+ background-color: rgba(255, 255, 255, 0.7);
20048
+ z-index: 20;
20049
+ }
20050
+
20051
+ .table-empty td {
20052
+ text-align: center;
20053
+ padding: 3rem 1rem;
20054
+ color: var(--text-muted);
20055
+ }
20056
+
20057
+ .table-empty-icon {
20058
+ font-size: 2.5rem;
20059
+ margin-bottom: 0.75rem;
20060
+ opacity: 0.5;
20061
+ }
20062
+
20063
+ .table-empty-text {
20064
+ font-size: var(--text-sm);
20065
+ }
20066
+
20067
+ .table tfoot {
20068
+ background-color: var(--gray-50);
20069
+ font-weight: 500;
20070
+ }
20071
+ .table tfoot td {
20072
+ border-top: 2px solid var(--border);
20073
+ border-bottom: none;
20074
+ }
20075
+
20076
+ .table caption {
20077
+ padding: 0.75rem 1rem;
20078
+ color: var(--text-muted);
20079
+ font-size: var(--text-sm);
20080
+ text-align: left;
20081
+ caption-side: bottom;
20082
+ }
20083
+
20084
+ .table-caption-top caption {
20085
+ caption-side: top;
20086
+ }
20087
+
20088
+ .table-responsive {
20089
+ display: block;
20090
+ width: 100%;
20091
+ overflow-x: auto;
20092
+ -webkit-overflow-scrolling: touch;
20093
+ }
20094
+
20095
+ @media (max-width: 767px) {
20096
+ .table-responsive-stack thead {
20097
+ display: none;
20098
+ }
20099
+ .table-responsive-stack tbody tr {
20100
+ display: block;
20101
+ margin-bottom: 1rem;
20102
+ border: 1px solid var(--border);
20103
+ border-radius: 0.375rem;
20104
+ }
20105
+ .table-responsive-stack td {
20106
+ display: flex;
20107
+ justify-content: space-between;
20108
+ padding: 0.75rem 1rem;
20109
+ border-bottom: 1px solid var(--border);
20110
+ }
20111
+ .table-responsive-stack td::before {
20112
+ content: attr(data-label);
20113
+ font-weight: 600;
20114
+ margin-right: 1rem;
20115
+ }
20116
+ .table-responsive-stack td:last-child {
20117
+ border-bottom: none;
20118
+ }
20119
+ }
20120
+ .cell-nowrap {
20121
+ white-space: nowrap;
20122
+ }
20123
+
20124
+ .cell-truncate {
20125
+ max-width: 200px;
20126
+ overflow: hidden;
20127
+ text-overflow: ellipsis;
20128
+ white-space: nowrap;
20129
+ }
20130
+
20131
+ .cell-wrap {
20132
+ white-space: normal;
20133
+ word-wrap: break-word;
20134
+ }
20135
+
20136
+ .table tr.row-success {
20137
+ background-color: var(--success-50);
20138
+ }
20139
+
20140
+ .table tr.row-warning {
20141
+ background-color: var(--warning-50);
20142
+ }
20143
+
20144
+ .table tr.row-danger {
20145
+ background-color: var(--danger-50);
20146
+ }
20147
+
20148
+ .table tr.row-info {
20149
+ background-color: var(--info-50);
20150
+ }
20151
+
20152
+ .table tr.row-muted {
20153
+ color: var(--text-muted);
20154
+ opacity: 0.7;
20155
+ }
20156
+
20157
+ .table-actions {
20158
+ width: 1%;
20159
+ white-space: nowrap;
20160
+ text-align: right;
20161
+ }
20162
+
20163
+ .table-action-btn {
20164
+ display: inline-flex;
20165
+ align-items: center;
20166
+ justify-content: center;
20167
+ width: 2rem;
20168
+ height: 2rem;
20169
+ padding: 0;
20170
+ background: transparent;
20171
+ border: none;
20172
+ border-radius: 0.375rem;
20173
+ color: var(--text-muted);
20174
+ cursor: pointer;
20175
+ transition: all 150ms ease-in-out;
20176
+ }
20177
+ .table-action-btn:hover {
20178
+ background-color: var(--gray-100);
20179
+ color: var(--text);
20180
+ }
20181
+ .table-action-btn:focus {
20182
+ outline: none;
20183
+ box-shadow: 0 0 0 2px var(--primary-200);
20184
+ }
20185
+
20186
+ .table-toolbar {
20187
+ display: flex;
20188
+ align-items: center;
20189
+ justify-content: space-between;
20190
+ padding: 0.75rem 1rem;
20191
+ background-color: var(--gray-50);
20192
+ border: 1px solid var(--border);
20193
+ border-bottom: none;
20194
+ border-radius: 0.375rem 0.375rem 0 0;
20195
+ gap: 1rem;
20196
+ }
20197
+
20198
+ .table-toolbar-left,
20199
+ .table-toolbar-right {
20200
+ display: flex;
20201
+ align-items: center;
20202
+ gap: 0.5rem;
20203
+ }
20204
+
20205
+ .table-search {
20206
+ min-width: 200px;
20207
+ }
20208
+
20209
+ .table-filter-btn {
20210
+ display: inline-flex;
20211
+ align-items: center;
20212
+ gap: 0.25rem;
20213
+ }
20214
+
20215
+ .table-wrapper {
20216
+ border: 1px solid var(--border);
20217
+ border-radius: 0.375rem;
20218
+ overflow: hidden;
20219
+ }
20220
+ .table-wrapper .table {
20221
+ border: none;
20222
+ border-radius: 0;
20223
+ }
20224
+
20225
+ .table-pagination {
20226
+ display: flex;
20227
+ align-items: center;
20228
+ justify-content: space-between;
20229
+ padding: 0.75rem 1rem;
20230
+ background-color: var(--gray-50);
20231
+ border-top: 1px solid var(--border);
20232
+ }
20233
+
20234
+ .table-page-info {
20235
+ font-size: var(--text-sm);
20236
+ color: var(--text-muted);
20237
+ }
20238
+
20239
+ .table-page-size {
20240
+ display: flex;
20241
+ align-items: center;
20242
+ gap: 0.5rem;
20243
+ font-size: var(--text-sm);
20244
+ }
20245
+
20246
+ .table-resizable th {
20247
+ position: relative;
20248
+ }
20249
+
20250
+ .table-resize-handle {
20251
+ position: absolute;
20252
+ right: 0;
20253
+ top: 0;
20254
+ bottom: 0;
20255
+ width: 4px;
20256
+ cursor: col-resize;
20257
+ background: transparent;
20258
+ }
20259
+ .table-resize-handle:hover {
20260
+ background-color: var(--primary);
20261
+ }
20262
+
20263
+ .table-draggable tbody tr {
20264
+ cursor: grab;
20265
+ }
20266
+
20267
+ .table-draggable tbody tr:active {
20268
+ cursor: grabbing;
20269
+ }
20270
+
20271
+ .table-drag-handle {
20272
+ display: inline-flex;
20273
+ align-items: center;
20274
+ justify-content: center;
20275
+ width: 1.5rem;
20276
+ color: var(--text-muted);
20277
+ cursor: grab;
20278
+ }
20279
+ .table-drag-handle::before {
20280
+ content: "⋮⋮";
20281
+ font-size: 0.875rem;
20282
+ }
20283
+
20284
+ .table-row-dragging {
20285
+ opacity: 0.5;
20286
+ background-color: var(--primary-50);
20287
+ }
20288
+
20289
+ .table-row-drop-target {
20290
+ box-shadow: 0 -2px 0 var(--primary);
20291
+ }
20292
+
20293
+ .table-virtual-scroll {
20294
+ position: relative;
20295
+ }
20296
+
20297
+ .table-virtual-row {
20298
+ position: absolute;
20299
+ width: 100%;
20300
+ }
20301
+
20302
+ [data-theme=dark] .table {
20303
+ background-color: var(--gray-900);
20304
+ color: var(--gray-100);
20305
+ }
20306
+ [data-theme=dark] .table thead {
20307
+ background-color: var(--gray-800);
20308
+ }
20309
+ [data-theme=dark] .table th {
20310
+ border-color: var(--gray-700);
20311
+ }
20312
+ [data-theme=dark] .table td {
20313
+ border-color: var(--gray-700);
20314
+ }
20315
+ [data-theme=dark] .table-striped tbody tr:nth-child(odd) {
20316
+ background-color: var(--gray-800);
20317
+ }
20318
+ [data-theme=dark] .table-hover tbody tr:hover {
20319
+ background-color: var(--gray-700);
20320
+ }
20321
+ [data-theme=dark] .table-bordered {
20322
+ border-color: var(--gray-700);
20323
+ }
20324
+ [data-theme=dark] .table-bordered th,
20325
+ [data-theme=dark] .table-bordered td {
20326
+ border-color: var(--gray-700);
20327
+ }
20328
+ [data-theme=dark] .table-selectable tbody tr.selected {
20329
+ background-color: rgba(79, 70, 229, 0.2);
20330
+ }
20331
+ [data-theme=dark] .table-selectable tbody tr.selected:hover {
20332
+ background-color: rgba(79, 70, 229, 0.3);
20333
+ }
20334
+ [data-theme=dark] .table-expanded-content {
20335
+ background-color: var(--gray-800);
20336
+ }
20337
+ [data-theme=dark] .table-fixed-header thead {
20338
+ background-color: var(--gray-800);
20339
+ }
20340
+ [data-theme=dark] .table-loading-overlay {
20341
+ background-color: rgba(0, 0, 0, 0.5);
20342
+ }
20343
+ [data-theme=dark] .table tfoot {
20344
+ background-color: var(--gray-800);
20345
+ }
20346
+ [data-theme=dark] .table-toolbar,
20347
+ [data-theme=dark] .table-pagination {
20348
+ background-color: var(--gray-800);
20349
+ border-color: var(--gray-700);
20350
+ }
20351
+ [data-theme=dark] .table-action-btn:hover {
20352
+ background-color: var(--gray-700);
20353
+ }
20354
+ [data-theme=dark] .table tr.row-success {
20355
+ background-color: rgba(16, 185, 129, 0.15);
20356
+ }
20357
+ [data-theme=dark] .table tr.row-warning {
20358
+ background-color: rgba(245, 158, 11, 0.15);
20359
+ }
20360
+ [data-theme=dark] .table tr.row-danger {
20361
+ background-color: rgba(239, 68, 68, 0.15);
20362
+ }
20363
+ [data-theme=dark] .table tr.row-info {
20364
+ background-color: rgba(6, 182, 212, 0.15);
20365
+ }
20366
+
20367
+ :root {
20368
+ --sidebar-width: 260px;
20369
+ --sidebar-collapsed-width: 70px;
20370
+ --sidebar-bg: var(--bg);
20371
+ --sidebar-border: var(--border);
20372
+ --sidebar-transition: 0.3s ease;
20373
+ }
20374
+
20375
+ .sidebar {
20376
+ position: fixed;
20377
+ top: 0;
20378
+ left: 0;
20379
+ height: 100vh;
20380
+ width: var(--sidebar-width);
20381
+ background-color: var(--sidebar-bg);
20382
+ border-right: 1px solid var(--sidebar-border);
20383
+ display: flex;
20384
+ flex-direction: column;
20385
+ z-index: 1000;
20386
+ transition: width var(--sidebar-transition), transform var(--sidebar-transition);
20387
+ overflow: hidden;
20388
+ }
20389
+
20390
+ .sidebar-right {
20391
+ left: auto;
20392
+ right: 0;
20393
+ border-right: none;
20394
+ border-left: 1px solid var(--sidebar-border);
20395
+ }
20396
+
20397
+ .sidebar-header {
20398
+ display: flex;
20399
+ align-items: center;
20400
+ justify-content: space-between;
20401
+ padding: 1rem 1.25rem;
20402
+ border-bottom: 1px solid var(--sidebar-border);
20403
+ min-height: 64px;
20404
+ }
20405
+
20406
+ .sidebar-logo {
20407
+ display: flex;
20408
+ align-items: center;
20409
+ gap: 0.75rem;
20410
+ text-decoration: none;
20411
+ color: var(--text);
20412
+ font-weight: 600;
20413
+ font-size: 1.125rem;
20414
+ white-space: nowrap;
20415
+ overflow: hidden;
20416
+ }
20417
+
20418
+ .sidebar-logo-icon {
20419
+ flex-shrink: 0;
20420
+ width: 2rem;
20421
+ height: 2rem;
20422
+ }
20423
+
20424
+ .sidebar-logo-text {
20425
+ opacity: 1;
20426
+ transition: opacity var(--sidebar-transition);
20427
+ }
20428
+
20429
+ .sidebar-toggle {
20430
+ display: flex;
20431
+ align-items: center;
20432
+ justify-content: center;
20433
+ width: 2rem;
20434
+ height: 2rem;
20435
+ padding: 0;
20436
+ background: transparent;
20437
+ border: none;
20438
+ border-radius: 0.375rem;
20439
+ color: var(--text-muted);
20440
+ cursor: pointer;
20441
+ transition: all 150ms ease-in-out;
20442
+ flex-shrink: 0;
20443
+ }
20444
+ .sidebar-toggle:hover {
20445
+ background-color: var(--gray-100);
20446
+ color: var(--text);
20447
+ }
20448
+ .sidebar-toggle svg {
20449
+ width: 1.25rem;
20450
+ height: 1.25rem;
20451
+ transition: transform var(--sidebar-transition);
20452
+ }
20453
+
20454
+ .sidebar-content {
20455
+ flex: 1;
20456
+ overflow-y: auto;
20457
+ overflow-x: hidden;
20458
+ padding: 0.5rem 0;
20459
+ }
20460
+ .sidebar-content::-webkit-scrollbar {
20461
+ width: 4px;
20462
+ }
20463
+ .sidebar-content::-webkit-scrollbar-thumb {
20464
+ background-color: var(--gray-300);
20465
+ border-radius: 4px;
20466
+ }
20467
+
20468
+ .sidebar-nav {
20469
+ padding: 0 0.75rem;
20470
+ }
20471
+
20472
+ .sidebar-nav-section {
20473
+ margin-bottom: 1rem;
20474
+ }
20475
+
20476
+ .sidebar-nav-title {
20477
+ display: flex;
20478
+ align-items: center;
20479
+ padding: 0.5rem 0.75rem;
20480
+ font-size: var(--text-xs);
20481
+ font-weight: 600;
20482
+ text-transform: uppercase;
20483
+ letter-spacing: 0.05em;
20484
+ color: var(--text-muted);
20485
+ white-space: nowrap;
20486
+ overflow: hidden;
20487
+ }
20488
+
20489
+ .sidebar-menu {
20490
+ list-style: none;
20491
+ margin: 0;
20492
+ padding: 0;
20493
+ }
20494
+
20495
+ .sidebar-item {
20496
+ margin-bottom: 2px;
20497
+ }
20498
+
20499
+ .sidebar-link {
20500
+ display: flex;
20501
+ align-items: center;
20502
+ padding: 0.625rem 0.75rem;
20503
+ color: var(--text);
20504
+ text-decoration: none;
20505
+ border-radius: 0.375rem;
20506
+ transition: all 150ms ease-in-out;
20507
+ white-space: nowrap;
20508
+ overflow: hidden;
20509
+ gap: 0.75rem;
20510
+ }
20511
+ .sidebar-link:hover {
20512
+ background-color: var(--gray-100);
20513
+ color: var(--text);
20514
+ }
20515
+ .sidebar-link:focus {
20516
+ outline: none;
20517
+ box-shadow: 0 0 0 2px var(--primary-200);
20518
+ }
20519
+
20520
+ .sidebar-link.active {
20521
+ background-color: var(--primary-50);
20522
+ color: var(--primary);
20523
+ font-weight: 500;
20524
+ }
20525
+ .sidebar-link.active .sidebar-icon {
20526
+ color: var(--primary);
20527
+ }
20528
+
20529
+ .sidebar-icon {
20530
+ flex-shrink: 0;
20531
+ width: 1.25rem;
20532
+ height: 1.25rem;
20533
+ color: var(--text-muted);
20534
+ transition: color 150ms ease-in-out;
20535
+ }
20536
+
20537
+ .sidebar-text {
20538
+ flex: 1;
20539
+ opacity: 1;
20540
+ transition: opacity var(--sidebar-transition);
20541
+ }
20542
+
20543
+ .sidebar-badge {
20544
+ flex-shrink: 0;
20545
+ display: inline-flex;
20546
+ align-items: center;
20547
+ justify-content: center;
20548
+ min-width: 1.25rem;
20549
+ height: 1.25rem;
20550
+ padding: 0 0.375rem;
20551
+ font-size: var(--text-xs);
20552
+ font-weight: 500;
20553
+ background-color: var(--primary);
20554
+ color: var(--white);
20555
+ border-radius: 999px;
20556
+ }
20557
+
20558
+ .sidebar-submenu-toggle {
20559
+ display: flex;
20560
+ align-items: center;
20561
+ width: 100%;
20562
+ padding: 0.625rem 0.75rem;
20563
+ background: transparent;
20564
+ border: none;
20565
+ border-radius: 0.375rem;
20566
+ color: var(--text);
20567
+ cursor: pointer;
20568
+ transition: all 150ms ease-in-out;
20569
+ gap: 0.75rem;
20570
+ }
20571
+ .sidebar-submenu-toggle:hover {
20572
+ background-color: var(--gray-100);
20573
+ }
20574
+
20575
+ .sidebar-submenu-arrow {
20576
+ flex-shrink: 0;
20577
+ width: 1rem;
20578
+ height: 1rem;
20579
+ margin-left: auto;
20580
+ transition: transform var(--sidebar-transition);
20581
+ }
20582
+ .sidebar-submenu-arrow::before {
20583
+ content: "";
20584
+ display: block;
20585
+ width: 6px;
20586
+ height: 6px;
20587
+ border: solid var(--text-muted);
20588
+ border-width: 0 2px 2px 0;
20589
+ transform: rotate(-45deg);
20590
+ margin: 4px auto;
20591
+ }
20592
+
20593
+ .sidebar-item.open .sidebar-submenu-arrow {
20594
+ transform: rotate(90deg);
20595
+ }
20596
+
20597
+ .sidebar-submenu {
20598
+ list-style: none;
20599
+ margin: 0;
20600
+ padding: 0;
20601
+ max-height: 0;
20602
+ overflow: hidden;
20603
+ transition: max-height var(--sidebar-transition);
20604
+ }
20605
+
20606
+ .sidebar-item.open .sidebar-submenu {
20607
+ max-height: 500px;
20608
+ }
20609
+
20610
+ .sidebar-submenu .sidebar-link {
20611
+ padding-left: 2.75rem;
20612
+ font-size: var(--text-sm);
20613
+ }
20614
+
20615
+ .sidebar-footer {
20616
+ padding: 1rem 1.25rem;
20617
+ border-top: 1px solid var(--sidebar-border);
20618
+ margin-top: auto;
20619
+ }
20620
+
20621
+ .sidebar-user {
20622
+ display: flex;
20623
+ align-items: center;
20624
+ gap: 0.75rem;
20625
+ overflow: hidden;
20626
+ }
20627
+
20628
+ .sidebar-avatar {
20629
+ flex-shrink: 0;
20630
+ width: 2.5rem;
20631
+ height: 2.5rem;
20632
+ border-radius: 50%;
20633
+ object-fit: cover;
20634
+ }
20635
+
20636
+ .sidebar-user-info {
20637
+ flex: 1;
20638
+ min-width: 0;
20639
+ overflow: hidden;
20640
+ }
20641
+
20642
+ .sidebar-user-name {
20643
+ font-weight: 500;
20644
+ white-space: nowrap;
20645
+ overflow: hidden;
20646
+ text-overflow: ellipsis;
20647
+ }
20648
+
20649
+ .sidebar-user-email {
20650
+ font-size: var(--text-xs);
20651
+ color: var(--text-muted);
20652
+ white-space: nowrap;
20653
+ overflow: hidden;
20654
+ text-overflow: ellipsis;
20655
+ }
20656
+
20657
+ .sidebar-collapsed {
20658
+ width: var(--sidebar-collapsed-width);
20659
+ }
20660
+ .sidebar-collapsed .sidebar-logo-text,
20661
+ .sidebar-collapsed .sidebar-text,
20662
+ .sidebar-collapsed .sidebar-badge,
20663
+ .sidebar-collapsed .sidebar-nav-title,
20664
+ .sidebar-collapsed .sidebar-submenu-arrow,
20665
+ .sidebar-collapsed .sidebar-user-info {
20666
+ opacity: 0;
20667
+ visibility: hidden;
20668
+ width: 0;
20669
+ padding: 0;
20670
+ margin: 0;
20671
+ }
20672
+ .sidebar-collapsed .sidebar-header {
20673
+ justify-content: center;
20674
+ padding: 1rem;
20675
+ }
20676
+ .sidebar-collapsed .sidebar-logo {
20677
+ justify-content: center;
20678
+ }
20679
+ .sidebar-collapsed .sidebar-toggle {
20680
+ display: none;
20681
+ }
20682
+ .sidebar-collapsed .sidebar-link,
20683
+ .sidebar-collapsed .sidebar-submenu-toggle {
20684
+ justify-content: center;
20685
+ padding: 0.75rem;
20686
+ }
20687
+ .sidebar-collapsed .sidebar-submenu {
20688
+ max-height: 0 !important;
20689
+ visibility: hidden;
20690
+ }
20691
+ .sidebar-collapsed .sidebar-footer {
20692
+ padding: 1rem;
20693
+ display: flex;
20694
+ justify-content: center;
20695
+ }
20696
+ .sidebar-collapsed .sidebar-user {
20697
+ justify-content: center;
20698
+ }
20699
+ .sidebar-collapsed .sidebar-link,
20700
+ .sidebar-collapsed .sidebar-submenu-toggle {
20701
+ position: relative;
20702
+ }
20703
+ .sidebar-collapsed .sidebar-link::after,
20704
+ .sidebar-collapsed .sidebar-submenu-toggle::after {
20705
+ content: attr(data-tooltip);
20706
+ position: absolute;
20707
+ left: 100%;
20708
+ top: 50%;
20709
+ transform: translateY(-50%);
20710
+ padding: 0.375rem 0.75rem;
20711
+ background-color: var(--gray-900);
20712
+ color: var(--white);
20713
+ font-size: var(--text-xs);
20714
+ border-radius: 0.375rem;
20715
+ white-space: nowrap;
20716
+ opacity: 0;
20717
+ visibility: hidden;
20718
+ transition: opacity 150ms ease-in-out;
20719
+ margin-left: 0.5rem;
20720
+ z-index: 100;
20721
+ }
20722
+ .sidebar-collapsed .sidebar-link:hover::after,
20723
+ .sidebar-collapsed .sidebar-submenu-toggle:hover::after {
20724
+ opacity: 1;
20725
+ visibility: visible;
20726
+ }
20727
+
20728
+ .sidebar-collapsed .sidebar-toggle svg {
20729
+ transform: rotate(180deg);
20730
+ }
20731
+
20732
+ .sidebar-overlay {
20733
+ position: fixed;
20734
+ top: 0;
20735
+ left: 0;
20736
+ right: 0;
20737
+ bottom: 0;
20738
+ background-color: rgba(0, 0, 0, 0.5);
20739
+ z-index: 999;
20740
+ opacity: 0;
20741
+ visibility: hidden;
20742
+ transition: opacity var(--sidebar-transition), visibility var(--sidebar-transition);
20743
+ }
20744
+
20745
+ .sidebar-overlay.active {
20746
+ opacity: 1;
20747
+ visibility: visible;
20748
+ }
20749
+
20750
+ @media (max-width: 991px) {
20751
+ .sidebar {
20752
+ transform: translateX(-100%);
20753
+ }
20754
+ .sidebar-right {
20755
+ transform: translateX(100%);
20756
+ }
20757
+ .sidebar.sidebar-open {
20758
+ transform: translateX(0);
20759
+ }
20760
+ .sidebar-collapsed {
20761
+ width: var(--sidebar-width);
20762
+ }
20763
+ .sidebar-collapsed .sidebar-logo-text,
20764
+ .sidebar-collapsed .sidebar-text,
20765
+ .sidebar-collapsed .sidebar-badge,
20766
+ .sidebar-collapsed .sidebar-nav-title,
20767
+ .sidebar-collapsed .sidebar-submenu-arrow,
20768
+ .sidebar-collapsed .sidebar-user-info {
20769
+ opacity: 1;
20770
+ visibility: visible;
20771
+ width: auto;
20772
+ }
20773
+ .sidebar-collapsed .sidebar-header {
20774
+ justify-content: space-between;
20775
+ }
20776
+ .sidebar-collapsed .sidebar-link,
20777
+ .sidebar-collapsed .sidebar-submenu-toggle {
20778
+ justify-content: flex-start;
20779
+ }
20780
+ }
20781
+ .sidebar-mobile-toggle {
20782
+ display: none;
20783
+ position: fixed;
20784
+ bottom: 1rem;
20785
+ right: 1rem;
20786
+ width: 3rem;
20787
+ height: 3rem;
20788
+ padding: 0;
20789
+ background-color: var(--primary);
20790
+ color: var(--white);
20791
+ border: none;
20792
+ border-radius: 50%;
20793
+ cursor: pointer;
20794
+ z-index: 998;
20795
+ box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
20796
+ transition: all 200ms ease-in-out;
20797
+ }
20798
+ .sidebar-mobile-toggle:hover {
20799
+ background-color: var(--primary-600);
20800
+ transform: scale(1.05);
20801
+ }
20802
+ .sidebar-mobile-toggle svg {
20803
+ width: 1.5rem;
20804
+ height: 1.5rem;
20805
+ }
20806
+ @media (max-width: 991px) {
20807
+ .sidebar-mobile-toggle {
20808
+ display: flex;
20809
+ align-items: center;
20810
+ justify-content: center;
20811
+ }
20812
+ }
20813
+
20814
+ .main-with-sidebar {
20815
+ margin-left: var(--sidebar-width);
20816
+ transition: margin-left var(--sidebar-transition);
20817
+ }
20818
+
20819
+ .main-with-sidebar-right {
20820
+ margin-left: 0;
20821
+ margin-right: var(--sidebar-width);
20822
+ transition: margin-right var(--sidebar-transition);
20823
+ }
20824
+
20825
+ .sidebar-collapsed ~ .main-with-sidebar,
20826
+ .sidebar-collapsed + .main-with-sidebar {
20827
+ margin-left: var(--sidebar-collapsed-width);
20828
+ }
20829
+
20830
+ .sidebar-collapsed ~ .main-with-sidebar-right,
20831
+ .sidebar-collapsed + .main-with-sidebar-right {
20832
+ margin-right: var(--sidebar-collapsed-width);
20833
+ }
20834
+
20835
+ @media (max-width: 991px) {
20836
+ .main-with-sidebar,
20837
+ .main-with-sidebar-right {
20838
+ margin-left: 0;
20839
+ margin-right: 0;
20840
+ }
20841
+ }
20842
+ .sidebar-dark {
20843
+ --sidebar-bg: var(--gray-900);
20844
+ --sidebar-border: var(--gray-700);
20845
+ color: var(--gray-100);
20846
+ }
20847
+ .sidebar-dark .sidebar-logo {
20848
+ color: var(--white);
20849
+ }
20850
+ .sidebar-dark .sidebar-toggle:hover {
20851
+ background-color: var(--gray-800);
20852
+ color: var(--gray-100);
20853
+ }
20854
+ .sidebar-dark .sidebar-nav-title {
20855
+ color: var(--gray-500);
20856
+ }
20857
+ .sidebar-dark .sidebar-link {
20858
+ color: var(--gray-300);
20859
+ }
20860
+ .sidebar-dark .sidebar-link:hover {
20861
+ background-color: var(--gray-800);
20862
+ color: var(--white);
20863
+ }
20864
+ .sidebar-dark .sidebar-link.active {
20865
+ background-color: rgba(79, 70, 229, 0.2);
20866
+ color: var(--primary-300);
20867
+ }
20868
+ .sidebar-dark .sidebar-icon {
20869
+ color: var(--gray-500);
20870
+ }
20871
+ .sidebar-dark .sidebar-submenu-toggle {
20872
+ color: var(--gray-300);
20873
+ }
20874
+ .sidebar-dark .sidebar-submenu-toggle:hover {
20875
+ background-color: var(--gray-800);
20876
+ }
20877
+ .sidebar-dark .sidebar-submenu-arrow::before {
20878
+ border-color: var(--gray-500);
20879
+ }
20880
+ .sidebar-dark.sidebar-collapsed .sidebar-link::after, .sidebar-dark.sidebar-collapsed .sidebar-submenu-toggle::after {
20881
+ background-color: var(--gray-700);
20882
+ }
20883
+ .sidebar-dark .sidebar-content::-webkit-scrollbar-thumb {
20884
+ background-color: var(--gray-600);
20885
+ }
20886
+
20887
+ .sidebar-transparent {
20888
+ background-color: transparent;
20889
+ border: none;
20890
+ backdrop-filter: blur(10px);
20891
+ -webkit-backdrop-filter: blur(10px);
20892
+ }
20893
+
20894
+ .sidebar-bordered {
20895
+ border: none;
20896
+ box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
20897
+ }
20898
+
20899
+ .sidebar-divider {
20900
+ height: 1px;
20901
+ background-color: var(--sidebar-border);
20902
+ margin: 0.5rem 0.75rem;
20903
+ }
20904
+
20905
+ .sidebar-compact {
20906
+ --sidebar-width: 220px;
20907
+ --sidebar-collapsed-width: 60px;
20908
+ }
20909
+ .sidebar-compact .sidebar-link,
20910
+ .sidebar-compact .sidebar-submenu-toggle {
20911
+ padding: 0.5rem 0.625rem;
20912
+ font-size: var(--text-sm);
20913
+ }
20914
+ .sidebar-compact .sidebar-icon {
20915
+ width: 1rem;
20916
+ height: 1rem;
20917
+ }
20918
+ .sidebar-compact .sidebar-header {
20919
+ min-height: 56px;
20920
+ padding: 0.75rem 1rem;
20921
+ }
20922
+
20923
+ [data-theme=dark] .sidebar {
20924
+ --sidebar-bg: var(--gray-900);
20925
+ --sidebar-border: var(--gray-700);
20926
+ color: var(--gray-100);
20927
+ }
20928
+ [data-theme=dark] .sidebar-logo {
20929
+ color: var(--gray-100);
20930
+ }
20931
+ [data-theme=dark] .sidebar-toggle:hover {
20932
+ background-color: var(--gray-800);
20933
+ }
20934
+ [data-theme=dark] .sidebar-link {
20935
+ color: var(--gray-300);
20936
+ }
20937
+ [data-theme=dark] .sidebar-link:hover {
20938
+ background-color: var(--gray-800);
20939
+ color: var(--white);
20940
+ }
20941
+ [data-theme=dark] .sidebar-link.active {
20942
+ background-color: rgba(79, 70, 229, 0.2);
20943
+ color: var(--primary-300);
20944
+ }
20945
+ [data-theme=dark] .sidebar-link.active .sidebar-icon {
20946
+ color: var(--primary-300);
20947
+ }
20948
+ [data-theme=dark] .sidebar-icon {
20949
+ color: var(--gray-500);
20950
+ }
20951
+ [data-theme=dark] .sidebar-submenu-toggle:hover {
20952
+ background-color: var(--gray-800);
20953
+ }
20954
+ [data-theme=dark] .sidebar-content::-webkit-scrollbar-thumb {
20955
+ background-color: var(--gray-600);
20956
+ }
20957
+
20958
+ .skeleton {
20959
+ background: linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);
20960
+ background-size: 200% 100%;
20961
+ animation: skeleton-loading 1.5s ease-in-out infinite;
20962
+ border-radius: 0.375rem;
20963
+ }
20964
+
20965
+ @keyframes skeleton-loading {
20966
+ 0% {
20967
+ background-position: 200% 0;
20968
+ }
20969
+ 100% {
20970
+ background-position: -200% 0;
20971
+ }
20972
+ }
20973
+ .skeleton-text {
20974
+ height: 1rem;
20975
+ width: 100%;
20976
+ margin-bottom: 0.5rem;
20977
+ }
20978
+ .skeleton-text:last-child {
20979
+ width: 80%;
20980
+ margin-bottom: 0;
20981
+ }
20982
+
20983
+ .skeleton-title {
20984
+ height: 1.5rem;
20985
+ width: 60%;
20986
+ margin-bottom: 1rem;
20987
+ }
20988
+
20989
+ .skeleton-circle {
20990
+ border-radius: 50%;
20991
+ }
20992
+
20993
+ .skeleton-rect {
20994
+ border-radius: 0.375rem;
20995
+ }
20996
+
20997
+ .skeleton-rounded {
20998
+ border-radius: 0.75rem;
20999
+ }
21000
+
21001
+ .skeleton-xs {
21002
+ height: 0.75rem;
21003
+ }
21004
+
21005
+ .skeleton-sm {
21006
+ height: 1rem;
21007
+ }
21008
+
21009
+ .skeleton-md {
21010
+ height: 1.5rem;
21011
+ }
21012
+
21013
+ .skeleton-lg {
21014
+ height: 2rem;
21015
+ }
21016
+
21017
+ .skeleton-xl {
21018
+ height: 3rem;
21019
+ }
21020
+
21021
+ .skeleton-avatar-sm {
21022
+ width: 2rem;
21023
+ height: 2rem;
21024
+ }
21025
+
21026
+ .skeleton-avatar {
21027
+ width: 2.5rem;
21028
+ height: 2.5rem;
21029
+ }
21030
+
21031
+ .skeleton-avatar-lg {
21032
+ width: 3rem;
21033
+ height: 3rem;
21034
+ }
21035
+
21036
+ .skeleton-avatar-xl {
21037
+ width: 4rem;
21038
+ height: 4rem;
21039
+ }
21040
+
21041
+ .skeleton-card {
21042
+ padding: 1rem;
21043
+ border: 1px solid var(--border);
21044
+ border-radius: 0.75rem;
21045
+ }
21046
+
21047
+ .skeleton-card-image {
21048
+ height: 200px;
21049
+ margin-bottom: 1rem;
21050
+ border-radius: 0.375rem;
21051
+ }
21052
+
21053
+ .skeleton-card-header {
21054
+ display: flex;
21055
+ align-items: center;
21056
+ gap: 0.75rem;
21057
+ margin-bottom: 1rem;
21058
+ }
21059
+
21060
+ .skeleton-card-body {
21061
+ display: flex;
21062
+ flex-direction: column;
21063
+ gap: 0.5rem;
21064
+ }
21065
+
21066
+ .skeleton-table {
21067
+ width: 100%;
21068
+ }
21069
+ .skeleton-table .skeleton-row {
21070
+ display: flex;
21071
+ gap: 1rem;
21072
+ padding: 0.75rem 0;
21073
+ border-bottom: 1px solid var(--border);
21074
+ }
21075
+ .skeleton-table .skeleton-row:last-child {
21076
+ border-bottom: none;
21077
+ }
21078
+ .skeleton-table .skeleton-cell {
21079
+ flex: 1;
21080
+ height: 1rem;
21081
+ }
21082
+
21083
+ .skeleton-table-header .skeleton-row {
21084
+ border-bottom: 2px solid var(--border);
21085
+ }
21086
+ .skeleton-table-header .skeleton-cell {
21087
+ height: 1.25rem;
21088
+ }
21089
+
21090
+ .skeleton-list {
21091
+ display: flex;
21092
+ flex-direction: column;
21093
+ gap: 1rem;
21094
+ }
21095
+
21096
+ .skeleton-list-item {
21097
+ display: flex;
21098
+ align-items: center;
21099
+ gap: 0.75rem;
21100
+ }
21101
+
21102
+ .skeleton-list-content {
21103
+ flex: 1;
21104
+ display: flex;
21105
+ flex-direction: column;
21106
+ gap: 0.375rem;
21107
+ }
21108
+
21109
+ .skeleton-paragraph {
21110
+ display: flex;
21111
+ flex-direction: column;
21112
+ gap: 0.5rem;
21113
+ }
21114
+ .skeleton-paragraph .skeleton-text:nth-child(1) {
21115
+ width: 100%;
21116
+ }
21117
+ .skeleton-paragraph .skeleton-text:nth-child(2) {
21118
+ width: 95%;
21119
+ }
21120
+ .skeleton-paragraph .skeleton-text:nth-child(3) {
21121
+ width: 90%;
21122
+ }
21123
+ .skeleton-paragraph .skeleton-text:nth-child(4) {
21124
+ width: 85%;
21125
+ }
21126
+ .skeleton-paragraph .skeleton-text:last-child {
21127
+ width: 60%;
21128
+ }
21129
+
21130
+ .skeleton-button {
21131
+ height: 2.5rem;
21132
+ width: 6rem;
21133
+ border-radius: 0.375rem;
21134
+ }
21135
+
21136
+ .skeleton-button-sm {
21137
+ height: 2rem;
21138
+ width: 5rem;
21139
+ }
21140
+
21141
+ .skeleton-button-lg {
21142
+ height: 3rem;
21143
+ width: 8rem;
21144
+ }
21145
+
21146
+ .skeleton-button-icon {
21147
+ width: 2.5rem;
21148
+ height: 2.5rem;
21149
+ }
21150
+
21151
+ .skeleton-input {
21152
+ height: 2.5rem;
21153
+ width: 100%;
21154
+ border-radius: 0.375rem;
21155
+ }
21156
+
21157
+ .skeleton-input-sm {
21158
+ height: 2rem;
21159
+ }
21160
+
21161
+ .skeleton-input-lg {
21162
+ height: 3rem;
21163
+ }
21164
+
21165
+ .skeleton-image {
21166
+ width: 100%;
21167
+ aspect-ratio: 16/9;
21168
+ border-radius: 0.375rem;
21169
+ }
21170
+
21171
+ .skeleton-image-square {
21172
+ aspect-ratio: 1/1;
21173
+ }
21174
+
21175
+ .skeleton-image-portrait {
21176
+ aspect-ratio: 3/4;
21177
+ }
21178
+
21179
+ .skeleton-wave {
21180
+ animation: skeleton-loading 1.5s ease-in-out infinite;
21181
+ }
21182
+
21183
+ .skeleton-pulse {
21184
+ animation: skeleton-pulse 1.5s ease-in-out infinite;
21185
+ background: var(--gray-200);
21186
+ }
21187
+
21188
+ @keyframes skeleton-pulse {
21189
+ 0%, 100% {
21190
+ opacity: 1;
21191
+ }
21192
+ 50% {
21193
+ opacity: 0.4;
21194
+ }
21195
+ }
21196
+ .skeleton-static {
21197
+ animation: none;
21198
+ background: var(--gray-200);
21199
+ }
21200
+
21201
+ .skeleton-wrapper {
21202
+ position: relative;
21203
+ }
21204
+
21205
+ .skeleton-content {
21206
+ opacity: 0;
21207
+ transition: opacity 0.3s ease;
21208
+ }
21209
+
21210
+ .skeleton-wrapper.loaded .skeleton {
21211
+ display: none;
21212
+ }
21213
+ .skeleton-wrapper.loaded .skeleton-content {
21214
+ opacity: 1;
21215
+ }
21216
+
21217
+ .skeleton-inline {
21218
+ display: inline-block;
21219
+ vertical-align: middle;
21220
+ }
21221
+
21222
+ .skeleton-grid {
21223
+ display: grid;
21224
+ gap: 1rem;
21225
+ }
21226
+
21227
+ .skeleton-grid-2 {
21228
+ grid-template-columns: repeat(2, 1fr);
21229
+ }
21230
+
21231
+ .skeleton-grid-3 {
21232
+ grid-template-columns: repeat(3, 1fr);
21233
+ }
21234
+
21235
+ .skeleton-grid-4 {
21236
+ grid-template-columns: repeat(4, 1fr);
21237
+ }
21238
+
21239
+ @media (max-width: 767px) {
21240
+ .skeleton-grid-2,
21241
+ .skeleton-grid-3,
21242
+ .skeleton-grid-4 {
21243
+ grid-template-columns: 1fr;
21244
+ }
21245
+ }
21246
+ [data-theme=dark] .skeleton {
21247
+ background: linear-gradient(90deg, var(--gray-700) 25%, var(--gray-600) 50%, var(--gray-700) 75%);
21248
+ background-size: 200% 100%;
21249
+ }
21250
+ [data-theme=dark] .skeleton-pulse {
21251
+ background: var(--gray-700);
21252
+ }
21253
+ [data-theme=dark] .skeleton-static {
21254
+ background: var(--gray-700);
21255
+ }
21256
+ [data-theme=dark] .skeleton-card {
21257
+ border-color: var(--gray-700);
21258
+ }
21259
+ [data-theme=dark] .skeleton-table .skeleton-row {
21260
+ border-color: var(--gray-700);
21261
+ }
21262
+
21263
+ .resizable {
21264
+ position: relative;
21265
+ display: flex;
21266
+ }
21267
+
21268
+ .resizable-vertical {
21269
+ flex-direction: column;
21270
+ }
21271
+
21272
+ .resizable-horizontal {
21273
+ flex-direction: row;
21274
+ }
21275
+
21276
+ .resizable-panel {
21277
+ position: relative;
21278
+ overflow: auto;
21279
+ }
21280
+
21281
+ .resizable-panel-content {
21282
+ height: 100%;
21283
+ width: 100%;
21284
+ overflow: auto;
21285
+ }
21286
+
21287
+ .resizable-handle {
21288
+ position: relative;
21289
+ flex-shrink: 0;
21290
+ background-color: var(--border);
21291
+ transition: background-color 150ms ease-in-out;
21292
+ z-index: 10;
21293
+ }
21294
+ .resizable-handle:hover {
21295
+ background-color: var(--primary);
21296
+ }
21297
+ .resizable-handle:active {
21298
+ background-color: var(--primary-600);
21299
+ }
21300
+
21301
+ .resizable-handle-horizontal {
21302
+ width: 100%;
21303
+ height: 4px;
21304
+ cursor: row-resize;
21305
+ }
21306
+ .resizable-handle-horizontal::before {
21307
+ content: "";
21308
+ position: absolute;
21309
+ top: 50%;
21310
+ left: 50%;
21311
+ transform: translate(-50%, -50%);
21312
+ width: 32px;
21313
+ height: 4px;
21314
+ background-color: var(--gray-400);
21315
+ border-radius: 2px;
21316
+ }
21317
+
21318
+ .resizable-handle-vertical {
21319
+ width: 4px;
21320
+ height: 100%;
21321
+ cursor: col-resize;
21322
+ }
21323
+ .resizable-handle-vertical::before {
21324
+ content: "";
21325
+ position: absolute;
21326
+ top: 50%;
21327
+ left: 50%;
21328
+ transform: translate(-50%, -50%);
21329
+ width: 4px;
21330
+ height: 32px;
21331
+ background-color: var(--gray-400);
21332
+ border-radius: 2px;
21333
+ }
21334
+
21335
+ .resizable-handle-minimal {
21336
+ background-color: transparent;
21337
+ }
21338
+ .resizable-handle-minimal::before {
21339
+ display: none;
21340
+ }
21341
+ .resizable-handle-minimal:hover {
21342
+ background-color: var(--primary-100);
21343
+ }
21344
+
21345
+ .resizable-handle-bordered {
21346
+ background-color: var(--bg);
21347
+ border: 1px solid var(--border);
21348
+ }
21349
+ .resizable-handle-bordered.resizable-handle-horizontal {
21350
+ height: 8px;
21351
+ border-left: none;
21352
+ border-right: none;
21353
+ }
21354
+ .resizable-handle-bordered.resizable-handle-vertical {
21355
+ width: 8px;
21356
+ border-top: none;
21357
+ border-bottom: none;
21358
+ }
21359
+
21360
+ .resizable-handle-dots::before {
21361
+ background: transparent;
21362
+ }
21363
+ .resizable-handle-dots::after {
21364
+ content: "···";
21365
+ position: absolute;
21366
+ top: 50%;
21367
+ left: 50%;
21368
+ transform: translate(-50%, -50%);
21369
+ color: var(--gray-400);
21370
+ font-size: 0.875rem;
21371
+ letter-spacing: 2px;
21372
+ }
21373
+ .resizable-handle-dots.resizable-handle-vertical::after {
21374
+ content: "⋮";
21375
+ writing-mode: vertical-rl;
21376
+ letter-spacing: 0;
21377
+ }
21378
+
21379
+ .resizable-handle-sm.resizable-handle-horizontal {
21380
+ height: 2px;
21381
+ }
21382
+ .resizable-handle-sm.resizable-handle-horizontal::before {
21383
+ width: 24px;
21384
+ height: 2px;
21385
+ }
21386
+ .resizable-handle-sm.resizable-handle-vertical {
21387
+ width: 2px;
21388
+ }
21389
+ .resizable-handle-sm.resizable-handle-vertical::before {
21390
+ width: 2px;
21391
+ height: 24px;
21392
+ }
21393
+
21394
+ .resizable-handle-lg.resizable-handle-horizontal {
21395
+ height: 8px;
21396
+ }
21397
+ .resizable-handle-lg.resizable-handle-horizontal::before {
21398
+ width: 48px;
21399
+ height: 6px;
21400
+ }
21401
+ .resizable-handle-lg.resizable-handle-vertical {
21402
+ width: 8px;
21403
+ }
21404
+ .resizable-handle-lg.resizable-handle-vertical::before {
21405
+ width: 6px;
21406
+ height: 48px;
21407
+ }
21408
+
21409
+ .resizable-resizing {
21410
+ user-select: none;
21411
+ cursor: col-resize;
21412
+ }
21413
+ .resizable-resizing.resizable-vertical {
21414
+ cursor: row-resize;
21415
+ }
21416
+
21417
+ .resizable-resizing .resizable-handle {
21418
+ background-color: var(--primary);
21419
+ }
21420
+
21421
+ .resizable-panel-collapsed {
21422
+ flex: 0 0 0 !important;
21423
+ min-width: 0 !important;
21424
+ min-height: 0 !important;
21425
+ overflow: hidden;
21426
+ }
21427
+
21428
+ .resizable-collapse-btn {
21429
+ position: absolute;
21430
+ display: flex;
21431
+ align-items: center;
21432
+ justify-content: center;
21433
+ width: 1.5rem;
21434
+ height: 1.5rem;
21435
+ background-color: var(--bg);
21436
+ border: 1px solid var(--border);
21437
+ border-radius: 50%;
21438
+ cursor: pointer;
21439
+ z-index: 20;
21440
+ transition: all 150ms ease-in-out;
21441
+ }
21442
+ .resizable-collapse-btn:hover {
21443
+ background-color: var(--gray-100);
21444
+ border-color: var(--primary);
21445
+ }
21446
+ .resizable-collapse-btn svg {
21447
+ width: 0.75rem;
21448
+ height: 0.75rem;
21449
+ transition: transform 150ms ease-in-out;
21450
+ }
21451
+
21452
+ .resizable-handle-vertical .resizable-collapse-btn {
21453
+ top: 50%;
21454
+ left: 50%;
21455
+ transform: translate(-50%, -50%);
21456
+ }
21457
+
21458
+ .resizable-handle-horizontal .resizable-collapse-btn {
21459
+ top: 50%;
21460
+ left: 50%;
21461
+ transform: translate(-50%, -50%);
21462
+ }
21463
+
21464
+ .resizable-handle.at-min,
21465
+ .resizable-handle.at-max {
21466
+ background-color: var(--warning);
21467
+ cursor: not-allowed;
21468
+ }
21469
+
21470
+ .resizable-split-50-50 .resizable-panel {
21471
+ flex: 1 1 50%;
21472
+ }
21473
+
21474
+ .resizable-split-30-70 .resizable-panel:first-child {
21475
+ flex: 0 0 30%;
21476
+ }
21477
+ .resizable-split-30-70 .resizable-panel:last-child {
21478
+ flex: 1 1 70%;
21479
+ }
21480
+
21481
+ .resizable-split-70-30 .resizable-panel:first-child {
21482
+ flex: 1 1 70%;
21483
+ }
21484
+ .resizable-split-70-30 .resizable-panel:last-child {
21485
+ flex: 0 0 30%;
21486
+ }
21487
+
21488
+ .resizable-split-25-75 .resizable-panel:first-child {
21489
+ flex: 0 0 25%;
21490
+ }
21491
+ .resizable-split-25-75 .resizable-panel:last-child {
21492
+ flex: 1 1 75%;
21493
+ }
21494
+
21495
+ .resizable-nested {
21496
+ height: 100%;
21497
+ width: 100%;
21498
+ }
21499
+
21500
+ .resizable-box {
21501
+ position: relative;
21502
+ display: inline-block;
21503
+ }
21504
+
21505
+ .resizable-box-handle {
21506
+ position: absolute;
21507
+ background-color: transparent;
21508
+ }
21509
+ .resizable-box-handle:hover {
21510
+ background-color: var(--primary-100);
21511
+ }
21512
+
21513
+ .resizable-box-handle-e {
21514
+ right: 0;
21515
+ top: 0;
21516
+ bottom: 0;
21517
+ width: 8px;
21518
+ cursor: e-resize;
21519
+ }
21520
+
21521
+ .resizable-box-handle-s {
21522
+ bottom: 0;
21523
+ left: 0;
21524
+ right: 0;
21525
+ height: 8px;
21526
+ cursor: s-resize;
21527
+ }
21528
+
21529
+ .resizable-box-handle-se {
21530
+ right: 0;
21531
+ bottom: 0;
21532
+ width: 16px;
21533
+ height: 16px;
21534
+ cursor: se-resize;
21535
+ }
21536
+ .resizable-box-handle-se::after {
21537
+ content: "";
21538
+ position: absolute;
21539
+ right: 3px;
21540
+ bottom: 3px;
21541
+ width: 8px;
21542
+ height: 8px;
21543
+ border-right: 2px solid var(--gray-400);
21544
+ border-bottom: 2px solid var(--gray-400);
21545
+ }
21546
+
21547
+ .resizable-box-handle-w {
21548
+ left: 0;
21549
+ top: 0;
21550
+ bottom: 0;
21551
+ width: 8px;
21552
+ cursor: w-resize;
21553
+ }
21554
+
21555
+ .resizable-box-handle-n {
21556
+ top: 0;
21557
+ left: 0;
21558
+ right: 0;
21559
+ height: 8px;
21560
+ cursor: n-resize;
21561
+ }
21562
+
21563
+ .resizable-box-handle-nw {
21564
+ left: 0;
21565
+ top: 0;
21566
+ width: 16px;
21567
+ height: 16px;
21568
+ cursor: nw-resize;
21569
+ }
21570
+
21571
+ .resizable-box-handle-ne {
21572
+ right: 0;
21573
+ top: 0;
21574
+ width: 16px;
21575
+ height: 16px;
21576
+ cursor: ne-resize;
21577
+ }
21578
+
21579
+ .resizable-box-handle-sw {
21580
+ left: 0;
21581
+ bottom: 0;
21582
+ width: 16px;
21583
+ height: 16px;
21584
+ cursor: sw-resize;
21585
+ }
21586
+
21587
+ [data-theme=dark] .resizable-handle {
21588
+ background-color: var(--gray-700);
21589
+ }
21590
+ [data-theme=dark] .resizable-handle:hover {
21591
+ background-color: var(--primary);
21592
+ }
21593
+ [data-theme=dark] .resizable-handle::before {
21594
+ background-color: var(--gray-500);
21595
+ }
21596
+ [data-theme=dark] .resizable-handle-bordered {
21597
+ background-color: var(--gray-800);
21598
+ border-color: var(--gray-700);
21599
+ }
21600
+ [data-theme=dark] .resizable-handle-minimal:hover {
21601
+ background-color: rgba(79, 70, 229, 0.2);
21602
+ }
21603
+ [data-theme=dark] .resizable-collapse-btn {
21604
+ background-color: var(--gray-800);
21605
+ border-color: var(--gray-600);
21606
+ }
21607
+ [data-theme=dark] .resizable-collapse-btn:hover {
21608
+ background-color: var(--gray-700);
21609
+ }
21610
+ [data-theme=dark] .resizable-box-handle-se::after {
21611
+ border-color: var(--gray-500);
21612
+ }
21613
+
21614
+ .qrcode {
21615
+ display: inline-flex;
21616
+ flex-direction: column;
21617
+ align-items: center;
21618
+ gap: 0.75rem;
21619
+ }
21620
+
21621
+ .qrcode-canvas {
21622
+ display: block;
21623
+ border-radius: 0.375rem;
21624
+ }
21625
+
21626
+ .qrcode-wrapper {
21627
+ position: relative;
21628
+ display: inline-block;
21629
+ padding: 1rem;
21630
+ background-color: var(--white);
21631
+ border: 1px solid var(--border);
21632
+ border-radius: 0.75rem;
21633
+ }
21634
+
21635
+ .qrcode-sm .qrcode-canvas {
21636
+ width: 100px;
21637
+ height: 100px;
21638
+ }
21639
+
21640
+ .qrcode-md .qrcode-canvas {
21641
+ width: 150px;
21642
+ height: 150px;
21643
+ }
21644
+
21645
+ .qrcode-lg .qrcode-canvas {
21646
+ width: 200px;
21647
+ height: 200px;
21648
+ }
21649
+
21650
+ .qrcode-xl .qrcode-canvas {
21651
+ width: 256px;
21652
+ height: 256px;
21653
+ }
21654
+
21655
+ .qrcode-logo {
21656
+ position: absolute;
21657
+ top: 50%;
21658
+ left: 50%;
21659
+ transform: translate(-50%, -50%);
21660
+ background-color: var(--white);
21661
+ padding: 4px;
21662
+ border-radius: 0.375rem;
21663
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
21664
+ }
21665
+ .qrcode-logo img {
21666
+ display: block;
21667
+ width: 32px;
21668
+ height: 32px;
21669
+ object-fit: contain;
21670
+ }
21671
+
21672
+ .qrcode-lg .qrcode-logo img {
21673
+ width: 40px;
21674
+ height: 40px;
21675
+ }
21676
+
21677
+ .qrcode-xl .qrcode-logo img {
21678
+ width: 48px;
21679
+ height: 48px;
21680
+ }
21681
+
21682
+ .qrcode-label {
21683
+ font-size: var(--text-sm);
21684
+ color: var(--text-muted);
21685
+ text-align: center;
21686
+ max-width: 200px;
21687
+ word-break: break-all;
21688
+ }
21689
+
21690
+ .qrcode-actions {
21691
+ display: flex;
21692
+ gap: 0.5rem;
21693
+ margin-top: 0.5rem;
21694
+ }
21695
+
21696
+ .qrcode-download,
21697
+ .qrcode-copy {
21698
+ display: inline-flex;
21699
+ align-items: center;
21700
+ justify-content: center;
21701
+ gap: 0.375rem;
21702
+ padding: 0.375rem 0.75rem;
21703
+ font-size: var(--text-xs);
21704
+ color: var(--text-muted);
21705
+ background-color: var(--gray-100);
21706
+ border: 1px solid var(--border);
21707
+ border-radius: 0.375rem;
21708
+ cursor: pointer;
21709
+ transition: all 150ms ease-in-out;
21710
+ }
21711
+ .qrcode-download:hover,
21712
+ .qrcode-copy:hover {
21713
+ background-color: var(--gray-200);
21714
+ color: var(--text);
21715
+ }
21716
+ .qrcode-download svg,
21717
+ .qrcode-copy svg {
21718
+ width: 0.875rem;
21719
+ height: 0.875rem;
21720
+ }
21721
+
21722
+ .qrcode-loading .qrcode-canvas {
21723
+ opacity: 0.3;
21724
+ }
21725
+ .qrcode-loading::after {
21726
+ content: "";
21727
+ position: absolute;
21728
+ top: 50%;
21729
+ left: 50%;
21730
+ transform: translate(-50%, -50%);
21731
+ width: 24px;
21732
+ height: 24px;
21733
+ border: 2px solid var(--primary);
21734
+ border-top-color: transparent;
21735
+ border-radius: 50%;
21736
+ animation: spin 0.8s linear infinite;
21737
+ }
21738
+
21739
+ .qrcode-expired .qrcode-canvas {
21740
+ filter: blur(3px);
21741
+ opacity: 0.5;
21742
+ }
21743
+
21744
+ .qrcode-expired-overlay {
21745
+ position: absolute;
21746
+ top: 50%;
21747
+ left: 50%;
21748
+ transform: translate(-50%, -50%);
21749
+ display: flex;
21750
+ flex-direction: column;
21751
+ align-items: center;
21752
+ gap: 0.5rem;
21753
+ color: var(--text);
21754
+ font-size: var(--text-sm);
21755
+ text-align: center;
21756
+ }
21757
+
21758
+ .qrcode-refresh {
21759
+ padding: 0.375rem 0.75rem;
21760
+ font-size: var(--text-xs);
21761
+ color: var(--primary);
21762
+ background: transparent;
21763
+ border: 1px solid var(--primary);
21764
+ border-radius: 0.375rem;
21765
+ cursor: pointer;
21766
+ transition: all 150ms ease-in-out;
21767
+ }
21768
+ .qrcode-refresh:hover {
21769
+ background-color: var(--primary);
21770
+ color: var(--white);
21771
+ }
21772
+
21773
+ .qrcode-error .qrcode-canvas {
21774
+ opacity: 0.3;
21775
+ }
21776
+
21777
+ .qrcode-error-message {
21778
+ color: var(--danger);
21779
+ font-size: var(--text-sm);
21780
+ }
21781
+
21782
+ .qrcode-bordered .qrcode-wrapper {
21783
+ border: 2px solid var(--gray-300);
21784
+ }
21785
+
21786
+ .qrcode-shadow .qrcode-wrapper {
21787
+ border: none;
21788
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
21789
+ }
21790
+
21791
+ .qrcode-rounded .qrcode-wrapper {
21792
+ border-radius: 1rem;
21793
+ }
21794
+
21795
+ .qrcode-rounded .qrcode-canvas {
21796
+ border-radius: 0.375rem;
21797
+ }
21798
+
21799
+ .qrcode-primary .qrcode-wrapper {
21800
+ border-color: var(--primary);
21801
+ }
21802
+
21803
+ .qrcode-success .qrcode-wrapper {
21804
+ border-color: var(--success);
21805
+ }
21806
+
21807
+ .qrcode-warning .qrcode-wrapper {
21808
+ border-color: var(--warning);
21809
+ }
21810
+
21811
+ .qrcode-danger .qrcode-wrapper {
21812
+ border-color: var(--danger);
21813
+ }
21814
+
21815
+ .qrcode-card {
21816
+ padding: 1.5rem;
21817
+ background-color: var(--bg);
21818
+ border: 1px solid var(--border);
21819
+ border-radius: 0.75rem;
21820
+ text-align: center;
21821
+ }
21822
+
21823
+ .qrcode-card-title {
21824
+ font-size: var(--text-lg);
21825
+ font-weight: 600;
21826
+ margin-bottom: 0.5rem;
21827
+ }
21828
+
21829
+ .qrcode-card-description {
21830
+ font-size: var(--text-sm);
21831
+ color: var(--text-muted);
21832
+ margin-bottom: 1rem;
21833
+ }
21834
+
21835
+ .qrcode-scan-line {
21836
+ position: absolute;
21837
+ left: 1rem;
21838
+ right: 1rem;
21839
+ height: 2px;
21840
+ background: linear-gradient(90deg, transparent, var(--primary), transparent);
21841
+ animation: qrcode-scan 2s ease-in-out infinite;
21842
+ }
21843
+
21844
+ @keyframes qrcode-scan {
21845
+ 0%, 100% {
21846
+ top: 1rem;
21847
+ opacity: 0;
21848
+ }
21849
+ 10% {
21850
+ opacity: 1;
21851
+ }
21852
+ 90% {
21853
+ opacity: 1;
21854
+ }
21855
+ 100% {
21856
+ top: calc(100% - 1rem);
21857
+ opacity: 0;
21858
+ }
21859
+ }
21860
+ [data-theme=dark] .qrcode-wrapper {
21861
+ background-color: var(--white);
21862
+ border-color: var(--gray-600);
21863
+ }
21864
+ [data-theme=dark] .qrcode-logo {
21865
+ background-color: var(--white);
21866
+ }
21867
+ [data-theme=dark] .qrcode-download,
21868
+ [data-theme=dark] .qrcode-copy {
21869
+ background-color: var(--gray-800);
21870
+ border-color: var(--gray-600);
21871
+ color: var(--gray-300);
21872
+ }
21873
+ [data-theme=dark] .qrcode-download:hover,
21874
+ [data-theme=dark] .qrcode-copy:hover {
21875
+ background-color: var(--gray-700);
21876
+ color: var(--gray-100);
21877
+ }
21878
+ [data-theme=dark] .qrcode-card {
21879
+ background-color: var(--gray-800);
21880
+ border-color: var(--gray-700);
21881
+ }
21882
+
21883
+ .masonry {
21884
+ column-gap: 1rem;
21885
+ }
21886
+
21887
+ .masonry-item {
21888
+ break-inside: avoid;
21889
+ margin-bottom: 1rem;
21890
+ }
21891
+
21892
+ .masonry-1 {
21893
+ column-count: 1;
21894
+ }
21895
+
21896
+ .masonry-2 {
21897
+ column-count: 2;
21898
+ }
21899
+
21900
+ .masonry-3 {
21901
+ column-count: 3;
21902
+ }
21903
+
21904
+ .masonry-4 {
21905
+ column-count: 4;
21906
+ }
21907
+
21908
+ .masonry-5 {
21909
+ column-count: 5;
21910
+ }
21911
+
21912
+ .masonry-6 {
21913
+ column-count: 6;
21914
+ }
21915
+
21916
+ .masonry-gap-0 {
21917
+ column-gap: 0;
21918
+ }
21919
+ .masonry-gap-0 .masonry-item {
21920
+ margin-bottom: 0;
21921
+ }
21922
+
21923
+ .masonry-gap-1 {
21924
+ column-gap: 0.25rem;
21925
+ }
21926
+ .masonry-gap-1 .masonry-item {
21927
+ margin-bottom: 0.25rem;
21928
+ }
21929
+
21930
+ .masonry-gap-2 {
21931
+ column-gap: 0.5rem;
21932
+ }
21933
+ .masonry-gap-2 .masonry-item {
21934
+ margin-bottom: 0.5rem;
21935
+ }
21936
+
21937
+ .masonry-gap-3 {
21938
+ column-gap: 0.75rem;
21939
+ }
21940
+ .masonry-gap-3 .masonry-item {
21941
+ margin-bottom: 0.75rem;
21942
+ }
21943
+
21944
+ .masonry-gap-4 {
21945
+ column-gap: 1rem;
21946
+ }
21947
+ .masonry-gap-4 .masonry-item {
21948
+ margin-bottom: 1rem;
21949
+ }
21950
+
21951
+ .masonry-gap-5 {
21952
+ column-gap: 1.25rem;
21953
+ }
21954
+ .masonry-gap-5 .masonry-item {
21955
+ margin-bottom: 1.25rem;
21956
+ }
21957
+
21958
+ .masonry-gap-6 {
21959
+ column-gap: 1.5rem;
21960
+ }
21961
+ .masonry-gap-6 .masonry-item {
21962
+ margin-bottom: 1.5rem;
21963
+ }
21964
+
21965
+ .masonry-gap-8 {
21966
+ column-gap: 2rem;
21967
+ }
21968
+ .masonry-gap-8 .masonry-item {
21969
+ margin-bottom: 2rem;
21970
+ }
21971
+
21972
+ @media (max-width: 639px) {
21973
+ .masonry-sm-1 {
21974
+ column-count: 1;
21975
+ }
21976
+ .masonry-sm-2 {
21977
+ column-count: 2;
21978
+ }
21979
+ }
21980
+ @media (min-width: 640px) {
21981
+ .sm\:masonry-1 {
21982
+ column-count: 1;
21983
+ }
21984
+ .sm\:masonry-2 {
21985
+ column-count: 2;
21986
+ }
21987
+ .sm\:masonry-3 {
21988
+ column-count: 3;
21989
+ }
21990
+ }
21991
+ @media (min-width: 768px) {
21992
+ .md\:masonry-1 {
21993
+ column-count: 1;
21994
+ }
21995
+ .md\:masonry-2 {
21996
+ column-count: 2;
21997
+ }
21998
+ .md\:masonry-3 {
21999
+ column-count: 3;
22000
+ }
22001
+ .md\:masonry-4 {
22002
+ column-count: 4;
22003
+ }
22004
+ }
22005
+ @media (min-width: 1024px) {
22006
+ .lg\:masonry-1 {
22007
+ column-count: 1;
22008
+ }
22009
+ .lg\:masonry-2 {
22010
+ column-count: 2;
22011
+ }
22012
+ .lg\:masonry-3 {
22013
+ column-count: 3;
22014
+ }
22015
+ .lg\:masonry-4 {
22016
+ column-count: 4;
22017
+ }
22018
+ .lg\:masonry-5 {
22019
+ column-count: 5;
22020
+ }
22021
+ }
22022
+ @media (min-width: 1280px) {
22023
+ .xl\:masonry-1 {
22024
+ column-count: 1;
22025
+ }
22026
+ .xl\:masonry-2 {
22027
+ column-count: 2;
22028
+ }
22029
+ .xl\:masonry-3 {
22030
+ column-count: 3;
22031
+ }
22032
+ .xl\:masonry-4 {
22033
+ column-count: 4;
22034
+ }
22035
+ .xl\:masonry-5 {
22036
+ column-count: 5;
22037
+ }
22038
+ .xl\:masonry-6 {
22039
+ column-count: 6;
22040
+ }
22041
+ }
22042
+ @supports (grid-template-rows: masonry) {
22043
+ .masonry-grid {
22044
+ display: grid;
22045
+ grid-template-rows: masonry;
22046
+ gap: 1rem;
22047
+ }
22048
+ .masonry-grid-2 {
22049
+ grid-template-columns: repeat(2, 1fr);
22050
+ }
22051
+ .masonry-grid-3 {
22052
+ grid-template-columns: repeat(3, 1fr);
22053
+ }
22054
+ .masonry-grid-4 {
22055
+ grid-template-columns: repeat(4, 1fr);
22056
+ }
22057
+ }
22058
+ .masonry-flex {
22059
+ display: flex;
22060
+ flex-wrap: wrap;
22061
+ margin: -0.5rem;
22062
+ }
22063
+
22064
+ .masonry-flex-item {
22065
+ padding: 0.5rem;
22066
+ }
22067
+
22068
+ .masonry-flex-2 .masonry-flex-item {
22069
+ width: 50%;
22070
+ }
22071
+
22072
+ .masonry-flex-3 .masonry-flex-item {
22073
+ width: 33.333%;
22074
+ }
22075
+
22076
+ .masonry-flex-4 .masonry-flex-item {
22077
+ width: 25%;
22078
+ }
22079
+
22080
+ @media (max-width: 767px) {
22081
+ .masonry-flex-item {
22082
+ width: 100% !important;
22083
+ }
22084
+ }
22085
+ @media (min-width: 768px) and (max-width: 1023px) {
22086
+ .masonry-flex-3 .masonry-flex-item,
22087
+ .masonry-flex-4 .masonry-flex-item {
22088
+ width: 50%;
22089
+ }
22090
+ }
22091
+ .masonry-card {
22092
+ background-color: var(--bg);
22093
+ border-radius: 0.75rem;
22094
+ overflow: hidden;
22095
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
22096
+ transition: transform 200ms ease-in-out, box-shadow 200ms ease-in-out;
22097
+ }
22098
+ .masonry-card:hover {
22099
+ transform: translateY(-2px);
22100
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
22101
+ }
22102
+
22103
+ .masonry-card-image {
22104
+ width: 100%;
22105
+ display: block;
22106
+ }
22107
+
22108
+ .masonry-card-content {
22109
+ padding: 1rem;
22110
+ }
22111
+
22112
+ .masonry-card-title {
22113
+ font-weight: 600;
22114
+ margin-bottom: 0.5rem;
22115
+ }
22116
+
22117
+ .masonry-card-text {
22118
+ font-size: var(--text-sm);
22119
+ color: var(--text-muted);
22120
+ }
22121
+
22122
+ .masonry-overlay {
22123
+ position: relative;
22124
+ overflow: hidden;
22125
+ }
22126
+ .masonry-overlay img {
22127
+ width: 100%;
22128
+ display: block;
22129
+ transition: transform 200ms ease-in-out;
22130
+ }
22131
+ .masonry-overlay:hover img {
22132
+ transform: scale(1.05);
22133
+ }
22134
+
22135
+ .masonry-overlay-content {
22136
+ position: absolute;
22137
+ inset: 0;
22138
+ display: flex;
22139
+ flex-direction: column;
22140
+ justify-content: flex-end;
22141
+ padding: 1rem;
22142
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
22143
+ color: var(--white);
22144
+ opacity: 0;
22145
+ transition: opacity 200ms ease-in-out;
22146
+ }
22147
+
22148
+ .masonry-overlay:hover .masonry-overlay-content {
22149
+ opacity: 1;
22150
+ }
22151
+
22152
+ .masonry-loading .masonry-item {
22153
+ animation: masonry-fade-in 0.3s ease-out forwards;
22154
+ opacity: 0;
22155
+ }
22156
+
22157
+ @keyframes masonry-fade-in {
22158
+ from {
22159
+ opacity: 0;
22160
+ transform: translateY(10px);
22161
+ }
22162
+ to {
22163
+ opacity: 1;
22164
+ transform: translateY(0);
22165
+ }
22166
+ }
22167
+ .masonry-item:nth-child(1) {
22168
+ animation-delay: 0ms;
22169
+ }
22170
+
22171
+ .masonry-item:nth-child(2) {
22172
+ animation-delay: 50ms;
22173
+ }
22174
+
22175
+ .masonry-item:nth-child(3) {
22176
+ animation-delay: 100ms;
22177
+ }
22178
+
22179
+ .masonry-item:nth-child(4) {
22180
+ animation-delay: 150ms;
22181
+ }
22182
+
22183
+ .masonry-item:nth-child(5) {
22184
+ animation-delay: 200ms;
22185
+ }
22186
+
22187
+ .masonry-item:nth-child(6) {
22188
+ animation-delay: 250ms;
22189
+ }
22190
+
22191
+ .masonry-item:nth-child(7) {
22192
+ animation-delay: 300ms;
22193
+ }
22194
+
22195
+ .masonry-item:nth-child(8) {
22196
+ animation-delay: 350ms;
22197
+ }
22198
+
22199
+ .masonry-item:nth-child(9) {
22200
+ animation-delay: 400ms;
22201
+ }
22202
+
22203
+ .masonry-item:nth-child(10) {
22204
+ animation-delay: 450ms;
22205
+ }
22206
+
22207
+ [data-theme=dark] .masonry-card {
22208
+ background-color: var(--gray-800);
22209
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
22210
+ }
22211
+ [data-theme=dark] .masonry-card:hover {
22212
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
22213
+ }
22214
+
22215
+ .splitter {
22216
+ display: flex;
22217
+ width: 100%;
22218
+ height: 100%;
22219
+ overflow: hidden;
22220
+ }
22221
+
22222
+ .splitter-horizontal {
22223
+ flex-direction: row;
22224
+ }
22225
+
22226
+ .splitter-vertical {
22227
+ flex-direction: column;
22228
+ }
22229
+
22230
+ .splitter-panel {
22231
+ overflow: auto;
22232
+ position: relative;
22233
+ }
22234
+
22235
+ .splitter-panel-content {
22236
+ width: 100%;
22237
+ height: 100%;
22238
+ overflow: auto;
22239
+ }
22240
+
22241
+ .splitter-gutter {
22242
+ flex-shrink: 0;
22243
+ background-color: var(--gray-100);
22244
+ position: relative;
22245
+ transition: background-color 150ms ease-in-out;
22246
+ }
22247
+ .splitter-gutter:hover {
22248
+ background-color: var(--gray-200);
22249
+ }
22250
+ .splitter-gutter:active {
22251
+ background-color: var(--primary-100);
22252
+ }
22253
+
22254
+ .splitter-horizontal > .splitter-gutter {
22255
+ width: 6px;
22256
+ cursor: col-resize;
22257
+ }
22258
+
22259
+ .splitter-vertical > .splitter-gutter {
22260
+ height: 6px;
22261
+ cursor: row-resize;
22262
+ }
22263
+
22264
+ .splitter-gutter-handle {
22265
+ position: absolute;
22266
+ top: 50%;
22267
+ left: 50%;
22268
+ transform: translate(-50%, -50%);
22269
+ }
22270
+
22271
+ .splitter-horizontal .splitter-gutter-handle {
22272
+ width: 4px;
22273
+ height: 24px;
22274
+ border-radius: 2px;
22275
+ background-color: var(--gray-400);
22276
+ }
22277
+
22278
+ .splitter-vertical .splitter-gutter-handle {
22279
+ width: 24px;
22280
+ height: 4px;
22281
+ border-radius: 2px;
22282
+ background-color: var(--gray-400);
22283
+ }
22284
+
22285
+ .splitter-gutter-dots {
22286
+ display: flex;
22287
+ gap: 3px;
22288
+ }
22289
+
22290
+ .splitter-horizontal .splitter-gutter-dots {
22291
+ flex-direction: column;
22292
+ }
22293
+
22294
+ .splitter-gutter-dots::before,
22295
+ .splitter-gutter-dots::after,
22296
+ .splitter-gutter-dots span {
22297
+ width: 4px;
22298
+ height: 4px;
22299
+ background-color: var(--gray-400);
22300
+ border-radius: 50%;
22301
+ content: "";
22302
+ }
22303
+
22304
+ .splitter-gutter-sm.splitter-horizontal > .splitter-gutter {
22305
+ width: 4px;
22306
+ }
22307
+ .splitter-gutter-sm.splitter-vertical > .splitter-gutter {
22308
+ height: 4px;
22309
+ }
22310
+
22311
+ .splitter-gutter-lg.splitter-horizontal > .splitter-gutter {
22312
+ width: 10px;
22313
+ }
22314
+ .splitter-gutter-lg.splitter-vertical > .splitter-gutter {
22315
+ height: 10px;
22316
+ }
22317
+
22318
+ .splitter-minimal .splitter-gutter {
22319
+ background-color: transparent;
22320
+ }
22321
+ .splitter-minimal .splitter-gutter::after {
22322
+ content: "";
22323
+ position: absolute;
22324
+ background-color: var(--border);
22325
+ transition: background-color 150ms ease-in-out;
22326
+ }
22327
+ .splitter-minimal .splitter-gutter:hover::after {
22328
+ background-color: var(--primary);
22329
+ }
22330
+
22331
+ .splitter-minimal.splitter-horizontal .splitter-gutter::after {
22332
+ left: 50%;
22333
+ top: 0;
22334
+ bottom: 0;
22335
+ width: 1px;
22336
+ transform: translateX(-50%);
22337
+ }
22338
+
22339
+ .splitter-minimal.splitter-vertical .splitter-gutter::after {
22340
+ top: 50%;
22341
+ left: 0;
22342
+ right: 0;
22343
+ height: 1px;
22344
+ transform: translateY(-50%);
22345
+ }
22346
+
22347
+ .splitter-bordered .splitter-gutter {
22348
+ background-color: var(--bg);
22349
+ border: 1px solid var(--border);
22350
+ }
22351
+
22352
+ .splitter-bordered.splitter-horizontal .splitter-gutter {
22353
+ border-top: none;
22354
+ border-bottom: none;
22355
+ }
22356
+
22357
+ .splitter-bordered.splitter-vertical .splitter-gutter {
22358
+ border-left: none;
22359
+ border-right: none;
22360
+ }
22361
+
22362
+ .splitter-dragging {
22363
+ user-select: none;
22364
+ }
22365
+
22366
+ .splitter-dragging .splitter-gutter {
22367
+ background-color: var(--primary-100);
22368
+ }
22369
+
22370
+ .splitter-dragging .splitter-gutter-handle,
22371
+ .splitter-dragging .splitter-gutter-dots::before,
22372
+ .splitter-dragging .splitter-gutter-dots::after,
22373
+ .splitter-dragging .splitter-gutter-dots span {
22374
+ background-color: var(--primary);
22375
+ }
22376
+
22377
+ .splitter-disabled .splitter-gutter {
22378
+ cursor: default;
22379
+ pointer-events: none;
22380
+ opacity: 0.5;
22381
+ }
22382
+
22383
+ .splitter-collapse {
22384
+ position: absolute;
22385
+ top: 50%;
22386
+ left: 50%;
22387
+ transform: translate(-50%, -50%);
22388
+ display: flex;
22389
+ align-items: center;
22390
+ justify-content: center;
22391
+ width: 20px;
22392
+ height: 20px;
22393
+ background-color: var(--bg);
22394
+ border: 1px solid var(--border);
22395
+ border-radius: 50%;
22396
+ cursor: pointer;
22397
+ z-index: 10;
22398
+ transition: all 150ms ease-in-out;
22399
+ }
22400
+ .splitter-collapse:hover {
22401
+ background-color: var(--gray-100);
22402
+ border-color: var(--primary);
22403
+ }
22404
+ .splitter-collapse svg {
22405
+ width: 12px;
22406
+ height: 12px;
22407
+ color: var(--text-muted);
22408
+ transition: transform 150ms ease-in-out;
22409
+ }
22410
+
22411
+ .splitter-panel-collapsed + .splitter-gutter .splitter-collapse svg {
22412
+ transform: rotate(180deg);
22413
+ }
22414
+
22415
+ .splitter-panel-collapsed {
22416
+ flex: 0 0 0 !important;
22417
+ min-width: 0 !important;
22418
+ min-height: 0 !important;
22419
+ overflow: hidden;
22420
+ opacity: 0;
22421
+ transition: flex 200ms ease-in-out, opacity 200ms ease-in-out;
22422
+ }
22423
+
22424
+ .splitter-nested {
22425
+ width: 100%;
22426
+ height: 100%;
22427
+ }
22428
+
22429
+ .splitter-panel-bordered {
22430
+ border: 1px solid var(--border);
22431
+ }
22432
+ .splitter-panel-bordered:first-child {
22433
+ border-radius: 0.375rem 0 0 0.375rem;
22434
+ }
22435
+ .splitter-panel-bordered:last-child {
22436
+ border-radius: 0 0.375rem 0.375rem 0;
22437
+ }
22438
+
22439
+ .splitter-vertical .splitter-panel-bordered:first-child {
22440
+ border-radius: 0.375rem 0.375rem 0 0;
22441
+ }
22442
+ .splitter-vertical .splitter-panel-bordered:last-child {
22443
+ border-radius: 0 0 0.375rem 0.375rem;
22444
+ }
22445
+
22446
+ .splitter-gutter.at-min .splitter-gutter-handle,
22447
+ .splitter-gutter.at-max .splitter-gutter-handle {
22448
+ background-color: var(--warning);
22449
+ }
22450
+
22451
+ .splitter-layout-sidebar .splitter-panel:first-child {
22452
+ flex: 0 0 250px;
22453
+ min-width: 200px;
22454
+ max-width: 400px;
22455
+ }
22456
+ .splitter-layout-sidebar .splitter-panel:last-child {
22457
+ flex: 1;
22458
+ }
22459
+
22460
+ .splitter-layout-equal .splitter-panel {
22461
+ flex: 1;
22462
+ }
22463
+
22464
+ .splitter-layout-main-detail .splitter-panel:first-child {
22465
+ flex: 2;
22466
+ }
22467
+ .splitter-layout-main-detail .splitter-panel:last-child {
22468
+ flex: 1;
22469
+ min-width: 300px;
22470
+ }
22471
+
22472
+ .splitter-full-height {
22473
+ height: 100vh;
22474
+ }
22475
+
22476
+ .splitter-container {
22477
+ height: 100%;
22478
+ display: flex;
22479
+ flex-direction: column;
22480
+ }
22481
+
22482
+ .splitter-header {
22483
+ flex-shrink: 0;
22484
+ padding: 0.75rem 1rem;
22485
+ background-color: var(--gray-50);
22486
+ border-bottom: 1px solid var(--border);
22487
+ font-weight: 500;
22488
+ }
22489
+
22490
+ .splitter-body {
22491
+ flex: 1;
22492
+ overflow: auto;
22493
+ }
22494
+
22495
+ [data-theme=dark] .splitter-gutter {
22496
+ background-color: var(--gray-800);
22497
+ }
22498
+ [data-theme=dark] .splitter-gutter:hover {
22499
+ background-color: var(--gray-700);
22500
+ }
22501
+ [data-theme=dark] .splitter-gutter:active {
22502
+ background-color: rgba(79, 70, 229, 0.2);
22503
+ }
22504
+ [data-theme=dark] .splitter-gutter-handle,
22505
+ [data-theme=dark] .splitter-gutter-dots::before,
22506
+ [data-theme=dark] .splitter-gutter-dots::after,
22507
+ [data-theme=dark] .splitter-gutter-dots span {
22508
+ background-color: var(--gray-500);
22509
+ }
22510
+ [data-theme=dark] .splitter-minimal .splitter-gutter::after {
22511
+ background-color: var(--gray-700);
22512
+ }
22513
+ [data-theme=dark] .splitter-bordered .splitter-gutter {
22514
+ background-color: var(--gray-900);
22515
+ border-color: var(--gray-700);
22516
+ }
22517
+ [data-theme=dark] .splitter-collapse {
22518
+ background-color: var(--gray-800);
22519
+ border-color: var(--gray-600);
22520
+ }
22521
+ [data-theme=dark] .splitter-collapse:hover {
22522
+ background-color: var(--gray-700);
22523
+ }
22524
+ [data-theme=dark] .splitter-panel-bordered {
22525
+ border-color: var(--gray-700);
22526
+ }
22527
+ [data-theme=dark] .splitter-header {
22528
+ background-color: var(--gray-800);
22529
+ border-color: var(--gray-700);
22530
+ }
22531
+
22532
+ .cmd-palette-overlay {
22533
+ position: fixed;
22534
+ inset: 0;
22535
+ background-color: rgba(0, 0, 0, 0.5);
22536
+ backdrop-filter: blur(4px);
22537
+ -webkit-backdrop-filter: blur(4px);
22538
+ z-index: 9999;
22539
+ display: flex;
22540
+ align-items: flex-start;
22541
+ justify-content: center;
22542
+ padding-top: 15vh;
22543
+ opacity: 0;
22544
+ visibility: hidden;
22545
+ transition: opacity 150ms ease-in-out, visibility 150ms ease-in-out;
22546
+ }
22547
+
22548
+ .cmd-palette-overlay.open {
22549
+ opacity: 1;
22550
+ visibility: visible;
22551
+ }
22552
+
22553
+ .cmd-palette {
22554
+ width: 100%;
22555
+ max-width: 640px;
22556
+ max-height: 70vh;
22557
+ background-color: var(--bg);
22558
+ border-radius: 0.75rem;
22559
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
22560
+ overflow: hidden;
22561
+ display: flex;
22562
+ flex-direction: column;
22563
+ transform: scale(0.95) translateY(-10px);
22564
+ opacity: 0;
22565
+ transition: transform 150ms ease-in-out, opacity 150ms ease-in-out;
22566
+ }
22567
+
22568
+ .cmd-palette-overlay.open .cmd-palette {
22569
+ transform: scale(1) translateY(0);
22570
+ opacity: 1;
22571
+ }
22572
+
22573
+ .cmd-palette-header {
22574
+ display: flex;
22575
+ align-items: center;
22576
+ padding: 0.75rem 1rem;
22577
+ border-bottom: 1px solid var(--border);
22578
+ gap: 0.75rem;
22579
+ }
22580
+
22581
+ .cmd-palette-icon {
22582
+ flex-shrink: 0;
22583
+ width: 1.25rem;
22584
+ height: 1.25rem;
22585
+ color: var(--text-muted);
22586
+ }
22587
+
22588
+ .cmd-palette-input {
22589
+ flex: 1;
22590
+ border: none;
22591
+ background: transparent;
22592
+ font-size: 1rem;
22593
+ color: var(--text);
22594
+ outline: none;
22595
+ }
22596
+ .cmd-palette-input::placeholder {
22597
+ color: var(--text-muted);
22598
+ }
22599
+
22600
+ .cmd-palette-shortcut {
22601
+ display: flex;
22602
+ align-items: center;
22603
+ gap: 0.25rem;
22604
+ }
22605
+
22606
+ .cmd-palette-kbd {
22607
+ display: inline-flex;
22608
+ align-items: center;
22609
+ justify-content: center;
22610
+ min-width: 1.5rem;
22611
+ padding: 0.125rem 0.375rem;
22612
+ font-size: var(--text-xs);
22613
+ font-family: var(--font-mono);
22614
+ color: var(--text-muted);
22615
+ background-color: var(--gray-100);
22616
+ border: 1px solid var(--gray-300);
22617
+ border-radius: 0.25rem;
22618
+ }
22619
+
22620
+ .cmd-palette-body {
22621
+ flex: 1;
22622
+ overflow-y: auto;
22623
+ padding: 0.5rem;
22624
+ }
22625
+
22626
+ .cmd-group {
22627
+ margin-bottom: 0.5rem;
22628
+ }
22629
+
22630
+ .cmd-group-title {
22631
+ padding: 0.5rem 0.75rem;
22632
+ font-size: var(--text-xs);
22633
+ font-weight: 500;
22634
+ color: var(--text-muted);
22635
+ text-transform: uppercase;
22636
+ letter-spacing: 0.05em;
22637
+ }
22638
+
22639
+ .cmd-item {
22640
+ display: flex;
22641
+ align-items: center;
22642
+ padding: 0.625rem 0.75rem;
22643
+ border-radius: 0.375rem;
22644
+ cursor: pointer;
22645
+ transition: background-color 150ms ease-in-out;
22646
+ gap: 0.75rem;
22647
+ }
22648
+ .cmd-item:hover, .cmd-item.highlighted {
22649
+ background-color: var(--gray-100);
22650
+ }
22651
+ .cmd-item.selected {
22652
+ background-color: var(--primary-50);
22653
+ }
22654
+
22655
+ .cmd-item-icon {
22656
+ flex-shrink: 0;
22657
+ width: 1.25rem;
22658
+ height: 1.25rem;
22659
+ color: var(--text-muted);
22660
+ }
22661
+
22662
+ .cmd-item-content {
22663
+ flex: 1;
22664
+ min-width: 0;
22665
+ }
22666
+
22667
+ .cmd-item-title {
22668
+ font-size: var(--text-sm);
22669
+ font-weight: 500;
22670
+ color: var(--text);
22671
+ white-space: nowrap;
22672
+ overflow: hidden;
22673
+ text-overflow: ellipsis;
22674
+ }
22675
+
22676
+ .cmd-item-description {
22677
+ font-size: var(--text-xs);
22678
+ color: var(--text-muted);
22679
+ white-space: nowrap;
22680
+ overflow: hidden;
22681
+ text-overflow: ellipsis;
22682
+ }
22683
+
22684
+ .cmd-item-shortcut {
22685
+ flex-shrink: 0;
22686
+ display: flex;
22687
+ gap: 0.25rem;
22688
+ }
22689
+
22690
+ .cmd-item-badge {
22691
+ flex-shrink: 0;
22692
+ padding: 0.125rem 0.5rem;
22693
+ font-size: var(--text-xs);
22694
+ background-color: var(--gray-100);
22695
+ border-radius: 999px;
22696
+ color: var(--text-muted);
22697
+ }
22698
+
22699
+ .cmd-highlight {
22700
+ background-color: var(--warning-100);
22701
+ color: var(--warning-700);
22702
+ border-radius: 2px;
22703
+ padding: 0 2px;
22704
+ }
22705
+
22706
+ .cmd-empty {
22707
+ padding: 2rem 1rem;
22708
+ text-align: center;
22709
+ color: var(--text-muted);
22710
+ }
22711
+
22712
+ .cmd-empty-icon {
22713
+ width: 3rem;
22714
+ height: 3rem;
22715
+ margin: 0 auto 0.75rem;
22716
+ opacity: 0.5;
22717
+ }
22718
+
22719
+ .cmd-empty-title {
22720
+ font-weight: 500;
22721
+ margin-bottom: 0.25rem;
22722
+ }
22723
+
22724
+ .cmd-empty-text {
22725
+ font-size: var(--text-sm);
22726
+ }
22727
+
22728
+ .cmd-loading {
22729
+ display: flex;
22730
+ align-items: center;
22731
+ justify-content: center;
22732
+ padding: 2rem;
22733
+ gap: 0.5rem;
22734
+ color: var(--text-muted);
22735
+ }
22736
+
22737
+ .cmd-loading-spinner {
22738
+ width: 1rem;
22739
+ height: 1rem;
22740
+ border: 2px solid var(--gray-300);
22741
+ border-top-color: var(--primary);
22742
+ border-radius: 50%;
22743
+ animation: spin 0.6s linear infinite;
22744
+ }
22745
+
22746
+ .cmd-palette-footer {
22747
+ display: flex;
22748
+ align-items: center;
22749
+ justify-content: space-between;
22750
+ padding: 0.5rem 1rem;
22751
+ border-top: 1px solid var(--border);
22752
+ background-color: var(--gray-50);
22753
+ font-size: var(--text-xs);
22754
+ color: var(--text-muted);
22755
+ }
22756
+
22757
+ .cmd-footer-actions {
22758
+ display: flex;
22759
+ gap: 1rem;
22760
+ }
22761
+
22762
+ .cmd-footer-action {
22763
+ display: flex;
22764
+ align-items: center;
22765
+ gap: 0.375rem;
22766
+ }
22767
+
22768
+ .cmd-breadcrumb {
22769
+ display: flex;
22770
+ align-items: center;
22771
+ padding: 0.5rem 0.75rem;
22772
+ gap: 0.25rem;
22773
+ font-size: var(--text-sm);
22774
+ color: var(--text-muted);
22775
+ }
22776
+
22777
+ .cmd-breadcrumb-item {
22778
+ display: flex;
22779
+ align-items: center;
22780
+ gap: 0.25rem;
22781
+ cursor: pointer;
22782
+ }
22783
+ .cmd-breadcrumb-item:hover {
22784
+ color: var(--primary);
22785
+ }
22786
+
22787
+ .cmd-breadcrumb-separator {
22788
+ color: var(--gray-400);
22789
+ }
22790
+
22791
+ .cmd-back {
22792
+ display: flex;
22793
+ align-items: center;
22794
+ padding: 0.5rem 0.75rem;
22795
+ gap: 0.5rem;
22796
+ font-size: var(--text-sm);
22797
+ color: var(--text-muted);
22798
+ cursor: pointer;
22799
+ border-bottom: 1px solid var(--border);
22800
+ }
22801
+ .cmd-back:hover {
22802
+ background-color: var(--gray-50);
22803
+ color: var(--text);
22804
+ }
22805
+
22806
+ .cmd-recent {
22807
+ display: flex;
22808
+ align-items: center;
22809
+ gap: 0.375rem;
22810
+ }
22811
+
22812
+ .cmd-recent-indicator {
22813
+ width: 0.375rem;
22814
+ height: 0.375rem;
22815
+ background-color: var(--primary);
22816
+ border-radius: 50%;
22817
+ }
22818
+
22819
+ .cmd-palette-sm {
22820
+ max-width: 480px;
22821
+ }
22822
+
22823
+ .cmd-palette-lg {
22824
+ max-width: 800px;
22825
+ }
22826
+
22827
+ [data-theme=dark] .cmd-palette-overlay {
22828
+ background-color: rgba(0, 0, 0, 0.7);
22829
+ }
22830
+ [data-theme=dark] .cmd-palette {
22831
+ background-color: var(--gray-900);
22832
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
22833
+ }
22834
+ [data-theme=dark] .cmd-palette-header {
22835
+ border-color: var(--gray-700);
22836
+ }
22837
+ [data-theme=dark] .cmd-palette-kbd {
22838
+ background-color: var(--gray-800);
22839
+ border-color: var(--gray-600);
22840
+ color: var(--gray-400);
22841
+ }
22842
+ [data-theme=dark] .cmd-item:hover,
22843
+ [data-theme=dark] .cmd-item.highlighted {
22844
+ background-color: var(--gray-800);
22845
+ }
22846
+ [data-theme=dark] .cmd-item.selected {
22847
+ background-color: rgba(79, 70, 229, 0.2);
22848
+ }
22849
+ [data-theme=dark] .cmd-item-badge {
22850
+ background-color: var(--gray-800);
22851
+ }
22852
+ [data-theme=dark] .cmd-highlight {
22853
+ background-color: rgba(245, 158, 11, 0.2);
22854
+ color: var(--warning-300);
22855
+ }
22856
+ [data-theme=dark] .cmd-palette-footer {
22857
+ background-color: var(--gray-800);
22858
+ border-color: var(--gray-700);
22859
+ }
22860
+ [data-theme=dark] .cmd-back {
22861
+ border-color: var(--gray-700);
22862
+ }
22863
+ [data-theme=dark] .cmd-back:hover {
22864
+ background-color: var(--gray-800);
22865
+ }
22866
+
22867
+ .speed-dial {
22868
+ position: fixed;
22869
+ z-index: 1000;
22870
+ display: flex;
22871
+ flex-direction: column;
22872
+ align-items: center;
22873
+ }
22874
+
22875
+ .speed-dial-bottom-right {
22876
+ bottom: 1.5rem;
22877
+ right: 1.5rem;
22878
+ }
22879
+
22880
+ .speed-dial-bottom-left {
22881
+ bottom: 1.5rem;
22882
+ left: 1.5rem;
22883
+ }
22884
+
22885
+ .speed-dial-top-right {
22886
+ top: 1.5rem;
22887
+ right: 1.5rem;
22888
+ flex-direction: column-reverse;
22889
+ }
22890
+
22891
+ .speed-dial-top-left {
22892
+ top: 1.5rem;
22893
+ left: 1.5rem;
22894
+ flex-direction: column-reverse;
22895
+ }
22896
+
22897
+ .speed-dial-trigger {
22898
+ display: flex;
22899
+ align-items: center;
22900
+ justify-content: center;
22901
+ width: 3.5rem;
22902
+ height: 3.5rem;
22903
+ background-color: var(--primary);
22904
+ color: var(--white);
22905
+ border: none;
22906
+ border-radius: 50%;
22907
+ cursor: pointer;
22908
+ box-shadow: 0 4px 12px rgba(79, 70, 229, 0.4);
22909
+ transition: all 200ms ease-in-out;
22910
+ z-index: 10;
22911
+ }
22912
+ .speed-dial-trigger:hover {
22913
+ background-color: var(--primary-600);
22914
+ transform: scale(1.05);
22915
+ }
22916
+ .speed-dial-trigger:focus {
22917
+ outline: none;
22918
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.3), 0 4px 12px rgba(79, 70, 229, 0.4);
22919
+ }
22920
+ .speed-dial-trigger svg {
22921
+ width: 1.5rem;
22922
+ height: 1.5rem;
22923
+ transition: transform 200ms ease-in-out;
22924
+ }
22925
+
22926
+ .speed-dial.open .speed-dial-trigger svg {
22927
+ transform: rotate(45deg);
22928
+ }
22929
+
22930
+ .speed-dial-actions {
22931
+ display: flex;
22932
+ flex-direction: column;
22933
+ align-items: center;
22934
+ gap: 0.75rem;
22935
+ margin-bottom: 0.75rem;
22936
+ opacity: 0;
22937
+ visibility: hidden;
22938
+ transform: translateY(10px);
22939
+ transition: all 200ms ease-in-out;
22940
+ }
22941
+
22942
+ .speed-dial.open .speed-dial-actions {
22943
+ opacity: 1;
22944
+ visibility: visible;
22945
+ transform: translateY(0);
22946
+ }
22947
+
22948
+ .speed-dial-top-right .speed-dial-actions,
22949
+ .speed-dial-top-left .speed-dial-actions {
22950
+ margin-bottom: 0;
22951
+ margin-top: 0.75rem;
22952
+ transform: translateY(-10px);
22953
+ }
22954
+
22955
+ .speed-dial-top-right.open .speed-dial-actions,
22956
+ .speed-dial-top-left.open .speed-dial-actions {
22957
+ transform: translateY(0);
22958
+ }
22959
+
22960
+ .speed-dial-action {
22961
+ position: relative;
22962
+ display: flex;
22963
+ align-items: center;
22964
+ justify-content: center;
22965
+ width: 2.75rem;
22966
+ height: 2.75rem;
22967
+ background-color: var(--bg);
22968
+ color: var(--text);
22969
+ border: none;
22970
+ border-radius: 50%;
22971
+ cursor: pointer;
22972
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
22973
+ transition: all 150ms ease-in-out;
22974
+ opacity: 0;
22975
+ transform: scale(0.5);
22976
+ }
22977
+ .speed-dial-action:hover {
22978
+ background-color: var(--gray-100);
22979
+ transform: scale(1.1);
22980
+ }
22981
+ .speed-dial-action:focus {
22982
+ outline: none;
22983
+ box-shadow: 0 0 0 2px var(--primary-200), 0 2px 8px rgba(0, 0, 0, 0.15);
22984
+ }
22985
+ .speed-dial-action svg {
22986
+ width: 1.25rem;
22987
+ height: 1.25rem;
22988
+ }
22989
+
22990
+ .speed-dial.open .speed-dial-action {
22991
+ opacity: 1;
22992
+ transform: scale(1);
22993
+ }
22994
+
22995
+ .speed-dial-action:nth-child(1) {
22996
+ transition-delay: 0ms;
22997
+ }
22998
+
22999
+ .speed-dial-action:nth-child(2) {
23000
+ transition-delay: 30ms;
23001
+ }
23002
+
23003
+ .speed-dial-action:nth-child(3) {
23004
+ transition-delay: 60ms;
23005
+ }
23006
+
23007
+ .speed-dial-action:nth-child(4) {
23008
+ transition-delay: 90ms;
23009
+ }
23010
+
23011
+ .speed-dial-action:nth-child(5) {
23012
+ transition-delay: 120ms;
23013
+ }
23014
+
23015
+ .speed-dial-action:nth-child(6) {
23016
+ transition-delay: 150ms;
23017
+ }
23018
+
23019
+ .speed-dial-tooltip {
23020
+ position: absolute;
23021
+ right: calc(100% + 0.75rem);
23022
+ top: 50%;
23023
+ transform: translateY(-50%);
23024
+ padding: 0.375rem 0.75rem;
23025
+ background-color: var(--gray-900);
23026
+ color: var(--white);
23027
+ font-size: var(--text-xs);
23028
+ font-weight: 500;
23029
+ white-space: nowrap;
23030
+ border-radius: 0.375rem;
23031
+ opacity: 0;
23032
+ visibility: hidden;
23033
+ transition: opacity 150ms ease-in-out;
23034
+ pointer-events: none;
23035
+ }
23036
+ .speed-dial-tooltip::after {
23037
+ content: "";
23038
+ position: absolute;
23039
+ right: -4px;
23040
+ top: 50%;
23041
+ transform: translateY(-50%);
23042
+ border: 4px solid transparent;
23043
+ border-left-color: var(--gray-900);
23044
+ }
23045
+
23046
+ .speed-dial-action:hover .speed-dial-tooltip {
23047
+ opacity: 1;
23048
+ visibility: visible;
23049
+ }
23050
+
23051
+ .speed-dial-bottom-left .speed-dial-tooltip,
23052
+ .speed-dial-top-left .speed-dial-tooltip {
23053
+ left: calc(100% + 0.75rem);
23054
+ right: auto;
23055
+ }
23056
+ .speed-dial-bottom-left .speed-dial-tooltip::after,
23057
+ .speed-dial-top-left .speed-dial-tooltip::after {
23058
+ left: -4px;
23059
+ right: auto;
23060
+ border-left-color: transparent;
23061
+ border-right-color: var(--gray-900);
23062
+ }
23063
+
23064
+ .speed-dial-horizontal {
23065
+ flex-direction: row;
23066
+ }
23067
+ .speed-dial-horizontal .speed-dial-actions {
23068
+ flex-direction: row;
23069
+ margin-bottom: 0;
23070
+ margin-right: 0.75rem;
23071
+ transform: translateX(10px);
23072
+ }
23073
+ .speed-dial-horizontal.open .speed-dial-actions {
23074
+ transform: translateX(0);
23075
+ }
23076
+ .speed-dial-horizontal .speed-dial-tooltip {
23077
+ top: auto;
23078
+ bottom: calc(100% + 0.75rem);
23079
+ left: 50%;
23080
+ right: auto;
23081
+ transform: translateX(-50%);
23082
+ }
23083
+ .speed-dial-horizontal .speed-dial-tooltip::after {
23084
+ top: auto;
23085
+ bottom: -4px;
23086
+ left: 50%;
23087
+ right: auto;
23088
+ transform: translateX(-50%);
23089
+ border: 4px solid transparent;
23090
+ border-top-color: var(--gray-900);
23091
+ }
23092
+
23093
+ .speed-dial-horizontal.speed-dial-bottom-right,
23094
+ .speed-dial-horizontal.speed-dial-top-right {
23095
+ flex-direction: row-reverse;
23096
+ }
23097
+ .speed-dial-horizontal.speed-dial-bottom-right .speed-dial-actions,
23098
+ .speed-dial-horizontal.speed-dial-top-right .speed-dial-actions {
23099
+ margin-right: 0;
23100
+ margin-left: 0.75rem;
23101
+ transform: translateX(-10px);
23102
+ }
23103
+ .speed-dial-horizontal.speed-dial-bottom-right.open .speed-dial-actions,
23104
+ .speed-dial-horizontal.speed-dial-top-right.open .speed-dial-actions {
23105
+ transform: translateX(0);
23106
+ }
23107
+
23108
+ .speed-dial-sm .speed-dial-trigger {
23109
+ width: 2.75rem;
23110
+ height: 2.75rem;
23111
+ }
23112
+ .speed-dial-sm .speed-dial-trigger svg {
23113
+ width: 1.25rem;
23114
+ height: 1.25rem;
23115
+ }
23116
+ .speed-dial-sm .speed-dial-action {
23117
+ width: 2.25rem;
23118
+ height: 2.25rem;
23119
+ }
23120
+ .speed-dial-sm .speed-dial-action svg {
23121
+ width: 1rem;
23122
+ height: 1rem;
23123
+ }
23124
+
23125
+ .speed-dial-lg .speed-dial-trigger {
23126
+ width: 4rem;
23127
+ height: 4rem;
23128
+ }
23129
+ .speed-dial-lg .speed-dial-trigger svg {
23130
+ width: 1.75rem;
23131
+ height: 1.75rem;
23132
+ }
23133
+ .speed-dial-lg .speed-dial-action {
23134
+ width: 3.25rem;
23135
+ height: 3.25rem;
23136
+ }
23137
+ .speed-dial-lg .speed-dial-action svg {
23138
+ width: 1.5rem;
23139
+ height: 1.5rem;
23140
+ }
23141
+
23142
+ .speed-dial-secondary .speed-dial-trigger {
23143
+ background-color: var(--gray-600);
23144
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
23145
+ }
23146
+ .speed-dial-secondary .speed-dial-trigger:hover {
23147
+ background-color: var(--gray-700);
23148
+ }
23149
+
23150
+ .speed-dial-success .speed-dial-trigger {
23151
+ background-color: var(--success);
23152
+ box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
23153
+ }
23154
+ .speed-dial-success .speed-dial-trigger:hover {
23155
+ background-color: var(--success-600);
23156
+ }
23157
+
23158
+ .speed-dial-danger .speed-dial-trigger {
23159
+ background-color: var(--danger);
23160
+ box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
23161
+ }
23162
+ .speed-dial-danger .speed-dial-trigger:hover {
23163
+ background-color: var(--danger-600);
23164
+ }
23165
+
23166
+ .speed-dial-action-primary {
23167
+ background-color: var(--primary) !important;
23168
+ color: var(--white) !important;
23169
+ }
23170
+ .speed-dial-action-primary:hover {
23171
+ background-color: var(--primary-600) !important;
23172
+ }
23173
+
23174
+ .speed-dial-action-success {
23175
+ background-color: var(--success) !important;
23176
+ color: var(--white) !important;
23177
+ }
23178
+
23179
+ .speed-dial-action-danger {
23180
+ background-color: var(--danger) !important;
23181
+ color: var(--white) !important;
23182
+ }
23183
+
23184
+ .speed-dial-action-warning {
23185
+ background-color: var(--warning) !important;
23186
+ color: var(--gray-900) !important;
23187
+ }
23188
+
23189
+ .speed-dial-backdrop {
23190
+ position: fixed;
23191
+ inset: 0;
23192
+ background-color: rgba(0, 0, 0, 0.3);
23193
+ opacity: 0;
23194
+ visibility: hidden;
23195
+ transition: opacity 200ms ease-in-out;
23196
+ z-index: 999;
23197
+ }
23198
+
23199
+ .speed-dial.open ~ .speed-dial-backdrop,
23200
+ .speed-dial.open .speed-dial-backdrop {
23201
+ opacity: 1;
23202
+ visibility: visible;
23203
+ }
23204
+
23205
+ [data-theme=dark] .speed-dial-action {
23206
+ background-color: var(--gray-800);
23207
+ color: var(--gray-100);
23208
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
23209
+ }
23210
+ [data-theme=dark] .speed-dial-action:hover {
23211
+ background-color: var(--gray-700);
23212
+ }
23213
+ [data-theme=dark] .speed-dial-tooltip {
23214
+ background-color: var(--gray-700);
23215
+ }
23216
+ [data-theme=dark] .speed-dial-tooltip::after {
23217
+ border-left-color: var(--gray-700);
23218
+ }
23219
+ [data-theme=dark] .speed-dial-bottom-left .speed-dial-tooltip::after,
23220
+ [data-theme=dark] .speed-dial-top-left .speed-dial-tooltip::after {
23221
+ border-left-color: transparent;
23222
+ border-right-color: var(--gray-700);
23223
+ }
23224
+ [data-theme=dark] .speed-dial-horizontal .speed-dial-tooltip::after {
23225
+ border-top-color: var(--gray-700);
23226
+ }
23227
+
23228
+ .bottom-nav {
23229
+ position: fixed;
23230
+ bottom: 0;
23231
+ left: 0;
23232
+ right: 0;
23233
+ display: flex;
23234
+ align-items: stretch;
23235
+ justify-content: space-around;
23236
+ background-color: var(--bg);
23237
+ border-top: 1px solid var(--border);
23238
+ z-index: 1000;
23239
+ padding-bottom: env(safe-area-inset-bottom, 0);
23240
+ }
23241
+
23242
+ .bottom-nav-item {
23243
+ display: flex;
23244
+ flex-direction: column;
23245
+ align-items: center;
23246
+ justify-content: center;
23247
+ flex: 1;
23248
+ min-width: 0;
23249
+ padding: 0.5rem 0.25rem;
23250
+ color: var(--text-muted);
23251
+ text-decoration: none;
23252
+ background: transparent;
23253
+ border: none;
23254
+ cursor: pointer;
23255
+ transition: color 150ms ease-in-out;
23256
+ -webkit-tap-highlight-color: transparent;
23257
+ }
23258
+ .bottom-nav-item:hover {
23259
+ color: var(--text);
23260
+ }
23261
+ .bottom-nav-item:focus {
23262
+ outline: none;
23263
+ }
23264
+ .bottom-nav-item:focus-visible {
23265
+ outline: 2px solid var(--primary);
23266
+ outline-offset: -2px;
23267
+ }
23268
+
23269
+ .bottom-nav-item.active {
23270
+ color: var(--primary);
23271
+ }
23272
+
23273
+ .bottom-nav-icon {
23274
+ display: flex;
23275
+ align-items: center;
23276
+ justify-content: center;
23277
+ width: 1.5rem;
23278
+ height: 1.5rem;
23279
+ margin-bottom: 0.125rem;
23280
+ transition: transform 150ms ease-in-out;
23281
+ }
23282
+ .bottom-nav-icon svg {
23283
+ width: 100%;
23284
+ height: 100%;
23285
+ }
23286
+
23287
+ .bottom-nav-item:active .bottom-nav-icon {
23288
+ transform: scale(0.9);
23289
+ }
23290
+
23291
+ .bottom-nav-item.active .bottom-nav-icon {
23292
+ transform: scale(1.1);
23293
+ }
23294
+
23295
+ .bottom-nav-label {
23296
+ font-size: 0.625rem;
23297
+ font-weight: 500;
23298
+ white-space: nowrap;
23299
+ overflow: hidden;
23300
+ text-overflow: ellipsis;
23301
+ max-width: 100%;
23302
+ transition: opacity 150ms ease-in-out;
23303
+ }
23304
+
23305
+ .bottom-nav-badge {
23306
+ position: absolute;
23307
+ top: 0.25rem;
23308
+ right: 50%;
23309
+ transform: translateX(1rem);
23310
+ min-width: 1rem;
23311
+ height: 1rem;
23312
+ padding: 0 0.25rem;
23313
+ font-size: 0.625rem;
23314
+ font-weight: 600;
23315
+ line-height: 1rem;
23316
+ text-align: center;
23317
+ color: var(--white);
23318
+ background-color: var(--danger);
23319
+ border-radius: 999px;
23320
+ }
23321
+
23322
+ .bottom-nav-badge-dot {
23323
+ min-width: 0.5rem;
23324
+ height: 0.5rem;
23325
+ padding: 0;
23326
+ }
23327
+
23328
+ .bottom-nav-item {
23329
+ position: relative;
23330
+ }
23331
+
23332
+ .bottom-nav-icons-only .bottom-nav-label {
23333
+ display: none;
23334
+ }
23335
+ .bottom-nav-icons-only .bottom-nav-icon {
23336
+ width: 1.75rem;
23337
+ height: 1.75rem;
23338
+ margin-bottom: 0;
23339
+ }
23340
+
23341
+ .bottom-nav-labels-active .bottom-nav-label {
23342
+ opacity: 0;
23343
+ height: 0;
23344
+ margin: 0;
23345
+ }
23346
+ .bottom-nav-labels-active .bottom-nav-item.active .bottom-nav-label {
23347
+ opacity: 1;
23348
+ height: auto;
23349
+ }
23350
+
23351
+ .bottom-nav-shifting .bottom-nav-item {
23352
+ flex: 1;
23353
+ transition: flex 200ms ease-in-out;
23354
+ }
23355
+ .bottom-nav-shifting .bottom-nav-item.active {
23356
+ flex: 1.5;
23357
+ }
23358
+ .bottom-nav-shifting .bottom-nav-label {
23359
+ opacity: 0;
23360
+ max-width: 0;
23361
+ }
23362
+ .bottom-nav-shifting .bottom-nav-item.active .bottom-nav-label {
23363
+ opacity: 1;
23364
+ max-width: 100%;
23365
+ }
23366
+
23367
+ .bottom-nav-sm .bottom-nav-item {
23368
+ padding: 0.375rem 0.25rem;
23369
+ }
23370
+ .bottom-nav-sm .bottom-nav-icon {
23371
+ width: 1.25rem;
23372
+ height: 1.25rem;
23373
+ }
23374
+ .bottom-nav-sm .bottom-nav-label {
23375
+ font-size: 0.5625rem;
23376
+ }
23377
+
23378
+ .bottom-nav-lg .bottom-nav-item {
23379
+ padding: 0.75rem 0.5rem;
23380
+ }
23381
+ .bottom-nav-lg .bottom-nav-icon {
23382
+ width: 1.75rem;
23383
+ height: 1.75rem;
23384
+ }
23385
+ .bottom-nav-lg .bottom-nav-label {
23386
+ font-size: 0.75rem;
23387
+ }
23388
+
23389
+ .bottom-nav-indicator {
23390
+ position: relative;
23391
+ }
23392
+
23393
+ .bottom-nav-indicator .bottom-nav-item.active::before {
23394
+ content: "";
23395
+ position: absolute;
23396
+ top: 0;
23397
+ left: 50%;
23398
+ transform: translateX(-50%);
23399
+ width: 2rem;
23400
+ height: 2px;
23401
+ background-color: var(--primary);
23402
+ border-radius: 0 0 2px 2px;
23403
+ }
23404
+
23405
+ .bottom-nav-dot .bottom-nav-item.active::after {
23406
+ content: "";
23407
+ position: absolute;
23408
+ bottom: 0.25rem;
23409
+ left: 50%;
23410
+ transform: translateX(-50%);
23411
+ width: 4px;
23412
+ height: 4px;
23413
+ background-color: var(--primary);
23414
+ border-radius: 50%;
23415
+ }
23416
+
23417
+ .bottom-nav-bg-indicator .bottom-nav-item.active {
23418
+ background-color: var(--primary-50);
23419
+ border-radius: 0.375rem;
23420
+ margin: 0.25rem;
23421
+ padding: 0.375rem 0.5rem;
23422
+ }
23423
+
23424
+ .bottom-nav-with-fab .bottom-nav-item:nth-child(3) {
23425
+ visibility: hidden;
23426
+ }
23427
+
23428
+ .bottom-nav-fab {
23429
+ position: absolute;
23430
+ top: -1.5rem;
23431
+ left: 50%;
23432
+ transform: translateX(-50%);
23433
+ display: flex;
23434
+ align-items: center;
23435
+ justify-content: center;
23436
+ width: 3.5rem;
23437
+ height: 3.5rem;
23438
+ background-color: var(--primary);
23439
+ color: var(--white);
23440
+ border: none;
23441
+ border-radius: 50%;
23442
+ cursor: pointer;
23443
+ box-shadow: 0 4px 12px rgba(79, 70, 229, 0.4);
23444
+ transition: all 200ms ease-in-out;
23445
+ }
23446
+ .bottom-nav-fab:hover {
23447
+ background-color: var(--primary-600);
23448
+ transform: translateX(-50%) scale(1.05);
23449
+ }
23450
+ .bottom-nav-fab svg {
23451
+ width: 1.5rem;
23452
+ height: 1.5rem;
23453
+ }
23454
+
23455
+ .bottom-nav-primary {
23456
+ background-color: var(--primary);
23457
+ border-top-color: var(--primary-600);
23458
+ }
23459
+ .bottom-nav-primary .bottom-nav-item {
23460
+ color: rgba(255, 255, 255, 0.7);
23461
+ }
23462
+ .bottom-nav-primary .bottom-nav-item:hover {
23463
+ color: var(--white);
23464
+ }
23465
+ .bottom-nav-primary .bottom-nav-item.active {
23466
+ color: var(--white);
23467
+ }
23468
+ .bottom-nav-primary .bottom-nav-indicator .bottom-nav-item.active::before {
23469
+ background-color: var(--white);
23470
+ }
23471
+
23472
+ .bottom-nav-dark {
23473
+ background-color: var(--gray-900);
23474
+ border-top-color: var(--gray-800);
23475
+ }
23476
+ .bottom-nav-dark .bottom-nav-item {
23477
+ color: var(--gray-500);
23478
+ }
23479
+ .bottom-nav-dark .bottom-nav-item:hover {
23480
+ color: var(--gray-300);
23481
+ }
23482
+ .bottom-nav-dark .bottom-nav-item.active {
23483
+ color: var(--white);
23484
+ }
23485
+
23486
+ .bottom-nav-shadow {
23487
+ border-top: none;
23488
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
23489
+ }
23490
+
23491
+ .bottom-nav-blur {
23492
+ background-color: rgba(255, 255, 255, 0.8);
23493
+ backdrop-filter: blur(10px);
23494
+ -webkit-backdrop-filter: blur(10px);
23495
+ }
23496
+
23497
+ .bottom-nav-hide {
23498
+ transform: translateY(100%);
23499
+ transition: transform 200ms ease-in-out;
23500
+ }
23501
+
23502
+ .bottom-nav-show {
23503
+ transform: translateY(0);
23504
+ }
23505
+
23506
+ .has-bottom-nav {
23507
+ padding-bottom: 4rem;
23508
+ }
23509
+
23510
+ .has-bottom-nav-sm {
23511
+ padding-bottom: 3.5rem;
23512
+ }
23513
+
23514
+ .has-bottom-nav-lg {
23515
+ padding-bottom: 5rem;
23516
+ }
23517
+
23518
+ @media (min-width: 768px) {
23519
+ .bottom-nav-mobile-only {
23520
+ display: none;
23521
+ }
23522
+ }
23523
+ [data-theme=dark] .bottom-nav {
23524
+ background-color: var(--gray-900);
23525
+ border-top-color: var(--gray-800);
23526
+ }
23527
+ [data-theme=dark] .bottom-nav-item {
23528
+ color: var(--gray-500);
23529
+ }
23530
+ [data-theme=dark] .bottom-nav-item:hover {
23531
+ color: var(--gray-300);
23532
+ }
23533
+ [data-theme=dark] .bottom-nav-item.active {
23534
+ color: var(--primary-300);
23535
+ }
23536
+ [data-theme=dark] .bottom-nav-blur {
23537
+ background-color: rgba(17, 24, 39, 0.8);
23538
+ }
23539
+ [data-theme=dark] .bottom-nav-bg-indicator .bottom-nav-item.active {
23540
+ background-color: rgba(79, 70, 229, 0.2);
23541
+ }
23542
+ [data-theme=dark] .bottom-nav-shadow {
23543
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
23544
+ }
23545
+
19824
23546
  .accordion {
19825
23547
  --accordion-color: var(--text);
19826
23548
  --accordion-bg: transparent;