/* ── Page reset ─────────────────────────────────────────── */
html          { background: var(--surface) !important; }
html.dark     { background: var(--bg)      !important; }
body          { background: var(--surface) !important; color: var(--text) !important; height: 100vh !important; overflow: hidden !important; display: flex; flex-direction: column; }
html.dark body{ background: var(--bg)      !important; }
h1,h2,h3,h4,h5 { text-transform: none; user-select: auto; margin: 0; }

/* ── Main column ──────────────────────────────────────── */
.agents-main { flex: 1; display: flex; flex-direction: column; overflow: hidden; }

.agents-page-header-row { display: flex; align-items: flex-end; justify-content: space-between; padding-bottom: 1.5rem; }

/* ── Scrollable content ───────────────────────────────── */
.agents-content { flex: 1; overflow-y: auto; padding: 1.5rem; }

/* ── Shared components ────────────────────────────────── */
.icon-btn { min-width: 2rem; min-height: 2rem; padding: 0.375rem; background: transparent; border: 1px solid transparent; color: var(--text-secondary); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: all .15s; }
.icon-btn:hover { background: var(--surface); border-color: var(--border); color: var(--text); }
.icon-btn.danger:hover { background: rgba(218,30,40,.1); border-color: rgba(218,30,40,.3); color: #da1e28; }

/* ── Buttons ──────────────────────────────────────────── */
.nav-action-btn { height: 2.25rem; min-width: auto; padding: 0 1rem; font-size: 0.875rem; display: inline-flex; align-items: center; gap: 0.375rem; }
.btn-sm { height: 1.75rem; min-width: auto; padding: 0 0.75rem; font-size: 0.75rem; flex-shrink: 0; }

/* ── Agents toolbar ──────────────────────────────────── */
.agents-toolbar {
  display: flex; flex-direction: column;
  gap: 0; margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}

.agents-count {
  font-size: 0.75rem; color: var(--text-secondary);
  padding: 0.375rem 1rem 0.5rem;
  margin: 0;
}
.agents-no-results {
  grid-column: 1 / -1; padding: 3rem; text-align: center;
  font-size: 0.9375rem; color: var(--text-secondary);
}

/* ── Agents grid ─────────────────────────────────────── */
.agents-grid { display: block; }

/* ── Agent card ──────────────────────────────────────── */
/* card sits on Gray-10 canvas (light) / Gray-100 canvas (dark) → uses layer-01 */
.agent-card { background: var(--layer); border: 1px solid var(--panel-border); border-radius: 0; padding: 1rem 1rem 2.5rem; display: flex; flex-direction: column; gap: 0.5rem; transition: border-color .2s; cursor: pointer; position: relative; overflow: hidden; min-height: 13rem; box-sizing: border-box; }
.agent-card-desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.5; margin: 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.agent-card-arrow { position: absolute; bottom: 0; right: 0; width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center; color: var(--text); transition: background .1s; pointer-events: none; }
.agent-card:hover .agent-card-arrow { background: var(--blue-60); color: #fff; }
html.dark .agent-card:hover .agent-card-arrow { background: var(--blue-40); color: #161616; }
.agent-card:hover { border-color: var(--blue-60); }
html.dark .agent-card:hover { border-color: var(--blue-40); }
.agent-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; }
.agent-card-title-group { display: flex; flex-direction: column; gap: 0.125rem; flex: 1; min-width: 0; }
.agent-name { font-weight: 600; color: var(--text); font-size: 0.9375rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agent-card-id { font-family: 'IBM Plex Mono', monospace; font-size: 0.6875rem; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agent-id-wrap { display: inline-flex; align-items: center; gap: 0.25rem; max-width: 100%; overflow: hidden; }
.agent-copy-btn {
  position: relative;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.25rem; height: 1.25rem;
  padding: 0; border: none; border-radius: 2px;
  background: transparent; color: var(--text-secondary);
  cursor: pointer; transition: background 0.1s, color 0.1s;
}
.agent-copy-btn:hover { background: var(--layer-hover); color: var(--text); }
.copy-tooltip {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%; transform: translateX(-50%);
  background: var(--gray-100, #161616); color: var(--text-on-color, #ffffff);
  font-family: 'IBM Plex Sans', sans-serif; font-size: 0.6875rem;
  white-space: nowrap; padding: 0.25rem 0.5rem;
  border-radius: 2px; pointer-events: none;
  opacity: 0; transition: opacity 0.1s; z-index: 20;
}
.copy-tooltip::before {
  content: ''; position: absolute;
  bottom: 100%; left: 50%; transform: translateX(-50%);
  border: 4px solid transparent; border-bottom-color: var(--gray-100, #161616);
}
.agent-copy-btn:hover .copy-tooltip,
.agent-copy-btn.copied .copy-tooltip { opacity: 1; }
html.dark .copy-tooltip { background: #f4f4f4; color: #161616; }
html.dark .copy-tooltip::before { border-bottom-color: #f4f4f4; }
.agent-card-model { display: inline-flex; align-items: center; gap: 0.375rem; }
.agent-model-text { font-family: 'IBM Plex Mono', monospace; font-size: 0.6875rem; color: var(--text-secondary); }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


/* ── Empty state ─────────────────────────────────────── */
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 6rem 2rem; text-align: center; }
.empty-icon { width: 4rem; height: 4rem; display: flex; align-items: center; justify-content: center; background: rgba(15,98,254,.1); margin: 0 auto 1.25rem; color: var(--blue-60); }
html.dark .empty-icon { background: rgba(120,169,255,.12); color: var(--blue-40); }
.empty-title { font-size: 1.25rem; font-weight: 600; color: var(--text); margin: 0 0 0.5rem; }
.empty-desc { color: var(--text-secondary); margin: 0 0 1.5rem; font-size: 0.9375rem; }

/* Ghost button dark mode hover fix:
 * AI-style.css sets --gray-hover-1: #e5e5e5 (light), never overridden for dark,
 * so white text lands on a near-white bg. Override with a dark-appropriate hover. */
html.dark .ai-button.ghost {
  color: var(--text);
}
html.dark .ai-button.ghost:hover {
  background: rgba(255,255,255,.1);
  color: var(--text);
}
html.dark .ai-button.ghost:active {
  background: rgba(255,255,255,.16);
}

html.dark .form-input:focus {
  border-bottom-color: var(--blue-40);
  box-shadow: 0 1px 0 var(--blue-40);
}

/* ── Form ────────────────────────────────────────────── */
.form-section { padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border); }
.form-section:last-child { border-bottom: none; }
.form-section-title { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-secondary); margin-bottom: 0.875rem; }
/* .form-label and .form-input base styles live in carbon.css */
.form-label-mb { margin-bottom: 0.5rem; }
select.form-input option { background: var(--panel-bg); color: var(--text); }
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-row-2.mb-sm { margin-bottom: 0.75rem; }
.mb-sm { margin-bottom: 0.75rem; }
.suggested-prompts-stack { display: flex; flex-direction: column; gap: 0.5rem; }
.prompt-tag-list { display: flex; flex-direction: column; gap: 0.375rem; margin-bottom: 0.5rem; }
.prompt-tag {
  display: flex; align-items: center; justify-content: space-between;
  background: var(--layer); border-left: 3px solid var(--blue-60);
  padding: 0.5rem 0.75rem; gap: 0.75rem;
}
html.dark .prompt-tag { border-left-color: var(--blue-40); }
.prompt-tag-text { font-size: 0.875rem; color: var(--text); flex: 1; line-height: 1.4; }
.prompt-tag-remove {
  flex-shrink: 0; background: none; border: none; cursor: pointer;
  color: var(--text-secondary); display: flex; align-items: center; padding: 0.125rem;
  transition: color 0.1s;
}
.prompt-tag-remove:hover { color: #da1e28; }
.prompt-add-row { display: flex; align-items: center; gap: 0.5rem; }
.form-helper { margin: 0.375rem 0 0; font-size: 0.75rem; color: var(--text-secondary); }
.form-input-flex { flex: 1; }
.mono-input { font-family: 'IBM Plex Mono', monospace; font-size: 0.8125rem; resize: vertical; }
textarea.form-input { resize: vertical; }
.required-star { color: #da1e28; }
.form-label-hint { color: var(--text-secondary); font-weight: 400; }
.logo-letter-input { width: 6rem; }

/* ── Tools picker ────────────────────────────────────── */
.tools-picker-inner { overflow-y: auto; max-height: 220px; background: var(--panel-bg); }
.tool-name { font-size: 0.875rem; font-weight: 500; color: var(--text); }
.tools-message { padding: 0.75rem; font-size: 0.8125rem; color: var(--text-secondary); }

/* Carbon-style toggle */
.tool-toggle { display: inline-flex; align-items: center; cursor: pointer; }
.tool-toggle input { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.tools-picker-box { border: 1px solid var(--border); }

/* IBM DataTable-style toolbar
 * Toolbar uses layer above the content background:
 *   light: --surface = #f4f4f4  (Gray 10, slightly darker than white)
 *   dark:  --surface = #393939  (Gray 80) but panel-bg = #262626 (Gray 90),
 *          so surface is the correct elevated layer token here.
 */
.tools-picker-toolbar {
  display: flex; align-items: center;
  padding: 0 0 0 0.75rem; height: 3rem;
  background: var(--surface); border-bottom: 1px solid var(--border);
  /* NO overflow:hidden  -  would clip the absolutely-positioned dropdowns */
}
.tools-picker-title {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-secondary); flex-shrink: 0;
}

/* ── Toolbar action area ─────────────────────────────── */
.tools-toolbar-actions {
  display: flex; align-items: center; flex-shrink: 0;
  margin-left: auto; height: 100%;
}
.tools-picker-toolbar.search-active .tools-toolbar-actions {
  flex: 1; margin-left: 0;
}

/* Search area  -  collapses to 0 width, expands to fill available space when active */
.tools-search-area {
  display: flex; align-items: center;
  width: 0; overflow: hidden; opacity: 0;
  border: 2px solid transparent;
  background: var(--surface); height: 100%;
  transition: width 0.28s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.2s ease, border-color 0.15s ease;
}
.tools-picker-toolbar.search-active .tools-search-area {
  flex: 1; width: auto; opacity: 1; border-color: var(--blue-60);
  overflow: visible;
}
html.dark .tools-picker-toolbar.search-active .tools-search-area {
  border-color: var(--blue-40);
}

.tools-search-field {
  flex: 1; border: none; outline: none; background: transparent;
  font-size: 0.8125rem; color: var(--text); padding: 0.375rem 0;
  min-width: 0; font-family: inherit;
}
.tools-search-clear {
  display: flex; align-items: center; justify-content: center;
  width: 2rem; height: 100%; background: none; border: none; cursor: pointer;
  color: var(--text-secondary); flex-shrink: 0;
}
.tools-search-clear:hover { color: var(--text); }

/* Icon buttons in toolbar */
.tools-tb-btn {
  display: flex; align-items: center; justify-content: center;
  width: 3rem; height: 3rem; background: none; border: none; cursor: pointer;
  color: var(--text-secondary);
  transition: background 0.1s, color 0.1s;
}
.tools-tb-btn:hover { background: var(--hover-bg, rgba(0,0,0,0.06)); color: var(--text); }
html.dark .tools-tb-btn:hover { background: rgba(255,255,255,0.08); }
.tools-tb-btn.active { background: var(--surface); color: var(--text); outline: 2px solid var(--blue-60); outline-offset: -2px; }

/* ── Toolbar popovers (filter / settings dropdowns) ─────── */
.tools-tb-popover-wrap { position: relative; }
.tools-tb-dropdown {
  position: absolute; top: 100%; right: 0;
  background: var(--panel-bg); border: 1px solid var(--border);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 100; min-width: 14rem;
}
.tools-tb-dropdown-head {
  padding: 0.625rem 1rem; font-size: 0.75rem; font-weight: 600;
  color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.04em;
  border-bottom: 1px solid var(--border);
}
.tools-tb-checkbox {
  display: flex; align-items: center; gap: 0.625rem;
  padding: 0.625rem 1rem; font-size: 0.875rem; color: var(--text);
  cursor: pointer; user-select: none;
}
.tools-tb-checkbox input[type="checkbox"] {
  width: 1rem; height: 1rem; accent-color: var(--blue-60); cursor: pointer; flex-shrink: 0;
}
.tools-tb-dropdown-footer {
  display: flex; border-top: 1px solid var(--border);
}
.tools-tb-footer-reset, .tools-tb-footer-apply {
  flex: 1; padding: 0.75rem 1rem; font-size: 0.875rem; font-weight: 500;
  border: none; cursor: pointer; font-family: inherit;
}
.tools-tb-footer-reset { background: #393939; color: #f4f4f4; }
.tools-tb-footer-reset:hover { background: #474747; }
.tools-tb-footer-apply { background: var(--blue-60, #0f62fe); color: #fff; }
.tools-tb-footer-apply:hover { background: #0353e9; }

/* Settings dropdown  -  plain action list */
.tools-tb-action-item {
  display: block; width: 100%; padding: 0.75rem 1rem;
  font-size: 0.875rem; color: var(--text); background: none;
  border: none; cursor: pointer; text-align: left; font-family: inherit;
  border-bottom: 1px solid var(--border); transition: background 0.1s;
}
.tools-tb-action-item:last-child { border-bottom: none; }
.tools-tb-action-item:hover { background: var(--hover-bg, rgba(0,0,0,0.06)); }
html.dark .tools-tb-action-item:hover { background: rgba(255,255,255,0.08); }

/* ── Chip ────────────────────────────────────────────── */
.chip { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.2rem 0.5rem; font-size: 0.75rem; color: white; font-weight: 500; background: var(--blue-60); }
.chip button { background: none; border: none; cursor: pointer; color: inherit; font-size: 0.875rem; padding: 0; line-height: 1; }

/* ── Settings modal nav  -  dark mode overrides ────────── */
/* app.css uses --surface hover and --primary (blue-60) active  -  both fail in dark */
html.dark .settings-nav-item:hover { background: rgba(255,255,255,.08); color: var(--text); }
html.dark .settings-nav-item.active { background: rgba(120,169,255,.1); color: var(--blue-40); }

.color-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.color-pair { display: flex; gap: 0.5rem; }
.color-pair input[type="color"] { width: 3rem; height: 2rem; border: 1px solid var(--border); cursor: pointer; flex-shrink: 0; }
.color-section-label { grid-column: 1 / -1; font-size: 0.875rem; font-weight: 600; color: var(--text); margin: 0 0 0.25rem; }
.color-section-label.mt { margin-top: 0.75rem; }
.settings-form-stack { display: flex; flex-direction: column; gap: 1rem; }
.logo-mode-row { display: flex; gap: 1.5rem; font-size: 0.875rem; margin-top: 0.375rem; }
.logo-mode-option { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; }
.section-desc { font-size: 0.875rem; color: var(--text-secondary); margin: 0 0 1.5rem; }

.icon-btn-xs { padding: 0.15rem; flex-shrink: 0; opacity: 0.6; }
.icon-btn-xs:hover { opacity: 1; }
.font-mono { font-family: 'IBM Plex Mono', monospace; font-size: 0.8125rem; }


/* ── Documents section blocks ────────────────────────── */
.doc-block { padding: 1.25rem 0; }
.doc-block-header { margin-bottom: 1rem; }
.doc-block-label {
  font-size: 0.875rem; font-weight: 600;
  color: var(--text); margin: 0 0 0.25rem;
}
.doc-block-desc {
  font-size: 0.75rem; color: var(--text-secondary);
  margin: 0; line-height: 1.5;
}
.doc-divider { height: 1px; background: var(--border); margin: 0; }

/* ── Multi-collection selector ──────────────────────── */
.multi-collection-wrap { display: flex; flex-direction: column; gap: 0.5rem; }
.multi-collection-tags { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.multi-collection-tags:empty { display: none; }
.collection-tag {
  display: inline-flex; align-items: center; gap: 0.375rem;
  height: 1.75rem; padding: 0 0.5rem 0 0.625rem;
  font-size: 0.8125rem; line-height: 1;
  color: var(--blue-70); background: var(--blue-10, rgba(15,98,254,.08));
  border: none;
}
html.dark .collection-tag { color: var(--blue-40); background: rgba(120,169,255,.12); }
.collection-tag-name { max-width: 14rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.collection-tag-remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1rem; height: 1rem; padding: 0; border: none; background: none;
  color: inherit; cursor: pointer; opacity: 0.6;
  transition: opacity 100ms cubic-bezier(0.2,0,0.38,0.9);
}
.collection-tag-remove:hover { opacity: 1; }

/* ── Knowledge Files ─────────────────────────────────── */
.kf-section { margin-top: 1.75rem; }
.kf-header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); padding-bottom: 0.5rem; }
.kf-header-label { font-size: 0.875rem; font-weight: 600; color: var(--text); flex-shrink: 0; }
.kf-header-actions { display: flex; align-items: center; gap: 0.25rem; }
.kf-header.search-active .kf-header-actions { flex: 1; }
.kf-search-wrap {
  display: flex; align-items: center; gap: 0.375rem;
  width: 0; overflow: hidden;
  transition: width 0.28s ease, border-color 0.1s;
  background: var(--surface); border: 1px solid transparent; height: 2rem;
}
.kf-header.search-active .kf-search-wrap { flex: 1; width: auto; border-color: var(--blue-60); overflow: visible; }
.kf-search-icon { flex-shrink: 0; margin-left: 0.5rem; color: var(--text-secondary); }
.kf-search-input { flex: 1; border: none; background: transparent; font-size: 0.875rem; color: var(--text); outline: none; min-width: 0; font-family: inherit; }
.kf-search-input::placeholder { color: var(--text-secondary); }
.kf-search-clear { background: none; border: none; cursor: pointer; color: var(--text-secondary); padding: 0 0.5rem; font-size: 1rem; line-height: 1; flex-shrink: 0; }
.kf-search-clear:hover { color: var(--text); }
.kf-list { margin-top: 0; }
.kf-empty { font-size: 0.875rem; color: var(--text-secondary); padding: 1.25rem 0; margin: 0; text-align: center; border-bottom: 1px solid var(--border); }
.kf-item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--border); }
.kf-item-icon { flex-shrink: 0; color: var(--text-secondary); margin-top: 0.1rem; }
.kf-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.kf-item-name { font-size: 0.875rem; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kf-item-desc { width: 100%; border: none; border-bottom: 1px solid var(--border); background: transparent; font-size: 0.8125rem; color: var(--text-secondary); font-family: inherit; padding: 0.125rem 0; outline: none; }
.kf-item-desc:focus { border-bottom-color: var(--blue-60); color: var(--text); }
.kf-item-desc::placeholder { color: var(--text-secondary); opacity: 0.6; }
.kf-item-remove { flex-shrink: 0; background: none; border: none; cursor: pointer; color: var(--text-secondary); padding: 0.125rem; margin-top: 0.05rem; transition: color 0.1s; }
.kf-item-remove:hover { color: #da1e28; }

/* ── Utility ─────────────────────────────────────────── */
.w3-hide { display: none !important; }

/* ── Carbon Toggle switch ─────────────────────────────── */
.carbon-toggle {
  position: relative; flex-shrink: 0;
  width: 2.75rem; height: 1.5rem;
  background: var(--gray-60, #6f6f6f);
  border: none; cursor: pointer;
  border-radius: 0.75rem;   /* exception: toggles have rounded track */
  transition: background 0.15s;
  padding: 0;
}
.carbon-toggle[aria-checked="true"] { background: var(--blue-60); }
html.dark .carbon-toggle[aria-checked="true"] { background: var(--blue-40); }
.carbon-toggle-thumb {
  position: absolute; top: 3px; left: 3px;
  width: 1.125rem; height: 1.125rem;
  background: #fff; border-radius: 50%;
  transition: transform 0.15s;
  pointer-events: none;
}
.carbon-toggle[aria-checked="true"] .carbon-toggle-thumb { transform: translateX(1.25rem); }
.carbon-toggle--sm { width: 2.25rem; height: 1.25rem; border-radius: 0.625rem; }
.carbon-toggle--sm .carbon-toggle-thumb { width: 0.875rem; height: 0.875rem; }
.carbon-toggle--sm[aria-checked="true"] .carbon-toggle-thumb { transform: translateX(1rem); }

/* ── Toggle row (label + toggle) ─────────────────────── */
.toggle-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.toggle-row-text { flex: 1; }
.toggle-row-label { font-size: 0.9375rem; font-weight: 500; color: var(--text); margin: 0 0 0.25rem; }
.toggle-row-desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; margin: 0; }
.toggle-row-desc code { font-family: 'IBM Plex Mono', monospace; font-size: 0.8125rem; background: var(--surface); padding: 0 3px; border: 1px solid var(--border); }

/* ── Radio group ──────────────────────────────────────── */
.radio-group { display: flex; flex-direction: column; gap: 0.75rem; }
.radio-item { display: flex; align-items: flex-start; gap: 0.75rem; cursor: pointer; padding: 0.875rem 1rem; border: 1px solid var(--border); background: var(--panel-bg); transition: background 0.1s; }
.radio-item:hover { background: var(--surface); }
.radio-item input[type="radio"] { margin-top: 0.125rem; flex-shrink: 0; accent-color: var(--blue-60); }
.radio-item-body { flex: 1; }
.radio-item-label { font-size: 0.875rem; font-weight: 500; color: var(--text); display: flex; align-items: center; gap: 0.5rem; }
.radio-item-badge { font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.0625rem 0.375rem; background: rgba(15,98,254,.08); color: var(--blue-60); border: 1px solid rgba(15,98,254,.2); }
html.dark .radio-item-badge { background: rgba(120,169,255,.1); color: var(--blue-40); border-color: rgba(120,169,255,.25); }
.radio-item-desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.5; margin-top: 0.1875rem; }
.radio-item-desc code { font-family: 'IBM Plex Mono', monospace; font-size: 0.8125rem; background: var(--surface); padding: 0 3px; border: 1px solid var(--border); }

/* ── Guardrail blocks ─────────────────────────────────── */
.guardrail-block { border: 1px solid var(--border); background: var(--panel-bg); padding: 1rem 1.25rem; margin-bottom: 0.75rem; }
.guardrail-block-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; }
.guardrail-block-label { font-size: 0.9375rem; font-weight: 500; color: var(--text); margin: 0 0 0.1875rem; }
.guardrail-block-desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.5; margin: 0; }

/* ── Topic tags ───────────────────────────────────────── */
.topic-tag-list { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 0.5rem; min-height: 1.75rem; }
.topic-tag { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; padding: 0.1875rem 0.625rem; background: var(--surface); border: 1px solid var(--border); color: var(--text); }
.topic-tag-remove { background: none; border: none; cursor: pointer; color: var(--text-secondary); padding: 0; display: flex; align-items: center; font-size: 0.875rem; line-height: 1; }
.topic-tag-remove:hover { color: #da1e28; }
.topic-add-row { display: flex; gap: 0.5rem; align-items: center; margin-top: 0.375rem; }

/* ── Delegation / Orchestration ───────────────────────── */
.deleg-agent-tags { display: flex; flex-direction: column; gap: 0.375rem; min-height: 0; }
.deleg-empty-hint { font-size: 0.8125rem; color: var(--text-secondary); margin: 0; line-height: 1.5; font-style: italic; }
.deleg-agent-tag {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: var(--surface); border: 1px solid var(--border);
  transition: background 100ms cubic-bezier(0.2,0,0.38,0.9), border-color 100ms;
}
.deleg-agent-tag:hover { background: var(--panel-bg); border-color: var(--blue-60); }
.deleg-tag-icon { flex-shrink: 0; color: var(--blue-60); }
html.dark .deleg-tag-icon { color: var(--blue-40); }
.deleg-tag-name { flex: 1; font-size: 0.875rem; font-weight: 500; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deleg-tag-provider {
  font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 0.0625rem 0.375rem;
  background: rgba(15,98,254,.08); color: var(--blue-60);
  border: 1px solid rgba(15,98,254,.2); flex-shrink: 0;
}
html.dark .deleg-tag-provider { background: rgba(120,169,255,.1); color: var(--blue-40); border-color: rgba(120,169,255,.25); }
.deleg-tag-remove {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 1.25rem; height: 1.25rem; padding: 0; border: none; background: none;
  color: var(--text-secondary); cursor: pointer; opacity: 0;
  transition: opacity 100ms, color 100ms;
}
.deleg-agent-tag:hover .deleg-tag-remove { opacity: 1; }
.deleg-tag-remove:hover { color: #da1e28; }
.deleg-add-row { margin-top: 0.75rem; }
.deleg-agent-select { max-width: 100%; }

/* ── Form select ──────────────────────────────────────── */
.form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236f6f6f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.75rem center; padding-right: 2rem; cursor: pointer; }

/* ── Checkbox item ────────────────────────────────────── */
.checkbox-item { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.875rem; color: var(--text); }
.checkbox-item input[type="checkbox"] { accent-color: var(--blue-60); }

/* ── Automation tab — agent tasks table ───────────────── */
.form-section-subtitle {
  font-size: 0.6875rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--text-secondary);
  margin: 0 0 0.5rem;
}
.at-loading { font-size: 0.875rem; color: var(--text-secondary); padding: 1rem 0; }
.at-empty {
  padding: 2rem 1rem; text-align: center;
  border: 1px solid var(--border); background: var(--panel-bg);
}
.at-empty-title { font-size: 0.9375rem; color: var(--text); margin: 0 0 0.25rem; }
.at-empty-desc  { font-size: 0.8125rem; color: var(--text-secondary); margin: 0 0 1rem; }

.at-table-wrap { border: 1px solid var(--border); background: var(--panel-bg); overflow: hidden; }
.at-table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
.at-table th {
  padding: 0.5rem 0.75rem;
  font-size: 0.6875rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  text-align: left;
  white-space: nowrap;
}
.at-table td {
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  vertical-align: middle;
}
.at-table tr:last-child td { border-bottom: none; }
.at-table tr:hover td { background: var(--surface); }

.at-task-name  { font-weight: 500; color: var(--text); }
.at-task-source {
  font-size: 0.6875rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.05em;
  padding: 0.0625rem 0.375rem;
  border: 1px solid var(--border);
  color: var(--text-secondary);
  background: var(--surface);
  display: inline-block;
  margin-top: 0.1875rem;
}
.at-task-source--agent { color: var(--blue-60); border-color: rgba(15,98,254,.25); background: rgba(15,98,254,.06); }
html.dark .at-task-source--agent { color: var(--blue-40); }
.at-cron { font-family: 'IBM Plex Mono', monospace; font-size: 0.75rem; color: var(--text-secondary); }
.at-cron-desc { font-size: 0.75rem; color: var(--text-secondary); margin-top: 0.125rem; }

.at-badge { font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.125rem 0.4375rem; border: 1px solid; }
.at-badge--ok      { color: #42be65; border-color: rgba(66,190,101,.3); background: rgba(66,190,101,.08); }
.at-badge--error   { color: #da1e28; border-color: rgba(218,30,40,.3); background: rgba(218,30,40,.08); }
.at-badge--running { color: var(--blue-60); border-color: rgba(15,98,254,.3); background: rgba(15,98,254,.08); }
.at-badge--idle    { color: var(--text-secondary); border-color: var(--border); background: var(--surface); }

/* Micro toggle for table rows (reuses .carbon-toggle--sm) */
.at-actions { display: flex; align-items: center; gap: 0.375rem; }

/* ── Agent type sections ── */
.agents-section-header {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  padding: 0.75rem 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.agents-section-count {
  font-size: 0.75rem;
  font-weight: 500;
  background: var(--gray-20);
  color: var(--text-secondary);
  border-radius: 9999px;
  padding: 1px 8px;
}
html.dark .agents-section-count { background: var(--gray-70); }
.agents-grid-inner {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}
.agent-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 500;
}
.agent-type-badge--collection {
  background: var(--teal-10, #d9fbfb);
  color: var(--teal-70, #005d5d);
}
html.dark .agent-type-badge--collection {
  background: var(--teal-80, #004144);
  color: var(--teal-30, #08bdba);
}
