/* 协作群控制台（真内嵌：#view-group 作用域隔离） */
/* 协作群自进化控制台样式 */
#view-group {
  --grp-bg: #0f1117;
  --grp-panel: #171a23;
  --grp-panel-2: #1d212c;
  --grp-border: #2a2f3c;
  --grp-text: #d7dbe5;
  --grp-muted: #8b93a7;
  --grp-accent: #4f8cff;
  --grp-accent-bg: rgba(79, 140, 255, 0.12);
  --grp-green: #3fb950;
  --grp-red: #f85149;
  --grp-amber: #d29922;
}#view-group{ background: var(--grp-bg); color: var(--grp-text); font-family: -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; margin: 0; }#view-group .grp-app{ display: flex; flex-direction: column; height: 100vh; }#view-group .grp-header{
  display: flex; align-items: center; gap: 14px;
  padding: 12px 18px; border-bottom: 1px solid var(--grp-border);
  background: var(--grp-panel);
}#view-group .grp-header h1{ font-size: 16px; margin: 0; font-weight: 600; flex: 1; }#view-group .grp-header-actions{ display: flex; gap: 8px; }#view-group .grp-body{ display: flex; flex: 1; min-height: 0; }#view-group /* 左侧群列表 */
.grp-side{
  width: 280px; min-width: 280px; border-right: 1px solid var(--grp-border);
  background: var(--grp-panel); display: flex; flex-direction: column;
}#view-group .grp-side-search{ padding: 10px; border-bottom: 1px solid var(--grp-border); }#view-group .grp-side-search input{
  width: 100%; box-sizing: border-box; padding: 7px 10px; border-radius: 8px;
  border: 1px solid var(--grp-border); background: var(--grp-panel-2); color: var(--grp-text);
}#view-group .grp-list{ overflow-y: auto; padding: 8px; flex: 1; }#view-group .grp-item{
  padding: 10px 12px; border-radius: 10px; margin-bottom: 6px; cursor: pointer;
  border: 1px solid transparent; transition: background .12s, border-color .12s;
}#view-group .grp-item:hover{ background: var(--grp-panel-2); }#view-group .grp-item.active{ background: var(--grp-accent-bg); border-color: var(--grp-accent); }#view-group .grp-item-name{ font-weight: 600; font-size: 14px; }#view-group .grp-item-meta{ font-size: 12px; color: var(--grp-muted); margin-top: 3px; }#view-group .grp-item-owner{ font-size: 11px; color: var(--grp-muted); margin-top: 2px; }#view-group /* 右侧主区 */
.grp-main{ flex: 1; overflow-y: auto; padding: 18px; }#view-group .grp-empty{ color: var(--grp-muted); text-align: center; margin-top: 80px; font-size: 14px; }#view-group .grp-empty-sm{ color: var(--grp-muted); padding: 14px; text-align: center; font-size: 13px; }#view-group .grp-error{ color: var(--grp-red); padding: 14px; }#view-group .grp-section{ background: var(--grp-panel); border: 1px solid var(--grp-border); border-radius: 12px; padding: 16px; margin-bottom: 16px; }#view-group .grp-section h2{ font-size: 15px; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }#view-group .grp-section h3{ font-size: 13px; margin: 14px 0 8px; color: var(--grp-muted); font-weight: 600; }#view-group .grp-meta-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }#view-group .grp-meta{ background: var(--grp-panel-2); border-radius: 8px; padding: 8px 10px; }#view-group .grp-meta .k{ font-size: 11px; color: var(--grp-muted); }#view-group .grp-meta .v{ font-size: 13px; margin-top: 2px; word-break: break-all; }#view-group /* 成员表 */
.grp-table{ width: 100%; border-collapse: collapse; font-size: 13px; }#view-group .grp-table th{ text-align: left; color: var(--grp-muted); font-weight: 500; padding: 6px 8px; border-bottom: 1px solid var(--grp-border); }#view-group .grp-table td{ padding: 7px 8px; border-bottom: 1px solid var(--grp-border); vertical-align: middle; }#view-group .badge{ display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 11px; }#view-group .badge-owner{ background: var(--grp-accent-bg); color: var(--grp-accent); }#view-group .badge-active{ background: rgba(63,185,80,.15); color: var(--grp-green); }#view-group .badge-pending{ background: rgba(210,153,34,.15); color: var(--grp-amber); }#view-group .badge-danger{ background: rgba(248,81,73,.15); color: var(--grp-red); }#view-group .row-actions{ display: flex; gap: 6px; }#view-group /* 表单 */
.grp-form-row{ margin-bottom: 12px; }#view-group .grp-form-row label{ display: block; font-size: 12px; color: var(--grp-muted); margin-bottom: 5px; }#view-group .grp-form-row input, #view-group .grp-form-row textarea, #view-group .grp-form-row select{
  width: 100%; box-sizing: border-box; padding: 8px 10px; border-radius: 8px;
  border: 1px solid var(--grp-border); background: var(--grp-panel-2); color: var(--grp-text);
  font-family: inherit; font-size: 13px;
}#view-group .grp-form-row textarea{ min-height: 70px; resize: vertical; }#view-group .chk-list{ display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; max-height: 200px; overflow-y: auto; }#view-group .chk-item{ display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 8px; background: var(--grp-panel-2); cursor: pointer; font-size: 13px; }#view-group .chk-item input{ accent-color: var(--grp-accent); }#view-group /* 按钮 */
.btn{ border: 1px solid var(--grp-border); background: var(--grp-panel-2); color: var(--grp-text); padding: 7px 14px; border-radius: 8px; cursor: pointer; font-size: 13px; }#view-group .btn:hover{ border-color: var(--grp-accent); }#view-group .btn-sm{ padding: 5px 10px; font-size: 12px; }#view-group .btn-primary{ background: var(--grp-accent); border-color: var(--grp-accent); color: #fff; }#view-group .btn-primary:hover{ opacity: .9; }#view-group .btn-danger{ color: var(--grp-red); border-color: rgba(248,81,73,.4); }#view-group .btn-danger:hover{ background: rgba(248,81,73,.12); }#view-group .btn-ghost{ background: transparent; }#view-group .btn:disabled{ opacity: .5; cursor: not-allowed; }#view-group /* 派发结果 */
.disp-result{ margin-top: 12px; }#view-group .disp-line{ font-size: 13px; margin: 4px 0; }#view-group .disp-line .k{ color: var(--grp-muted); }#view-group .tag{ display: inline-block; background: var(--grp-panel-2); border: 1px solid var(--grp-border); border-radius: 6px; padding: 1px 7px; margin: 2px 4px 2px 0; font-size: 12px; }#view-group .tag-shared{ border-color: var(--grp-accent); color: var(--grp-accent); }#view-group pre.grp-pre{ background: var(--grp-panel-2); border: 1px solid var(--grp-border); border-radius: 8px; padding: 10px; font-size: 12px; white-space: pre-wrap; word-break: break-word; max-height: 320px; overflow-y: auto; margin: 8px 0 0; }#view-group .run-detail{ margin-top: 8px; }#view-group .run-detail > summary{ cursor: pointer; color: var(--grp-accent); font-size: 12px; user-select: none; }#view-group /* 群标签/能力展示行 */
.grp-kw-row{ display: flex; align-items: baseline; gap: 10px; margin-top: 8px; }#view-group .grp-kw-row > .k{ flex: 0 0 72px; color: var(--grp-muted); font-size: 12px; }#view-group .grp-kw-row > .exp-kw{ flex: 1; }#view-group /* 经验卡片 */
.exp-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }#view-group .exp-card{ background: var(--grp-panel-2); border: 1px solid var(--grp-border); border-radius: 10px; padding: 12px; font-size: 12px; }#view-group .exp-card.ok{ border-left: 3px solid var(--grp-green); }#view-group .exp-card.fail{ border-left: 3px solid var(--grp-red); }#view-group .exp-req{ font-weight: 600; font-size: 13px; margin-bottom: 6px; }#view-group .exp-meta{ color: var(--grp-muted); margin: 4px 0; }#view-group .exp-kw .tag{ font-size: 11px; }#view-group .tabs{ display: flex; gap: 6px; margin-bottom: 12px; }#view-group .tab{ padding: 5px 12px; border-radius: 8px; cursor: pointer; font-size: 13px; border: 1px solid var(--grp-border); background: var(--grp-panel-2); color: var(--grp-muted); }#view-group .tab.active{ background: var(--grp-accent-bg); color: var(--grp-accent); border-color: var(--grp-accent); }#view-group /* 弹窗 */
.modal-mask{ position: fixed; inset: 0; background: rgba(0,0,0,.55); display: none; align-items: center; justify-content: center; z-index: 50; }#view-group .modal-mask.show{ display: flex; }#view-group .modal{ width: 560px; max-width: 92vw; max-height: 88vh; overflow-y: auto; background: var(--grp-panel); border: 1px solid var(--grp-border); border-radius: 14px; padding: 20px; }#view-group .modal h2{ margin: 0 0 14px; font-size: 16px; }#view-group .modal-actions{ display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }#view-group .loading-state{ display: flex; align-items: center; gap: 10px; color: var(--grp-muted); padding: 20px; }#view-group .spinner{ width: 18px; height: 18px; border: 2px solid var(--grp-border); border-top-color: var(--grp-accent); border-radius: 50%; animation: grp-spin .8s linear infinite; }
@keyframes grp-spin { to { transform: rotate(360deg); } }

/* 内联样式 */
#view-group .modal-wide{ max-width: 800px; width: 94vw; max-height: 88vh; overflow-y: auto; }#view-group .modal-wide h3{ margin: 16px 0 6px; font-size: 14px; color: #cdd6e4; }#view-group .modal-wide h4{ margin: 14px 0 6px; font-size: 13px; color: #9aa4b2; }#view-group .me-pane{ margin-top: 10px; }#view-group .timeline{ display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }#view-group .tl-item{ border-left: 3px solid #4f8cff; padding: 8px 12px; background: rgba(255,255,255,.03); border-radius: 0 8px 8px 0; }#view-group .tl-time{ font-size: 12px; color: #9aa4b2; }#view-group .tl-type{ margin: 4px 0; }#view-group .tl-detail{ font-size: 13px; white-space: pre-wrap; word-break: break-all; }#view-group .learn-card{ border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 12px; background: rgba(255,255,255,.02); }#view-group .edit-box{ margin-top: 8px; }#view-group .edit-box textarea{ width: 100%; min-height: 90px; }
