herdr-plugin-amq 0.1.7 → 0.1.9

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/src/web/style.css CHANGED
@@ -17,9 +17,9 @@
17
17
  --google-yellow: #f9ab00;
18
18
  --google-green: #188038;
19
19
  --google-blue: #1a73e8;
20
- --font-sans: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
21
- --font-logo: 'Product Sans', var(--font-sans);
22
- --font-mono: 'Roboto Mono', monospace;
20
+ --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
21
+ --font-logo: var(--font-sans);
22
+ --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
23
23
  }
24
24
 
25
25
  * {
@@ -397,25 +397,44 @@ body {
397
397
  }
398
398
 
399
399
  .presence-item {
400
+ width: 100%;
401
+ min-height: 50px;
400
402
  display: flex;
401
403
  align-items: center;
402
404
  gap: 10px;
403
- padding: 5px 10px;
404
- border-radius: 8px;
405
- font-size: 12.5px;
405
+ padding: 7px 9px;
406
+ border: 1px solid transparent;
407
+ border-radius: 10px;
408
+ background: transparent;
409
+ color: var(--text-main);
410
+ font: inherit;
411
+ text-align: left;
412
+ cursor: pointer;
413
+ transition: background-color 0.15s ease, border-color 0.15s ease;
414
+ }
415
+
416
+ .presence-item:hover {
417
+ background: var(--bg-hover);
418
+ border-color: var(--border-light);
419
+ }
420
+
421
+ .presence-item:focus-visible {
422
+ outline: 2px solid var(--primary-blue);
423
+ outline-offset: -2px;
406
424
  }
407
425
 
408
426
  .presence-avatar-wrap {
409
427
  position: relative;
410
- width: 24px;
411
- height: 24px;
428
+ width: 28px;
429
+ height: 28px;
430
+ flex-shrink: 0;
412
431
  }
413
432
 
414
433
  .mini-avatar {
415
- width: 24px;
416
- height: 24px;
417
- min-width: 24px;
418
- min-height: 24px;
434
+ width: 28px;
435
+ height: 28px;
436
+ min-width: 28px;
437
+ min-height: 28px;
419
438
  flex-shrink: 0;
420
439
  aspect-ratio: 1 / 1;
421
440
  border-radius: 50%;
@@ -441,6 +460,7 @@ body {
441
460
 
442
461
  .presence-dot.working { background-color: var(--google-green); animation: pulse-dot 1.8s ease-in-out infinite; }
443
462
  .presence-dot.idle { background-color: var(--google-blue); }
463
+ .presence-dot.done { background-color: var(--google-green); }
444
464
  .presence-dot.blocked { background-color: var(--google-red); }
445
465
  .presence-dot.offline { background-color: var(--text-muted); }
446
466
 
@@ -451,38 +471,88 @@ body {
451
471
 
452
472
  .presence-details {
453
473
  display: flex;
474
+ flex: 1;
454
475
  flex-direction: column;
476
+ gap: 3px;
455
477
  line-height: 1.2;
456
478
  min-width: 0;
457
479
  }
458
480
 
459
- .presence-name {
460
- font-weight: 600;
481
+ .presence-name-row {
461
482
  display: flex;
462
483
  align-items: center;
463
- gap: 3px;
484
+ gap: 7px;
485
+ min-width: 0;
464
486
  }
465
487
 
466
- /* Small live indicator dot next to agent name when Herdr is tracking it */
467
- .herdr-live-dot {
468
- font-size: 7px;
469
- color: var(--google-green);
470
- line-height: 1;
471
- margin-left: 1px;
472
- opacity: 0.8;
488
+ .presence-name {
489
+ min-width: 0;
490
+ overflow: hidden;
491
+ color: var(--text-main);
492
+ font-size: 12.5px;
493
+ font-weight: 650;
494
+ text-overflow: ellipsis;
495
+ white-space: nowrap;
473
496
  }
474
497
 
475
- .presence-live .presence-name {
476
- color: var(--text-main);
498
+ .presence-status-pill {
499
+ flex-shrink: 0;
500
+ border-radius: 10px;
501
+ padding: 2px 6px;
502
+ font-size: 9.5px;
503
+ font-weight: 700;
504
+ letter-spacing: 0.15px;
477
505
  }
478
506
 
479
- .presence-status-text {
480
- font-size: 10.5px;
507
+ .presence-status-pill.working,
508
+ .agent-activity-status.working,
509
+ .agent-task-status.working {
510
+ background: #e6f4ea;
511
+ color: #137333;
512
+ }
513
+
514
+ .presence-status-pill.idle,
515
+ .agent-activity-status.idle,
516
+ .agent-task-status.idle {
517
+ background: var(--blue-surface);
518
+ color: var(--primary-blue);
519
+ }
520
+
521
+ .presence-status-pill.done,
522
+ .agent-activity-status.done,
523
+ .agent-task-status.done {
524
+ background: #e6f4ea;
525
+ color: #137333;
526
+ }
527
+
528
+ .presence-status-pill.blocked,
529
+ .agent-activity-status.blocked,
530
+ .agent-task-status.blocked {
531
+ background: #fce8e6;
532
+ color: #c5221f;
533
+ }
534
+
535
+ .presence-status-pill.offline,
536
+ .agent-activity-status.offline,
537
+ .agent-task-status.offline {
538
+ background: var(--bg-hover);
481
539
  color: var(--text-muted);
482
- white-space: nowrap;
540
+ }
541
+
542
+ .presence-role {
483
543
  overflow: hidden;
544
+ color: var(--text-secondary);
545
+ font-size: 10.5px;
546
+ font-weight: 500;
484
547
  text-overflow: ellipsis;
485
- max-width: 140px;
548
+ white-space: nowrap;
549
+ }
550
+
551
+ .presence-chevron {
552
+ flex-shrink: 0;
553
+ color: var(--text-muted);
554
+ font-size: 20px;
555
+ line-height: 1;
486
556
  }
487
557
 
488
558
  /* ─── Main Content ─────────────────────────────────────────────────────────── */
@@ -779,8 +849,12 @@ body {
779
849
  }
780
850
 
781
851
  .detail-header {
852
+ position: sticky;
853
+ top: 0;
854
+ z-index: 6;
782
855
  padding: 16px 24px;
783
856
  border-bottom: 1px solid var(--border-light);
857
+ background-color: var(--bg-surface);
784
858
  }
785
859
 
786
860
  .detail-header-actions {
@@ -790,10 +864,14 @@ body {
790
864
  }
791
865
 
792
866
  .detail-subject {
867
+ min-width: 0;
868
+ overflow: hidden;
793
869
  font-size: 18px;
794
870
  font-weight: 600;
795
871
  color: var(--text-main);
796
872
  flex: 1;
873
+ text-overflow: ellipsis;
874
+ white-space: nowrap;
797
875
  }
798
876
 
799
877
  .thread-badge {
@@ -1103,7 +1181,7 @@ body {
1103
1181
  position: absolute;
1104
1182
  top: 48px;
1105
1183
  right: 0;
1106
- width: 330px;
1184
+ width: min(360px, calc(100vw - 16px));
1107
1185
  background: #ffffff;
1108
1186
  border-radius: 16px;
1109
1187
  box-shadow: 0 4px 16px rgba(60,64,67,0.18), 0 8px 32px rgba(60,64,67,0.12);
@@ -1161,8 +1239,18 @@ body {
1161
1239
  gap: 2px;
1162
1240
  }
1163
1241
 
1242
+ .account-dropdown-role {
1243
+ max-width: 260px;
1244
+ overflow: hidden;
1245
+ color: var(--text-secondary);
1246
+ font-size: 11.5px;
1247
+ font-weight: 500;
1248
+ text-overflow: ellipsis;
1249
+ white-space: nowrap;
1250
+ }
1251
+
1164
1252
  .account-dropdown-email {
1165
- font-size: 12px;
1253
+ font-size: 11px;
1166
1254
  color: var(--text-muted);
1167
1255
  }
1168
1256
 
@@ -1194,6 +1282,7 @@ body {
1194
1282
  }
1195
1283
 
1196
1284
  .account-item-btn {
1285
+ min-height: 58px;
1197
1286
  display: flex;
1198
1287
  align-items: center;
1199
1288
  justify-content: space-between;
@@ -1212,8 +1301,8 @@ body {
1212
1301
  }
1213
1302
 
1214
1303
  .account-item-btn.active {
1215
- background: #eaf1fb;
1216
- font-weight: 700;
1304
+ background: var(--blue-surface);
1305
+ box-shadow: inset 3px 0 0 var(--primary-blue);
1217
1306
  }
1218
1307
 
1219
1308
  .account-item-left {
@@ -1225,22 +1314,43 @@ body {
1225
1314
  overflow: hidden;
1226
1315
  }
1227
1316
 
1228
- .account-item-left strong {
1229
- display: block;
1317
+ .account-item-copy {
1318
+ display: flex;
1319
+ min-width: 0;
1320
+ flex: 1;
1321
+ flex-direction: column;
1322
+ gap: 2px;
1230
1323
  overflow: hidden;
1231
- text-overflow: ellipsis;
1232
- white-space: nowrap;
1233
- font-size: 13px;
1234
- color: var(--text-main);
1235
1324
  }
1236
1325
 
1237
- .account-item-left div:not(.item-avatar) {
1326
+ .account-item-name,
1327
+ .account-item-role,
1328
+ .account-item-address {
1238
1329
  min-width: 0;
1239
1330
  overflow: hidden;
1240
1331
  text-overflow: ellipsis;
1241
1332
  white-space: nowrap;
1242
1333
  }
1243
1334
 
1335
+ .account-item-name {
1336
+ color: var(--text-main);
1337
+ font-size: 13px;
1338
+ font-weight: 650;
1339
+ }
1340
+
1341
+ .account-item-role {
1342
+ color: var(--text-secondary);
1343
+ font-size: 11px;
1344
+ font-weight: 500;
1345
+ }
1346
+
1347
+ .account-item-address {
1348
+ color: var(--text-muted);
1349
+ font-family: var(--font-mono);
1350
+ font-size: 9.5px;
1351
+ font-weight: 500;
1352
+ }
1353
+
1244
1354
  .item-avatar {
1245
1355
  width: 28px;
1246
1356
  height: 28px;
@@ -1324,6 +1434,11 @@ body {
1324
1434
  border-color: #dadce0;
1325
1435
  }
1326
1436
 
1437
+ .thread-card:focus-visible {
1438
+ outline: 2px solid var(--primary-blue);
1439
+ outline-offset: 2px;
1440
+ }
1441
+
1327
1442
  .thread-card-header {
1328
1443
  display: flex;
1329
1444
  align-items: center;
@@ -2144,12 +2259,47 @@ mark.search-highlight {
2144
2259
  gap: 14px;
2145
2260
  }
2146
2261
 
2262
+ #new-task-form {
2263
+ min-height: 0;
2264
+ max-height: min(680px, calc(90vh - 66px));
2265
+ display: flex;
2266
+ flex-direction: column;
2267
+ gap: 12px;
2268
+ padding: 20px 20px 0;
2269
+ overflow-y: auto;
2270
+ }
2271
+
2272
+ #new-task-form .agent-modal-actions {
2273
+ position: sticky;
2274
+ bottom: 0;
2275
+ z-index: 2;
2276
+ margin: 10px -20px 0;
2277
+ padding: 14px 20px 16px;
2278
+ background-color: var(--bg-surface);
2279
+ }
2280
+
2147
2281
  .agent-field {
2148
2282
  display: flex;
2149
2283
  flex-direction: column;
2150
2284
  gap: 5px;
2151
2285
  }
2152
2286
 
2287
+ .task-owner-tip {
2288
+ padding: 8px 10px;
2289
+ border: 1px solid var(--border-color);
2290
+ border-radius: 6px;
2291
+ background: var(--blue-surface);
2292
+ color: var(--text-secondary);
2293
+ font-size: 12px;
2294
+ line-height: 1.4;
2295
+ }
2296
+
2297
+ .task-owner-tip.warning {
2298
+ border-color: #f2b600;
2299
+ background: #fff4ce;
2300
+ color: #5f4500;
2301
+ }
2302
+
2153
2303
  .agent-field label {
2154
2304
  font-size: 12px;
2155
2305
  font-weight: 600;
@@ -3818,12 +3968,108 @@ mark.search-highlight {
3818
3968
  font-size: 14px;
3819
3969
  }
3820
3970
 
3971
+ .detail-header-actions {
3972
+ gap: 8px;
3973
+ }
3974
+
3975
+ .detail-header .thread-badge {
3976
+ display: none;
3977
+ }
3978
+
3979
+ .mail-toolbar {
3980
+ height: auto;
3981
+ min-height: 44px;
3982
+ padding: 6px 8px;
3983
+ gap: 8px;
3984
+ }
3985
+
3986
+ .toolbar-left {
3987
+ flex: 1;
3988
+ min-width: 0;
3989
+ }
3990
+
3991
+ .toolbar-filter-info {
3992
+ display: none;
3993
+ }
3994
+
3995
+ .view-mode-group,
3996
+ .toolbar-right {
3997
+ flex-shrink: 0;
3998
+ }
3999
+
4000
+ .page-info {
4001
+ max-width: 74px;
4002
+ overflow: hidden;
4003
+ text-overflow: ellipsis;
4004
+ white-space: nowrap;
4005
+ }
4006
+
4007
+ .mail-row {
4008
+ display: grid;
4009
+ grid-template-columns: 28px minmax(0, 1fr) auto;
4010
+ grid-template-areas:
4011
+ "star sender date"
4012
+ "star subject subject";
4013
+ align-items: center;
4014
+ gap: 4px 8px;
4015
+ }
4016
+
4017
+ .mail-row-actions {
4018
+ grid-area: star;
4019
+ grid-row: 1 / span 2;
4020
+ margin: 0;
4021
+ }
4022
+
4023
+ .mail-sender {
4024
+ grid-area: sender;
4025
+ width: auto;
4026
+ max-width: none;
4027
+ }
4028
+
4029
+ .mail-date {
4030
+ grid-area: date;
4031
+ width: auto;
4032
+ margin: 0;
4033
+ }
4034
+
4035
+ .mail-subject-wrap {
4036
+ grid-area: subject;
4037
+ width: auto;
4038
+ margin: 0;
4039
+ padding: 0;
4040
+ }
4041
+
3821
4042
  /* Full-width sheet modal on tiny screens — bottom sheet style */
3822
4043
  .modal-backdrop {
3823
4044
  align-items: flex-end;
3824
4045
  padding: 0;
3825
4046
  }
3826
4047
 
4048
+ #new-task-form {
4049
+ max-height: calc(95dvh - 58px);
4050
+ }
4051
+
4052
+ #new-task-form .agent-field-row {
4053
+ flex-direction: column;
4054
+ }
4055
+
4056
+ #new-task-form .agent-field-row > .agent-field {
4057
+ width: 100%;
4058
+ flex: none !important;
4059
+ }
4060
+
4061
+ #new-task-form input,
4062
+ #new-task-form select {
4063
+ width: 100%;
4064
+ min-width: 0;
4065
+ }
4066
+
4067
+ #new-task-form .agent-modal-actions .btn {
4068
+ min-height: 44px;
4069
+ flex: 1;
4070
+ justify-content: center;
4071
+ }
4072
+
3827
4073
  .agent-modal-card,
3828
4074
  .agent-modal-card-wide {
3829
4075
  width: 100vw;
@@ -3839,4 +4085,741 @@ mark.search-highlight {
3839
4085
  }
3840
4086
  }
3841
4087
 
4088
+ .agent-activity-dialog {
4089
+ width: min(620px, calc(100vw - 32px));
4090
+ max-width: none;
4091
+ max-height: min(760px, calc(100dvh - 32px));
4092
+ margin: auto;
4093
+ padding: 0;
4094
+ overflow: hidden;
4095
+ border: 1px solid var(--border-color);
4096
+ border-radius: 18px;
4097
+ background: var(--bg-surface);
4098
+ color: var(--text-main);
4099
+ box-shadow: 0 24px 70px rgba(32, 33, 36, 0.3);
4100
+ }
4101
+
4102
+ .agent-activity-dialog::backdrop {
4103
+ background: rgba(32, 33, 36, 0.5);
4104
+ backdrop-filter: blur(3px);
4105
+ }
4106
+
4107
+ .agent-activity-shell {
4108
+ max-height: min(760px, calc(100dvh - 32px));
4109
+ display: flex;
4110
+ flex-direction: column;
4111
+ }
4112
+
4113
+ .agent-activity-header {
4114
+ display: flex;
4115
+ align-items: flex-start;
4116
+ justify-content: space-between;
4117
+ gap: 16px;
4118
+ padding: 20px 22px 16px;
4119
+ border-bottom: 1px solid var(--border-light);
4120
+ background: var(--bg-app);
4121
+ }
4122
+
4123
+ .agent-activity-header > div {
4124
+ min-width: 0;
4125
+ }
4126
+
4127
+ .agent-activity-kicker,
4128
+ .agent-activity-label {
4129
+ color: var(--text-muted);
4130
+ font-size: 10px;
4131
+ font-weight: 700;
4132
+ letter-spacing: 0.7px;
4133
+ text-transform: uppercase;
4134
+ }
4135
+
4136
+ .agent-activity-header h2 {
4137
+ margin-top: 3px;
4138
+ color: var(--text-main);
4139
+ font-size: 20px;
4140
+ font-weight: 700;
4141
+ overflow-wrap: anywhere;
4142
+ }
4143
+
4144
+ .agent-activity-header span:not(.agent-activity-kicker) {
4145
+ color: var(--text-secondary);
4146
+ font-family: var(--font-mono);
4147
+ font-size: 11px;
4148
+ }
4149
+
4150
+ .agent-activity-body {
4151
+ display: flex;
4152
+ flex-direction: column;
4153
+ gap: 14px;
4154
+ padding: 20px 22px 22px;
4155
+ overflow-y: auto;
4156
+ }
4157
+
4158
+ .agent-activity-identity {
4159
+ display: flex;
4160
+ align-items: center;
4161
+ gap: 13px;
4162
+ }
4163
+
4164
+ .agent-activity-avatar {
4165
+ width: 48px;
4166
+ height: 48px;
4167
+ display: flex;
4168
+ align-items: center;
4169
+ justify-content: center;
4170
+ flex-shrink: 0;
4171
+ border-radius: 50%;
4172
+ color: #fff;
4173
+ font-size: 18px;
4174
+ font-weight: 700;
4175
+ }
4176
+
4177
+ .agent-activity-identity-copy {
4178
+ min-width: 0;
4179
+ display: flex;
4180
+ flex: 1;
4181
+ align-items: center;
4182
+ justify-content: space-between;
4183
+ gap: 12px;
4184
+ }
4185
+
4186
+ .agent-activity-identity-copy strong {
4187
+ color: var(--text-main);
4188
+ font-size: 13px;
4189
+ overflow-wrap: anywhere;
4190
+ }
4191
+
4192
+ .agent-activity-status,
4193
+ .agent-task-status {
4194
+ flex-shrink: 0;
4195
+ border-radius: 12px;
4196
+ padding: 3px 8px;
4197
+ font-size: 10px;
4198
+ font-weight: 700;
4199
+ text-transform: capitalize;
4200
+ }
4201
+
4202
+ .agent-activity-card {
4203
+ display: flex;
4204
+ flex-direction: column;
4205
+ gap: 7px;
4206
+ padding: 15px 16px;
4207
+ border: 1px solid var(--border-light);
4208
+ border-radius: 12px;
4209
+ background: var(--bg-app);
4210
+ }
4211
+
4212
+ .agent-activity-card > strong {
4213
+ color: var(--text-main);
4214
+ font-size: 14px;
4215
+ line-height: 1.45;
4216
+ }
4217
+
4218
+ .agent-activity-current {
4219
+ border-color: color-mix(in srgb, var(--primary-blue) 42%, var(--border-color));
4220
+ background: var(--blue-surface);
4221
+ }
4222
+
4223
+ .agent-activity-card-heading {
4224
+ display: flex;
4225
+ align-items: center;
4226
+ justify-content: space-between;
4227
+ gap: 12px;
4228
+ }
4229
+
4230
+ .agent-activity-meta {
4231
+ display: grid;
4232
+ grid-template-columns: repeat(2, minmax(0, 1fr));
4233
+ gap: 10px;
4234
+ }
4235
+
4236
+ .agent-activity-meta > div {
4237
+ min-width: 0;
4238
+ padding: 11px 12px;
4239
+ border: 1px solid var(--border-light);
4240
+ border-radius: 10px;
4241
+ background: var(--bg-app);
4242
+ }
4243
+
4244
+ .agent-activity-meta dt {
4245
+ color: var(--text-muted);
4246
+ font-size: 10px;
4247
+ font-weight: 700;
4248
+ letter-spacing: 0.45px;
4249
+ text-transform: uppercase;
4250
+ }
4251
+
4252
+ .agent-activity-meta dd {
4253
+ margin-top: 4px;
4254
+ overflow: hidden;
4255
+ color: var(--text-main);
4256
+ font-size: 12px;
4257
+ font-weight: 600;
4258
+ text-overflow: ellipsis;
4259
+ white-space: nowrap;
4260
+ }
4261
+
4262
+ .agent-activity-actions {
4263
+ display: flex;
4264
+ justify-content: flex-end;
4265
+ gap: 10px;
4266
+ padding: 14px 22px 18px;
4267
+ border-top: 1px solid var(--border-light);
4268
+ }
4269
+
4270
+ #splitter-view[data-reading-layout="full"].detail-open .mail-list-container {
4271
+ display: none;
4272
+ }
4273
+
4274
+ #splitter-view[data-reading-layout="full"] .mail-detail-container {
4275
+ width: 100%;
4276
+ border-left: 0;
4277
+ }
4278
+
4279
+ #splitter-view[data-reading-layout="split"] #back-to-list-btn {
4280
+ display: none;
4281
+ }
4282
+
4283
+ .mail-row.selected {
4284
+ background-color: var(--blue-surface);
4285
+ box-shadow: inset 3px 0 0 var(--primary-blue);
4286
+ }
4287
+
4288
+ .mail-row:focus-visible,
4289
+ .icon-btn:focus-visible,
4290
+ .icon-btn-small:focus-visible,
4291
+ .account-profile-btn:focus-visible,
4292
+ .view-mode-btn:focus-visible,
4293
+ .category-tab:focus-visible {
4294
+ outline: 2px solid var(--primary-blue);
4295
+ outline-offset: -2px;
4296
+ }
4297
+
4298
+ .settings-modal-card {
4299
+ width: 640px;
4300
+ max-height: 92vh;
4301
+ overflow-y: auto;
4302
+ }
4303
+
4304
+ #settings-form {
4305
+ display: flex;
4306
+ flex-direction: column;
4307
+ gap: 22px;
4308
+ padding: 22px 24px 20px;
4309
+ }
4310
+
4311
+ .settings-intro {
4312
+ color: var(--text-secondary);
4313
+ font-size: 13px;
4314
+ line-height: 1.5;
4315
+ }
4316
+
4317
+ .settings-group {
4318
+ min-width: 0;
4319
+ border: 0;
4320
+ display: flex;
4321
+ flex-direction: column;
4322
+ gap: 10px;
4323
+ }
4324
+
4325
+ .settings-group legend {
4326
+ padding: 0;
4327
+ color: var(--text-main);
4328
+ font-size: 13px;
4329
+ font-weight: 700;
4330
+ }
4331
+
4332
+ .settings-choice-grid {
4333
+ display: grid;
4334
+ gap: 10px;
4335
+ }
4336
+
4337
+ .settings-reading-grid {
4338
+ grid-template-columns: repeat(2, minmax(0, 1fr));
4339
+ }
4340
+
4341
+ .settings-theme-grid {
4342
+ grid-template-columns: repeat(3, minmax(0, 1fr));
4343
+ }
4344
+
4345
+ .settings-choice {
4346
+ position: relative;
4347
+ min-width: 0;
4348
+ display: grid;
4349
+ grid-template-columns: 1fr auto;
4350
+ align-items: center;
4351
+ gap: 12px;
4352
+ padding: 12px;
4353
+ border: 1px solid var(--border-color);
4354
+ border-radius: 10px;
4355
+ background: var(--bg-surface);
4356
+ cursor: pointer;
4357
+ transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
4358
+ }
4359
+
4360
+ .settings-reading-grid .settings-choice {
4361
+ grid-template-rows: auto auto;
4362
+ }
4363
+
4364
+ .settings-choice:hover {
4365
+ background: var(--bg-hover);
4366
+ border-color: var(--primary-blue);
4367
+ }
4368
+
4369
+ .settings-choice:has(input:checked) {
4370
+ border-color: var(--primary-blue);
4371
+ background: var(--blue-surface);
4372
+ box-shadow: 0 0 0 1px var(--primary-blue);
4373
+ }
4374
+
4375
+ .settings-choice:focus-within {
4376
+ outline: 2px solid var(--primary-blue);
4377
+ outline-offset: 2px;
4378
+ }
4379
+
4380
+ .settings-choice input {
4381
+ grid-column: 2;
4382
+ grid-row: 1 / span 2;
4383
+ width: 17px;
4384
+ height: 17px;
4385
+ margin: 0;
4386
+ accent-color: var(--primary-blue);
4387
+ }
4388
+
4389
+ .settings-choice-copy {
4390
+ min-width: 0;
4391
+ display: flex;
4392
+ flex-direction: column;
4393
+ gap: 3px;
4394
+ }
4395
+
4396
+ .settings-choice-copy strong {
4397
+ color: var(--text-main);
4398
+ font-size: 13px;
4399
+ }
4400
+
4401
+ .settings-choice-copy small {
4402
+ color: var(--text-secondary);
4403
+ font-size: 11.5px;
4404
+ line-height: 1.35;
4405
+ }
4406
+
4407
+ .settings-choice-preview {
4408
+ display: grid;
4409
+ gap: 3px;
4410
+ width: 100%;
4411
+ height: 54px;
4412
+ padding: 6px;
4413
+ border: 1px solid var(--border-color);
4414
+ border-radius: 6px;
4415
+ background: var(--bg-app);
4416
+ }
4417
+
4418
+ .settings-choice-preview i {
4419
+ display: block;
4420
+ border-radius: 2px;
4421
+ background: var(--blue-surface);
4422
+ }
4423
+
4424
+ .settings-preview-split {
4425
+ grid-template-columns: 38% 1fr;
4426
+ }
4427
+
4428
+ .settings-preview-split i:last-child {
4429
+ background: var(--bg-hover);
4430
+ }
4431
+
4432
+ .settings-preview-full {
4433
+ grid-template-rows: 38% 1fr;
4434
+ }
4435
+
4436
+ .settings-theme-choice {
4437
+ grid-template-columns: 34px 1fr auto;
4438
+ grid-template-rows: auto;
4439
+ }
4440
+
4441
+ .settings-theme-choice input {
4442
+ grid-column: 3;
4443
+ grid-row: 1;
4444
+ }
4445
+
4446
+ .settings-theme-swatch {
4447
+ width: 32px;
4448
+ height: 32px;
4449
+ border: 1px solid var(--border-color);
4450
+ border-radius: 50%;
4451
+ box-shadow: inset 0 0 0 3px var(--bg-surface);
4452
+ }
4453
+
4454
+ .settings-theme-system {
4455
+ background: linear-gradient(135deg, #fff 0 50%, #202124 50% 100%);
4456
+ }
4457
+
4458
+ .settings-theme-light {
4459
+ background: #fff;
4460
+ }
4461
+
4462
+ .settings-theme-dark {
4463
+ background: #202124;
4464
+ }
4465
+
4466
+ html[data-theme="dark"] {
4467
+ color-scheme: dark;
4468
+ --primary-blue: #8ab4f8;
4469
+ --primary-blue-hover: #aecbfa;
4470
+ --blue-surface: #283142;
4471
+ --compose-bg: #8ab4f8;
4472
+ --compose-text: #202124;
4473
+ --compose-hover: #aecbfa;
4474
+ --bg-app: #202124;
4475
+ --bg-surface: #292a2d;
4476
+ --bg-hover: #303134;
4477
+ --border-color: #3c4043;
4478
+ --border-light: #3c4043;
4479
+ --text-main: #e8eaed;
4480
+ --text-secondary: #bdc1c6;
4481
+ --text-muted: #9aa0a6;
4482
+ --google-red: #f28b82;
4483
+ --google-yellow: #fdd663;
4484
+ --google-green: #81c995;
4485
+ --google-blue: #8ab4f8;
4486
+ --hover-color: #303134;
4487
+ }
4488
+
4489
+ html[data-theme="dark"] body,
4490
+ html[data-theme="dark"] .app-header,
4491
+ html[data-theme="dark"] .app-sidebar,
4492
+ html[data-theme="dark"] .app-main,
4493
+ html[data-theme="dark"] .category-tabs {
4494
+ background-color: var(--bg-app);
4495
+ }
4496
+
4497
+ html[data-theme="dark"] .app-main,
4498
+ html[data-theme="dark"] .mail-detail-container {
4499
+ background-color: var(--bg-surface);
4500
+ }
4501
+
4502
+ html[data-theme="dark"] .logo-sub,
4503
+ html[data-theme="dark"] .search-bar,
4504
+ html[data-theme="dark"] .view-mode-group,
4505
+ html[data-theme="dark"] .account-dropdown-header,
4506
+ html[data-theme="dark"] .account-dropdown-footer,
4507
+ html[data-theme="dark"] .compose-header,
4508
+ html[data-theme="dark"] .agent-modal-header,
4509
+ html[data-theme="dark"] .agent-activity-header,
4510
+ html[data-theme="dark"] .thread-card-header,
4511
+ html[data-theme="dark"] .board-agent-filter-bar,
4512
+ html[data-theme="dark"] .task-sheet-stage-section,
4513
+ html[data-theme="dark"] .task-sheet-meta-grid,
4514
+ html[data-theme="dark"] .sheet-tabs-bar,
4515
+ html[data-theme="dark"] .task-sheet-card-header,
4516
+ html[data-theme="dark"] .sheet-msg-header {
4517
+ background-color: #303134;
4518
+ }
4519
+
4520
+ html[data-theme="dark"] .mail-row.unread,
4521
+ html[data-theme="dark"] .mail-row.selected,
4522
+ html[data-theme="dark"] .account-dropdown,
4523
+ html[data-theme="dark"] .compose-modal,
4524
+ html[data-theme="dark"] .context-menu,
4525
+ html[data-theme="dark"] .smart-replies-container,
4526
+ html[data-theme="dark"] .quick-reply-box,
4527
+ html[data-theme="dark"] .agent-modal-card,
4528
+ html[data-theme="dark"] .agent-activity-dialog,
4529
+ html[data-theme="dark"] .agent-activity-card,
4530
+ html[data-theme="dark"] .agent-activity-meta > div,
4531
+ html[data-theme="dark"] .table-container,
4532
+ html[data-theme="dark"] .attachment-image-card,
4533
+ html[data-theme="dark"] .attachment-file-chip,
4534
+ html[data-theme="dark"] .board-toolbar,
4535
+ html[data-theme="dark"] .board-filter-chip,
4536
+ html[data-theme="dark"] .kanban-card,
4537
+ html[data-theme="dark"] .task-sheet-drawer,
4538
+ html[data-theme="dark"] .sheet-stage-btn,
4539
+ html[data-theme="dark"] .sheet-owner-select,
4540
+ html[data-theme="dark"] .sheet-thread-code,
4541
+ html[data-theme="dark"] .task-sheet-card,
4542
+ html[data-theme="dark"] .sheet-tab-btn.active,
4543
+ html[data-theme="dark"] .sheet-subtle-btn,
4544
+ html[data-theme="dark"] .task-sheet-card-body,
4545
+ html[data-theme="dark"] .sheet-msg-card,
4546
+ html[data-theme="dark"] .task-sheet-dispatch-section {
4547
+ background-color: var(--bg-surface);
4548
+ color: var(--text-main);
4549
+ }
4550
+
4551
+ html[data-theme="dark"] .task-owner-tip.warning {
4552
+ border-color: #9e7b00;
4553
+ background: #4a3a00;
4554
+ color: #fdd663;
4555
+ }
4556
+
4557
+ html[data-theme="dark"] .agent-activity-dialog {
4558
+ box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
4559
+ }
4560
+
4561
+ html[data-theme="dark"] .agent-activity-current {
4562
+ background: var(--blue-surface);
4563
+ border-color: #5f6f91;
4564
+ }
4565
+
4566
+ html[data-theme="dark"] .agent-activity-card,
4567
+ html[data-theme="dark"] .agent-activity-meta > div {
4568
+ border-color: var(--border-color);
4569
+ }
4570
+
4571
+ html[data-theme="dark"] .presence-status-pill.working,
4572
+ html[data-theme="dark"] .presence-status-pill.done,
4573
+ html[data-theme="dark"] .agent-activity-status.working,
4574
+ html[data-theme="dark"] .agent-activity-status.done,
4575
+ html[data-theme="dark"] .agent-task-status.working,
4576
+ html[data-theme="dark"] .agent-task-status.done {
4577
+ background: #173b24;
4578
+ color: #81c995;
4579
+ }
4580
+
4581
+ html[data-theme="dark"] .presence-status-pill.idle,
4582
+ html[data-theme="dark"] .agent-activity-status.idle,
4583
+ html[data-theme="dark"] .agent-task-status.idle {
4584
+ background: #283142;
4585
+ color: #aecbfa;
4586
+ }
4587
+
4588
+ html[data-theme="dark"] .presence-status-pill.blocked,
4589
+ html[data-theme="dark"] .agent-activity-status.blocked,
4590
+ html[data-theme="dark"] .agent-task-status.blocked {
4591
+ background: #4a2828;
4592
+ color: #f28b82;
4593
+ }
4594
+
4595
+ html[data-theme="dark"] .mail-row.read {
4596
+ background-color: #252628;
4597
+ color: var(--text-secondary);
4598
+ }
4599
+
4600
+ html[data-theme="dark"] .mail-row:hover,
4601
+ html[data-theme="dark"] .mail-row.selected,
4602
+ html[data-theme="dark"] .account-item-btn.active,
4603
+ html[data-theme="dark"] .view-mode-btn.active,
4604
+ html[data-theme="dark"] .view-tab-btn.active,
4605
+ html[data-theme="dark"] .board-filter-chip.active,
4606
+ html[data-theme="dark"] .sheet-tab-btn.active,
4607
+ html[data-theme="dark"] .sheet-subtle-btn:hover,
4608
+ html[data-theme="dark"] .settings-choice:has(input:checked) {
4609
+ background-color: #3c4043;
4610
+ color: var(--text-main);
4611
+ }
4612
+
4613
+ html[data-theme="dark"] .thread-card,
4614
+ html[data-theme="dark"] .thread-card-body,
4615
+ html[data-theme="dark"] .detail-content,
4616
+ html[data-theme="dark"] .md-content,
4617
+ html[data-theme="dark"] .md-h2,
4618
+ html[data-theme="dark"] .md-h3,
4619
+ html[data-theme="dark"] .md-table td,
4620
+ html[data-theme="dark"] .quick-reply-box,
4621
+ html[data-theme="dark"] .task-sheet-desc,
4622
+ html[data-theme="dark"] .task-sheet-desc strong {
4623
+ color: var(--text-main);
4624
+ }
4625
+
4626
+ html[data-theme="dark"] .thread-card-body {
4627
+ background-color: var(--bg-surface);
4628
+ }
4629
+
4630
+ html[data-theme="dark"] .thread-card.expanded .thread-card-header,
4631
+ html[data-theme="dark"] .attachment-thumb-wrap,
4632
+ html[data-theme="dark"] .md-table th,
4633
+ html[data-theme="dark"] .md-quote,
4634
+ html[data-theme="dark"] .kanban-source-badge,
4635
+ html[data-theme="dark"] .task-sheet-id,
4636
+ html[data-theme="dark"] .sheet-action-btn,
4637
+ html[data-theme="dark"] .sheet-msg-empty,
4638
+ html[data-theme="dark"] .sheet-dispatch-chips .chip {
4639
+ background-color: var(--bg-hover);
4640
+ }
4641
+
4642
+ html[data-theme="dark"] .search-autocomplete-dropdown,
4643
+ html[data-theme="dark"] .suggestion-item:hover,
4644
+ html[data-theme="dark"] .suggestion-item.selected,
4645
+ html[data-theme="dark"] .inline-code,
4646
+ html[data-theme="dark"] .board-subtitle code,
4647
+ html[data-theme="dark"] .board-pill,
4648
+ html[data-theme="dark"] .col-badge,
4649
+ html[data-theme="dark"] .kanban-move-btn:hover,
4650
+ html[data-theme="dark"] .task-sheet-desc code,
4651
+ html[data-theme="dark"] .sheet-tab-count,
4652
+ html[data-theme="dark"] .brief-chip {
4653
+ background-color: #303134;
4654
+ color: var(--text-main);
4655
+ border-color: #5f6368;
4656
+ }
4657
+
4658
+ html[data-theme="dark"] .chip,
4659
+ html[data-theme="dark"] .btn-secondary,
4660
+ html[data-theme="dark"] .agent-field input[type="text"],
4661
+ html[data-theme="dark"] .agent-field select,
4662
+ html[data-theme="dark"] .agent-field textarea,
4663
+ html[data-theme="dark"] .quick-reply-box textarea,
4664
+ html[data-theme="dark"] .compose-field input,
4665
+ html[data-theme="dark"] .compose-field select,
4666
+ html[data-theme="dark"] .compose-textarea-wrap textarea,
4667
+ html[data-theme="dark"] .board-search-wrap input,
4668
+ html[data-theme="dark"] .sheet-dispatch-field select,
4669
+ html[data-theme="dark"] .sheet-dispatch-textarea {
4670
+ background-color: #202124;
4671
+ color: var(--text-main);
4672
+ border-color: #5f6368;
4673
+ }
4674
+
4675
+ html[data-theme="dark"] .btn-primary {
4676
+ background-color: #8ab4f8;
4677
+ color: #202124;
4678
+ }
4679
+
4680
+ html[data-theme="dark"] .btn-primary:hover {
4681
+ background-color: #aecbfa;
4682
+ }
4683
+
4684
+ html[data-theme="dark"] .kanban-grid {
4685
+ background-color: #17181a;
4686
+ }
4687
+
4688
+ html[data-theme="dark"] .kanban-column {
4689
+ background-color: #292a2d;
4690
+ border: 1px solid #3c4043;
4691
+ }
4692
+
4693
+ html[data-theme="dark"] .kanban-col-header {
4694
+ background-color: #303134;
4695
+ border-color: #3c4043;
4696
+ }
4697
+
4698
+ html[data-theme="dark"] .settings-choice,
4699
+ html[data-theme="dark"] .settings-choice:hover,
4700
+ html[data-theme="dark"] .settings-choice-preview {
4701
+ background-color: var(--bg-surface);
4702
+ border-color: var(--border-color);
4703
+ }
4704
+
4705
+ html[data-theme="dark"] .account-item-role,
4706
+ html[data-theme="dark"] .thread-card-body > div:first-child,
4707
+ html[data-theme="dark"] .sheet-msg-body > div:first-child {
4708
+ color: var(--text-secondary) !important;
4709
+ }
4710
+
4711
+ html[data-theme="dark"] .status-running {
4712
+ background-color: #173b24;
4713
+ color: #81c995;
4714
+ border-color: #285a38;
4715
+ }
4716
+
4717
+ html[data-theme="dark"] .status-stopped {
4718
+ background-color: #3b2f12;
4719
+ color: #fdd663;
4720
+ border-color: #5f4b00;
4721
+ }
4722
+
4723
+ html[data-theme="dark"] .attachment-file-chip.missing,
4724
+ html[data-theme="dark"] .attachment-image-card.missing,
4725
+ html[data-theme="dark"] .attachment-thumb-wrap.missing-thumb {
4726
+ background-color: #3b2f12;
4727
+ color: #fdd663;
4728
+ border-color: #8a6d00;
4729
+ }
4730
+
4731
+ html[data-theme="dark"] mark.search-highlight {
4732
+ background-color: #5f4b00;
4733
+ color: #fff;
4734
+ }
4735
+
4736
+ html[data-theme="dark"] ::placeholder {
4737
+ color: #9aa0a6;
4738
+ opacity: 1;
4739
+ }
4740
+
4741
+ @media (max-width: 768px) {
4742
+ #splitter-view[data-reading-layout] #back-to-list-btn {
4743
+ display: flex;
4744
+ }
4745
+
4746
+ #splitter-view[data-reading-layout="full"] .mail-detail-container {
4747
+ position: absolute;
4748
+ }
4749
+
4750
+ .settings-modal-card {
4751
+ width: 95vw;
4752
+ }
4753
+
4754
+ .account-dropdown-list {
4755
+ max-height: min(52dvh, 380px);
4756
+ }
4757
+ }
4758
+
4759
+ @media (max-width: 540px) {
4760
+ #settings-form {
4761
+ padding: 16px;
4762
+ gap: 18px;
4763
+ }
4764
+
4765
+ .settings-reading-grid,
4766
+ .settings-theme-grid {
4767
+ grid-template-columns: 1fr;
4768
+ }
4769
+
4770
+ .settings-choice-preview {
4771
+ height: 46px;
4772
+ }
4773
+
4774
+ .account-item-btn {
4775
+ min-height: 62px;
4776
+ }
4777
+
4778
+ .agent-activity-dialog {
4779
+ position: fixed;
4780
+ inset: auto 0 0;
4781
+ width: 100vw;
4782
+ max-height: 92dvh;
4783
+ margin: 0;
4784
+ border-right: 0;
4785
+ border-bottom: 0;
4786
+ border-left: 0;
4787
+ border-radius: 18px 18px 0 0;
4788
+ }
4789
+
4790
+ .agent-activity-shell {
4791
+ max-height: 92dvh;
4792
+ }
4793
+
4794
+ .agent-activity-header {
4795
+ padding: 16px 16px 13px;
4796
+ }
4797
+
4798
+ .agent-activity-body {
4799
+ padding: 16px;
4800
+ }
4801
+
4802
+ .agent-activity-identity-copy {
4803
+ align-items: flex-start;
4804
+ flex-direction: column;
4805
+ gap: 6px;
4806
+ }
4807
+
4808
+ .agent-activity-actions {
4809
+ padding: 12px 16px calc(14px + env(safe-area-inset-bottom));
4810
+ }
4811
+
4812
+ .agent-activity-actions .btn {
4813
+ min-height: 44px;
4814
+ flex: 1;
4815
+ justify-content: center;
4816
+ }
4817
+ }
4818
+
4819
+ @media (prefers-reduced-motion: reduce) {
4820
+ .presence-dot.working {
4821
+ animation: none;
4822
+ }
4823
+ }
4824
+
3842
4825