bosun 0.28.2 → 0.28.4

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.
@@ -1,23 +1,21 @@
1
- /* ─── Component Styles — Mission Control ─── */
1
+ /* ─── Component Styles — iOS-style Clean Design ─── */
2
2
 
3
3
  /* ─── Cards ─── */
4
4
  .card {
5
5
  background: var(--bg-card);
6
- background-image: linear-gradient(180deg, var(--surface-2), transparent 70%);
7
- border-radius: var(--radius-lg);
6
+ border-radius: var(--radius-md);
8
7
  padding: var(--space-md);
9
8
  border: 1px solid var(--border);
10
- box-shadow: var(--shadow-sm), var(--shadow-inset);
11
- margin-bottom: var(--space-md, 12px);
12
- transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
9
+ margin-bottom: 12px;
10
+ transition: background 0.15s ease, border-color 0.15s ease;
13
11
  position: relative;
14
12
  overflow: hidden;
13
+ min-width: 0;
15
14
  }
16
15
 
17
16
  .card:hover {
18
17
  background: var(--bg-card-hover);
19
18
  border-color: var(--border-strong);
20
- box-shadow: var(--shadow-md), 0 0 20px rgba(59, 130, 246, 0.08);
21
19
  }
22
20
 
23
21
  .card-title {
@@ -144,7 +142,6 @@
144
142
  .stat-card:hover {
145
143
  border-color: var(--border-strong);
146
144
  background: var(--bg-card-hover);
147
- box-shadow: var(--shadow-md);
148
145
  }
149
146
 
150
147
  .stat-value {
@@ -387,12 +384,10 @@
387
384
  .btn-primary {
388
385
  background: var(--accent);
389
386
  color: var(--accent-text);
390
- box-shadow: var(--shadow-sm), 0 0 14px rgba(59, 130, 246, 0.28);
391
387
  }
392
388
 
393
389
  .btn-primary:hover {
394
390
  background: var(--accent-hover);
395
- box-shadow: var(--shadow-md), 0 0 18px rgba(59, 130, 246, 0.35);
396
391
  }
397
392
 
398
393
  .btn-secondary {
@@ -404,7 +399,6 @@
404
399
  .btn-secondary:hover {
405
400
  border-color: var(--border-strong);
406
401
  background: var(--bg-card-hover);
407
- box-shadow: var(--shadow-sm);
408
402
  }
409
403
 
410
404
  .btn-ghost {
@@ -477,7 +471,7 @@
477
471
 
478
472
  .input:focus {
479
473
  border-color: var(--accent);
480
- box-shadow: 0 0 0 3px var(--accent-subtle), var(--shadow-glow-sm);
474
+ box-shadow: 0 0 0 3px var(--accent-subtle);
481
475
  }
482
476
 
483
477
  .input-error {
@@ -978,7 +972,7 @@ select.input {
978
972
  align-items: center;
979
973
  justify-content: center;
980
974
  border: none;
981
- background: var(--glass-bg, rgba(255,255,255,0.06));
975
+ background: var(--bg-card);
982
976
  border-radius: var(--radius-full, 50%);
983
977
  color: var(--text-secondary);
984
978
  cursor: pointer;
@@ -987,7 +981,7 @@ select.input {
987
981
  }
988
982
 
989
983
  .modal-close-btn:hover {
990
- background: var(--bg-card-hover, rgba(255,255,255,0.12));
984
+ background: var(--bg-card-hover);
991
985
  color: var(--text-bright);
992
986
  }
993
987
 
@@ -1017,7 +1011,7 @@ select.input {
1017
1011
  font-size: 13px;
1018
1012
  font-weight: 500;
1019
1013
  color: #fff;
1020
- backdrop-filter: blur(12px);
1014
+ backdrop-filter: blur(8px);
1021
1015
  box-shadow: 0 4px 16px rgba(0,0,0,0.3);
1022
1016
  animation: toastIn 0.3s ease, toastOut 0.3s ease 2.7s forwards;
1023
1017
  display: flex;
@@ -1266,12 +1260,11 @@ select.input {
1266
1260
  display: flex;
1267
1261
  align-items: center;
1268
1262
  justify-content: center;
1269
- background: var(--gradient-accent);
1263
+ background: var(--accent);
1270
1264
  color: var(--accent-text);
1271
1265
  font-size: 14px;
1272
1266
  font-weight: 600;
1273
1267
  flex-shrink: 0;
1274
- box-shadow: var(--shadow-glow-sm);
1275
1268
  }
1276
1269
 
1277
1270
  .avatar-initials {
@@ -1893,13 +1886,11 @@ select.input {
1893
1886
  justify-content: center;
1894
1887
  gap: var(--space-xs, 4px);
1895
1888
  padding: var(--space-md, 14px) var(--space-sm, 8px);
1896
- background: var(--glass-bg);
1897
- backdrop-filter: blur(8px);
1898
- -webkit-backdrop-filter: blur(8px);
1889
+ background: var(--bg-card);
1899
1890
  border-radius: var(--radius-md);
1900
- border: 1px solid var(--glass-border);
1891
+ border: 1px solid var(--border);
1901
1892
  cursor: pointer;
1902
- transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
1893
+ transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
1903
1894
  -webkit-tap-highlight-color: transparent;
1904
1895
  font-family: inherit;
1905
1896
  }
@@ -1910,8 +1901,8 @@ select.input {
1910
1901
  }
1911
1902
 
1912
1903
  .quick-action-btn:hover {
1913
- box-shadow: var(--shadow-glow-sm);
1914
- border-color: var(--border-glow);
1904
+ border-color: var(--border-strong);
1905
+ background: var(--bg-card-hover);
1915
1906
  }
1916
1907
 
1917
1908
  .quick-action-btn:focus-visible {
@@ -1944,30 +1935,14 @@ select.input {
1944
1935
  gap: 8px;
1945
1936
  padding: 16px 20px;
1946
1937
  border-radius: var(--radius-lg);
1947
- background: linear-gradient(
1948
- 140deg,
1949
- rgba(59, 130, 246, 0.16) 0%,
1950
- rgba(139, 92, 246, 0.10) 55%,
1951
- rgba(16, 185, 129, 0.06) 100%
1952
- );
1953
- border: 1px solid rgba(59, 130, 246, 0.24);
1954
- box-shadow: var(--shadow-sm), 0 0 28px rgba(59, 130, 246, 0.07);
1955
- backdrop-filter: blur(14px);
1956
- -webkit-backdrop-filter: blur(14px);
1938
+ background: var(--bg-card);
1939
+ border: 1px solid var(--border);
1957
1940
  position: relative;
1958
1941
  overflow: hidden;
1959
1942
  }
1960
1943
 
1961
1944
  .dashboard-header::before {
1962
- content: "";
1963
- position: absolute;
1964
- top: -50px;
1965
- right: -30px;
1966
- width: 190px;
1967
- height: 190px;
1968
- border-radius: 50%;
1969
- background: radial-gradient(circle, rgba(59, 130, 246, 0.13), transparent 70%);
1970
- pointer-events: none;
1945
+ display: none;
1971
1946
  }
1972
1947
 
1973
1948
  .dashboard-eyebrow {
@@ -2301,11 +2276,9 @@ select.input {
2301
2276
  padding: 11px 14px;
2302
2277
  border-radius: 14px;
2303
2278
  border: 1px solid var(--border);
2304
- background: var(--glass-bg);
2305
- backdrop-filter: blur(6px);
2306
- -webkit-backdrop-filter: blur(6px);
2279
+ background: var(--bg-card);
2307
2280
  cursor: pointer;
2308
- transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
2281
+ transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
2309
2282
  text-align: left;
2310
2283
  position: relative;
2311
2284
  overflow: hidden;
@@ -2331,7 +2304,7 @@ select.input {
2331
2304
 
2332
2305
  .dashboard-action-btn:hover {
2333
2306
  border-color: var(--border-strong);
2334
- box-shadow: var(--shadow-md);
2307
+ background: var(--bg-card-hover);
2335
2308
  transform: translateY(-1px);
2336
2309
  }
2337
2310
 
@@ -2533,11 +2506,9 @@ select.input {
2533
2506
  left: 0;
2534
2507
  right: 0;
2535
2508
  background: var(--bg-elevated);
2536
- backdrop-filter: blur(20px);
2537
- -webkit-backdrop-filter: blur(20px);
2538
- border: 1px solid var(--glass-border);
2509
+ border: 1px solid var(--border);
2539
2510
  border-radius: var(--radius-md);
2540
- box-shadow: var(--shadow-lg), var(--shadow-glow-sm);
2511
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
2541
2512
  z-index: 50;
2542
2513
  max-height: 200px;
2543
2514
  overflow-y: auto;
@@ -2563,7 +2534,7 @@ select.input {
2563
2534
  }
2564
2535
 
2565
2536
  .cmd-history-item:not(:last-child) {
2566
- border-bottom: 1px solid var(--glass-border);
2537
+ border-bottom: 1px solid var(--border);
2567
2538
  }
2568
2539
 
2569
2540
  /* ─── Health Dot (Infra) ─── */
@@ -2580,7 +2551,6 @@ select.input {
2580
2551
  .task-card-selected {
2581
2552
  border-color: var(--accent);
2582
2553
  background: rgba(59, 130, 246, 0.06);
2583
- box-shadow: var(--shadow-glow-sm);
2584
2554
  }
2585
2555
 
2586
2556
  .task-card-expanded {
@@ -2601,13 +2571,11 @@ select.input {
2601
2571
 
2602
2572
  /* ─── Batch Action Bar ─── */
2603
2573
  .batch-action-bar {
2604
- background: var(--glass-bg);
2605
- backdrop-filter: blur(12px);
2606
- -webkit-backdrop-filter: blur(12px);
2574
+ background: var(--bg-card);
2607
2575
  border-radius: var(--radius-md);
2608
2576
  padding: var(--space-sm, 8px) var(--space-md, 12px);
2609
2577
  align-items: center;
2610
- border: 1px solid var(--glass-border);
2578
+ border: 1px solid var(--border);
2611
2579
  }
2612
2580
 
2613
2581
  /* ─── Sticky Search ─── */
@@ -2619,7 +2587,6 @@ select.input {
2619
2587
  padding: 8px 0 12px;
2620
2588
  margin-bottom: var(--space-sm, 8px);
2621
2589
  border-bottom: 1px solid var(--border);
2622
- backdrop-filter: blur(10px);
2623
2590
  }
2624
2591
 
2625
2592
  .sticky-search-row {
@@ -2701,7 +2668,6 @@ select.input {
2701
2668
 
2702
2669
  .filter-toggle.active {
2703
2670
  border-color: var(--accent);
2704
- box-shadow: var(--shadow-glow-sm);
2705
2671
  }
2706
2672
 
2707
2673
  .filter-count {
@@ -2720,8 +2686,8 @@ select.input {
2720
2686
  }
2721
2687
 
2722
2688
  .tasks-filter-panel {
2723
- background: var(--glass-bg);
2724
- border: 1px solid var(--glass-border);
2689
+ background: var(--bg-card);
2690
+ border: 1px solid var(--border);
2725
2691
  border-radius: var(--radius-md);
2726
2692
  padding: 10px 12px;
2727
2693
  overflow: hidden;
@@ -2858,7 +2824,6 @@ select.input {
2858
2824
  padding: 8px 0 10px;
2859
2825
  margin-bottom: 8px;
2860
2826
  border-bottom: 1px solid var(--border);
2861
- backdrop-filter: blur(10px);
2862
2827
  }
2863
2828
 
2864
2829
  /* ─── Control Unit (sticky) ─── */
@@ -3035,10 +3000,8 @@ select.input {
3035
3000
  /* ─── ConfirmDialog ─── */
3036
3001
  .confirm-dialog {
3037
3002
  background: var(--bg-elevated);
3038
- backdrop-filter: blur(24px);
3039
- -webkit-backdrop-filter: blur(24px);
3040
3003
  border-radius: var(--radius-xl);
3041
- border: 1px solid var(--glass-border);
3004
+ border: 1px solid var(--border);
3042
3005
  width: calc(100% - 48px);
3043
3006
  max-width: 340px;
3044
3007
  padding: 24px;
@@ -3079,9 +3042,9 @@ select.input {
3079
3042
  }
3080
3043
 
3081
3044
  .confirm-dialog-actions .btn-secondary {
3082
- background: var(--glass-bg);
3045
+ background: var(--bg-card);
3083
3046
  color: var(--text-primary);
3084
- border: 1px solid var(--glass-border);
3047
+ border: 1px solid var(--border);
3085
3048
  }
3086
3049
 
3087
3050
  .confirm-dialog-actions .btn-destructive {
@@ -3153,7 +3116,7 @@ select.input {
3153
3116
  }
3154
3117
 
3155
3118
  .fleet-overview-card {
3156
- background-image: radial-gradient(circle at top left, rgba(59, 130, 246, 0.12), transparent 55%);
3119
+ /* clean no gradient */
3157
3120
  }
3158
3121
 
3159
3122
  .fleet-hero {
@@ -3286,7 +3249,7 @@ select.input {
3286
3249
  }
3287
3250
 
3288
3251
  .control-hero {
3289
- background-image: radial-gradient(circle at top right, rgba(59, 130, 246, 0.12), transparent 55%);
3252
+ /* clean no gradient */
3290
3253
  }
3291
3254
 
3292
3255
  .control-hero-header {
@@ -3382,13 +3345,12 @@ select.input {
3382
3345
  bottom: 100%;
3383
3346
  left: 0;
3384
3347
  right: 0;
3385
- background: var(--glass-bg, rgba(15, 23, 42, 0.9));
3386
- border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.08));
3348
+ background: var(--bg-elevated);
3349
+ border: 1px solid var(--border);
3387
3350
  border-radius: 12px;
3388
3351
  max-height: 240px;
3389
3352
  overflow-y: auto;
3390
3353
  z-index: 50;
3391
- backdrop-filter: blur(12px);
3392
3354
  }
3393
3355
 
3394
3356
  .cmd-dropdown-item {
@@ -3529,3 +3491,277 @@ select.input {
3529
3491
  margin-right: 6px;
3530
3492
  font-size: 1.1em;
3531
3493
  }
3494
+
3495
+ /* ═══════════════════════════════════════════════
3496
+ * Snapshot Bar (replaces Work Summary card)
3497
+ * ═══════════════════════════════════════════════ */
3498
+
3499
+ .snapshot-bar {
3500
+ display: flex;
3501
+ align-items: center;
3502
+ gap: 4px;
3503
+ flex-wrap: wrap;
3504
+ padding: 6px 10px;
3505
+ background: var(--bg-card);
3506
+ border: 1px solid var(--border);
3507
+ border-radius: var(--radius-md);
3508
+ margin-bottom: 10px;
3509
+ font-size: 12px;
3510
+ min-height: 36px;
3511
+ }
3512
+
3513
+ .snapshot-pill {
3514
+ display: inline-flex;
3515
+ align-items: center;
3516
+ gap: 5px;
3517
+ padding: 2px 8px 2px 6px;
3518
+ border-radius: 99px;
3519
+ background: var(--surface-1);
3520
+ border: 1px solid var(--border);
3521
+ white-space: nowrap;
3522
+ user-select: none;
3523
+ }
3524
+
3525
+ .snapshot-dot {
3526
+ display: inline-block;
3527
+ width: 8px;
3528
+ height: 8px;
3529
+ border-radius: 50%;
3530
+ flex-shrink: 0;
3531
+ }
3532
+
3533
+ .snapshot-val {
3534
+ font-variant-numeric: tabular-nums;
3535
+ font-weight: 600;
3536
+ color: var(--text-primary);
3537
+ }
3538
+
3539
+ .snapshot-lbl {
3540
+ color: var(--text-muted);
3541
+ font-size: 11px;
3542
+ }
3543
+
3544
+ .snapshot-view-tag {
3545
+ margin-left: auto;
3546
+ font-size: 11px;
3547
+ color: var(--text-hint);
3548
+ padding: 2px 6px;
3549
+ border-radius: 4px;
3550
+ background: var(--surface-1);
3551
+ border: 1px solid var(--border);
3552
+ white-space: nowrap;
3553
+ }
3554
+
3555
+ /* ═══════════════════════════════════════════════
3556
+ * Task Table (Jira-style list mode)
3557
+ * ═══════════════════════════════════════════════ */
3558
+
3559
+ .task-table-wrap {
3560
+ overflow-x: auto;
3561
+ margin-bottom: 8px;
3562
+ border-radius: var(--radius-md);
3563
+ border: 1px solid var(--border);
3564
+ background: var(--bg-card);
3565
+ }
3566
+
3567
+ .task-table {
3568
+ width: 100%;
3569
+ border-collapse: collapse;
3570
+ font-size: 13px;
3571
+ table-layout: fixed;
3572
+ }
3573
+
3574
+ /* Column widths via header cells */
3575
+ .task-th:nth-child(1) { width: 120px; } /* Status */
3576
+ .task-th:nth-child(2) { width: 76px; } /* Priority */
3577
+ .task-th:nth-child(3) { } /* Title — flex grows */
3578
+ .task-th:nth-child(4) { width: 140px; } /* Branch */
3579
+ .task-th:nth-child(5) { width: 110px; } /* Repo */
3580
+ .task-th:nth-child(6) { width: 90px; } /* Updated */
3581
+
3582
+ .task-th {
3583
+ padding: 9px 12px;
3584
+ text-align: left;
3585
+ font-size: 11px;
3586
+ font-weight: 600;
3587
+ letter-spacing: 0.06em;
3588
+ text-transform: uppercase;
3589
+ color: var(--text-hint);
3590
+ background: var(--surface-1);
3591
+ border-bottom: 1px solid var(--border);
3592
+ cursor: pointer;
3593
+ white-space: nowrap;
3594
+ user-select: none;
3595
+ transition: color 0.1s, background 0.1s;
3596
+ }
3597
+
3598
+ .task-th:hover {
3599
+ color: var(--text-primary);
3600
+ background: var(--bg-card-hover);
3601
+ }
3602
+
3603
+ .task-th-active {
3604
+ color: var(--accent);
3605
+ }
3606
+
3607
+ .task-th-grow {
3608
+ width: auto;
3609
+ }
3610
+
3611
+ .task-th-arrow {
3612
+ font-size: 10px;
3613
+ opacity: 0.5;
3614
+ margin-left: 2px;
3615
+ }
3616
+
3617
+ .task-th-arrow.active {
3618
+ opacity: 1;
3619
+ color: var(--accent);
3620
+ }
3621
+
3622
+ .task-tr {
3623
+ cursor: pointer;
3624
+ transition: background 0.1s;
3625
+ border-bottom: 1px solid var(--border);
3626
+ }
3627
+
3628
+ .task-tr:last-child {
3629
+ border-bottom: none;
3630
+ }
3631
+
3632
+ .task-tr:hover {
3633
+ background: var(--bg-card-hover);
3634
+ }
3635
+
3636
+ .task-tr[data-status="inprogress"] {
3637
+ border-left: 3px solid var(--color-inprogress);
3638
+ }
3639
+ .task-tr[data-status="inreview"] {
3640
+ border-left: 3px solid var(--color-inreview);
3641
+ }
3642
+ .task-tr[data-status="done"],
3643
+ .task-tr[data-status="completed"] {
3644
+ border-left: 3px solid var(--color-done);
3645
+ opacity: 0.75;
3646
+ }
3647
+ .task-tr[data-status="error"],
3648
+ .task-tr[data-status="failed"] {
3649
+ border-left: 3px solid var(--color-error);
3650
+ }
3651
+ .task-tr[data-status="todo"] {
3652
+ border-left: 3px solid var(--color-todo);
3653
+ }
3654
+
3655
+ .task-tr-selected {
3656
+ background: var(--accent-subtle) !important;
3657
+ }
3658
+
3659
+ .task-td {
3660
+ padding: 8px 12px;
3661
+ vertical-align: middle;
3662
+ overflow: hidden;
3663
+ text-overflow: ellipsis;
3664
+ white-space: nowrap;
3665
+ color: var(--text-primary);
3666
+ }
3667
+
3668
+ .task-td-status {
3669
+ display: table-cell;
3670
+ white-space: nowrap;
3671
+ }
3672
+
3673
+ .task-td-title {
3674
+ white-space: normal;
3675
+ }
3676
+
3677
+ .task-td-title-text {
3678
+ font-weight: 500;
3679
+ line-height: 1.35;
3680
+ color: var(--text-primary);
3681
+ word-break: break-word;
3682
+ }
3683
+
3684
+ .task-td-id {
3685
+ font-size: 10px;
3686
+ color: var(--text-hint);
3687
+ margin-top: 2px;
3688
+ font-family: var(--font-mono, monospace);
3689
+ }
3690
+
3691
+ .task-td-branch .task-td-code,
3692
+ .task-td-code {
3693
+ font-family: var(--font-mono, monospace);
3694
+ font-size: 11px;
3695
+ background: var(--surface-1);
3696
+ border: 1px solid var(--border);
3697
+ border-radius: 4px;
3698
+ padding: 1px 5px;
3699
+ max-width: 150px;
3700
+ display: inline-block;
3701
+ overflow: hidden;
3702
+ text-overflow: ellipsis;
3703
+ white-space: nowrap;
3704
+ vertical-align: middle;
3705
+ }
3706
+
3707
+ .task-td-repo {
3708
+ font-size: 12px;
3709
+ color: var(--text-muted);
3710
+ }
3711
+
3712
+ .task-td-date {
3713
+ font-size: 11px;
3714
+ color: var(--text-hint);
3715
+ white-space: nowrap;
3716
+ }
3717
+
3718
+ .task-td-updated {
3719
+ white-space: nowrap;
3720
+ }
3721
+
3722
+ .task-td-empty {
3723
+ color: var(--text-hint);
3724
+ font-size: 12px;
3725
+ }
3726
+
3727
+ @media (max-width: 640px) {
3728
+ .task-td-branch,
3729
+ .task-td-repo {
3730
+ display: none;
3731
+ }
3732
+
3733
+ .task-th:nth-child(4),
3734
+ .task-th:nth-child(5) {
3735
+ display: none;
3736
+ }
3737
+ }
3738
+
3739
+ /* ═══════════════════════════════════════════════
3740
+ * Workspace Manager modal toolbar
3741
+ * ═══════════════════════════════════════════════ */
3742
+
3743
+ .ws-manager-modal-toolbar {
3744
+ display: flex;
3745
+ justify-content: flex-end;
3746
+ margin-bottom: 12px;
3747
+ }
3748
+
3749
+ /* ═══════════════════════════════════════════════
3750
+ * Plan chips + inline count
3751
+ * ═══════════════════════════════════════════════ */
3752
+
3753
+ .plan-chips {
3754
+ display: flex;
3755
+ flex-wrap: wrap;
3756
+ gap: 6px;
3757
+ }
3758
+
3759
+ .plan-count-input {
3760
+ display: inline-block;
3761
+ width: 3.2rem;
3762
+ padding: 1px 6px;
3763
+ margin: 0 4px;
3764
+ text-align: center;
3765
+ vertical-align: baseline;
3766
+ font-size: inherit;
3767
+ }
@@ -35,16 +35,14 @@ body.kanban-dragging .kanban-card {
35
35
  flex: 1 1 280px;
36
36
  display: flex;
37
37
  flex-direction: column;
38
- background: var(--glass-bg);
39
- backdrop-filter: blur(12px);
40
- -webkit-backdrop-filter: blur(12px);
38
+ background: var(--bg-card);
41
39
  border-radius: var(--radius-lg, 12px);
42
40
  padding: 14px;
43
41
  /* Use the Telegram stable viewport height, not raw 100vh which Telegram
44
42
  overrides — prevents columns being too short or clipped on the web app */
45
43
  max-height: calc(var(--viewport-stable-height, 100vh) - 180px);
46
44
  position: relative;
47
- border: 1px solid var(--glass-border);
45
+ border: 1px solid var(--border);
48
46
  }
49
47
 
50
48
  .kanban-column.drag-over {
@@ -71,12 +69,12 @@ body.kanban-dragging .kanban-card {
71
69
  }
72
70
 
73
71
  .kanban-count {
74
- background: var(--glass-bg, rgba(255, 255, 255, 0.1));
72
+ background: var(--surface-1);
75
73
  padding: 2px 8px;
76
74
  border-radius: var(--radius-full, 999px);
77
75
  font-size: 12px;
78
76
  font-weight: 500;
79
- border: 1px solid var(--glass-border, transparent);
77
+ border: 1px solid var(--border);
80
78
  }
81
79
 
82
80
  .kanban-add-btn {
@@ -139,20 +137,17 @@ body.kanban-dragging .kanban-card {
139
137
  }
140
138
 
141
139
  .kanban-card {
142
- background: var(--glass-bg);
143
- backdrop-filter: blur(8px);
144
- -webkit-backdrop-filter: blur(8px);
145
- border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.06));
140
+ background: var(--bg-card);
141
+ border: 1px solid var(--border);
146
142
  border-radius: var(--radius-md, 8px);
147
143
  padding: 14px;
148
144
  cursor: pointer;
149
- transition: border-color 0.15s, box-shadow 0.15s, opacity 0.15s, transform 0.15s;
145
+ transition: border-color 0.15s, opacity 0.15s, transform 0.15s;
150
146
  touch-action: pan-y;
151
147
  }
152
148
 
153
149
  .kanban-card:hover {
154
- border-color: var(--border-glow);
155
- box-shadow: var(--shadow-glow-sm);
150
+ border-color: var(--border-strong);
156
151
  transform: translateY(-1px);
157
152
  }
158
153
 
@@ -278,7 +273,7 @@ body.kanban-dragging .kanban-card {
278
273
  .kanban-scroll-fade {
279
274
  height: 16px;
280
275
  flex-shrink: 0;
281
- background: linear-gradient(to top, var(--glass-bg), transparent);
276
+ background: linear-gradient(to top, var(--bg-card), transparent);
282
277
  border-radius: 0 0 var(--radius-lg, 12px) var(--radius-lg, 12px);
283
278
  pointer-events: none;
284
279
  margin: 0 -12px -12px;
@@ -368,7 +363,6 @@ body.kanban-dragging .kanban-card {
368
363
  }
369
364
 
370
365
  .view-toggle-btn.active {
371
- background: var(--gradient-accent);
366
+ background: var(--accent);
372
367
  color: var(--accent-text);
373
- box-shadow: var(--shadow-glow-sm);
374
368
  }