|
38 | 38 | right: 0; |
39 | 39 | z-index: 9999; |
40 | 40 | display: none; |
41 | | - align-items: center; |
42 | | - gap: 10px; |
43 | | - padding: 8px 16px; |
| 41 | + flex-direction: column; |
44 | 42 | background: var(--bg-color, #1e1e2e); |
45 | 43 | border-top: 1px solid var(--border-color, #333); |
46 | 44 | font-size: 0.8rem; |
|
49 | 47 | box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.2); |
50 | 48 | } |
51 | 49 |
|
| 50 | +.exec-progress-row { |
| 51 | + display: flex; |
| 52 | + align-items: center; |
| 53 | + gap: 10px; |
| 54 | + padding: 8px 16px; |
| 55 | + min-height: 36px; |
| 56 | +} |
| 57 | + |
52 | 58 | .exec-progress-text { |
53 | 59 | white-space: nowrap; |
54 | 60 | font-weight: 500; |
55 | | - min-width: 160px; |
| 61 | + min-width: 140px; |
56 | 62 | } |
57 | 63 |
|
58 | 64 | .exec-progress-track { |
|
70 | 76 | transition: width 0.3s ease; |
71 | 77 | } |
72 | 78 |
|
| 79 | +/* ---- Logs Toggle ---- */ |
| 80 | +.exec-log-toggle { |
| 81 | + background: none; |
| 82 | + border: 1px solid rgba(59, 130, 246, 0.3); |
| 83 | + color: #60a5fa; |
| 84 | + padding: 2px 10px; |
| 85 | + border-radius: 4px; |
| 86 | + cursor: pointer; |
| 87 | + font-size: 0.75rem; |
| 88 | + font-weight: 500; |
| 89 | + transition: all 0.2s; |
| 90 | + white-space: nowrap; |
| 91 | + font-family: inherit; |
| 92 | + display: flex; |
| 93 | + align-items: center; |
| 94 | + gap: 4px; |
| 95 | +} |
| 96 | +.exec-log-toggle:hover { |
| 97 | + background: rgba(59, 130, 246, 0.12); |
| 98 | + border-color: #60a5fa; |
| 99 | +} |
| 100 | +.exec-log-toggle.open { |
| 101 | + background: rgba(59, 130, 246, 0.15); |
| 102 | + border-color: #60a5fa; |
| 103 | +} |
| 104 | + |
73 | 105 | .exec-abort-btn { |
74 | 106 | background: none; |
75 | 107 | border: 1px solid var(--border-color, #555); |
|
86 | 118 | border-color: #ef4444; |
87 | 119 | } |
88 | 120 |
|
| 121 | +/* ---- Expandable Log Panel ---- */ |
| 122 | +.exec-log-panel { |
| 123 | + max-height: 0; |
| 124 | + overflow: hidden; |
| 125 | + transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| 126 | + border-top: 1px solid transparent; |
| 127 | +} |
| 128 | +.exec-log-panel.open { |
| 129 | + max-height: 300px; |
| 130 | + border-top-color: var(--border-color, #333); |
| 131 | +} |
| 132 | + |
| 133 | +.exec-log-scroll { |
| 134 | + max-height: 300px; |
| 135 | + overflow-y: auto; |
| 136 | + padding: 8px 16px 8px 16px; |
| 137 | + scrollbar-width: thin; |
| 138 | + scrollbar-color: var(--scrollbar-thumb, #555) transparent; |
| 139 | +} |
| 140 | +.exec-log-scroll::-webkit-scrollbar { width: 5px; } |
| 141 | +.exec-log-scroll::-webkit-scrollbar-thumb { |
| 142 | + background: var(--scrollbar-thumb, #555); |
| 143 | + border-radius: 3px; |
| 144 | +} |
| 145 | + |
| 146 | +.exec-log-entry { |
| 147 | + display: flex; |
| 148 | + align-items: baseline; |
| 149 | + gap: 8px; |
| 150 | + padding: 2px 0; |
| 151 | + font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace; |
| 152 | + font-size: 0.72rem; |
| 153 | + line-height: 1.5; |
| 154 | + color: var(--text-color, #cdd6f4); |
| 155 | + opacity: 0.85; |
| 156 | +} |
| 157 | +.exec-log-entry:last-child { opacity: 1; } |
| 158 | + |
| 159 | +.exec-log-ts { |
| 160 | + color: #6b7280; |
| 161 | + font-size: 0.68rem; |
| 162 | + min-width: 52px; |
| 163 | + flex-shrink: 0; |
| 164 | + text-align: right; |
| 165 | +} |
| 166 | + |
| 167 | +.exec-log-icon { |
| 168 | + flex-shrink: 0; |
| 169 | + width: 16px; |
| 170 | + text-align: center; |
| 171 | +} |
| 172 | + |
| 173 | +.exec-log-msg { |
| 174 | + flex: 1; |
| 175 | + word-break: break-word; |
| 176 | +} |
| 177 | + |
| 178 | +.exec-log-entry.error .exec-log-msg { color: #f87171; } |
| 179 | +.exec-log-entry.success .exec-log-msg { color: #34d399; } |
| 180 | +.exec-log-entry.warn .exec-log-msg { color: #fbbf24; } |
| 181 | + |
| 182 | +/* ---- Log count badge on toggle ---- */ |
| 183 | +.exec-log-count { |
| 184 | + background: rgba(59, 130, 246, 0.2); |
| 185 | + color: #60a5fa; |
| 186 | + font-size: 0.65rem; |
| 187 | + font-weight: 700; |
| 188 | + padding: 0 5px; |
| 189 | + border-radius: 8px; |
| 190 | + min-width: 16px; |
| 191 | + text-align: center; |
| 192 | + line-height: 1.5; |
| 193 | +} |
| 194 | + |
89 | 195 | /* ---- Per-Block Status Badges ---- */ |
90 | 196 | .exec-status-badge { |
91 | 197 | display: inline-flex; |
|
144 | 250 | border-color: #cbd5e1; |
145 | 251 | color: #334155; |
146 | 252 | } |
| 253 | + |
| 254 | +[data-theme="light"] .exec-log-panel, |
| 255 | +:root:not([data-theme="dark"]) .exec-log-panel { |
| 256 | + border-top-color: #e2e8f0; |
| 257 | +} |
| 258 | + |
| 259 | +[data-theme="light"] .exec-log-toggle, |
| 260 | +:root:not([data-theme="dark"]) .exec-log-toggle { |
| 261 | + color: #3b82f6; |
| 262 | + border-color: rgba(59, 130, 246, 0.25); |
| 263 | +} |
| 264 | + |
| 265 | +[data-theme="light"] .exec-log-ts, |
| 266 | +:root:not([data-theme="dark"]) .exec-log-ts { |
| 267 | + color: #9ca3af; |
| 268 | +} |
| 269 | + |
| 270 | +[data-theme="light"] .exec-log-count, |
| 271 | +:root:not([data-theme="dark"]) .exec-log-count { |
| 272 | + background: rgba(59, 130, 246, 0.12); |
| 273 | + color: #3b82f6; |
| 274 | +} |
0 commit comments