codexmate 0.0.56 → 0.1.1

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.
Files changed (42) hide show
  1. package/README.md +2 -2
  2. package/README.vi.md +1 -0
  3. package/README.zh.md +2 -2
  4. package/cli/openai-bridge-retry.js +62 -0
  5. package/cli/openai-bridge-runtime.js +1819 -0
  6. package/cli/openai-bridge.js +137 -2048
  7. package/cli.js +749 -133
  8. package/lib/task-orchestrator.js +90 -21
  9. package/lib/task-workspace-chat.js +292 -0
  10. package/package.json +2 -2
  11. package/web-ui/app.js +67 -131
  12. package/web-ui/modules/app.computed.main-tabs.mjs +304 -7
  13. package/web-ui/modules/app.methods.agents.mjs +192 -1
  14. package/web-ui/modules/app.methods.claude-config.mjs +65 -25
  15. package/web-ui/modules/app.methods.navigation.mjs +67 -83
  16. package/web-ui/modules/app.methods.openclaw-editing.mjs +3 -6
  17. package/web-ui/modules/app.methods.providers.mjs +40 -10
  18. package/web-ui/modules/app.methods.session-actions.mjs +1 -12
  19. package/web-ui/modules/app.methods.session-browser.mjs +23 -54
  20. package/web-ui/modules/app.methods.session-trash.mjs +0 -1
  21. package/web-ui/modules/app.methods.startup-claude.mjs +16 -31
  22. package/web-ui/modules/app.methods.task-orchestration.mjs +347 -8
  23. package/web-ui/modules/app.methods.tool-config-permissions.mjs +0 -3
  24. package/web-ui/modules/app.methods.web-ui-preferences.mjs +442 -68
  25. package/web-ui/modules/config-template-confirm-pref.mjs +2 -3
  26. package/web-ui/modules/i18n/locales/en.mjs +181 -30
  27. package/web-ui/modules/i18n/locales/ja.mjs +178 -27
  28. package/web-ui/modules/i18n/locales/vi.mjs +180 -29
  29. package/web-ui/modules/i18n/locales/zh-tw.mjs +181 -30
  30. package/web-ui/modules/i18n/locales/zh.mjs +183 -32
  31. package/web-ui/modules/i18n.mjs +5 -12
  32. package/web-ui/modules/sessions-filters-url.mjs +1 -2
  33. package/web-ui/partials/index/layout-header.html +44 -38
  34. package/web-ui/partials/index/modals-basic.html +26 -0
  35. package/web-ui/partials/index/panel-orchestration.html +489 -282
  36. package/web-ui/partials/index/panel-prompts.html +66 -3
  37. package/web-ui/res/web-ui-render.precompiled.js +1181 -604
  38. package/web-ui/styles/layout-shell.css +157 -1
  39. package/web-ui/styles/modals-core.css +173 -0
  40. package/web-ui/styles/navigation-panels.css +11 -0
  41. package/web-ui/styles/responsive.css +32 -0
  42. package/web-ui/styles/task-orchestration.css +2161 -4
@@ -528,9 +528,6 @@
528
528
  box-sizing: border-box;
529
529
  }
530
530
 
531
- .task-action-preview {
532
- min-width: 104px;
533
- }
534
531
 
535
532
  .task-action-row-right {
536
533
  display: flex;
@@ -779,9 +776,71 @@
779
776
  line-height: 1.55;
780
777
  }
781
778
 
779
+ .task-node-output-card {
780
+ margin-top: 12px;
781
+ padding: 12px;
782
+ border-radius: 16px;
783
+ border: 1px solid rgba(100, 116, 139, 0.16);
784
+ background: #F8FAFC;
785
+ }
786
+
787
+ .task-node-output-head,
788
+ .task-node-output-facts {
789
+ display: flex;
790
+ align-items: center;
791
+ justify-content: space-between;
792
+ gap: 8px;
793
+ flex-wrap: wrap;
794
+ }
795
+
796
+ .task-node-output-head strong {
797
+ font-size: 13px;
798
+ color: var(--color-text-primary);
799
+ }
800
+
801
+ .task-node-output-meta,
802
+ .task-node-output-facts,
803
+ .task-materialized-file {
804
+ font-size: 12px;
805
+ line-height: 1.55;
806
+ color: var(--color-text-secondary);
807
+ }
808
+
809
+ .task-node-output-facts {
810
+ justify-content: flex-start;
811
+ margin-top: 6px;
812
+ }
813
+
814
+ .task-output-block {
815
+ max-height: 260px;
816
+ min-height: 96px;
817
+ overflow: auto;
818
+ background: #FFFFFF;
819
+ }
820
+
821
+ .task-materialized-files {
822
+ margin-top: 10px;
823
+ display: flex;
824
+ flex-direction: column;
825
+ gap: 4px;
826
+ }
827
+
828
+ .task-workspace-files {
829
+ padding: 10px;
830
+ border: 1px solid rgba(199, 116, 98, 0.2);
831
+ border-radius: 14px;
832
+ background: #FFFDFC;
833
+ }
834
+
835
+ .task-workspace-files .task-node-deps {
836
+ color: var(--color-brand-dark);
837
+ font-weight: 800;
838
+ }
839
+
782
840
  @media (max-width: 1200px) {
783
841
  .task-layout-grid-primary,
784
- .task-layout-grid-secondary {
842
+ .task-layout-grid-secondary,
843
+ .task-chat-context-row-primary {
785
844
  grid-template-columns: 1fr;
786
845
  }
787
846
  }
@@ -820,3 +879,2101 @@
820
879
  flex-wrap: wrap;
821
880
  }
822
881
  }
882
+
883
+ .task-quick-layout {
884
+ margin-bottom: 18px;
885
+ }
886
+
887
+ .task-quick-card {
888
+ display: grid;
889
+ grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
890
+ gap: 18px;
891
+ align-items: stretch;
892
+ }
893
+
894
+ .task-quick-main {
895
+ min-width: 0;
896
+ display: flex;
897
+ flex-direction: column;
898
+ gap: 14px;
899
+ }
900
+
901
+ .task-quick-copy {
902
+ max-width: 780px;
903
+ }
904
+
905
+ .task-quick-title {
906
+ font-size: clamp(22px, 2vw, 30px);
907
+ line-height: 1.18;
908
+ }
909
+
910
+ .task-quick-input-card {
911
+ padding: 18px;
912
+ border-radius: 22px;
913
+ border: 1px solid var(--color-border-soft);
914
+ background: #F8FAFC;
915
+ box-shadow: var(--shadow-subtle);
916
+ }
917
+
918
+ .task-quick-target-field {
919
+ display: block;
920
+ }
921
+
922
+ .task-chat-composer .selector-label {
923
+ font-size: 12px;
924
+ letter-spacing: 0.04em;
925
+ text-transform: uppercase;
926
+ }
927
+
928
+ .task-quick-target {
929
+ min-height: 88px;
930
+ border-radius: 18px;
931
+ background: var(--color-surface);
932
+ font-size: 15px;
933
+ }
934
+
935
+
936
+ .task-chat-panel {
937
+ display: flex;
938
+ flex-direction: column;
939
+ gap: 14px;
940
+ }
941
+
942
+ .task-chat-thread {
943
+ display: flex;
944
+ flex-direction: column;
945
+ gap: 10px;
946
+ max-height: 420px;
947
+ overflow-x: hidden;
948
+ overflow-y: auto;
949
+ overscroll-behavior: contain;
950
+ scrollbar-width: thin;
951
+ scrollbar-color: transparent transparent;
952
+ padding: 12px;
953
+ border-radius: 20px;
954
+ border: 1px solid var(--color-border-soft);
955
+ background: rgba(255, 255, 255, 0.74);
956
+ transition: scrollbar-color 0.16s ease;
957
+ }
958
+
959
+ .task-chat-thread:hover,
960
+ .task-chat-thread:focus-within {
961
+ scrollbar-color: rgba(100, 116, 139, 0.28) transparent;
962
+ }
963
+
964
+ .task-chat-thread::-webkit-scrollbar {
965
+ width: 6px;
966
+ height: 6px;
967
+ }
968
+
969
+ .task-chat-thread::-webkit-scrollbar-track {
970
+ background: transparent;
971
+ }
972
+
973
+ .task-chat-thread::-webkit-scrollbar-thumb {
974
+ border-radius: 999px;
975
+ background: transparent;
976
+ }
977
+
978
+ .task-chat-thread:hover::-webkit-scrollbar-thumb,
979
+ .task-chat-thread:focus-within::-webkit-scrollbar-thumb {
980
+ background: rgba(100, 116, 139, 0.28);
981
+ }
982
+
983
+ .task-chat-thread::-webkit-scrollbar-thumb:hover {
984
+ background: rgba(100, 116, 139, 0.42);
985
+ }
986
+
987
+ .task-chat-bubble-row {
988
+ display: flex;
989
+ width: 100%;
990
+ }
991
+
992
+ .task-chat-bubble-row.is-assistant {
993
+ justify-content: flex-start;
994
+ }
995
+
996
+ .task-chat-bubble-row.is-user {
997
+ justify-content: flex-end;
998
+ }
999
+
1000
+ .task-chat-bubble {
1001
+ max-width: min(76%, 680px);
1002
+ padding: 11px 13px;
1003
+ border-radius: 18px;
1004
+ border: 1px solid var(--color-border-soft);
1005
+ background: var(--color-surface);
1006
+ box-shadow: 0 8px 24px rgba(36, 24, 20, 0.06);
1007
+ }
1008
+
1009
+ .task-chat-bubble-row.is-user .task-chat-bubble {
1010
+ border-color: rgba(199, 116, 98, 0.28);
1011
+ background: var(--color-brand-light);
1012
+ color: var(--color-brand-dark);
1013
+ border-bottom-right-radius: 6px;
1014
+ }
1015
+
1016
+ .task-chat-bubble-row.is-assistant .task-chat-bubble {
1017
+ border-bottom-left-radius: 6px;
1018
+ }
1019
+
1020
+ .task-chat-bubble-label {
1021
+ font-size: 11px;
1022
+ font-weight: 800;
1023
+ letter-spacing: 0.04em;
1024
+ text-transform: uppercase;
1025
+ color: var(--color-text-muted);
1026
+ margin-bottom: 5px;
1027
+ }
1028
+
1029
+ .task-chat-bubble-text {
1030
+ font-size: 14px;
1031
+ line-height: 1.55;
1032
+ color: var(--color-text-primary);
1033
+ white-space: pre-wrap;
1034
+ overflow-wrap: anywhere;
1035
+ }
1036
+
1037
+ .task-chat-bubble-row.is-user .task-chat-bubble-text,
1038
+ .task-chat-bubble-row.is-user .task-chat-bubble-label,
1039
+ .task-chat-bubble-row.is-user .task-chat-bubble-meta {
1040
+ color: var(--color-brand-dark);
1041
+ }
1042
+
1043
+ .task-chat-bubble-meta {
1044
+ margin-top: 6px;
1045
+ font-size: 11px;
1046
+ line-height: 1.45;
1047
+ color: var(--color-text-secondary);
1048
+ }
1049
+
1050
+ .task-chat-send-row {
1051
+ display: flex;
1052
+ align-items: center;
1053
+ justify-content: space-between;
1054
+ gap: 12px;
1055
+ flex-wrap: wrap;
1056
+ }
1057
+
1058
+ .task-chat-action-buttons {
1059
+ display: flex;
1060
+ flex-wrap: wrap;
1061
+ gap: 8px;
1062
+ }
1063
+
1064
+ .task-chat-primary-action {
1065
+ flex: 1 1 180px;
1066
+ display: grid;
1067
+ place-items: center;
1068
+ align-self: stretch;
1069
+ }
1070
+
1071
+ .task-chat-primary-button {
1072
+ min-width: 168px;
1073
+ min-height: 44px;
1074
+ justify-content: center;
1075
+ font-weight: 800;
1076
+ }
1077
+
1078
+ .task-chat-execute-caption {
1079
+ margin-top: 8px;
1080
+ color: var(--color-text-secondary);
1081
+ font-size: 12px;
1082
+ line-height: 1.45;
1083
+ }
1084
+
1085
+ .task-chat-context-row {
1086
+ display: flex;
1087
+ flex-wrap: wrap;
1088
+ gap: 8px;
1089
+ margin-top: 12px;
1090
+ }
1091
+
1092
+ .task-chat-context-row-primary {
1093
+ display: grid;
1094
+ grid-template-columns: minmax(260px, 1.2fr) minmax(220px, 0.8fr) repeat(3, minmax(96px, auto));
1095
+ align-items: stretch;
1096
+ padding: 10px;
1097
+ border: 1px solid rgba(199, 116, 98, 0.18);
1098
+ border-radius: 18px;
1099
+ background: #FFFFFF;
1100
+ }
1101
+
1102
+ .task-chat-context-chip {
1103
+ display: inline-flex;
1104
+ align-items: center;
1105
+ min-height: 30px;
1106
+ max-width: 100%;
1107
+ padding: 0 10px;
1108
+ border-radius: 999px;
1109
+ border: 1px solid rgba(199, 116, 98, 0.18);
1110
+ background: rgba(255, 255, 255, 0.68);
1111
+ color: var(--color-text-secondary);
1112
+ font-size: 12px;
1113
+ font-weight: 600;
1114
+ overflow: hidden;
1115
+ text-overflow: ellipsis;
1116
+ white-space: nowrap;
1117
+ }
1118
+
1119
+ .task-chat-context-chip-strong {
1120
+ display: flex;
1121
+ align-items: flex-start;
1122
+ flex-direction: column;
1123
+ justify-content: center;
1124
+ gap: 2px;
1125
+ min-height: 42px;
1126
+ border-radius: 14px;
1127
+ background: #FFFDFC;
1128
+ color: var(--color-text-primary);
1129
+ white-space: normal;
1130
+ }
1131
+
1132
+ .task-chat-context-chip-strong small {
1133
+ color: var(--color-text-muted);
1134
+ font-size: 10px;
1135
+ font-weight: 800;
1136
+ letter-spacing: 0.06em;
1137
+ text-transform: uppercase;
1138
+ }
1139
+
1140
+ .task-chat-context-chip-strong strong {
1141
+ max-width: 100%;
1142
+ overflow-wrap: anywhere;
1143
+ word-break: break-word;
1144
+ font-size: 12px;
1145
+ line-height: 1.35;
1146
+ }
1147
+
1148
+ .task-chat-context-action {
1149
+ cursor: pointer;
1150
+ font: inherit;
1151
+ }
1152
+
1153
+ .task-chat-context-action:hover,
1154
+ .task-chat-context-action:focus-visible {
1155
+ border-color: rgba(199, 116, 98, 0.38);
1156
+ color: var(--color-brand-dark);
1157
+ outline: none;
1158
+ }
1159
+
1160
+ .task-quick-readiness {
1161
+ margin-top: 14px;
1162
+ background: rgba(255, 255, 255, 0.58);
1163
+ }
1164
+
1165
+ .task-quick-template-block {
1166
+ padding: 14px;
1167
+ }
1168
+
1169
+ .task-quick-template-grid {
1170
+ display: grid;
1171
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1172
+ gap: 10px;
1173
+ margin-top: 10px;
1174
+ }
1175
+
1176
+ .task-quick-template-card {
1177
+ min-width: 0;
1178
+ padding: 14px;
1179
+ border-radius: 16px;
1180
+ border: 1px solid var(--color-border-soft);
1181
+ background: var(--color-surface);
1182
+ color: var(--color-text-primary);
1183
+ text-align: left;
1184
+ cursor: pointer;
1185
+ transition:
1186
+ transform var(--transition-fast) var(--ease-smooth),
1187
+ border-color var(--transition-fast) var(--ease-smooth),
1188
+ box-shadow var(--transition-fast) var(--ease-smooth),
1189
+ background var(--transition-fast) var(--ease-smooth);
1190
+ }
1191
+
1192
+ .task-quick-template-card:hover {
1193
+ transform: translateY(-1px);
1194
+ border-color: rgba(199, 116, 98, 0.34);
1195
+ background: var(--color-brand-light);
1196
+ box-shadow: var(--shadow-subtle);
1197
+ }
1198
+
1199
+ .task-quick-template-card strong,
1200
+ .task-quick-template-card span {
1201
+ display: block;
1202
+ }
1203
+
1204
+ .task-quick-template-card strong {
1205
+ font-size: 13px;
1206
+ color: var(--color-text-primary);
1207
+ }
1208
+
1209
+ .task-quick-template-card span {
1210
+ margin-top: 6px;
1211
+ font-size: 12px;
1212
+ line-height: 1.5;
1213
+ color: var(--color-text-secondary);
1214
+ }
1215
+
1216
+ .task-quick-advanced {
1217
+ margin-top: 0;
1218
+ }
1219
+
1220
+ .task-quick-side-card {
1221
+ min-width: 0;
1222
+ padding: 16px;
1223
+ border-radius: 20px;
1224
+ border: 1px solid var(--color-border-soft);
1225
+ background: var(--color-surface-alt);
1226
+ box-shadow: var(--shadow-subtle);
1227
+ }
1228
+
1229
+ .task-provider-status-card {
1230
+ margin-bottom: 14px;
1231
+ padding: 14px;
1232
+ border-radius: 16px;
1233
+ border: 1px solid rgba(100, 116, 139, 0.16);
1234
+ background: #FFFFFF;
1235
+ display: flex;
1236
+ flex-direction: column;
1237
+ gap: 10px;
1238
+ }
1239
+
1240
+ .task-provider-status-grid {
1241
+ display: grid;
1242
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1243
+ gap: 8px;
1244
+ }
1245
+
1246
+ .task-provider-status-row {
1247
+ min-width: 0;
1248
+ padding: 9px 10px;
1249
+ border-radius: 12px;
1250
+ background: #F8FAFC;
1251
+ border: 1px solid rgba(100, 116, 139, 0.10);
1252
+ }
1253
+
1254
+ .task-provider-status-row-wide {
1255
+ grid-column: 1 / -1;
1256
+ }
1257
+
1258
+ .task-provider-status-row span,
1259
+ .task-provider-status-row strong {
1260
+ display: block;
1261
+ min-width: 0;
1262
+ overflow: hidden;
1263
+ text-overflow: ellipsis;
1264
+ white-space: nowrap;
1265
+ }
1266
+
1267
+ .task-provider-status-row span {
1268
+ font-size: 11px;
1269
+ color: var(--color-text-muted);
1270
+ }
1271
+
1272
+ .task-provider-status-row strong {
1273
+ margin-top: 3px;
1274
+ font-size: 12px;
1275
+ color: var(--color-text-primary);
1276
+ }
1277
+
1278
+ .task-provider-status-error {
1279
+ margin: 0;
1280
+ }
1281
+
1282
+ .task-provider-config-button {
1283
+ align-self: flex-start;
1284
+ }
1285
+
1286
+ .task-quick-checklist {
1287
+ grid-template-columns: 1fr;
1288
+ }
1289
+
1290
+ .task-quick-status-card {
1291
+ margin-top: 14px;
1292
+ padding: 14px;
1293
+ border-radius: 16px;
1294
+ border: 1px solid rgba(199, 116, 98, 0.18);
1295
+ background: var(--color-surface);
1296
+ display: flex;
1297
+ flex-direction: column;
1298
+ gap: 6px;
1299
+ }
1300
+
1301
+ .task-quick-status-card strong {
1302
+ color: var(--color-text-primary);
1303
+ }
1304
+
1305
+ .task-quick-status-card span {
1306
+ font-size: 12px;
1307
+ line-height: 1.55;
1308
+ color: var(--color-text-secondary);
1309
+ }
1310
+
1311
+ @media (max-width: 1200px) {
1312
+ .task-quick-card {
1313
+ grid-template-columns: 1fr;
1314
+ }
1315
+
1316
+ .task-quick-checklist {
1317
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1318
+ }
1319
+ }
1320
+
1321
+ @media (max-width: 720px) {
1322
+ .task-quick-template-grid,
1323
+ .task-quick-checklist {
1324
+ grid-template-columns: 1fr;
1325
+ }
1326
+ }
1327
+
1328
+ /* Codex-style orchestration simplification: keep the chat thread as the main surface. */
1329
+ #panel-orchestration {
1330
+ --task-orchestration-main-width: 1200px;
1331
+ --task-orchestration-context-width: 260px;
1332
+ }
1333
+
1334
+ #panel-orchestration .task-hero-card {
1335
+ max-width: var(--task-orchestration-main-width);
1336
+ margin: -4px auto 14px;
1337
+ padding: 16px 18px;
1338
+ box-shadow: none;
1339
+ }
1340
+
1341
+ #panel-orchestration .task-hero-main {
1342
+ align-items: center;
1343
+ }
1344
+
1345
+ #panel-orchestration .task-hero-copy,
1346
+ #panel-orchestration .task-hero-meta-strip,
1347
+ #panel-orchestration .task-quick-copy,
1348
+ #panel-orchestration .task-template-block,
1349
+ #panel-orchestration .task-stage-card {
1350
+ display: none;
1351
+ }
1352
+
1353
+ #panel-orchestration .task-layout-grid-primary,
1354
+ #panel-orchestration .task-layout-grid-secondary {
1355
+ max-width: var(--task-orchestration-main-width);
1356
+ margin-left: auto;
1357
+ margin-right: auto;
1358
+ }
1359
+
1360
+ #panel-orchestration .task-quick-card {
1361
+ display: grid;
1362
+ grid-template-columns: minmax(0, 1fr) var(--task-orchestration-context-width);
1363
+ gap: 14px;
1364
+ align-items: start;
1365
+ padding: 0;
1366
+ border: 0;
1367
+ background: transparent;
1368
+ box-shadow: none;
1369
+ }
1370
+
1371
+ #panel-orchestration .task-quick-main {
1372
+ display: block;
1373
+ min-width: 0;
1374
+ }
1375
+
1376
+ #panel-orchestration {
1377
+ min-height: calc(100vh - 96px);
1378
+ }
1379
+
1380
+ #panel-orchestration .task-hero-card {
1381
+ padding: 10px 14px;
1382
+ border-radius: 16px;
1383
+ background: rgba(255, 255, 255, 0.62);
1384
+ box-shadow: none;
1385
+ }
1386
+
1387
+ #panel-orchestration .task-hero-main {
1388
+ align-items: center;
1389
+ gap: 12px;
1390
+ }
1391
+
1392
+ #panel-orchestration .task-hero-card .selector-title {
1393
+ font-size: 1rem;
1394
+ line-height: 1.25;
1395
+ }
1396
+
1397
+ #panel-orchestration .task-hero-card .task-hero-copy,
1398
+ #panel-orchestration .task-hero-card .task-hero-kicker {
1399
+ display: none;
1400
+ }
1401
+
1402
+ #panel-orchestration .task-quick-card {
1403
+ display: grid;
1404
+ grid-template-columns: minmax(0, 1fr) var(--task-orchestration-context-width);
1405
+ gap: 14px;
1406
+ align-items: start;
1407
+ padding: 0;
1408
+ border: 0;
1409
+ background: transparent;
1410
+ box-shadow: none;
1411
+ }
1412
+
1413
+ #panel-orchestration .task-quick-main {
1414
+ display: flex;
1415
+ flex-direction: column;
1416
+ gap: 10px;
1417
+ min-width: 0;
1418
+ }
1419
+
1420
+ #panel-orchestration .task-chat-panel {
1421
+ display: flex;
1422
+ flex-direction: column;
1423
+ gap: 12px;
1424
+ height: min(780px, calc(100vh - 170px));
1425
+ min-height: 620px;
1426
+ margin: 0;
1427
+ padding: 12px;
1428
+ overflow: hidden;
1429
+ border: 1px solid rgba(199, 116, 98, 0.16);
1430
+ border-radius: 22px;
1431
+ background:
1432
+ linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 252, 248, 0.7)),
1433
+ rgba(255, 255, 255, 0.6);
1434
+ box-shadow: 0 18px 52px rgba(86, 58, 39, 0.08);
1435
+ }
1436
+
1437
+ #panel-orchestration .task-chat-thread {
1438
+ flex: 1 1 auto;
1439
+ min-height: 0;
1440
+ max-height: none;
1441
+ margin: 0;
1442
+ padding: 10px 8px 16px;
1443
+ gap: 12px;
1444
+ overflow-y: auto;
1445
+ border: 0;
1446
+ background: transparent;
1447
+ }
1448
+
1449
+ #panel-orchestration .task-thread-message-card {
1450
+ position: relative;
1451
+ align-self: flex-start;
1452
+ width: min(100%, 760px);
1453
+ margin: 2px 0 4px 44px;
1454
+ padding: 14px;
1455
+ border: 1px solid rgba(199, 116, 98, 0.18);
1456
+ border-radius: 20px;
1457
+ background: rgba(255, 255, 255, 0.84);
1458
+ box-shadow: 0 12px 30px rgba(86, 58, 39, 0.09);
1459
+ }
1460
+
1461
+ #panel-orchestration .task-thread-message-card::before {
1462
+ content: 'AI';
1463
+ position: absolute;
1464
+ left: -40px;
1465
+ top: 12px;
1466
+ display: grid;
1467
+ width: 30px;
1468
+ height: 30px;
1469
+ place-items: center;
1470
+ border-radius: 999px;
1471
+ background: var(--color-brand-light);
1472
+ color: var(--color-brand-dark);
1473
+ font-size: 11px;
1474
+ font-weight: 800;
1475
+ letter-spacing: 0.04em;
1476
+ }
1477
+
1478
+ #panel-orchestration .task-thread-message-card .selector-header {
1479
+ margin-bottom: 10px;
1480
+ }
1481
+
1482
+ #panel-orchestration .task-thread-message-card .selector-title {
1483
+ font-size: 0.98rem;
1484
+ }
1485
+
1486
+ #panel-orchestration .task-thread-message-card .skills-panel-note {
1487
+ font-size: 0.82rem;
1488
+ }
1489
+
1490
+ #panel-orchestration .task-thread-composer {
1491
+ flex: 0 0 auto;
1492
+ position: sticky;
1493
+ bottom: 0;
1494
+ z-index: 2;
1495
+ width: min(100%, 800px);
1496
+ align-self: center;
1497
+ margin-top: 0;
1498
+ padding: 10px;
1499
+ border: 1px solid rgba(199, 116, 98, 0.18);
1500
+ border-radius: 18px 18px 20px 20px;
1501
+ background: rgba(255, 255, 255, 0.96);
1502
+ box-shadow: 0 -10px 34px rgba(86, 58, 39, 0.13);
1503
+ }
1504
+
1505
+ #panel-orchestration .task-thread-composer .selector-label {
1506
+ font-size: 0.78rem;
1507
+ }
1508
+
1509
+ #panel-orchestration .task-thread-composer .task-textarea-goal {
1510
+ min-height: 76px;
1511
+ resize: vertical;
1512
+ border: 0;
1513
+ border-radius: 12px;
1514
+ background: rgba(255, 248, 241, 0.48);
1515
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
1516
+ font-size: 15px;
1517
+ line-height: 1.55;
1518
+ box-shadow: none;
1519
+ }
1520
+
1521
+ #panel-orchestration .task-thread-composer .task-textarea-goal:focus {
1522
+ box-shadow: none;
1523
+ }
1524
+
1525
+ #panel-orchestration .task-thread-composer .task-chat-send-row,
1526
+ #panel-orchestration .task-thread-composer .task-chat-context-row,
1527
+ #panel-orchestration .task-thread-composer .task-draft-inline,
1528
+ #panel-orchestration .task-thread-composer .task-action-row-prominent {
1529
+ margin-top: 8px;
1530
+ }
1531
+
1532
+ #panel-orchestration .task-thread-composer .task-draft-inline {
1533
+ padding: 8px 10px;
1534
+ border-radius: 14px;
1535
+ background: rgba(255, 248, 241, 0.58);
1536
+ }
1537
+
1538
+ #panel-orchestration .task-thread-composer .task-action-row-prominent {
1539
+ padding-top: 0;
1540
+ border-top: 1px solid rgba(199, 116, 98, 0.12);
1541
+ }
1542
+
1543
+ #panel-orchestration .task-thread-composer .task-action-row-right {
1544
+ margin-left: auto;
1545
+ }
1546
+
1547
+ #panel-orchestration .task-thread-composer .task-field-hint {
1548
+ font-size: 0.75rem;
1549
+ }
1550
+
1551
+ #panel-orchestration .task-plan-summary-strip,
1552
+ #panel-orchestration .task-wave-list,
1553
+ #panel-orchestration .task-node-list,
1554
+ #panel-orchestration .task-runtime-list {
1555
+ gap: 8px;
1556
+ }
1557
+
1558
+ #panel-orchestration .task-quick-advanced {
1559
+ margin-top: 8px;
1560
+ border: 1px solid rgba(148, 163, 184, 0.14);
1561
+ background: rgba(255, 255, 255, 0.46);
1562
+ box-shadow: none;
1563
+ }
1564
+
1565
+ #panel-orchestration .task-codex-queue-action {
1566
+ justify-content: flex-start;
1567
+ margin: 0 0 12px;
1568
+ }
1569
+
1570
+ #panel-orchestration .task-quick-side-card {
1571
+ position: sticky;
1572
+ top: 14px;
1573
+ padding: 12px;
1574
+ border-radius: 18px;
1575
+ background: rgba(255, 255, 255, 0.42);
1576
+ opacity: 0.82;
1577
+ box-shadow: none;
1578
+ }
1579
+
1580
+ #panel-orchestration .task-provider-status-card,
1581
+ #panel-orchestration .task-quick-status-card,
1582
+ #panel-orchestration .task-quick-side-card .task-readiness-item {
1583
+ background: rgba(255, 255, 255, 0.48);
1584
+ border-color: rgba(148, 163, 184, 0.16);
1585
+ box-shadow: none;
1586
+ }
1587
+
1588
+ #panel-orchestration .task-provider-status-card,
1589
+ #panel-orchestration .task-quick-status-card {
1590
+ margin-bottom: 10px;
1591
+ padding: 10px;
1592
+ border-radius: 14px;
1593
+ }
1594
+
1595
+ #panel-orchestration .task-provider-status-grid {
1596
+ grid-template-columns: 1fr;
1597
+ gap: 6px;
1598
+ }
1599
+
1600
+ #panel-orchestration .task-provider-status-row {
1601
+ padding: 7px 8px;
1602
+ border-radius: 10px;
1603
+ background: rgba(248, 250, 252, 0.62);
1604
+ }
1605
+
1606
+ #panel-orchestration .task-provider-status-card .task-readiness-copy,
1607
+ #panel-orchestration .task-readiness-head .task-readiness-copy {
1608
+ display: none;
1609
+ }
1610
+
1611
+ #panel-orchestration .task-readiness-grid.task-quick-checklist {
1612
+ grid-template-columns: 1fr;
1613
+ gap: 7px;
1614
+ margin-top: 8px;
1615
+ }
1616
+
1617
+ #panel-orchestration .task-readiness-item {
1618
+ padding: 9px 10px;
1619
+ border-radius: 12px;
1620
+ }
1621
+
1622
+ #panel-orchestration .task-quick-status-card {
1623
+ margin-top: 10px;
1624
+ }
1625
+
1626
+ @media (max-width: 1180px) {
1627
+ #panel-orchestration .task-quick-card {
1628
+ grid-template-columns: minmax(0, 1fr);
1629
+ }
1630
+
1631
+ #panel-orchestration .task-thread-message-card {
1632
+ width: 100%;
1633
+ margin-left: 0;
1634
+ }
1635
+
1636
+ #panel-orchestration .task-thread-message-card::before {
1637
+ display: none;
1638
+ }
1639
+
1640
+ #panel-orchestration .task-quick-side-card {
1641
+ position: static;
1642
+ display: grid;
1643
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1644
+ gap: 10px;
1645
+ }
1646
+
1647
+ #panel-orchestration .task-provider-status-card,
1648
+ #panel-orchestration .task-quick-status-card {
1649
+ margin-bottom: 0;
1650
+ }
1651
+ }
1652
+
1653
+ @media (max-width: 760px) {
1654
+ #panel-orchestration .task-hero-main,
1655
+ #panel-orchestration .task-action-row-prominent,
1656
+ #panel-orchestration .task-action-row-prominent .task-action-row-right {
1657
+ align-items: stretch;
1658
+ flex-direction: column;
1659
+ }
1660
+
1661
+ #panel-orchestration .task-action-row-prominent .btn-tool,
1662
+ #panel-orchestration .task-action-row-prominent .task-action-row-right {
1663
+ width: 100%;
1664
+ }
1665
+
1666
+ #panel-orchestration .task-quick-side-card,
1667
+ #panel-orchestration .task-template-block,
1668
+ #panel-orchestration .task-quick-copy,
1669
+ #panel-orchestration .task-stage-card {
1670
+ display: none;
1671
+ }
1672
+
1673
+ #panel-orchestration .task-chat-panel {
1674
+ height: calc(100vh - 126px);
1675
+ min-height: 620px;
1676
+ padding: 10px;
1677
+ border-radius: 18px;
1678
+ }
1679
+
1680
+ #panel-orchestration .task-chat-thread {
1681
+ padding: 10px 6px 14px;
1682
+ }
1683
+
1684
+ #panel-orchestration .task-thread-message-card {
1685
+ padding: 12px;
1686
+ border-radius: 18px;
1687
+ }
1688
+
1689
+ #panel-orchestration .task-thread-composer {
1690
+ width: 100%;
1691
+ padding: 8px;
1692
+ border-radius: 16px;
1693
+ box-shadow: 0 -8px 26px rgba(86, 58, 39, 0.12);
1694
+ }
1695
+
1696
+ #panel-orchestration .task-thread-composer .task-textarea-goal {
1697
+ min-height: 56px;
1698
+ max-height: 120px;
1699
+ }
1700
+
1701
+ #panel-orchestration .task-thread-composer .task-chat-context-row,
1702
+ #panel-orchestration .task-thread-composer .task-draft-inline,
1703
+ #panel-orchestration .task-thread-composer .task-action-caption,
1704
+ #panel-orchestration .task-thread-composer .task-field-hint {
1705
+ display: none;
1706
+ }
1707
+
1708
+ #panel-orchestration .task-thread-composer .task-chat-send-row,
1709
+ #panel-orchestration .task-thread-composer .task-action-row-prominent {
1710
+ margin-top: 6px;
1711
+ }
1712
+
1713
+ #panel-orchestration .task-thread-composer .btn-tool {
1714
+ min-height: 34px;
1715
+ padding: 0 12px;
1716
+ font-size: 0.78rem;
1717
+ }
1718
+ }
1719
+
1720
+ /* Codex-style transcript final pass: the task flow is a chat, not a dashboard. */
1721
+ #panel-orchestration {
1722
+ --task-orchestration-main-width: 920px;
1723
+ --task-orchestration-context-width: 0px;
1724
+
1725
+ min-height: calc(100vh - 72px);
1726
+ padding-bottom: 188px;
1727
+ }
1728
+
1729
+ #panel-orchestration .task-hero-card,
1730
+ #panel-orchestration .task-quick-copy,
1731
+ #panel-orchestration .task-stage-card {
1732
+ display: none;
1733
+ }
1734
+
1735
+ #panel-orchestration .task-layout-grid,
1736
+ #panel-orchestration .task-layout-grid-primary,
1737
+ #panel-orchestration .task-layout-grid-secondary,
1738
+ #panel-orchestration .task-quick-card {
1739
+ max-width: var(--task-orchestration-main-width);
1740
+ width: min(100%, var(--task-orchestration-main-width));
1741
+ margin-left: auto;
1742
+ margin-right: auto;
1743
+ }
1744
+
1745
+ #panel-orchestration .task-layout-grid {
1746
+ gap: 0;
1747
+ margin-bottom: 0;
1748
+ }
1749
+
1750
+ #panel-orchestration .task-quick-card {
1751
+ display: block;
1752
+ padding: 0;
1753
+ border: 0;
1754
+ background: transparent;
1755
+ box-shadow: none;
1756
+ }
1757
+
1758
+ #panel-orchestration .task-quick-main {
1759
+ display: block;
1760
+ min-width: 0;
1761
+ }
1762
+
1763
+ #panel-orchestration .task-template-block {
1764
+ display: block;
1765
+ }
1766
+
1767
+ #panel-orchestration .task-chat-panel {
1768
+ display: flex;
1769
+ flex-direction: column;
1770
+ gap: 8px;
1771
+ height: auto;
1772
+ min-height: 0;
1773
+ margin: 0 auto;
1774
+ padding: 0;
1775
+ overflow: visible;
1776
+ border: 0;
1777
+ border-radius: 0;
1778
+ background: transparent;
1779
+ box-shadow: none;
1780
+ }
1781
+
1782
+ #panel-orchestration .task-chat-thread {
1783
+ flex: 0 0 auto;
1784
+ min-height: 0;
1785
+ max-height: none;
1786
+ margin: 0;
1787
+ padding: 8px 8px 188px;
1788
+ gap: 7px;
1789
+ overflow: visible;
1790
+ border: 0;
1791
+ background: transparent;
1792
+ scroll-padding-bottom: 188px;
1793
+ }
1794
+
1795
+ #panel-orchestration .task-chat-bubble-row {
1796
+ position: relative;
1797
+ justify-content: flex-start;
1798
+ gap: 8px;
1799
+ margin: 0;
1800
+ padding: 1px 0 6px 28px;
1801
+ }
1802
+
1803
+ #panel-orchestration .task-chat-bubble-row::before {
1804
+ content: '•';
1805
+ position: absolute;
1806
+ top: 4px;
1807
+ left: 8px;
1808
+ color: #64748B;
1809
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
1810
+ font-size: 16px;
1811
+ font-weight: 800;
1812
+ line-height: 1;
1813
+ }
1814
+
1815
+ #panel-orchestration .task-chat-bubble-row.is-user::before {
1816
+ content: '›';
1817
+ top: 2px;
1818
+ color: #2563EB;
1819
+ font-size: 20px;
1820
+ }
1821
+
1822
+ #panel-orchestration .task-chat-bubble {
1823
+ max-width: min(100%, 760px);
1824
+ padding: 0 0 5px;
1825
+ border: 0;
1826
+ border-radius: 0;
1827
+ background: transparent;
1828
+ box-shadow: none;
1829
+ }
1830
+
1831
+ #panel-orchestration .task-chat-bubble-row.is-user .task-chat-bubble,
1832
+ #panel-orchestration .task-chat-bubble-row.is-assistant .task-chat-bubble {
1833
+ border-radius: 0;
1834
+ background: transparent;
1835
+ }
1836
+
1837
+ #panel-orchestration .task-chat-bubble-label {
1838
+ margin-bottom: 3px;
1839
+ color: #64748B;
1840
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
1841
+ font-size: 10px;
1842
+ letter-spacing: 0.04em;
1843
+ text-transform: uppercase;
1844
+ }
1845
+
1846
+ #panel-orchestration .task-chat-bubble-text {
1847
+ color: #0F172A;
1848
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
1849
+ font-size: 14px;
1850
+ line-height: 1.5;
1851
+ }
1852
+
1853
+ #panel-orchestration .task-chat-bubble-meta {
1854
+ margin-top: 5px;
1855
+ color: #64748B;
1856
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
1857
+ }
1858
+
1859
+ #panel-orchestration .task-thread-plan-request {
1860
+ margin-top: 2px;
1861
+ }
1862
+
1863
+ #panel-orchestration .task-thread-plan-request .task-chat-bubble {
1864
+ max-width: min(100%, 760px);
1865
+ }
1866
+
1867
+ #panel-orchestration .task-thread-message-card {
1868
+ position: relative;
1869
+ align-self: flex-start;
1870
+ width: min(100%, 660px);
1871
+ margin: 0 0 2px 34px;
1872
+ padding: 8px 10px;
1873
+ border: 1px solid rgba(148, 163, 184, 0.18);
1874
+ border-left: 3px solid rgba(199, 116, 98, 0.32);
1875
+ border-radius: 14px 14px 14px 5px;
1876
+ background: rgba(255, 255, 255, 0.50);
1877
+ box-shadow: none;
1878
+ }
1879
+
1880
+ #panel-orchestration .task-thread-message-card::before {
1881
+ content: 'AI';
1882
+ position: absolute;
1883
+ left: -34px;
1884
+ top: 8px;
1885
+ display: grid;
1886
+ width: 24px;
1887
+ height: 24px;
1888
+ place-items: center;
1889
+ border-radius: 999px;
1890
+ background: var(--color-brand-light);
1891
+ color: var(--color-brand-dark);
1892
+ font-size: 9px;
1893
+ font-weight: 800;
1894
+ letter-spacing: 0.04em;
1895
+ }
1896
+
1897
+ #panel-orchestration .task-thread-card-label {
1898
+ margin-bottom: 6px;
1899
+ color: var(--color-text-secondary);
1900
+ font-size: 10px;
1901
+ font-weight: 800;
1902
+ letter-spacing: 0.07em;
1903
+ text-transform: uppercase;
1904
+ }
1905
+
1906
+ #panel-orchestration .task-thread-message-card .selector-header {
1907
+ margin-bottom: 6px;
1908
+ padding-bottom: 0;
1909
+ border-bottom: 0;
1910
+ }
1911
+
1912
+ #panel-orchestration .task-thread-message-card .selector-title {
1913
+ font-size: 0.9rem;
1914
+ line-height: 1.2;
1915
+ }
1916
+
1917
+ #panel-orchestration .task-side-settings-card .task-advanced-summary {
1918
+ margin: 0 0 8px;
1919
+ color: var(--color-text-primary);
1920
+ font-size: 0.86rem;
1921
+ font-weight: 750;
1922
+ }
1923
+
1924
+ #panel-orchestration .task-side-settings-card:not([open]) {
1925
+ padding: 8px 10px;
1926
+ }
1927
+
1928
+ #panel-orchestration .task-side-settings-card .selector-grid {
1929
+ margin-top: 8px;
1930
+ }
1931
+
1932
+ #panel-orchestration .task-side-settings-card .task-codex-queue-action {
1933
+ justify-content: flex-start;
1934
+ margin: 8px 0 0;
1935
+ }
1936
+
1937
+ #panel-orchestration .task-thread-message-card .skills-panel-note {
1938
+ font-size: 0.76rem;
1939
+ line-height: 1.45;
1940
+ }
1941
+
1942
+ #panel-orchestration .task-thread-message-card .task-plan-summary-strip {
1943
+ display: flex;
1944
+ flex-wrap: wrap;
1945
+ gap: 5px;
1946
+ margin-top: 5px;
1947
+ }
1948
+
1949
+ #panel-orchestration .task-thread-message-card .task-plan-summary-item {
1950
+ min-width: 0;
1951
+ padding: 0;
1952
+ border: 0;
1953
+ border-radius: 0;
1954
+ background: transparent;
1955
+ box-shadow: none;
1956
+ }
1957
+
1958
+ #panel-orchestration .task-thread-message-card .task-plan-summary-label {
1959
+ font-size: 9px;
1960
+ }
1961
+
1962
+ #panel-orchestration .task-thread-plan-card .task-wave-list,
1963
+ #panel-orchestration .task-runtime-list {
1964
+ gap: 5px;
1965
+ margin-top: 7px;
1966
+ }
1967
+
1968
+ #panel-orchestration .task-thread-plan-card .task-wave-list {
1969
+ display: none;
1970
+ }
1971
+
1972
+ #panel-orchestration .task-thread-plan-card .task-node-list {
1973
+ display: none;
1974
+ }
1975
+
1976
+ #panel-orchestration .task-thread-plan-card .task-plan-summary-item:nth-child(n+3) {
1977
+ display: none;
1978
+ }
1979
+
1980
+ #panel-orchestration .task-thread-plan-card .task-wave-card,
1981
+ #panel-orchestration .task-thread-plan-card .task-node-card,
1982
+ #panel-orchestration .task-thread-message-card .task-runtime-item {
1983
+ padding: 4px 0;
1984
+ border: 0;
1985
+ border-radius: 0;
1986
+ background: transparent;
1987
+ box-shadow: none;
1988
+ }
1989
+
1990
+ #panel-orchestration .task-thread-plan-card .task-wave-nodes,
1991
+ #panel-orchestration .task-thread-plan-card .task-node-meta,
1992
+ #panel-orchestration .task-thread-plan-card .task-node-deps {
1993
+ display: none;
1994
+ }
1995
+
1996
+ #panel-orchestration .task-thread-plan-card .task-node-head {
1997
+ align-items: center;
1998
+ }
1999
+
2000
+ #panel-orchestration .task-thread-plan-card .pill {
2001
+ padding: 3px 7px;
2002
+ font-size: 10px;
2003
+ }
2004
+
2005
+ #panel-orchestration .task-thread-plan-card .task-node-title,
2006
+ #panel-orchestration .task-thread-plan-card .task-wave-title,
2007
+ #panel-orchestration .task-thread-message-card .task-runtime-item-title {
2008
+ font-size: 0.8rem;
2009
+ font-weight: 650;
2010
+ }
2011
+
2012
+ #panel-orchestration .task-thread-message-card .task-runtime-item-meta {
2013
+ font-size: 0.72rem;
2014
+ line-height: 1.4;
2015
+ }
2016
+
2017
+ #panel-orchestration .task-side-workbench-card,
2018
+ #panel-orchestration .task-side-settings-card {
2019
+ max-height: min(560px, calc(100vh - 220px));
2020
+ margin-bottom: 8px;
2021
+ overflow: auto;
2022
+ }
2023
+
2024
+ #panel-orchestration .task-side-workbench-card .task-node-list {
2025
+ max-height: 320px;
2026
+ overflow: auto;
2027
+ padding-right: 4px;
2028
+ }
2029
+
2030
+ #panel-orchestration .task-quick-side-card {
2031
+ width: min(100%, 660px);
2032
+ margin: 8px auto 0;
2033
+ padding: 10px 12px;
2034
+ border: 1px solid rgba(148, 163, 184, 0.18);
2035
+ border-left: 3px solid rgba(100, 116, 139, 0.24);
2036
+ border-radius: 14px;
2037
+ background: rgba(255, 255, 255, 0.42);
2038
+ box-shadow: none;
2039
+ }
2040
+
2041
+ #panel-orchestration .task-quick-side-card .task-provider-status-card {
2042
+ margin-bottom: 8px;
2043
+ padding: 0;
2044
+ border: 0;
2045
+ background: transparent;
2046
+ }
2047
+
2048
+ #panel-orchestration .task-quick-side-card .task-readiness-head,
2049
+ #panel-orchestration .task-quick-side-card .task-readiness-grid,
2050
+ #panel-orchestration .task-quick-side-card .task-quick-status-card {
2051
+ display: none;
2052
+ }
2053
+
2054
+ #panel-orchestration .task-quick-side-card .task-provider-status-grid {
2055
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2056
+ }
2057
+
2058
+ #panel-orchestration .task-thread-composer {
2059
+ display: grid;
2060
+ grid-template-columns: minmax(0, 1fr) auto;
2061
+ grid-template-rows: auto auto;
2062
+ align-items: stretch;
2063
+ gap: 6px;
2064
+ flex: 0 0 auto;
2065
+ position: fixed;
2066
+ right: 50%;
2067
+ bottom: 16px;
2068
+ z-index: 20;
2069
+ width: min(872px, calc(100vw - 48px));
2070
+ transform: translateX(50%);
2071
+ margin-top: 0;
2072
+ padding: 6px 8px;
2073
+ border: 1px solid rgba(148, 163, 184, 0.20);
2074
+ border-radius: 14px;
2075
+ background: rgba(255, 255, 255, 0.92);
2076
+ box-shadow: 0 14px 36px rgba(15, 23, 42, 0.13);
2077
+ }
2078
+
2079
+ #panel-orchestration .task-thread-composer .selector-label,
2080
+ #panel-orchestration .task-thread-composer .task-chat-context-row,
2081
+ #panel-orchestration .task-thread-composer .task-draft-inline,
2082
+ #panel-orchestration .task-thread-composer .task-action-caption,
2083
+ #panel-orchestration .task-thread-composer .task-field-hint {
2084
+ display: none;
2085
+ }
2086
+
2087
+ #panel-orchestration .task-thread-composer .task-chat-composer {
2088
+ grid-column: 1;
2089
+ grid-row: 1 / span 2;
2090
+ display: grid;
2091
+ grid-template-columns: auto minmax(0, 1fr);
2092
+ align-items: start;
2093
+ gap: 8px;
2094
+ }
2095
+
2096
+ #panel-orchestration .task-thread-composer .task-composer-prompt-glyph {
2097
+ display: inline-flex;
2098
+ align-items: center;
2099
+ justify-content: center;
2100
+ min-width: 18px;
2101
+ padding-top: 7px;
2102
+ color: #2563EB;
2103
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
2104
+ font-size: 22px;
2105
+ font-weight: 800;
2106
+ line-height: 1;
2107
+ }
2108
+
2109
+ #panel-orchestration .task-thread-composer .task-textarea-goal {
2110
+ min-height: 48px;
2111
+ max-height: 92px;
2112
+ padding: 8px 10px;
2113
+ resize: vertical;
2114
+ border: 0;
2115
+ border-radius: 12px;
2116
+ background: rgba(248, 250, 252, 0.66);
2117
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
2118
+ font-size: 14px;
2119
+ line-height: 1.35;
2120
+ box-shadow: none;
2121
+ }
2122
+
2123
+ #panel-orchestration .task-thread-composer .task-textarea-goal:focus {
2124
+ box-shadow: none;
2125
+ }
2126
+
2127
+ #panel-orchestration .task-thread-composer .task-chat-send-row {
2128
+ grid-column: 2;
2129
+ grid-row: 1 / span 2;
2130
+ display: flex;
2131
+ align-items: center;
2132
+ justify-content: center;
2133
+ align-self: center;
2134
+ margin-top: 0;
2135
+ }
2136
+
2137
+ #panel-orchestration .task-thread-composer .task-chat-execute-caption {
2138
+ grid-column: 1 / -1;
2139
+ grid-row: 3;
2140
+ margin: -1px 2px 0 28px;
2141
+ color: #64748B;
2142
+ font-family: var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
2143
+ font-size: 11px;
2144
+ line-height: 1.35;
2145
+ }
2146
+
2147
+ #panel-orchestration .task-thread-composer .task-action-row-prominent {
2148
+ grid-column: 2;
2149
+ grid-row: 2;
2150
+ display: flex;
2151
+ align-items: center;
2152
+ justify-content: flex-end;
2153
+ gap: 7px;
2154
+ margin-top: 0;
2155
+ padding-top: 0;
2156
+ border-top: 0;
2157
+ }
2158
+
2159
+ #panel-orchestration .task-thread-composer .task-action-row-right {
2160
+ margin-left: 0;
2161
+ }
2162
+
2163
+ #panel-orchestration .task-thread-composer .btn-tool {
2164
+ display: inline-flex;
2165
+ align-items: center;
2166
+ justify-content: center;
2167
+ min-height: 32px;
2168
+ padding: 5px 10px;
2169
+ font-size: 0.78rem;
2170
+ }
2171
+
2172
+ @media (max-width: 760px) {
2173
+ #panel-orchestration {
2174
+ --task-orchestration-main-width: 100%;
2175
+
2176
+ min-height: calc(100vh - 52px);
2177
+ padding-bottom: 208px;
2178
+ }
2179
+
2180
+ #panel-orchestration .task-layout-grid,
2181
+ #panel-orchestration .task-layout-grid-primary,
2182
+ #panel-orchestration .task-layout-grid-secondary,
2183
+ #panel-orchestration .task-quick-card {
2184
+ width: 100%;
2185
+ max-width: 100%;
2186
+ }
2187
+
2188
+ #panel-orchestration .task-template-block,
2189
+ #panel-orchestration .task-quick-advanced,
2190
+ #panel-orchestration .task-quick-side-card {
2191
+ display: block;
2192
+ }
2193
+
2194
+ #panel-orchestration .task-chat-panel {
2195
+ height: auto;
2196
+ min-height: 0;
2197
+ }
2198
+
2199
+ #panel-orchestration .task-chat-thread {
2200
+ padding: 8px 4px 16px;
2201
+ gap: 7px;
2202
+ scroll-padding-bottom: 28px;
2203
+ }
2204
+
2205
+ #panel-orchestration .task-chat-bubble,
2206
+ #panel-orchestration .task-thread-plan-request .task-chat-bubble {
2207
+ max-width: 92%;
2208
+ }
2209
+
2210
+ #panel-orchestration .task-thread-message-card {
2211
+ width: 100%;
2212
+ margin-left: 0;
2213
+ padding: 9px 10px;
2214
+ border-radius: 15px;
2215
+ }
2216
+
2217
+ #panel-orchestration .task-thread-message-card::before {
2218
+ display: none;
2219
+ }
2220
+
2221
+ #panel-orchestration .task-thread-message-card .task-plan-summary-item {
2222
+ min-width: calc(50% - 4px);
2223
+ }
2224
+
2225
+ #panel-orchestration .task-side-workbench-card {
2226
+ max-height: calc(100vh - 190px);
2227
+ }
2228
+
2229
+ #panel-orchestration .task-side-workbench-card .task-node-list {
2230
+ max-height: 260px;
2231
+ }
2232
+
2233
+ #panel-orchestration .task-chat-thread {
2234
+ padding-bottom: 208px;
2235
+ scroll-padding-bottom: 208px;
2236
+ }
2237
+
2238
+ #panel-orchestration .task-thread-composer {
2239
+ grid-template-columns: minmax(0, 1fr) auto;
2240
+ grid-template-rows: auto;
2241
+ right: 10px;
2242
+ bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
2243
+ left: 10px;
2244
+ width: auto;
2245
+ transform: none;
2246
+ padding: 7px;
2247
+ border-radius: 14px;
2248
+ box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
2249
+ }
2250
+
2251
+ #panel-orchestration .task-thread-composer .task-chat-composer {
2252
+ grid-column: 1;
2253
+ grid-row: 1;
2254
+ }
2255
+
2256
+ #panel-orchestration .task-thread-composer .task-chat-send-row {
2257
+ grid-column: 2;
2258
+ grid-row: 1;
2259
+ align-self: center;
2260
+ }
2261
+
2262
+ #panel-orchestration .task-thread-composer .task-action-row-prominent,
2263
+ #panel-orchestration .task-thread-composer .task-action-row-prominent .task-action-row-right,
2264
+ #panel-orchestration .task-thread-composer .task-action-row-prominent .btn-tool {
2265
+ width: 100%;
2266
+ }
2267
+
2268
+ #panel-orchestration .task-thread-composer .task-textarea-goal {
2269
+ min-height: 52px;
2270
+ max-height: 118px;
2271
+ }
2272
+ }
2273
+
2274
+ /* Chat-alignment correction: keep the transcript clean while preserving a
2275
+ separate side rail for settings, history, and run details. */
2276
+ #panel-orchestration {
2277
+ padding-bottom: 240px;
2278
+ }
2279
+
2280
+ #panel-orchestration .task-chat-thread {
2281
+ padding-bottom: 240px;
2282
+ scroll-padding-bottom: 240px;
2283
+ }
2284
+
2285
+ #panel-orchestration .task-thread-message-card {
2286
+ width: min(100%, 620px);
2287
+ padding: 10px 12px;
2288
+ border-color: rgba(148, 163, 184, 0.14);
2289
+ border-left-color: rgba(199, 116, 98, 0.26);
2290
+ background: rgba(255, 255, 255, 0.62);
2291
+ }
2292
+
2293
+ #panel-orchestration .task-thread-plan-card,
2294
+ #panel-orchestration .task-side-workbench-card {
2295
+ overflow: visible;
2296
+ max-height: none;
2297
+ }
2298
+
2299
+ #panel-orchestration .task-thread-message-card .selector-header {
2300
+ display: flex;
2301
+ align-items: center;
2302
+ justify-content: space-between;
2303
+ gap: 8px;
2304
+ margin-bottom: 8px;
2305
+ }
2306
+
2307
+ #panel-orchestration .task-thread-message-card .selector-title {
2308
+ font-size: 0.86rem;
2309
+ }
2310
+
2311
+ #panel-orchestration .task-thread-plan-card .skills-panel-note,
2312
+ #panel-orchestration .task-side-workbench-card .skills-panel-note {
2313
+ display: none;
2314
+ }
2315
+
2316
+ #panel-orchestration .task-thread-plan-card .task-plan-summary-strip,
2317
+ #panel-orchestration .task-side-workbench-card .task-detail-summary-strip {
2318
+ display: flex;
2319
+ flex-wrap: wrap;
2320
+ gap: 6px;
2321
+ margin: 6px 0 0;
2322
+ }
2323
+
2324
+ #panel-orchestration .task-thread-plan-card .task-plan-summary-item,
2325
+ #panel-orchestration .task-side-workbench-card .task-plan-summary-item {
2326
+ min-width: auto;
2327
+ padding: 4px 7px;
2328
+ border: 1px solid rgba(148, 163, 184, 0.12);
2329
+ border-radius: 999px;
2330
+ background: rgba(248, 250, 252, 0.60);
2331
+ }
2332
+
2333
+ #panel-orchestration .task-thread-plan-card .task-plan-summary-label,
2334
+ #panel-orchestration .task-side-workbench-card .task-plan-summary-label {
2335
+ display: inline;
2336
+ margin-right: 4px;
2337
+ color: var(--color-text-muted);
2338
+ font-size: 9px;
2339
+ }
2340
+
2341
+ #panel-orchestration .task-thread-plan-card .task-plan-summary-item strong,
2342
+ #panel-orchestration .task-side-workbench-card .task-plan-summary-item strong {
2343
+ display: inline;
2344
+ color: var(--color-text-primary);
2345
+ font-size: 11px;
2346
+ font-weight: 700;
2347
+ }
2348
+
2349
+ #panel-orchestration .task-side-workbench-card .task-header-actions,
2350
+ #panel-orchestration .task-side-workbench-card .task-detail-toolbar,
2351
+ #panel-orchestration .task-side-workbench-card .task-workbench-tabs {
2352
+ margin: 0;
2353
+ padding: 0;
2354
+ border: 0;
2355
+ background: transparent;
2356
+ box-shadow: none;
2357
+ }
2358
+
2359
+ #panel-orchestration .task-side-workbench-card .task-header-actions .btn-tool,
2360
+ #panel-orchestration .task-side-workbench-card .task-detail-toolbar .btn-tool,
2361
+ #panel-orchestration .task-side-workbench-card .task-workbench-tab {
2362
+ min-height: 26px;
2363
+ padding: 3px 7px;
2364
+ border-radius: 999px;
2365
+ font-size: 0.7rem;
2366
+ }
2367
+
2368
+ #panel-orchestration .task-side-workbench-card .task-workbench-panel {
2369
+ margin-top: 8px;
2370
+ padding: 0;
2371
+ border: 0;
2372
+ background: transparent;
2373
+ box-shadow: none;
2374
+ }
2375
+
2376
+ #panel-orchestration .task-thread-run-summary {
2377
+ display: flex;
2378
+ align-items: center;
2379
+ gap: 8px;
2380
+ margin-top: 4px;
2381
+ color: var(--color-text-secondary);
2382
+ font-size: 0.82rem;
2383
+ line-height: 1.45;
2384
+ }
2385
+
2386
+ #panel-orchestration .task-thread-run-summary-copy {
2387
+ min-width: 0;
2388
+ overflow: hidden;
2389
+ text-overflow: ellipsis;
2390
+ white-space: nowrap;
2391
+ }
2392
+
2393
+ #panel-orchestration .task-thread-run-details {
2394
+ margin-top: 8px;
2395
+ color: var(--color-text-secondary);
2396
+ }
2397
+
2398
+ #panel-orchestration .task-thread-run-details > summary {
2399
+ width: fit-content;
2400
+ cursor: pointer;
2401
+ border-radius: 999px;
2402
+ padding: 4px 9px;
2403
+ background: rgba(248, 250, 252, 0.70);
2404
+ color: var(--color-text-muted);
2405
+ font-size: 0.72rem;
2406
+ font-weight: 700;
2407
+ }
2408
+
2409
+ #panel-orchestration .task-thread-run-details:not([open]) {
2410
+ margin-bottom: 0;
2411
+ }
2412
+
2413
+ #panel-orchestration .task-thread-run-details[open] > summary {
2414
+ margin-bottom: 8px;
2415
+ }
2416
+
2417
+ #panel-orchestration .task-thread-detail-actions {
2418
+ justify-content: flex-start;
2419
+ margin-bottom: 8px;
2420
+ }
2421
+
2422
+ #panel-orchestration .task-thread-plan-details .task-plan-summary-strip {
2423
+ margin-top: 0;
2424
+ }
2425
+
2426
+ #panel-orchestration .task-side-workbench-card .task-runtime-list,
2427
+ #panel-orchestration .task-side-workbench-card .task-node-list {
2428
+ max-height: none;
2429
+ gap: 6px;
2430
+ padding-right: 0;
2431
+ overflow: visible;
2432
+ }
2433
+
2434
+ #panel-orchestration .task-side-workbench-card .task-node-card,
2435
+ #panel-orchestration .task-side-workbench-card .task-runtime-item,
2436
+ #panel-orchestration .task-side-workbench-card .task-node-output-card {
2437
+ padding: 7px 0;
2438
+ border-width: 1px 0 0;
2439
+ border-radius: 0;
2440
+ background: transparent;
2441
+ box-shadow: none;
2442
+ }
2443
+
2444
+ #panel-orchestration .task-side-workbench-card .task-node-output-card,
2445
+ #panel-orchestration .task-side-workbench-card .task-log-block {
2446
+ max-height: 120px;
2447
+ overflow: auto;
2448
+ border-radius: 10px;
2449
+ background: rgba(15, 23, 42, 0.04);
2450
+ }
2451
+
2452
+ #panel-orchestration .task-thread-composer {
2453
+ bottom: 20px;
2454
+ background: rgba(255, 255, 255, 0.97);
2455
+ box-shadow: 0 8px 26px rgba(15, 23, 42, 0.13);
2456
+ }
2457
+
2458
+ @media (max-width: 760px) {
2459
+ #panel-orchestration {
2460
+ padding-bottom: 72px;
2461
+ }
2462
+
2463
+ #panel-orchestration .task-chat-thread {
2464
+ padding-bottom: 16px;
2465
+ scroll-padding-bottom: 130px;
2466
+ }
2467
+
2468
+ #panel-orchestration .task-thread-message-card {
2469
+ width: calc(100% - 10px);
2470
+ margin-left: 0;
2471
+ }
2472
+
2473
+ #panel-orchestration .task-side-workbench-card .task-node-output-card,
2474
+ #panel-orchestration .task-side-workbench-card .task-log-block {
2475
+ max-height: 96px;
2476
+ }
2477
+
2478
+ #panel-orchestration .task-thread-composer {
2479
+ bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
2480
+ }
2481
+ }
2482
+
2483
+
2484
+ /* Workspace selector + records rail: project context belongs beside the chat, not inside it. */
2485
+ #panel-orchestration {
2486
+ --task-orchestration-main-width: 1360px;
2487
+ --task-orchestration-project-width: 260px;
2488
+ --task-orchestration-records-width: 320px;
2489
+ }
2490
+
2491
+ #panel-orchestration .task-layout-grid,
2492
+ #panel-orchestration .task-layout-grid-primary,
2493
+ #panel-orchestration .task-layout-grid-secondary,
2494
+ #panel-orchestration .task-quick-card {
2495
+ max-width: var(--task-orchestration-main-width);
2496
+ width: min(100%, var(--task-orchestration-main-width));
2497
+ }
2498
+
2499
+ #panel-orchestration .task-quick-card {
2500
+ display: grid;
2501
+ grid-template-columns: var(--task-orchestration-project-width) minmax(0, 1fr) var(--task-orchestration-records-width);
2502
+ align-items: start;
2503
+ gap: 16px;
2504
+ }
2505
+
2506
+ #panel-orchestration .task-project-sidebar,
2507
+ #panel-orchestration .task-quick-side-card {
2508
+ position: sticky;
2509
+ top: 84px;
2510
+ align-self: start;
2511
+ max-height: calc(100vh - 112px);
2512
+ overflow: auto;
2513
+ scrollbar-width: thin;
2514
+ }
2515
+
2516
+ #panel-orchestration .task-project-sidebar,
2517
+ #panel-orchestration .task-quick-side-card > .selector-section,
2518
+ #panel-orchestration .task-quick-side-card > details,
2519
+ #panel-orchestration .task-provider-status-card {
2520
+ border: 1px solid rgba(148, 163, 184, 0.16);
2521
+ border-radius: 18px;
2522
+ background: rgba(255, 255, 255, 0.62);
2523
+ box-shadow: none;
2524
+ }
2525
+
2526
+ #panel-orchestration .task-project-sidebar {
2527
+ display: flex;
2528
+ flex-direction: column;
2529
+ gap: 12px;
2530
+ padding: 12px;
2531
+ }
2532
+
2533
+ #panel-orchestration .task-project-sidebar-head,
2534
+ #panel-orchestration .task-session-inbox-head {
2535
+ display: flex;
2536
+ align-items: flex-start;
2537
+ justify-content: space-between;
2538
+ gap: 10px;
2539
+ }
2540
+
2541
+ #panel-orchestration .task-project-sidebar .skills-panel-note {
2542
+ margin-top: 2px;
2543
+ font-size: 0.76rem;
2544
+ line-height: 1.4;
2545
+ }
2546
+
2547
+ #panel-orchestration .task-project-list,
2548
+ #panel-orchestration .task-session-inbox {
2549
+ display: flex;
2550
+ flex-direction: column;
2551
+ gap: 7px;
2552
+ }
2553
+
2554
+ #panel-orchestration .task-project-item,
2555
+ #panel-orchestration .task-session-inbox-item {
2556
+ width: 100%;
2557
+ min-width: 0;
2558
+ border: 1px solid rgba(148, 163, 184, 0.14);
2559
+ border-radius: 14px;
2560
+ background: rgba(248, 250, 252, 0.58);
2561
+ color: var(--color-text-primary);
2562
+ text-align: left;
2563
+ cursor: pointer;
2564
+ transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
2565
+ }
2566
+
2567
+ #panel-orchestration .task-project-item {
2568
+ display: grid;
2569
+ gap: 3px;
2570
+ padding: 9px 10px;
2571
+ }
2572
+
2573
+ #panel-orchestration .task-project-item:hover,
2574
+ #panel-orchestration .task-session-inbox-item:hover,
2575
+ #panel-orchestration .task-project-item.active {
2576
+ border-color: rgba(199, 116, 98, 0.34);
2577
+ background: rgba(255, 255, 255, 0.86);
2578
+ }
2579
+
2580
+ #panel-orchestration .task-project-item.active {
2581
+ box-shadow: inset 3px 0 0 rgba(199, 116, 98, 0.56);
2582
+ }
2583
+
2584
+ #panel-orchestration .task-project-item-title,
2585
+ #panel-orchestration .task-session-inbox-title {
2586
+ display: block;
2587
+ min-width: 0;
2588
+ overflow: hidden;
2589
+ color: var(--color-text-primary);
2590
+ font-size: 0.86rem;
2591
+ font-weight: 800;
2592
+ text-overflow: ellipsis;
2593
+ white-space: nowrap;
2594
+ }
2595
+
2596
+ #panel-orchestration .task-project-item-meta,
2597
+ #panel-orchestration .task-session-inbox-meta,
2598
+ #panel-orchestration .task-project-item-stats {
2599
+ display: block;
2600
+ min-width: 0;
2601
+ overflow: hidden;
2602
+ color: var(--color-text-muted);
2603
+ font-size: 0.72rem;
2604
+ line-height: 1.35;
2605
+ text-overflow: ellipsis;
2606
+ white-space: nowrap;
2607
+ }
2608
+
2609
+ #panel-orchestration .task-project-new-session {
2610
+ width: 100%;
2611
+ justify-content: center;
2612
+ }
2613
+
2614
+ #panel-orchestration .task-session-inbox {
2615
+ padding-top: 2px;
2616
+ }
2617
+
2618
+ #panel-orchestration .task-session-inbox-item {
2619
+ display: flex;
2620
+ align-items: center;
2621
+ justify-content: space-between;
2622
+ gap: 8px;
2623
+ padding: 8px 9px;
2624
+ }
2625
+
2626
+ #panel-orchestration .task-session-inbox-main {
2627
+ min-width: 0;
2628
+ }
2629
+
2630
+ #panel-orchestration .task-session-empty {
2631
+ padding: 10px;
2632
+ border-radius: 14px;
2633
+ background: rgba(248, 250, 252, 0.52);
2634
+ }
2635
+
2636
+ #panel-orchestration .task-quick-main {
2637
+ min-width: 0;
2638
+ }
2639
+
2640
+ #panel-orchestration .task-quick-side-card {
2641
+ display: flex;
2642
+ flex-direction: column;
2643
+ gap: 10px;
2644
+ width: auto;
2645
+ margin: 0;
2646
+ padding: 0;
2647
+ border: 0;
2648
+ background: transparent;
2649
+ }
2650
+
2651
+ #panel-orchestration .task-quick-side-card > .selector-section,
2652
+ #panel-orchestration .task-quick-side-card > details,
2653
+ #panel-orchestration .task-provider-status-card {
2654
+ margin: 0;
2655
+ padding: 12px;
2656
+ }
2657
+
2658
+ #panel-orchestration .task-side-workbench-card,
2659
+ #panel-orchestration .task-side-settings-card {
2660
+ max-height: none;
2661
+ }
2662
+
2663
+ #panel-orchestration .task-side-workbench-card .task-runtime-list,
2664
+ #panel-orchestration .task-side-workbench-card .task-node-list {
2665
+ max-height: 340px;
2666
+ overflow: auto;
2667
+ }
2668
+
2669
+ #panel-orchestration .task-thread-composer {
2670
+ width: min(700px, calc(100vw - 680px));
2671
+ min-width: 520px;
2672
+ }
2673
+
2674
+ @media (max-width: 1180px) {
2675
+ #panel-orchestration {
2676
+ --task-orchestration-main-width: 100%;
2677
+ }
2678
+
2679
+ #panel-orchestration .task-quick-card {
2680
+ grid-template-columns: minmax(220px, 0.34fr) minmax(0, 0.66fr);
2681
+ }
2682
+
2683
+ #panel-orchestration .task-quick-side-card {
2684
+ grid-column: 1 / -1;
2685
+ position: static;
2686
+ display: grid;
2687
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2688
+ }
2689
+
2690
+ #panel-orchestration .task-project-sidebar {
2691
+ position: sticky;
2692
+ }
2693
+
2694
+ #panel-orchestration .task-thread-composer {
2695
+ width: min(680px, calc(100vw - 360px));
2696
+ min-width: 420px;
2697
+ }
2698
+ }
2699
+
2700
+ @media (max-width: 760px) {
2701
+ #panel-orchestration .task-quick-card,
2702
+ #panel-orchestration .task-quick-side-card {
2703
+ display: flex;
2704
+ flex-direction: column;
2705
+ }
2706
+
2707
+ #panel-orchestration .task-project-sidebar,
2708
+ #panel-orchestration .task-quick-side-card {
2709
+ position: static;
2710
+ max-height: none;
2711
+ }
2712
+
2713
+ #panel-orchestration .task-thread-composer {
2714
+ right: auto;
2715
+ bottom: 10px;
2716
+ left: auto;
2717
+ width: 100%;
2718
+ min-width: 0;
2719
+ transform: none;
2720
+ }
2721
+ }
2722
+
2723
+ /* Web Agent cockpit pass: the orchestration tab is an agent workbench, not a hidden task form. */
2724
+ #panel-orchestration {
2725
+ --task-orchestration-main-width: 1440px;
2726
+ --task-orchestration-project-width: 270px;
2727
+ --task-orchestration-records-width: 340px;
2728
+
2729
+ padding-bottom: 40px;
2730
+ }
2731
+
2732
+ #panel-orchestration .task-hero-card {
2733
+ display: block;
2734
+ max-width: var(--task-orchestration-main-width);
2735
+ margin: -2px auto 14px;
2736
+ border-color: rgba(59, 130, 246, 0.12);
2737
+ background:
2738
+ radial-gradient(circle at 12% 10%, rgba(59, 130, 246, 0.08), transparent 26%),
2739
+ linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.76));
2740
+ }
2741
+
2742
+ #panel-orchestration .task-hero-card .task-hero-kicker,
2743
+ #panel-orchestration .task-hero-card .task-hero-copy {
2744
+ display: block;
2745
+ }
2746
+
2747
+ #panel-orchestration .task-quick-card {
2748
+ grid-template-columns: var(--task-orchestration-project-width) minmax(0, 1fr) var(--task-orchestration-records-width);
2749
+ gap: 18px;
2750
+ }
2751
+
2752
+ #panel-orchestration .task-project-sidebar,
2753
+ #panel-orchestration .task-quick-side-card {
2754
+ top: 92px;
2755
+ max-height: calc(100vh - 120px);
2756
+ }
2757
+
2758
+ #panel-orchestration .task-agent-cockpit {
2759
+ margin-bottom: 12px;
2760
+ padding: 14px;
2761
+ border: 1px solid rgba(59, 130, 246, 0.14);
2762
+ border-radius: 20px;
2763
+ background:
2764
+ linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(239, 246, 255, 0.54)),
2765
+ var(--color-surface);
2766
+ box-shadow: 0 14px 38px rgba(15, 23, 42, 0.07);
2767
+ }
2768
+
2769
+ #panel-orchestration .task-agent-cockpit-head {
2770
+ display: flex;
2771
+ align-items: flex-start;
2772
+ justify-content: space-between;
2773
+ gap: 12px;
2774
+ }
2775
+
2776
+ #panel-orchestration .task-agent-title {
2777
+ font-size: clamp(18px, 1.45vw, 24px);
2778
+ line-height: 1.18;
2779
+ }
2780
+
2781
+ #panel-orchestration .task-agent-copy {
2782
+ display: block;
2783
+ margin-top: 6px;
2784
+ max-width: 760px;
2785
+ line-height: 1.5;
2786
+ }
2787
+
2788
+ #panel-orchestration .task-agent-surface-grid,
2789
+ #panel-orchestration .task-agent-trace-grid {
2790
+ display: grid;
2791
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2792
+ gap: 8px;
2793
+ margin-top: 12px;
2794
+ }
2795
+
2796
+ #panel-orchestration .task-agent-surface-card,
2797
+ #panel-orchestration .task-agent-trace-card {
2798
+ min-width: 0;
2799
+ padding: 10px;
2800
+ border: 1px solid rgba(148, 163, 184, 0.16);
2801
+ border-radius: 14px;
2802
+ background: rgba(255, 255, 255, 0.72);
2803
+ }
2804
+
2805
+ #panel-orchestration .task-agent-surface-card span,
2806
+ #panel-orchestration .task-agent-trace-card span {
2807
+ display: block;
2808
+ color: var(--color-text-muted);
2809
+ font-size: 10px;
2810
+ font-weight: 800;
2811
+ letter-spacing: 0.06em;
2812
+ text-transform: uppercase;
2813
+ }
2814
+
2815
+ #panel-orchestration .task-agent-surface-card strong,
2816
+ #panel-orchestration .task-agent-trace-card strong {
2817
+ display: block;
2818
+ min-width: 0;
2819
+ margin-top: 5px;
2820
+ overflow: hidden;
2821
+ color: var(--color-text-primary);
2822
+ font-size: 12px;
2823
+ font-weight: 800;
2824
+ line-height: 1.35;
2825
+ text-overflow: ellipsis;
2826
+ white-space: nowrap;
2827
+ }
2828
+
2829
+ #panel-orchestration .task-agent-trace-grid {
2830
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2831
+ margin: 10px 0 2px;
2832
+ }
2833
+
2834
+ #panel-orchestration .task-agent-trace-card {
2835
+ padding: 8px 9px;
2836
+ background: rgba(248, 250, 252, 0.72);
2837
+ }
2838
+
2839
+ #panel-orchestration .task-agent-trace-card strong {
2840
+ font-size: 18px;
2841
+ }
2842
+
2843
+ #panel-orchestration .task-chat-panel {
2844
+ min-height: calc(100vh - 330px);
2845
+ border-radius: 22px;
2846
+ background:
2847
+ linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.66)),
2848
+ var(--color-surface);
2849
+ }
2850
+
2851
+ #panel-orchestration .task-chat-thread {
2852
+ padding-bottom: 18px;
2853
+ scroll-padding-bottom: 120px;
2854
+ }
2855
+
2856
+ #panel-orchestration .task-thread-composer {
2857
+ grid-template-columns: minmax(0, 1fr) auto;
2858
+ right: auto;
2859
+ bottom: 14px;
2860
+ left: auto;
2861
+ width: min(100%, 760px);
2862
+ min-width: 0;
2863
+ margin-top: 10px;
2864
+ transform: none;
2865
+ align-self: center;
2866
+ border-color: rgba(59, 130, 246, 0.16);
2867
+ border-radius: 18px;
2868
+ }
2869
+
2870
+ #panel-orchestration .task-chat-action-buttons {
2871
+ justify-content: center;
2872
+ }
2873
+
2874
+ #panel-orchestration .task-chat-action-buttons .btn-tool {
2875
+ min-width: 168px;
2876
+ }
2877
+
2878
+ #panel-orchestration .task-chat-action-buttons .btn-primary {
2879
+ min-width: 168px;
2880
+ }
2881
+
2882
+ #panel-orchestration .task-chat-primary-button {
2883
+ border-color: #1D4ED8;
2884
+ background: #2563EB;
2885
+ color: #FFFFFF;
2886
+ box-shadow: 0 10px 22px rgba(37, 99, 235, 0.24);
2887
+ }
2888
+
2889
+ #panel-orchestration .task-chat-primary-button:hover:not(:disabled),
2890
+ #panel-orchestration .task-chat-primary-button:focus-visible:not(:disabled) {
2891
+ border-color: #1E40AF;
2892
+ background: #1D4ED8;
2893
+ color: #FFFFFF;
2894
+ }
2895
+
2896
+ #panel-orchestration .task-side-workbench-card .task-thread-run-details {
2897
+ margin-top: 10px;
2898
+ }
2899
+
2900
+ #panel-orchestration .task-side-workbench-card .task-thread-run-details > summary {
2901
+ background: rgba(239, 246, 255, 0.76);
2902
+ color: #1D4ED8;
2903
+ }
2904
+
2905
+ #panel-orchestration .task-side-workbench-card .task-workbench-panel,
2906
+ #panel-orchestration .task-side-workbench-card .task-runtime-list,
2907
+ #panel-orchestration .task-side-workbench-card .task-node-list {
2908
+ max-height: 360px;
2909
+ overflow: auto;
2910
+ }
2911
+
2912
+ #panel-orchestration .task-side-settings-card {
2913
+ border-style: dashed;
2914
+ }
2915
+
2916
+ @media (max-width: 1180px) {
2917
+ #panel-orchestration .task-quick-card {
2918
+ grid-template-columns: minmax(220px, 0.35fr) minmax(0, 0.65fr);
2919
+ }
2920
+
2921
+ #panel-orchestration .task-agent-surface-grid {
2922
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2923
+ }
2924
+
2925
+ #panel-orchestration .task-thread-composer {
2926
+ width: min(100%, 720px);
2927
+ min-width: 0;
2928
+ }
2929
+ }
2930
+
2931
+ @media (max-width: 760px) {
2932
+ #panel-orchestration {
2933
+ padding-bottom: 72px;
2934
+ }
2935
+
2936
+ #panel-orchestration .task-hero-card {
2937
+ margin-bottom: 10px;
2938
+ padding: 12px;
2939
+ }
2940
+
2941
+ #panel-orchestration .task-agent-cockpit {
2942
+ padding: 12px;
2943
+ border-radius: 18px;
2944
+ }
2945
+
2946
+ #panel-orchestration .task-agent-cockpit-head {
2947
+ flex-direction: column;
2948
+ align-items: stretch;
2949
+ }
2950
+
2951
+ #panel-orchestration .task-agent-surface-grid,
2952
+ #panel-orchestration .task-agent-trace-grid {
2953
+ grid-template-columns: 1fr;
2954
+ }
2955
+
2956
+ #panel-orchestration .task-chat-thread {
2957
+ padding-bottom: 16px;
2958
+ scroll-padding-bottom: 130px;
2959
+ }
2960
+
2961
+ #panel-orchestration .task-thread-composer {
2962
+ right: auto;
2963
+ bottom: 10px;
2964
+ left: auto;
2965
+ width: 100%;
2966
+ min-width: 0;
2967
+ transform: none;
2968
+ }
2969
+
2970
+ #panel-orchestration .task-chat-action-buttons {
2971
+ flex-direction: column;
2972
+ gap: 6px;
2973
+ }
2974
+
2975
+ #panel-orchestration .task-chat-action-buttons .btn-tool {
2976
+ width: 100%;
2977
+ min-width: 0;
2978
+ }
2979
+ }