claude-code-kanban 4.4.0 → 4.6.0

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/public/style.css CHANGED
@@ -18,16 +18,22 @@
18
18
  --accent-text: #f0a070;
19
19
  --accent-dim: rgba(232, 111, 51, 0.22);
20
20
  --accent-glow: rgba(232, 111, 51, 0.55);
21
+ --gold: #d9b667;
21
22
  --success: #3ecf8e;
22
23
  --success-dim: rgba(62, 207, 142, 0.18);
23
24
  --warning: #f0b429;
24
25
  --warning-dim: rgba(240, 180, 41, 0.18);
26
+ --danger: #ef5350;
27
+ --danger-dim: rgba(239, 83, 80, 0.18);
25
28
  --team: #60a5fa;
26
29
  --team-dim: rgba(96, 165, 250, 0.18);
27
30
  --plan: #86a886;
28
31
  --plan-dim: rgba(134, 168, 134, 0.18);
29
32
  --mono: 'IBM Plex Mono', monospace;
30
33
  --serif: 'Playfair Display', serif;
34
+ /* aliases: many rules reference --font-mono/--font-serif; keep them on-brand */
35
+ --font-mono: var(--mono);
36
+ --font-serif: var(--serif);
31
37
  }
32
38
 
33
39
  * {
@@ -85,7 +91,7 @@ body::before {
85
91
  .sidebar {
86
92
  width: var(--sidebar-width, 300px);
87
93
  background: var(--bg-surface);
88
- border-right: 1px solid var(--border);
94
+ border-right: 1px solid color-mix(in srgb, var(--border) 35%, transparent);
89
95
  box-shadow: 1px 0 12px rgba(0, 0, 0, 0.04);
90
96
  display: flex;
91
97
  flex-direction: column;
@@ -510,7 +516,7 @@ body::before {
510
516
  color: var(--text-secondary);
511
517
  margin-top: 2px;
512
518
  display: block;
513
- font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
519
+ font-family: var(--mono);
514
520
  white-space: nowrap;
515
521
  overflow: hidden;
516
522
  text-overflow: ellipsis;
@@ -525,6 +531,24 @@ body::before {
525
531
  text-overflow: ellipsis;
526
532
  }
527
533
 
534
+ .session-goal {
535
+ font-size: 10px;
536
+ margin-top: 2px;
537
+ white-space: nowrap;
538
+ overflow: hidden;
539
+ text-overflow: ellipsis;
540
+ cursor: pointer;
541
+ color: var(--warning);
542
+ }
543
+ .session-goal .session-goal-icon {
544
+ margin-right: 3px;
545
+ font-weight: 700;
546
+ }
547
+ .session-goal:hover {
548
+ text-decoration: underline;
549
+ text-underline-offset: 2px;
550
+ }
551
+
528
552
  .session-item.plan-reveal {
529
553
  outline: 1.5px solid var(--plan);
530
554
  background: var(--plan-dim);
@@ -638,10 +662,10 @@ body::before {
638
662
  gap: 8px;
639
663
  }
640
664
  .detail-context-stats .stat-label {
641
- color: var(--text-tertiary);
665
+ color: var(--text-secondary);
642
666
  }
643
667
  .detail-context-stats .stat-value {
644
- color: var(--text-secondary);
668
+ color: var(--text-primary);
645
669
  }
646
670
  .detail-context-stats .stat-divider {
647
671
  grid-column: 1 / -1;
@@ -793,7 +817,7 @@ body::before {
793
817
 
794
818
  /* #region HEADER */
795
819
  .view-header {
796
- padding: 16px 24px;
820
+ padding: 12px 24px;
797
821
  border-bottom: 1px solid var(--border);
798
822
  background: var(--bg-surface);
799
823
  display: flex;
@@ -803,9 +827,11 @@ body::before {
803
827
 
804
828
  .view-title {
805
829
  font-family: var(--serif);
806
- font-size: 26px;
830
+ font-size: 20px;
807
831
  font-weight: 400;
808
832
  letter-spacing: -0.03em;
833
+ line-height: 1.15;
834
+ text-wrap: balance;
809
835
  display: flex;
810
836
  align-items: center;
811
837
  gap: 12px;
@@ -1000,12 +1026,12 @@ body::before {
1000
1026
 
1001
1027
  /* #region TASK_CARD */
1002
1028
  .task-card {
1003
- padding: 16px;
1004
- padding-left: 18px;
1029
+ padding: 10px 12px;
1030
+ padding-left: 14px;
1005
1031
  background: var(--bg-surface);
1006
1032
  border: 1px solid var(--border);
1007
1033
  border-left: 2px solid var(--text-muted);
1008
- border-radius: 8px;
1034
+ border-radius: 6px;
1009
1035
  cursor: pointer;
1010
1036
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1011
1037
  }
@@ -1049,18 +1075,18 @@ body::before {
1049
1075
  .task-card.selected,
1050
1076
  .task-card.selected:hover {
1051
1077
  background: var(--bg-elevated);
1052
- border-color: var(--team);
1053
- border-left: 2px solid var(--team);
1078
+ border-color: var(--accent);
1079
+ border-left: 2px solid var(--accent);
1054
1080
  box-shadow:
1055
- 0 0 0 1px var(--team-dim),
1056
- 0 0 12px var(--team-dim);
1081
+ 0 0 0 1px var(--accent-dim),
1082
+ 0 0 12px var(--accent-dim);
1057
1083
  opacity: 1;
1058
1084
  }
1059
1085
 
1060
1086
  .task-id {
1061
1087
  font-size: 11px;
1062
1088
  color: var(--text-muted);
1063
- margin-bottom: 6px;
1089
+ margin-bottom: 4px;
1064
1090
  display: flex;
1065
1091
  align-items: center;
1066
1092
  gap: 8px;
@@ -1081,9 +1107,9 @@ body::before {
1081
1107
  }
1082
1108
 
1083
1109
  .task-title {
1084
- font-size: 14px;
1110
+ font-size: 13px;
1085
1111
  color: var(--text-primary);
1086
- line-height: 1.4;
1112
+ line-height: 1.35;
1087
1113
  }
1088
1114
 
1089
1115
  .task-card.completed .task-title {
@@ -1094,15 +1120,15 @@ body::before {
1094
1120
  .task-session {
1095
1121
  font-size: 12px;
1096
1122
  color: var(--accent);
1097
- margin-top: 6px;
1123
+ margin-top: 4px;
1098
1124
  }
1099
1125
 
1100
1126
  .task-active {
1101
1127
  display: flex;
1102
1128
  align-items: center;
1103
1129
  gap: 6px;
1104
- margin-top: 10px;
1105
- padding-top: 10px;
1130
+ margin-top: 8px;
1131
+ padding-top: 8px;
1106
1132
  border-top: 1px solid var(--border);
1107
1133
  font-size: 11px;
1108
1134
  font-weight: 500;
@@ -1129,7 +1155,7 @@ body::before {
1129
1155
  font-size: 12px;
1130
1156
  font-weight: 450;
1131
1157
  color: var(--text-tertiary);
1132
- margin-top: 8px;
1158
+ margin-top: 6px;
1133
1159
  display: -webkit-box;
1134
1160
  -webkit-line-clamp: 2;
1135
1161
  -webkit-box-orient: vertical;
@@ -1146,7 +1172,7 @@ body::before {
1146
1172
  width: var(--detail-panel-width, 540px);
1147
1173
  height: 100vh;
1148
1174
  background: var(--bg-surface);
1149
- border-left: 1px solid var(--border);
1175
+ border-left: 1px solid color-mix(in srgb, var(--border) 35%, transparent);
1150
1176
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
1151
1177
  display: none;
1152
1178
  flex-direction: column;
@@ -1423,13 +1449,10 @@ body::before {
1423
1449
  font-size: 12px;
1424
1450
  }
1425
1451
 
1426
- .detail-desc pre code.hljs {
1427
- padding: 12px;
1428
- border-radius: 6px;
1429
- }
1430
-
1452
+ .detail-desc pre code.hljs,
1431
1453
  .detail-desc pre code {
1432
- background: var(--bg-elevated);
1454
+ background: color-mix(in srgb, var(--text-muted) 8%, transparent);
1455
+ border: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
1433
1456
  padding: 12px;
1434
1457
  border-radius: 6px;
1435
1458
  display: block;
@@ -1437,9 +1460,10 @@ body::before {
1437
1460
  }
1438
1461
 
1439
1462
  .detail-desc code {
1440
- background: var(--bg-elevated);
1441
- padding: 2px 6px;
1442
- border-radius: 3px;
1463
+ background: color-mix(in srgb, var(--text-muted) 12%, transparent);
1464
+ border: 1px solid color-mix(in srgb, var(--border) 45%, transparent);
1465
+ padding: 1px 5px;
1466
+ border-radius: 4px;
1443
1467
  font-size: 0.9em;
1444
1468
  }
1445
1469
 
@@ -1570,18 +1594,19 @@ body::before {
1570
1594
  align-items: center;
1571
1595
  justify-content: center;
1572
1596
  font-size: 11px;
1573
- background: var(--bg-deep);
1597
+ background: transparent;
1574
1598
  border: 1px solid transparent;
1575
1599
  border-radius: 4px;
1576
- color: var(--team);
1600
+ color: var(--text-muted);
1577
1601
  cursor: pointer;
1578
1602
  flex-shrink: 0;
1579
1603
  transition: all 0.15s ease;
1580
1604
  }
1581
1605
 
1582
1606
  .team-info-btn:hover {
1583
- background: var(--team-dim);
1584
- border-color: var(--team);
1607
+ background: var(--bg-hover);
1608
+ border-color: var(--border);
1609
+ color: var(--text-secondary);
1585
1610
  }
1586
1611
 
1587
1612
  .plan-indicator {
@@ -1719,10 +1744,10 @@ body::before {
1719
1744
  }
1720
1745
 
1721
1746
  .loop-field-val code {
1722
- background: var(--bg);
1747
+ background: var(--bg-deep);
1723
1748
  padding: 2px 6px;
1724
1749
  border-radius: 4px;
1725
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
1750
+ font-family: var(--mono);
1726
1751
  font-size: 12px;
1727
1752
  }
1728
1753
 
@@ -1812,8 +1837,8 @@ body::before {
1812
1837
  font-size: 11px;
1813
1838
  font-weight: 500;
1814
1839
  border-radius: 999px;
1815
- border: 1px solid var(--border-color, rgba(127, 127, 127, 0.25));
1816
- background: var(--bg-secondary, rgba(127, 127, 127, 0.08));
1840
+ border: 1px solid var(--border);
1841
+ background: var(--bg-surface);
1817
1842
  color: var(--text-secondary);
1818
1843
  white-space: nowrap;
1819
1844
  line-height: 1.4;
@@ -1868,6 +1893,36 @@ body::before {
1868
1893
  border-top: 1px solid var(--border);
1869
1894
  }
1870
1895
 
1896
+ .info-goal-card {
1897
+ margin: 12px 0;
1898
+ padding: 10px 14px;
1899
+ background: var(--bg-elevated);
1900
+ border: 1px solid var(--border);
1901
+ border-left: 3px solid var(--warning);
1902
+ border-radius: 8px;
1903
+ }
1904
+ .info-goal-head {
1905
+ display: flex;
1906
+ align-items: center;
1907
+ gap: 6px;
1908
+ font-size: 11px;
1909
+ font-weight: 600;
1910
+ text-transform: uppercase;
1911
+ letter-spacing: 0.5px;
1912
+ color: var(--text-muted);
1913
+ }
1914
+ .info-goal-icon {
1915
+ color: var(--warning);
1916
+ }
1917
+ .info-goal-text {
1918
+ margin-top: 6px;
1919
+ font-size: 13px;
1920
+ line-height: 1.45;
1921
+ color: var(--text-primary);
1922
+ white-space: pre-wrap;
1923
+ word-break: break-word;
1924
+ }
1925
+
1871
1926
  .info-grid {
1872
1927
  display: grid;
1873
1928
  grid-template-columns: auto 1fr auto;
@@ -1954,8 +2009,8 @@ body::before {
1954
2009
  right: 0;
1955
2010
  width: var(--message-panel-width, 540px);
1956
2011
  height: 100vh;
1957
- background: var(--bg-surface);
1958
- border-left: 1px solid var(--border);
2012
+ background: var(--bg-deep);
2013
+ border-left: 1px solid color-mix(in srgb, var(--border) 35%, transparent);
1959
2014
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
1960
2015
  display: none;
1961
2016
  flex-direction: column;
@@ -1999,22 +2054,39 @@ body::before {
1999
2054
  padding: 8px 10px;
2000
2055
  border-radius: 6px;
2001
2056
  font-size: 12px;
2002
- line-height: 1.5;
2003
- background: var(--bg-elevated);
2004
- border: 1px solid var(--border);
2057
+ line-height: 1.4;
2058
+ background: var(--bg-surface);
2059
+ border: 1px solid color-mix(in srgb, var(--border) 65%, transparent);
2005
2060
  }
2006
2061
  .msg-item.msg-user {
2007
- border-left: 3px solid var(--text-muted);
2062
+ border-left: 3px solid var(--gold);
2063
+ }
2064
+ .msg-queued-tag {
2065
+ margin-left: 8px;
2066
+ padding: 0 5px;
2067
+ border-radius: 3px;
2068
+ font-size: 9px;
2069
+ letter-spacing: 0.06em;
2070
+ text-transform: uppercase;
2071
+ color: var(--gold);
2072
+ background: color-mix(in srgb, var(--gold) 14%, transparent);
2008
2073
  }
2009
2074
  .msg-item.msg-assistant {
2010
2075
  border-left: 3px solid var(--accent);
2011
2076
  }
2012
2077
  .msg-item.msg-tool {
2013
- border-left: 3px solid var(--team);
2078
+ border-left: 2px solid color-mix(in srgb, var(--text-muted) 45%, transparent);
2014
2079
  font-size: 11px;
2015
2080
  padding: 5px 10px;
2016
2081
  color: var(--text-secondary);
2017
2082
  }
2083
+ .msg-item.selected,
2084
+ .msg-item.selected:hover {
2085
+ background: var(--bg-elevated);
2086
+ box-shadow:
2087
+ 0 0 0 1px var(--accent),
2088
+ 0 0 12px var(--accent-dim);
2089
+ }
2018
2090
  .msg-icon {
2019
2091
  flex-shrink: 0;
2020
2092
  width: 16px;
@@ -2045,7 +2117,7 @@ body::before {
2045
2117
  display: inline-flex;
2046
2118
  align-items: center;
2047
2119
  justify-content: center;
2048
- background: var(--hover);
2120
+ background: var(--bg-hover);
2049
2121
  color: var(--text-secondary);
2050
2122
  font-size: 10px;
2051
2123
  font-weight: 600;
@@ -2165,7 +2237,7 @@ body::before {
2165
2237
  }
2166
2238
  .pinned-item-unpin:hover {
2167
2239
  opacity: 1;
2168
- color: var(--danger, #e55);
2240
+ color: var(--danger);
2169
2241
  }
2170
2242
  .msg-pin-btn.pinned svg,
2171
2243
  #msg-detail-pin-btn.active svg,
@@ -2265,7 +2337,7 @@ body::before {
2265
2337
  }
2266
2338
  .agent-tab-copy {
2267
2339
  margin-left: auto;
2268
- background: var(--surface-hover);
2340
+ background: var(--bg-hover);
2269
2341
  border: 1px solid var(--border);
2270
2342
  border-radius: 6px;
2271
2343
  padding: 4px 6px;
@@ -2383,8 +2455,9 @@ body::before {
2383
2455
  font-size: 0.85rem;
2384
2456
  }
2385
2457
  .msg-detail-pre-tinted {
2386
- background: rgba(127, 127, 127, 0.15);
2387
- border-radius: 4px;
2458
+ background: color-mix(in srgb, var(--text-muted) 8%, transparent);
2459
+ border: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
2460
+ border-radius: 6px;
2388
2461
  padding: 8px 10px;
2389
2462
  }
2390
2463
  .expand-toggle-btn {
@@ -2498,15 +2571,30 @@ body::before {
2498
2571
  .msg-waiting-discard:hover {
2499
2572
  /* biome-ignore lint/complexity/noImportantStyles: override parent hover opacity */
2500
2573
  opacity: 1 !important;
2501
- color: var(--danger, #e54d4d);
2574
+ color: var(--danger);
2502
2575
  }
2503
2576
  .msg-waiting .msg-text {
2577
+ font-weight: 500;
2578
+ }
2579
+ .msg-waiting-pill {
2580
+ display: inline-block;
2581
+ padding: 1px 6px;
2582
+ margin-right: 6px;
2583
+ border-radius: 3px;
2584
+ background: color-mix(in srgb, var(--warning, #f5a623) 22%, transparent);
2585
+ color: var(--warning, #f5a623);
2586
+ font-size: 10px;
2504
2587
  font-weight: 600;
2588
+ text-transform: uppercase;
2589
+ letter-spacing: 0.3px;
2590
+ vertical-align: middle;
2505
2591
  }
2506
- .msg-waiting-preview {
2507
- font-size: 11px;
2508
- opacity: 0.85;
2509
- margin-top: 2px;
2592
+ .msg-waiting-body {
2593
+ font-size: 12px;
2594
+ margin-top: 4px;
2595
+ word-break: break-word;
2596
+ }
2597
+ .msg-waiting-body pre {
2510
2598
  white-space: pre-wrap;
2511
2599
  word-break: break-word;
2512
2600
  }
@@ -2603,7 +2691,7 @@ body::before {
2603
2691
  display: inline-block;
2604
2692
  padding: 2px 10px;
2605
2693
  border-radius: 4px;
2606
- background: var(--bg-secondary);
2694
+ background: var(--bg-surface);
2607
2695
  color: var(--text-secondary);
2608
2696
  font-size: 0.8rem;
2609
2697
  font-weight: 600;
@@ -2643,7 +2731,7 @@ body::before {
2643
2731
  left: 50%;
2644
2732
  transform: translateX(-50%);
2645
2733
  background: var(--accent);
2646
- color: var(--bg);
2734
+ color: var(--bg-deep);
2647
2735
  border: none;
2648
2736
  border-radius: 16px;
2649
2737
  padding: 6px 16px;
@@ -2659,7 +2747,7 @@ body::before {
2659
2747
  .msg-loading-more {
2660
2748
  text-align: center;
2661
2749
  padding: 8px;
2662
- color: var(--text-dim);
2750
+ color: var(--text-muted);
2663
2751
  font-size: 12px;
2664
2752
  }
2665
2753
  .msg-limit-banner {
@@ -2720,18 +2808,28 @@ body::before {
2720
2808
  flex-direction: column;
2721
2809
  gap: 3px;
2722
2810
  padding: 8px 12px;
2723
- background: var(--bg-elevated);
2724
- border: 1px solid var(--border);
2811
+ background: var(--bg-deep);
2812
+ border: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
2725
2813
  border-radius: 8px;
2726
2814
  white-space: nowrap;
2727
2815
  min-width: 0;
2728
2816
  overflow: hidden;
2729
- transition: opacity 0.3s;
2817
+ transition:
2818
+ opacity 0.3s,
2819
+ border-color 0.15s ease;
2730
2820
  cursor: pointer;
2731
2821
  position: relative;
2732
2822
  }
2733
2823
  .agent-card:hover {
2824
+ border-color: color-mix(in srgb, var(--accent) 60%, var(--border));
2825
+ }
2826
+ .agent-card.selected,
2827
+ .agent-card.selected:hover {
2828
+ background: var(--bg-elevated);
2734
2829
  border-color: var(--accent);
2830
+ box-shadow:
2831
+ 0 0 0 1px var(--accent-dim),
2832
+ 0 0 12px var(--accent-dim);
2735
2833
  }
2736
2834
  .agent-card.fading {
2737
2835
  opacity: 0.4;
@@ -2804,7 +2902,7 @@ body::before {
2804
2902
  .agent-dismiss-btn {
2805
2903
  font-size: 12px;
2806
2904
  padding: 4px 10px;
2807
- background: var(--bg-tertiary);
2905
+ background: var(--bg-elevated);
2808
2906
  color: var(--text-secondary);
2809
2907
  border: 1px solid var(--border);
2810
2908
  }
@@ -2920,10 +3018,10 @@ body::before {
2920
3018
  /* #region LIGHT_THEME */
2921
3019
  body.light {
2922
3020
  --bg-deep: #e8e6e3;
2923
- --bg-surface: #f4f3f1;
2924
- --bg-elevated: #dddbd8;
3021
+ --bg-surface: #efede9;
3022
+ --bg-elevated: #fbfaf9;
2925
3023
  --bg-hover: #d2d0cc;
2926
- --border: #a09b94;
3024
+ --border: #cfcbc4;
2927
3025
  --text-primary: #0a0a0a;
2928
3026
  --text-secondary: #444444;
2929
3027
  --text-tertiary: #666666;
@@ -2931,10 +3029,13 @@ body.light {
2931
3029
  --accent-text: #b85a20;
2932
3030
  --accent-dim: rgba(232, 111, 51, 0.18);
2933
3031
  --accent-glow: rgba(232, 111, 51, 0.5);
3032
+ --gold: #a8842f;
2934
3033
  --success: #1a8a5a;
2935
3034
  --success-dim: rgba(26, 138, 90, 0.15);
2936
3035
  --warning: #b07d0a;
2937
3036
  --warning-dim: rgba(176, 125, 10, 0.15);
3037
+ --danger: #c0392b;
3038
+ --danger-dim: rgba(192, 57, 43, 0.15);
2938
3039
  --plan: #5a7a5a;
2939
3040
  --plan-dim: rgba(90, 122, 90, 0.15);
2940
3041
  }
@@ -3063,7 +3164,9 @@ body.light .msg-assistant .msg-text {
3063
3164
  max-width: 860px;
3064
3165
  max-height: 90vh;
3065
3166
  padding: 24px;
3066
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
3167
+ box-shadow:
3168
+ 0 16px 44px rgba(0, 0, 0, 0.38),
3169
+ 0 4px 12px rgba(0, 0, 0, 0.2);
3067
3170
  overflow-y: auto;
3068
3171
  }
3069
3172
 
@@ -3146,7 +3249,7 @@ body.light .msg-assistant .msg-text {
3146
3249
  }
3147
3250
 
3148
3251
  .preview-fm .fm-v {
3149
- color: var(--text, inherit);
3252
+ color: var(--text-primary);
3150
3253
  word-break: break-word;
3151
3254
  white-space: pre-wrap;
3152
3255
  }
@@ -3334,13 +3437,14 @@ select.form-input option:checked {
3334
3437
  }
3335
3438
 
3336
3439
  .btn-secondary {
3337
- background: var(--bg-elevated);
3338
- color: var(--text-primary);
3440
+ background: transparent;
3441
+ color: var(--text-secondary);
3339
3442
  border: 1px solid var(--border);
3340
3443
  }
3341
3444
 
3342
3445
  .btn-secondary:hover {
3343
3446
  background: var(--bg-hover);
3447
+ color: var(--text-primary);
3344
3448
  border-color: var(--text-muted);
3345
3449
  }
3346
3450
 
@@ -3371,7 +3475,7 @@ select.form-input option:checked {
3371
3475
  display: flex;
3372
3476
  flex-direction: column;
3373
3477
  align-items: center;
3374
- background: var(--bg-secondary);
3478
+ background: var(--bg-surface);
3375
3479
  border: 1px solid var(--border);
3376
3480
  border-radius: 8px;
3377
3481
  padding: 10px 16px;
@@ -3386,7 +3490,7 @@ select.form-input option:checked {
3386
3490
  }
3387
3491
 
3388
3492
  .tool-stats-chip-val.failed {
3389
- color: var(--status-failed, #ef4444);
3493
+ color: var(--danger);
3390
3494
  }
3391
3495
 
3392
3496
  .tool-stats-chip-lbl {
@@ -3427,14 +3531,14 @@ select.form-input option:checked {
3427
3531
  }
3428
3532
 
3429
3533
  .tool-stats-table tbody tr:nth-child(even) {
3430
- background: var(--bg-secondary);
3534
+ background: var(--bg-surface);
3431
3535
  }
3432
3536
 
3433
3537
  .tool-stats-table tbody td {
3434
3538
  padding: 6px 10px;
3435
3539
  text-align: right;
3436
3540
  color: var(--text-primary);
3437
- border-bottom: 1px solid var(--border-subtle, var(--border));
3541
+ border-bottom: 1px solid var(--border);
3438
3542
  }
3439
3543
 
3440
3544
  .tool-stats-table tbody td.tool-name {
@@ -3470,11 +3574,25 @@ select.form-input option:checked {
3470
3574
  font-weight: 600;
3471
3575
  }
3472
3576
 
3577
+ .badge-rejected {
3578
+ display: inline-block;
3579
+ background: rgba(245, 158, 11, 0.15);
3580
+ color: #f59e0b;
3581
+ border-radius: 4px;
3582
+ padding: 1px 6px;
3583
+ font-size: 12px;
3584
+ font-weight: 600;
3585
+ }
3586
+
3587
+ .tool-stats-chip-val.rejected {
3588
+ color: #f59e0b;
3589
+ }
3590
+
3473
3591
  .impact-bar-wrap {
3474
3592
  width: 48px;
3475
3593
  height: 6px;
3476
3594
  border-radius: 3px;
3477
- background: var(--bg-hover, var(--bg-secondary));
3595
+ background: var(--bg-hover);
3478
3596
  flex-shrink: 0;
3479
3597
  overflow: hidden;
3480
3598
  }
@@ -3507,11 +3625,11 @@ select.form-input option:checked {
3507
3625
  max-height: 50vh;
3508
3626
  resize: vertical;
3509
3627
  padding: 12px;
3510
- font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
3628
+ font-family: var(--mono);
3511
3629
  font-size: 13px;
3512
3630
  line-height: 1.6;
3513
3631
  color: var(--text-primary);
3514
- background: var(--bg-primary);
3632
+ background: var(--bg-deep);
3515
3633
  border: 1px solid var(--border);
3516
3634
  border-radius: 8px;
3517
3635
  outline: none;
@@ -3765,20 +3883,23 @@ select.form-input option:checked {
3765
3883
  @media (prefers-color-scheme: light) {
3766
3884
  body:not(.dark-forced) {
3767
3885
  --bg-deep: #e8e6e3;
3768
- --bg-surface: #f4f3f1;
3769
- --bg-elevated: #dddbd8;
3886
+ --bg-surface: #efede9;
3887
+ --bg-elevated: #fbfaf9;
3770
3888
  --bg-hover: #d2d0cc;
3771
- --border: #a09b94;
3889
+ --border: #cfcbc4;
3772
3890
  --text-primary: #0a0a0a;
3773
3891
  --text-secondary: #444444;
3774
3892
  --text-tertiary: #666666;
3775
3893
  --text-muted: #888888;
3776
3894
  --accent-dim: rgba(232, 111, 51, 0.18);
3777
3895
  --accent-glow: rgba(232, 111, 51, 0.5);
3896
+ --gold: #a8842f;
3778
3897
  --success: #1a8a5a;
3779
3898
  --success-dim: rgba(26, 138, 90, 0.15);
3780
3899
  --warning: #b07d0a;
3781
3900
  --warning-dim: rgba(176, 125, 10, 0.15);
3901
+ --danger: #c0392b;
3902
+ --danger-dim: rgba(192, 57, 43, 0.15);
3782
3903
  --plan: #5a7a5a;
3783
3904
  --plan-dim: rgba(90, 122, 90, 0.15);
3784
3905
  }
@@ -3949,6 +4070,16 @@ pre.mermaid svg {
3949
4070
  line-height: 1;
3950
4071
  }
3951
4072
 
4073
+ .project-group-header .group-count-active {
4074
+ color: var(--success);
4075
+ font-weight: 500;
4076
+ }
4077
+
4078
+ .project-group-header .group-count-sep {
4079
+ margin: 0 1px;
4080
+ opacity: 0.5;
4081
+ }
4082
+
3952
4083
  .project-group-header .group-path-toggle {
3953
4084
  color: var(--text-muted);
3954
4085
  cursor: pointer;
@@ -4110,8 +4241,8 @@ pre.mermaid svg {
4110
4241
  .session-item.kb-selected:hover,
4111
4242
  .session-item.active.kb-selected {
4112
4243
  background: var(--bg-elevated);
4113
- border-color: var(--team);
4114
- box-shadow: 0 0 0 1px var(--team-dim);
4244
+ border-color: var(--accent);
4245
+ box-shadow: 0 0 0 1px var(--accent-dim);
4115
4246
  }
4116
4247
 
4117
4248
  .session-item.kb-selected::before {