vibespot 1.0.8 → 1.1.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/README.md +62 -5
- package/dist/index.js +459 -197
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/ui/chat.js +70 -7
- package/ui/docs/index.html +157 -4
- package/ui/index.html +79 -3
- package/ui/plan.js +0 -0
- package/ui/settings.js +228 -1
- package/ui/setup.js +289 -1
- package/ui/styles.css +499 -2
- package/ui/vendor/marked.umd.js +46 -41
package/ui/styles.css
CHANGED
|
@@ -158,7 +158,7 @@ body { display: flex; }
|
|
|
158
158
|
|
|
159
159
|
.setup__container {
|
|
160
160
|
width: 100%;
|
|
161
|
-
max-width:
|
|
161
|
+
max-width: 620px;
|
|
162
162
|
text-align: center;
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -273,7 +273,7 @@ body { display: flex; }
|
|
|
273
273
|
/* Action buttons grid */
|
|
274
274
|
.setup__actions {
|
|
275
275
|
display: grid;
|
|
276
|
-
grid-template-columns: repeat(
|
|
276
|
+
grid-template-columns: repeat(5, 1fr);
|
|
277
277
|
gap: 10px;
|
|
278
278
|
margin-bottom: 16px;
|
|
279
279
|
}
|
|
@@ -373,6 +373,102 @@ body { display: flex; }
|
|
|
373
373
|
color: var(--text-muted);
|
|
374
374
|
}
|
|
375
375
|
|
|
376
|
+
/* Figma import panel */
|
|
377
|
+
#panel-figma {
|
|
378
|
+
display: flex;
|
|
379
|
+
flex-direction: column;
|
|
380
|
+
gap: 10px;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* Figma extraction progress */
|
|
384
|
+
.figma-progress {
|
|
385
|
+
font-size: 12px;
|
|
386
|
+
color: var(--text-muted);
|
|
387
|
+
padding: 8px 12px;
|
|
388
|
+
background: var(--bg-input);
|
|
389
|
+
border: 1px solid var(--border);
|
|
390
|
+
border-radius: var(--radius);
|
|
391
|
+
max-height: 120px;
|
|
392
|
+
overflow-y: auto;
|
|
393
|
+
line-height: 1.6;
|
|
394
|
+
}
|
|
395
|
+
.figma-progress__line {
|
|
396
|
+
display: block;
|
|
397
|
+
white-space: nowrap;
|
|
398
|
+
overflow: hidden;
|
|
399
|
+
text-overflow: ellipsis;
|
|
400
|
+
}
|
|
401
|
+
.figma-progress__line:last-child {
|
|
402
|
+
color: var(--text);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/* Figma image mode toggle */
|
|
406
|
+
.figma-toggle {
|
|
407
|
+
display: flex;
|
|
408
|
+
align-items: center;
|
|
409
|
+
gap: 8px;
|
|
410
|
+
font-size: 13px;
|
|
411
|
+
color: var(--text);
|
|
412
|
+
cursor: pointer;
|
|
413
|
+
margin-top: 4px;
|
|
414
|
+
}
|
|
415
|
+
.figma-toggle input[type="checkbox"] {
|
|
416
|
+
accent-color: var(--accent);
|
|
417
|
+
width: 16px;
|
|
418
|
+
height: 16px;
|
|
419
|
+
}
|
|
420
|
+
.figma-toggle__hint {
|
|
421
|
+
color: var(--text-muted);
|
|
422
|
+
font-size: 11px;
|
|
423
|
+
margin-left: 4px;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
/* Figma import summary */
|
|
427
|
+
.figma-summary {
|
|
428
|
+
background: var(--bg-input);
|
|
429
|
+
border: 1px solid var(--border);
|
|
430
|
+
border-radius: var(--radius);
|
|
431
|
+
padding: 14px 16px;
|
|
432
|
+
margin-top: 10px;
|
|
433
|
+
}
|
|
434
|
+
.figma-summary__title {
|
|
435
|
+
font-weight: 600;
|
|
436
|
+
font-size: 14px;
|
|
437
|
+
margin-bottom: 8px;
|
|
438
|
+
}
|
|
439
|
+
.figma-summary__stats {
|
|
440
|
+
display: flex;
|
|
441
|
+
gap: 16px;
|
|
442
|
+
font-size: 12px;
|
|
443
|
+
color: var(--text-muted);
|
|
444
|
+
margin-bottom: 10px;
|
|
445
|
+
}
|
|
446
|
+
.figma-swatches {
|
|
447
|
+
display: flex;
|
|
448
|
+
gap: 6px;
|
|
449
|
+
margin-bottom: 10px;
|
|
450
|
+
}
|
|
451
|
+
.figma-swatch {
|
|
452
|
+
width: 22px;
|
|
453
|
+
height: 22px;
|
|
454
|
+
border-radius: 50%;
|
|
455
|
+
border: 1px solid var(--border);
|
|
456
|
+
flex-shrink: 0;
|
|
457
|
+
}
|
|
458
|
+
.figma-summary__sections {
|
|
459
|
+
display: flex;
|
|
460
|
+
flex-wrap: wrap;
|
|
461
|
+
gap: 6px;
|
|
462
|
+
}
|
|
463
|
+
.figma-summary__section-tag {
|
|
464
|
+
font-size: 11px;
|
|
465
|
+
padding: 2px 8px;
|
|
466
|
+
background: var(--bg-card);
|
|
467
|
+
border: 1px solid var(--border);
|
|
468
|
+
border-radius: 10px;
|
|
469
|
+
color: var(--text-muted);
|
|
470
|
+
}
|
|
471
|
+
|
|
376
472
|
/* Select dropdown */
|
|
377
473
|
.setup__select {
|
|
378
474
|
flex: 1;
|
|
@@ -4028,9 +4124,410 @@ body { display: flex; }
|
|
|
4028
4124
|
opacity: 1;
|
|
4029
4125
|
}
|
|
4030
4126
|
|
|
4127
|
+
/* ================================================================
|
|
4128
|
+
AI CAPABILITIES (settings → AI tab)
|
|
4129
|
+
================================================================ */
|
|
4130
|
+
.settings__capability-row {
|
|
4131
|
+
display: flex;
|
|
4132
|
+
align-items: flex-start;
|
|
4133
|
+
justify-content: space-between;
|
|
4134
|
+
gap: 16px;
|
|
4135
|
+
padding: 12px 0;
|
|
4136
|
+
border-bottom: 1px solid var(--border);
|
|
4137
|
+
}
|
|
4138
|
+
.settings__capability-row:last-of-type { border-bottom: none; }
|
|
4139
|
+
.settings__capability-label-wrap { flex: 1; min-width: 0; }
|
|
4140
|
+
.settings__capability-label {
|
|
4141
|
+
display: flex;
|
|
4142
|
+
align-items: center;
|
|
4143
|
+
gap: 8px;
|
|
4144
|
+
font-size: 13px;
|
|
4145
|
+
font-weight: 600;
|
|
4146
|
+
color: var(--text);
|
|
4147
|
+
margin-bottom: 4px;
|
|
4148
|
+
}
|
|
4149
|
+
.settings__capability-desc {
|
|
4150
|
+
font-size: 12px;
|
|
4151
|
+
line-height: 1.45;
|
|
4152
|
+
color: var(--text-muted);
|
|
4153
|
+
}
|
|
4154
|
+
.settings__capability-badge {
|
|
4155
|
+
font-size: 10px;
|
|
4156
|
+
font-weight: 600;
|
|
4157
|
+
text-transform: uppercase;
|
|
4158
|
+
letter-spacing: 0.06em;
|
|
4159
|
+
padding: 2px 8px;
|
|
4160
|
+
border-radius: 999px;
|
|
4161
|
+
border: 1px solid var(--border);
|
|
4162
|
+
color: var(--text-muted);
|
|
4163
|
+
background: var(--bg-elevated);
|
|
4164
|
+
}
|
|
4165
|
+
.settings__capability-badge--active {
|
|
4166
|
+
color: var(--accent);
|
|
4167
|
+
border-color: color-mix(in srgb, var(--accent) 50%, transparent);
|
|
4168
|
+
background: color-mix(in srgb, var(--accent) 14%, transparent);
|
|
4169
|
+
}
|
|
4170
|
+
.settings__capability-badge--off {
|
|
4171
|
+
color: var(--text-muted);
|
|
4172
|
+
}
|
|
4173
|
+
.settings__capability-badge--soon {
|
|
4174
|
+
color: var(--text-muted);
|
|
4175
|
+
font-style: italic;
|
|
4176
|
+
}
|
|
4177
|
+
.settings__capability-badge--n\/a {
|
|
4178
|
+
color: var(--text-muted);
|
|
4179
|
+
opacity: 0.7;
|
|
4180
|
+
}
|
|
4181
|
+
|
|
4182
|
+
/* Sub-row for inline controls (budget select, etc.) */
|
|
4183
|
+
.settings__capability-sub {
|
|
4184
|
+
display: flex;
|
|
4185
|
+
align-items: center;
|
|
4186
|
+
gap: 12px;
|
|
4187
|
+
margin: 4px 0 8px;
|
|
4188
|
+
padding: 8px 12px;
|
|
4189
|
+
background: var(--bg-elevated);
|
|
4190
|
+
border: 1px solid var(--border);
|
|
4191
|
+
border-radius: 6px;
|
|
4192
|
+
}
|
|
4193
|
+
.settings__capability-sub-label {
|
|
4194
|
+
font-size: 12px;
|
|
4195
|
+
font-weight: 600;
|
|
4196
|
+
color: var(--text);
|
|
4197
|
+
}
|
|
4198
|
+
.settings__capability-select {
|
|
4199
|
+
font-size: 12px;
|
|
4200
|
+
padding: 4px 8px;
|
|
4201
|
+
background: var(--bg);
|
|
4202
|
+
color: var(--text);
|
|
4203
|
+
border: 1px solid var(--border);
|
|
4204
|
+
border-radius: 4px;
|
|
4205
|
+
}
|
|
4206
|
+
.settings__capability-sub-hint {
|
|
4207
|
+
font-size: 11px;
|
|
4208
|
+
color: var(--text-muted);
|
|
4209
|
+
margin-left: auto;
|
|
4210
|
+
}
|
|
4211
|
+
|
|
4031
4212
|
/* ================================================================
|
|
4032
4213
|
THEME TOGGLE (light/dark)
|
|
4033
4214
|
================================================================ */
|
|
4034
4215
|
.theme-toggle__icon--light { display: none; }
|
|
4035
4216
|
[data-theme="light"] .theme-toggle__icon--dark { display: none; }
|
|
4036
4217
|
[data-theme="light"] .theme-toggle__icon--light { display: block; }
|
|
4218
|
+
|
|
4219
|
+
/* ================================================================
|
|
4220
|
+
PLAN MODE
|
|
4221
|
+
================================================================ */
|
|
4222
|
+
|
|
4223
|
+
/* ----- Plan-mode toggle (prominent, labeled mode pill) ----- */
|
|
4224
|
+
.chat__mode-bar {
|
|
4225
|
+
display: flex;
|
|
4226
|
+
align-items: center;
|
|
4227
|
+
justify-content: flex-start;
|
|
4228
|
+
padding: 0 4px 8px;
|
|
4229
|
+
}
|
|
4230
|
+
|
|
4231
|
+
.plan-toggle {
|
|
4232
|
+
display: inline-flex;
|
|
4233
|
+
align-items: center;
|
|
4234
|
+
gap: 8px;
|
|
4235
|
+
padding: 6px 12px 6px 8px;
|
|
4236
|
+
font-size: 12px;
|
|
4237
|
+
font-weight: 600;
|
|
4238
|
+
letter-spacing: 0.01em;
|
|
4239
|
+
color: var(--text-muted);
|
|
4240
|
+
background: var(--bg-elevated);
|
|
4241
|
+
border: 1px solid var(--border);
|
|
4242
|
+
border-radius: 999px;
|
|
4243
|
+
cursor: pointer;
|
|
4244
|
+
transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
|
|
4245
|
+
user-select: none;
|
|
4246
|
+
}
|
|
4247
|
+
.plan-toggle:hover {
|
|
4248
|
+
color: var(--text);
|
|
4249
|
+
border-color: var(--text-muted);
|
|
4250
|
+
}
|
|
4251
|
+
.plan-toggle__indicator {
|
|
4252
|
+
display: inline-flex;
|
|
4253
|
+
align-items: center;
|
|
4254
|
+
justify-content: center;
|
|
4255
|
+
width: 22px;
|
|
4256
|
+
height: 22px;
|
|
4257
|
+
border-radius: 999px;
|
|
4258
|
+
background: var(--bg);
|
|
4259
|
+
border: 1px solid var(--border);
|
|
4260
|
+
color: var(--text-muted);
|
|
4261
|
+
flex: none;
|
|
4262
|
+
transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
|
|
4263
|
+
}
|
|
4264
|
+
.plan-toggle__label {
|
|
4265
|
+
text-transform: uppercase;
|
|
4266
|
+
font-size: 11px;
|
|
4267
|
+
letter-spacing: 0.06em;
|
|
4268
|
+
}
|
|
4269
|
+
.plan-toggle__state {
|
|
4270
|
+
font-size: 11px;
|
|
4271
|
+
font-weight: 500;
|
|
4272
|
+
text-transform: uppercase;
|
|
4273
|
+
letter-spacing: 0.06em;
|
|
4274
|
+
padding: 2px 8px;
|
|
4275
|
+
border-radius: 999px;
|
|
4276
|
+
background: var(--bg);
|
|
4277
|
+
border: 1px solid var(--border);
|
|
4278
|
+
color: var(--text-muted);
|
|
4279
|
+
}
|
|
4280
|
+
|
|
4281
|
+
.plan-toggle.is-active,
|
|
4282
|
+
.plan-toggle.is-active:hover {
|
|
4283
|
+
color: var(--accent);
|
|
4284
|
+
background: color-mix(in srgb, var(--accent) 14%, transparent);
|
|
4285
|
+
border-color: color-mix(in srgb, var(--accent) 60%, transparent);
|
|
4286
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);
|
|
4287
|
+
}
|
|
4288
|
+
.plan-toggle.is-active .plan-toggle__indicator {
|
|
4289
|
+
background: var(--accent);
|
|
4290
|
+
border-color: var(--accent);
|
|
4291
|
+
color: var(--bg);
|
|
4292
|
+
}
|
|
4293
|
+
.plan-toggle.is-active .plan-toggle__state {
|
|
4294
|
+
background: var(--accent);
|
|
4295
|
+
border-color: var(--accent);
|
|
4296
|
+
color: var(--bg);
|
|
4297
|
+
}
|
|
4298
|
+
|
|
4299
|
+
/* Plan-mode badge in chat header */
|
|
4300
|
+
.plan-mode-badge {
|
|
4301
|
+
display: inline-flex;
|
|
4302
|
+
align-items: center;
|
|
4303
|
+
gap: 4px;
|
|
4304
|
+
padding: 2px 8px;
|
|
4305
|
+
font-size: 11px;
|
|
4306
|
+
font-weight: 600;
|
|
4307
|
+
letter-spacing: 0.02em;
|
|
4308
|
+
color: var(--accent);
|
|
4309
|
+
background: color-mix(in srgb, var(--accent) 14%, transparent);
|
|
4310
|
+
border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
|
|
4311
|
+
border-radius: 999px;
|
|
4312
|
+
text-transform: uppercase;
|
|
4313
|
+
}
|
|
4314
|
+
|
|
4315
|
+
/* Choice chips below assistant messages */
|
|
4316
|
+
.plan-choices {
|
|
4317
|
+
display: flex;
|
|
4318
|
+
flex-direction: column;
|
|
4319
|
+
gap: 6px;
|
|
4320
|
+
margin: 10px 0 4px;
|
|
4321
|
+
padding: 10px 12px;
|
|
4322
|
+
background: color-mix(in srgb, var(--accent) 6%, var(--bg-elevated));
|
|
4323
|
+
border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
|
|
4324
|
+
border-radius: 10px;
|
|
4325
|
+
}
|
|
4326
|
+
.plan-choices__question {
|
|
4327
|
+
font-size: 13px;
|
|
4328
|
+
font-weight: 600;
|
|
4329
|
+
color: var(--text);
|
|
4330
|
+
line-height: 1.4;
|
|
4331
|
+
}
|
|
4332
|
+
.plan-choices__chips {
|
|
4333
|
+
display: flex;
|
|
4334
|
+
flex-wrap: wrap;
|
|
4335
|
+
gap: 6px;
|
|
4336
|
+
}
|
|
4337
|
+
.plan-choices__chip {
|
|
4338
|
+
padding: 6px 12px;
|
|
4339
|
+
font-size: 12px;
|
|
4340
|
+
font-weight: 500;
|
|
4341
|
+
background: var(--bg-elevated);
|
|
4342
|
+
color: var(--text);
|
|
4343
|
+
border: 1px solid var(--border);
|
|
4344
|
+
border-radius: 999px;
|
|
4345
|
+
cursor: pointer;
|
|
4346
|
+
transition: background 0.12s ease, border-color 0.12s ease, transform 0.08s ease;
|
|
4347
|
+
}
|
|
4348
|
+
.plan-choices__chip:hover {
|
|
4349
|
+
background: color-mix(in srgb, var(--accent) 10%, var(--bg-elevated));
|
|
4350
|
+
border-color: var(--accent);
|
|
4351
|
+
}
|
|
4352
|
+
.plan-choices__chip:active { transform: translateY(1px); }
|
|
4353
|
+
.plan-choices__chip--other {
|
|
4354
|
+
border-style: dashed;
|
|
4355
|
+
font-style: italic;
|
|
4356
|
+
}
|
|
4357
|
+
.plan-choices__chip.is-selected {
|
|
4358
|
+
background: color-mix(in srgb, var(--accent) 18%, var(--bg-elevated));
|
|
4359
|
+
border-color: var(--accent);
|
|
4360
|
+
color: var(--accent);
|
|
4361
|
+
}
|
|
4362
|
+
.plan-choices.is-disabled { opacity: 0.5; pointer-events: none; }
|
|
4363
|
+
|
|
4364
|
+
/* Plan pane — main window, full-height reading layout */
|
|
4365
|
+
.plan-pane {
|
|
4366
|
+
position: absolute;
|
|
4367
|
+
inset: 36px 0 0 0; /* below the view-toggle */
|
|
4368
|
+
display: flex;
|
|
4369
|
+
flex-direction: column;
|
|
4370
|
+
background: var(--bg);
|
|
4371
|
+
z-index: 2;
|
|
4372
|
+
}
|
|
4373
|
+
.plan-pane__scroll {
|
|
4374
|
+
flex: 1;
|
|
4375
|
+
overflow-y: auto;
|
|
4376
|
+
padding: 32px 48px 24px;
|
|
4377
|
+
display: flex;
|
|
4378
|
+
flex-direction: column;
|
|
4379
|
+
align-items: center;
|
|
4380
|
+
}
|
|
4381
|
+
.plan-pane__header {
|
|
4382
|
+
width: 100%;
|
|
4383
|
+
max-width: 720px;
|
|
4384
|
+
display: flex;
|
|
4385
|
+
align-items: center;
|
|
4386
|
+
justify-content: space-between;
|
|
4387
|
+
margin-bottom: 16px;
|
|
4388
|
+
padding-bottom: 12px;
|
|
4389
|
+
border-bottom: 1px solid var(--border);
|
|
4390
|
+
}
|
|
4391
|
+
.plan-pane__title {
|
|
4392
|
+
margin: 0;
|
|
4393
|
+
font-size: 18px;
|
|
4394
|
+
font-weight: 600;
|
|
4395
|
+
color: var(--text);
|
|
4396
|
+
}
|
|
4397
|
+
.plan-pane__header-actions { display: flex; gap: 8px; }
|
|
4398
|
+
.plan-pane__icon-btn {
|
|
4399
|
+
display: inline-flex;
|
|
4400
|
+
align-items: center;
|
|
4401
|
+
gap: 4px;
|
|
4402
|
+
padding: 4px 10px;
|
|
4403
|
+
font-size: 12px;
|
|
4404
|
+
font-weight: 500;
|
|
4405
|
+
background: transparent;
|
|
4406
|
+
color: var(--text-muted);
|
|
4407
|
+
border: 1px solid var(--border);
|
|
4408
|
+
border-radius: 6px;
|
|
4409
|
+
cursor: pointer;
|
|
4410
|
+
transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
|
|
4411
|
+
}
|
|
4412
|
+
.plan-pane__icon-btn:hover {
|
|
4413
|
+
background: var(--bg-elevated);
|
|
4414
|
+
color: var(--text);
|
|
4415
|
+
border-color: var(--text-muted);
|
|
4416
|
+
}
|
|
4417
|
+
|
|
4418
|
+
/* Plan content: rendered markdown */
|
|
4419
|
+
.plan-pane__content {
|
|
4420
|
+
width: 100%;
|
|
4421
|
+
max-width: 720px;
|
|
4422
|
+
font-size: 15px;
|
|
4423
|
+
line-height: 1.65;
|
|
4424
|
+
color: var(--text);
|
|
4425
|
+
}
|
|
4426
|
+
.plan-pane__content h1,
|
|
4427
|
+
.plan-pane__content h2,
|
|
4428
|
+
.plan-pane__content h3 {
|
|
4429
|
+
color: var(--text);
|
|
4430
|
+
font-weight: 600;
|
|
4431
|
+
line-height: 1.25;
|
|
4432
|
+
margin: 1.4em 0 0.5em;
|
|
4433
|
+
}
|
|
4434
|
+
.plan-pane__content h1 { font-size: 24px; }
|
|
4435
|
+
.plan-pane__content h2 { font-size: 19px; }
|
|
4436
|
+
.plan-pane__content h3 { font-size: 16px; }
|
|
4437
|
+
.plan-pane__content h1:first-child,
|
|
4438
|
+
.plan-pane__content h2:first-child { margin-top: 0; }
|
|
4439
|
+
.plan-pane__content p { margin: 0 0 1em; }
|
|
4440
|
+
.plan-pane__content ul,
|
|
4441
|
+
.plan-pane__content ol { margin: 0 0 1em; padding-left: 24px; }
|
|
4442
|
+
.plan-pane__content ul li,
|
|
4443
|
+
.plan-pane__content ol li { margin-bottom: 0.3em; }
|
|
4444
|
+
.plan-pane__content code {
|
|
4445
|
+
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
4446
|
+
font-size: 13px;
|
|
4447
|
+
background: var(--bg-elevated);
|
|
4448
|
+
border: 1px solid var(--border);
|
|
4449
|
+
border-radius: 4px;
|
|
4450
|
+
padding: 1px 6px;
|
|
4451
|
+
}
|
|
4452
|
+
.plan-pane__content pre {
|
|
4453
|
+
margin: 0 0 1em;
|
|
4454
|
+
padding: 12px 14px;
|
|
4455
|
+
background: var(--bg-elevated);
|
|
4456
|
+
border: 1px solid var(--border);
|
|
4457
|
+
border-radius: 8px;
|
|
4458
|
+
overflow-x: auto;
|
|
4459
|
+
}
|
|
4460
|
+
.plan-pane__content pre code {
|
|
4461
|
+
background: transparent;
|
|
4462
|
+
border: none;
|
|
4463
|
+
padding: 0;
|
|
4464
|
+
}
|
|
4465
|
+
.plan-pane__content blockquote {
|
|
4466
|
+
margin: 0 0 1em;
|
|
4467
|
+
padding: 4px 14px;
|
|
4468
|
+
border-left: 3px solid var(--accent);
|
|
4469
|
+
color: var(--text-muted);
|
|
4470
|
+
background: color-mix(in srgb, var(--accent) 6%, transparent);
|
|
4471
|
+
}
|
|
4472
|
+
.plan-pane__content table {
|
|
4473
|
+
width: 100%;
|
|
4474
|
+
border-collapse: collapse;
|
|
4475
|
+
margin: 0 0 1em;
|
|
4476
|
+
font-size: 14px;
|
|
4477
|
+
}
|
|
4478
|
+
.plan-pane__content th,
|
|
4479
|
+
.plan-pane__content td {
|
|
4480
|
+
padding: 8px 12px;
|
|
4481
|
+
border: 1px solid var(--border);
|
|
4482
|
+
text-align: left;
|
|
4483
|
+
}
|
|
4484
|
+
.plan-pane__content th { background: var(--bg-elevated); font-weight: 600; }
|
|
4485
|
+
.plan-pane__content a { color: var(--accent); text-decoration: underline; }
|
|
4486
|
+
.plan-pane__content hr {
|
|
4487
|
+
border: 0;
|
|
4488
|
+
border-top: 1px solid var(--border);
|
|
4489
|
+
margin: 1.5em 0;
|
|
4490
|
+
}
|
|
4491
|
+
|
|
4492
|
+
/* Empty state */
|
|
4493
|
+
.plan-pane__empty {
|
|
4494
|
+
text-align: center;
|
|
4495
|
+
color: var(--text-muted);
|
|
4496
|
+
padding: 48px 24px;
|
|
4497
|
+
}
|
|
4498
|
+
.plan-pane__empty p { margin: 0 0 8px; }
|
|
4499
|
+
.plan-pane__empty-hint { font-size: 13px; max-width: 480px; margin-left: auto; margin-right: auto; }
|
|
4500
|
+
|
|
4501
|
+
/* Inline editor */
|
|
4502
|
+
.plan-pane__editor {
|
|
4503
|
+
width: 100%;
|
|
4504
|
+
max-width: 720px;
|
|
4505
|
+
min-height: 360px;
|
|
4506
|
+
padding: 16px;
|
|
4507
|
+
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
4508
|
+
font-size: 13px;
|
|
4509
|
+
line-height: 1.6;
|
|
4510
|
+
color: var(--text);
|
|
4511
|
+
background: var(--bg-elevated);
|
|
4512
|
+
border: 1px solid var(--border);
|
|
4513
|
+
border-radius: 8px;
|
|
4514
|
+
resize: vertical;
|
|
4515
|
+
}
|
|
4516
|
+
.plan-pane__editor:focus { outline: none; border-color: var(--accent); }
|
|
4517
|
+
|
|
4518
|
+
/* Sticky footer with actions */
|
|
4519
|
+
.plan-pane__footer {
|
|
4520
|
+
display: flex;
|
|
4521
|
+
align-items: center;
|
|
4522
|
+
gap: 8px;
|
|
4523
|
+
padding: 12px 24px;
|
|
4524
|
+
background: var(--bg);
|
|
4525
|
+
border-top: 1px solid var(--border);
|
|
4526
|
+
}
|
|
4527
|
+
.plan-pane__footer-spacer { flex: 1; }
|
|
4528
|
+
.plan-pane__discard {
|
|
4529
|
+
font-size: 12px;
|
|
4530
|
+
opacity: 0.75;
|
|
4531
|
+
}
|
|
4532
|
+
.plan-pane__discard:hover { opacity: 1; color: var(--danger, #d43); }
|
|
4533
|
+
.plan-pane__approve { font-weight: 600; }
|