:root {
  --color-primary: #0057b8;
  --color-primary-700: #003f88;
  --color-primary-50: #edf5ff;
  --color-primary-100: #dcecff;
  --color-accent: #d71920;
  --color-success: #0f9f6e;
  --color-success-50: #e9f8f1;
  --color-danger: #dc2626;
  --color-danger-50: #fef2f2;
  --color-warning: #b7791f;
  --color-warning-50: #fff8e6;
  --color-bg: #f6f8fb;
  --color-surface: #ffffff;
  --color-surface-subtle: #f9fafb;
  --color-text: #182230;
  --color-text-soft: #344054;
  --color-text-muted: #667085;
  --color-border: #d9e1ec;
  --color-border-strong: #c4d0df;
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.05);
  --shadow-md: 0 10px 24px rgba(16, 24, 40, 0.08);
  --shadow-lg: 0 20px 48px rgba(16, 24, 40, 0.16);
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 8px;
}

[v-cloak] { display: none; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; min-width: 320px; }

body {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(0, 87, 184, 0.06), rgba(0, 87, 184, 0) 260px),
    var(--color-bg);
  color: var(--color-text);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button, a, label { -webkit-tap-highlight-color: transparent; }
.ph { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }

.layout { display: flex; min-height: 100vh; }
.brand-icon {
  display: inline-flex;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-700));
  color: #fff;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: 0 8px 20px rgba(0, 87, 184, 0.22);
}

.brand-icon-lg { width: 48px; height: 48px; font-size: 1.1rem; }
.main { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--color-border);
  background: rgba(246, 248, 251, 0.88);
  padding: 1rem 1.75rem;
  backdrop-filter: blur(16px);
}

.topbar h1 {
  min-width: 0;
  color: var(--color-text);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: 0;
}

.topbar-heading { display: grid; min-width: 0; gap: 0.08rem; }
.topbar-heading p { color: var(--color-text-muted); font-size: 0.76rem; }

.status-group { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.45rem; }
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 2rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-text-muted);
  font-size: 0.78rem;
  font-weight: 750;
  padding: 0.32rem 0.7rem;
  box-shadow: var(--shadow-sm);
}

.status-badge.ok { border-color: #b7e4cf; background: var(--color-success-50); color: #067647; }
.status-badge.err { border-color: #fecaca; background: var(--color-danger-50); color: #b42318; }
.status-badge.warn { border-color: #f3d58b; background: var(--color-warning-50); color: var(--color-warning); }
.status-dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(0, 87, 184, 0.08); }

.content { width: 100%; padding: 1.5rem 1.75rem 2rem; }

.tabs-nav {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 1rem;
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.86);
  padding: 0.35rem;
  box-shadow: var(--shadow-sm);
  scrollbar-width: thin;
}

.tab-btn {
  display: inline-flex;
  min-height: 2.4rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 750;
  padding: 0.55rem 0.85rem;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
  white-space: nowrap;
}

.tab-btn:hover { background: var(--color-surface-subtle); color: var(--color-text); }
.tab-btn.active { border-color: #b8d7ff; background: #fff; color: var(--color-primary-700); box-shadow: 0 5px 14px rgba(16, 24, 40, 0.08); }

.agent-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  gap: 1rem;
  align-items: start;
}

.agent-workspace > .card + .card { margin-top: 0; }
.prompt-editor-card { min-width: 0; }
.agent-card-header { align-items: flex-start; justify-content: space-between; flex-direction: row; gap: 1rem; }
.section-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: #fff;
  color: var(--color-text-muted);
  font-size: 0.72rem;
  font-weight: 750;
  padding: 0.3rem 0.62rem;
}

.prompt-editor-body { display: flex; flex-direction: column; }
.prompt-editor-toolbar {
  display: flex;
  min-height: 2.6rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border: 1px solid var(--color-border);
  border-bottom: 0;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background: var(--color-surface-subtle);
  color: var(--color-text-soft);
  font-size: 0.78rem;
  font-weight: 750;
  padding: 0.55rem 0.75rem;
}

.prompt-editor-toolbar > span { display: inline-flex; align-items: center; gap: 0.35rem; }
.prompt-update-time { color: var(--color-text-muted); font-size: 0.72rem; font-weight: 600; }
.prompt-textarea-wrap textarea {
  min-height: clamp(420px, calc(100vh - 360px), 680px);
  border-radius: 0;
  padding: 1rem;
  resize: vertical;
}

.prompt-editor-footer {
  display: flex;
  min-height: 2.4rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border: 1px solid var(--color-border);
  border-top: 0;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: #fff;
  color: var(--color-text-muted);
  font-size: 0.74rem;
  font-weight: 650;
  padding: 0.5rem 0.75rem;
}

.prompt-validation { display: inline-flex; align-items: center; gap: 0.3rem; color: #067647; }
.prompt-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.65rem; margin-top: 1rem; }
.agent-config-card { position: sticky; top: 5.25rem; }
.agent-status-panel {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: linear-gradient(145deg, var(--color-surface-subtle), #fff);
  padding: 0.85rem;
}

.agent-status-label { display: block; color: var(--color-text-muted); font-size: 0.72rem; font-weight: 700; margin-bottom: 0.35rem; }
.agent-status-row { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.agent-status-row strong { color: var(--color-text); font-size: 0.96rem; }
.agent-status-panel small { display: block; color: var(--color-text-muted); font-size: 0.7rem; margin-top: 0.35rem; }
.agent-online-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  border: 1px solid;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 0.25rem 0.5rem;
}

.agent-online-badge.online { border-color: #b7e4cf; background: var(--color-success-50); color: #067647; }
.agent-online-badge.offline { border-color: #fecaca; background: var(--color-danger-50); color: #b42318; }
.agent-config-section { margin-top: 1rem; }
.agent-config-section h3 { color: var(--color-text-soft); font-size: 0.82rem; font-weight: 800; margin-bottom: 0.75rem; }
.agent-parameter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0.65rem; }
.agent-parameter-grid .form-group { margin-bottom: 0.75rem; }
.agent-model-meta { align-items: flex-start; }
.agent-config-tip {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  border: 1px solid #b8d7ff;
  border-radius: var(--radius-md);
  background: var(--color-primary-50);
  color: var(--color-primary-700);
  padding: 0.75rem;
}

.agent-config-tip > i { flex: 0 0 auto; margin-top: 0.12rem; font-size: 1rem; }
.agent-config-tip div { display: grid; gap: 0.12rem; }
.agent-config-tip strong { font-size: 0.78rem; }
.agent-config-tip span { color: var(--color-text-soft); font-size: 0.72rem; line-height: 1.45; }
.agent-save-button { width: 100%; margin-top: 0.85rem; }

.card {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.card + .card { margin-top: 1rem; }
.card-header {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  border-bottom: 1px solid var(--color-border);
  background: linear-gradient(180deg, #fff, #fbfcfe);
  padding: 1rem 1.2rem;
}

.card-header h2 { display: flex; align-items: center; gap: 0.45rem; color: var(--color-text); font-size: 1rem; font-weight: 800; }
.card-desc { max-width: 72ch; color: var(--color-text-muted); font-size: 0.84rem; }
.card-body { padding: 1.2rem; }

.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0.95rem; }
.form-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-group { min-width: 0; margin-bottom: 0.95rem; }
.form-group-inline { margin-bottom: 0; }
.form-group-spaced { margin-top: 0.75rem; }
.form-group label, .settings-group-title { display: block; color: var(--color-text-soft); font-size: 0.82rem; font-weight: 750; margin-bottom: 0.35rem; }

.form-group input,
.form-group select,
.form-group textarea,
.filter-select {
  width: 100%;
  min-height: 2.5rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--color-text);
  font-size: 0.9rem;
  outline: none;
  padding: 0.62rem 0.75rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.form-group textarea { min-height: 7rem; resize: vertical; }
.form-group input::placeholder, .form-group textarea::placeholder { color: #98a2b3; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus, .filter-select:focus { border-color: #84bfff; box-shadow: 0 0 0 3px rgba(0, 87, 184, 0.14); }
.form-group input:disabled, .form-group select:disabled, .form-group textarea:disabled { background: var(--color-surface-subtle); color: var(--color-text-muted); }
.form-error, .field-help { margin-top: 0.35rem; font-size: 0.78rem; line-height: 1.35; }
.form-error { color: var(--color-danger); }
.field-help { color: var(--color-text-muted); }

.textarea-wrap { position: relative; width: 100%; }
.textarea-wrap textarea { display: block; width: 100%; min-height: 440px; padding-bottom: 2.4rem; font-size: 0.92rem; line-height: 1.65; }
.char-count {
  position: absolute;
  right: 0.8rem;
  bottom: 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text-muted);
  font-size: 0.74rem;
  font-weight: 700;
  padding: 0.18rem 0.5rem;
}

.form-divider { border: 0; border-top: 1px solid var(--color-border); margin: 1rem 0; }

.actions-row { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 1rem; }
.model-picker-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: 0.45rem; color: var(--color-text-muted); font-size: 0.76rem; }
.model-refresh { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0; border: 0; background: transparent; color: var(--color-primary); font: inherit; cursor: pointer; }
.model-refresh:hover:not(:disabled) { text-decoration: underline; }
.model-refresh:disabled { cursor: not-allowed; opacity: 0.55; }
.spinner-inline { display: inline-block; width: 0.8rem; height: 0.8rem; margin-right: 0.2rem; vertical-align: -0.1rem; }
.actions-row-spaced { margin-top: 1rem; }
.actions-row-section { margin-bottom: 1rem; }

.btn {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.62rem 0.95rem;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, transform 0.16s ease;
  white-space: nowrap;
}

.btn span { display: inline-flex; align-items: center; gap: 0.45rem; }
.btn:disabled { cursor: not-allowed; opacity: 0.58; }
.btn-primary { border-color: var(--color-primary); background: linear-gradient(180deg, #0668d4, var(--color-primary)); color: #fff; box-shadow: 0 7px 18px rgba(0, 87, 184, 0.22); }
.btn-primary:hover:not(:disabled) { background: linear-gradient(180deg, #075fbe, var(--color-primary-700)); box-shadow: 0 10px 24px rgba(0, 87, 184, 0.26); transform: translateY(-1px); }
.btn-secondary { border-color: var(--color-border); background: #fff; color: var(--color-text-soft); }
.btn-secondary:hover:not(:disabled) { border-color: var(--color-border-strong); background: var(--color-surface-subtle); color: var(--color-text); }
.btn-danger { border-color: #dc2626; background: #dc2626; color: #fff; }
.btn-danger:hover:not(:disabled) { background: #b91c1c; }
.btn-sm { min-height: 2rem; padding: 0.42rem 0.62rem; font-size: 0.8rem; }
.btn-icon { width: 2.25rem; padding-inline: 0; }
.btn-sm.btn-icon { width: 2rem; }

.spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.38);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.saved-at { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: 0.65rem; color: #067647; font-size: 0.82rem; font-weight: 700; }
.result-card { margin-top: 1.2rem; border: 1px solid #b8d7ff; border-radius: var(--radius-md); background: linear-gradient(180deg, var(--color-primary-50), #fff); padding: 1rem; }
.result-card-spaced { margin-top: 1rem; }
.result-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.7rem; }
.result-header h3 { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--color-primary-700); font-size: 0.92rem; font-weight: 800; }

.action-tag,
.tool-type-badge,
.tool-status-badge,
.console-tag {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 0.18rem 0.52rem;
  white-space: nowrap;
}

.action-tag { background: var(--color-primary-100); color: var(--color-primary-700); }
.result-card pre {
  overflow: auto;
  max-height: 420px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--color-text-soft);
  font-family: "Cascadia Mono", "Fira Code", Consolas, monospace;
  font-size: 0.84rem;
  line-height: 1.6;
  padding: 0.9rem;
  white-space: pre-wrap;
  word-break: break-word;
}

.toast-container {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 300;
  display: grid;
  gap: 0.5rem;
  width: min(360px, calc(100vw - 2rem));
}
.toast { border: 1px solid transparent; border-radius: var(--radius-md); box-shadow: var(--shadow-lg); color: #fff; font-size: 0.88rem; font-weight: 750; padding: 0.85rem 1rem; animation: slideIn 0.25s ease-out; }
.toast.success { background: #067647; }
.toast.error { background: #b42318; }
.toast.info { background: var(--color-primary); }
@keyframes slideIn { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }
.toast-enter-active, .toast-leave-active { transition: all 0.25s ease; }
.toast-enter-from, .toast-leave-to { opacity: 0; transform: translateX(16px); }

.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.56);
  padding: 1rem;
  backdrop-filter: blur(7px);
}
.modal-card {
  display: flex;
  width: min(100%, 420px);
  max-height: min(90vh, 920px);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-lg);
  animation: modalIn 0.2s ease-out;
}
.modal-card-md { width: min(100%, 560px); }
.modal-card-lg { width: min(100%, 720px); }
@keyframes modalIn { from { opacity: 0; transform: translateY(10px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

.modal-header {
  display: flex;
  align-items: center;
  gap: 0.95rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(135deg, rgba(215, 25, 32, 0.16), transparent 42%),
    linear-gradient(135deg, var(--color-primary), var(--color-primary-700));
  color: #fff;
  padding: 1.1rem 1.2rem;
}
.modal-header .brand-icon { background: rgba(255, 255, 255, 0.16); box-shadow: none; }
.modal-title { color: #fff; font-size: 1rem; font-weight: 850; }
.modal-subtitle { margin-top: 0.12rem; color: rgba(255, 255, 255, 0.78); font-size: 0.8rem; font-weight: 600; }
.modal-body { flex: 1; overflow-y: auto; padding: 1.25rem; }
.modal-heading { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--color-text); font-size: 1rem; font-weight: 850; margin-bottom: 0.35rem; }
.modal-desc { color: var(--color-text-muted); font-size: 0.86rem; margin-bottom: 1rem; }
.login-error { display: flex; align-items: flex-start; gap: 0.45rem; border: 1px solid #fecaca; border-radius: var(--radius-sm); background: var(--color-danger-50); color: #b42318; font-size: 0.84rem; font-weight: 650; margin-bottom: 1rem; padding: 0.7rem 0.75rem; }
.btn-block { width: 100%; }

.console-filter-row { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(150px, 180px) minmax(180px, 240px) auto; gap: 0.6rem; align-items: end; }
.console-date-filter label { margin-bottom: 0.25rem; font-size: 0.72rem; }
.console-action-buttons { display: flex; gap: 0.55rem; }
.console-auto-refresh-btn.paused { border-color: #a7d7c0; background: var(--color-success-50); color: #067647; }
.console-auto-refresh-btn.paused:hover:not(:disabled) { border-color: #75c59f; background: #dcfae6; color: #05603a; }
.filter-chip-row { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; margin-top: 0.65rem; }
.filter-chip, .filter-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  min-height: 2rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: #fff;
  color: var(--color-text-muted);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 780;
  padding: 0.36rem 0.7rem;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  user-select: none;
}
.filter-chip input { display: none; }
.filter-chip:hover { border-color: #b8d7ff; color: var(--color-primary-700); }
.filter-chip.active { border-color: #a4cdfd; background: var(--color-primary-50); color: var(--color-primary-700); }
.filter-chip.checkbox.active { border-color: #a7d7c0; background: var(--color-success-50); color: #067647; }
.filter-badge { border-color: #a4cdfd; background: #fff; color: var(--color-primary-700); }
.filter-badge-close { color: currentColor; font-size: 1rem; line-height: 1; opacity: 0.65; }

.console-area {
  overflow: auto;
  max-height: 620px;
  margin-top: 1rem;
  border: 1px solid #26364c;
  border-radius: var(--radius-lg);
  background: #101828;
  color: #e4e7ec;
  font-family: "Cascadia Mono", "Fira Code", Consolas, monospace;
  font-size: 0.78rem;
  padding: 0.75rem;
}
.console-empty { display: flex; min-height: 5rem; align-items: center; justify-content: center; border: 1px dashed var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: 0.88rem; font-weight: 650; padding: 1.2rem; text-align: center; }
.console-area .console-empty { border-color: #344054; background: rgba(255, 255, 255, 0.03); color: #98a2b3; }
.console-log-item { border-bottom: 1px solid #26364c; padding: 0.6rem 0.35rem; }
.console-log-item:last-child { border-bottom: 0; }
.console-log-header { display: flex; align-items: center; gap: 0.55rem; min-width: 0; }
.console-log-time { flex: 0 0 auto; color: #98a2b3; font-size: 0.73rem; white-space: nowrap; }
.console-log-level { flex: 0 0 auto; border-radius: 999px; font-size: 0.68rem; font-weight: 850; padding: 0.12rem 0.45rem; }
.level-30 .console-log-level { background: rgba(16, 185, 129, 0.18); color: #6ee7b7; }
.level-40 .console-log-level { background: rgba(251, 191, 36, 0.18); color: #fcd34d; }
.level-50 .console-log-level { background: rgba(248, 113, 113, 0.18); color: #fca5a5; }
.console-log-msg { min-width: 0; color: #f2f4f7; font-weight: 700; overflow-wrap: anywhere; }
.console-copy-btn { display: inline-flex; width: 1.8rem; height: 1.8rem; flex: 0 0 auto; align-items: center; justify-content: center; margin-left: auto; border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: #98a2b3; cursor: pointer; }
.console-copy-btn:hover { border-color: #344054; background: rgba(255, 255, 255, 0.06); color: #fff; }
.console-log-meta, .tool-meta { display: flex; flex-wrap: wrap; gap: 0.35rem; min-width: 0; }
.console-log-meta { margin-top: 0.38rem; }
.console-tag { overflow: hidden; background: #26364c; color: #d0d5dd; max-width: 100%; text-overflow: ellipsis; }
.tool-meta .console-tag, .credential-item .console-tag { background: var(--color-surface-subtle); color: var(--color-text-muted); }
.console-current-message { margin-top: 0.55rem; border: 1px solid rgba(96, 165, 250, 0.42); border-radius: var(--radius-sm); background: rgba(37, 99, 235, 0.1); padding: 0.65rem; }
.console-current-message-label { display: block; margin-bottom: 0.38rem; color: #93c5fd; font-size: 0.7rem; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase; }
.console-current-message pre { margin: 0; color: #eff6ff; font-family: inherit; font-size: 0.86rem; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }
.console-ai-response { margin-top: 0.55rem; border: 1px solid rgba(52, 211, 153, 0.62); border-left-width: 4px; border-radius: var(--radius-sm); background: rgba(6, 78, 59, 0.32); padding: 0.7rem 0.75rem; box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.08); }
.console-ai-response-label { display: block; margin-bottom: 0.38rem; color: #6ee7b7; font-size: 0.72rem; font-weight: 900; letter-spacing: 0.05em; text-transform: uppercase; }
.console-ai-response pre { margin: 0; color: #ecfdf5; font-family: inherit; font-size: 0.88rem; font-weight: 650; line-height: 1.55; white-space: pre-wrap; word-break: break-word; }
.console-log-detail { overflow: auto; max-height: 220px; margin-top: 0.45rem; border: 1px solid #26364c; border-radius: var(--radius-sm); background: #0b1220; color: #b8c0cc; font-size: 0.74rem; line-height: 1.55; padding: 0.65rem; white-space: pre-wrap; word-break: break-word; }

.settings-group { border-bottom: 1px solid var(--color-border); margin-bottom: 1rem; padding-bottom: 0.2rem; }
.settings-group:last-child { border-bottom: 0; }
.settings-group-title { color: var(--color-primary-700); font-size: 0.9rem; margin-bottom: 0.75rem; }

.toggle-label, .param-builder-toggle { display: inline-flex !important; align-items: center; gap: 0.65rem; cursor: pointer; margin-bottom: 0 !important; user-select: none; }
.toggle-label input, .param-builder-toggle input { display: none; }
.toggle-slider { position: relative; width: 42px; height: 24px; flex: 0 0 auto; border-radius: 999px; background: #cdd5df; transition: background 0.18s ease; }
.toggle-slider::after { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(16, 24, 40, 0.25); content: ""; transition: transform 0.18s ease; }
.toggle-label input:checked + .toggle-slider, .param-builder-toggle input:checked + .toggle-slider { background: var(--color-primary); }
.toggle-label input:checked + .toggle-slider::after, .param-builder-toggle input:checked + .toggle-slider::after { transform: translateX(18px); }
.toggle-label input:disabled + .toggle-slider, .param-builder-toggle input:disabled + .toggle-slider { opacity: 0.55; }
.toggle-text { color: var(--color-text-soft); font-size: 0.84rem; font-weight: 750; }

.credential-panel, .advanced-section, .param-builder, .holiday-card { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-subtle); }
.credential-panel { margin-bottom: 1rem; padding: 1rem; }
.credential-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 0.9rem; }
.credential-panel-header h3 { color: var(--color-text); font-size: 0.95rem; font-weight: 850; }
.credential-panel-header p { color: var(--color-text-muted); font-size: 0.82rem; margin-top: 0.1rem; }
.credential-list, .tools-list, .param-builder-list { display: grid; gap: 0.65rem; }
.credential-list { margin-top: 0.85rem; }
.credential-item, .tool-card, .param-builder-item { min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; }
.credential-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem; }
.credential-item > div:first-child { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.credential-item strong { color: var(--color-text); font-size: 0.9rem; font-weight: 850; }
.tool-card { padding: 0.9rem; transition: border-color 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease; }
.tool-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-sm); }
.tool-card.disabled { background: #fbfcfe; opacity: 0.68; }
.tool-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.85rem; margin-bottom: 0.55rem; }
.tool-card-header > div:first-child { min-width: 0; }
.tool-name { color: var(--color-text); font-size: 0.94rem; font-weight: 850; margin-bottom: 0.35rem; overflow-wrap: anywhere; }
.tool-desc { color: var(--color-text-muted); font-size: 0.84rem; margin-bottom: 0.55rem; overflow-wrap: anywhere; }
.tool-type-badge { margin-right: 0.3rem; background: var(--color-primary-50); color: var(--color-primary-700); }
.tool-type-badge.type-transfer { background: #fff4e5; color: #b54708; }
.tool-type-badge.type-internal { background: #f4f3ff; color: #5925dc; }
.tool-type-badge.type-mcp { background: #eef4ff; color: #3538cd; }
.tool-type-badge.type-pinecone { background: var(--color-success-50); color: #067647; }
.tool-status-badge { background: var(--color-success-50); color: #067647; }
.tool-status-badge.status-off { background: var(--color-danger-50); color: #b42318; }
.tool-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 0.35rem; }
.usage-header { align-items: center; flex-direction: row; justify-content: space-between; }
.usage-header .btn { flex: 0 0 auto; }
.usage-date-filter { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 0.65rem; margin-bottom: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-subtle); padding: 0.75rem; }
.usage-date-field { display: grid; min-width: 170px; gap: 0.3rem; }
.usage-date-field label { color: var(--color-text-soft); font-size: 0.75rem; font-weight: 750; }
.usage-date-field input { min-height: 2rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: #fff; color: var(--color-text); font-size: 0.82rem; padding: 0.4rem 0.55rem; }
.usage-date-field input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(30, 111, 214, 0.12); outline: 0; }
.usage-metrics { display: grid; grid-template-columns: repeat(6, minmax(150px, 1fr)); gap: 0.75rem; }
.usage-metric { display: flex; min-height: 112px; flex-direction: column; justify-content: center; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-subtle); padding: 0.9rem; }
.usage-metric-label { color: var(--color-text-muted); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.02em; text-transform: uppercase; }
.usage-metric strong { margin-top: 0.35rem; color: var(--color-text); font-size: 1.35rem; line-height: 1.2; }
.usage-metric small { margin-top: 0.25rem; color: var(--color-text-muted); font-size: 0.72rem; }
.usage-metric-cache { border-color: #bfdbfe; background: #eff6ff; }
.usage-metric-cache-write { border-color: #ddd6fe; background: #f5f3ff; }
.usage-metric-cost { border-color: #a7d7c0; background: var(--color-success-50); }
.usage-metric-cost strong { color: #067647; }
.usage-section { margin-top: 1.35rem; }
.usage-section-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 0.65rem; }
.usage-section-heading h3 { color: var(--color-text); font-size: 0.95rem; }
.usage-section-heading p { margin-top: 0.15rem; color: var(--color-text-muted); font-size: 0.78rem; }
.usage-table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.usage-conversations-table-wrap { max-height: 430px; overflow: auto; }
.usage-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; white-space: nowrap; }
.usage-table th, .usage-table td { border-bottom: 1px solid var(--color-border); padding: 0.68rem 0.75rem; text-align: right; }
.usage-table th { background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.025em; text-transform: uppercase; }
.usage-conversations-table-wrap .usage-table th { position: sticky; top: 0; z-index: 1; }
.usage-table th:first-child, .usage-table td:first-child, .usage-table th:nth-child(2), .usage-table td:nth-child(2) { text-align: left; }
.usage-table tbody tr:last-child td { border-bottom: 0; }
.usage-table tbody tr:hover { background: #f8fbff; }
.usage-conversation-identity { display: flex; align-items: center; gap: 0.65rem; }
.usage-session-id { display: inline-block; max-width: 260px; overflow: hidden; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; }
.usage-client-details { display: inline-flex; align-items: baseline; gap: 0.25rem; color: var(--color-text-muted); }
.usage-client-details strong { color: var(--color-text); }
.usage-warning { display: inline-flex; margin-left: 0.3rem; border-radius: 999px; background: var(--color-warning-50); color: var(--color-warning); font-size: 0.65rem; font-weight: 800; padding: 0.12rem 0.38rem; text-transform: uppercase; }
.usage-footnote { margin-top: 1rem; border-left: 3px solid #93c5fd; color: var(--color-text-muted); font-size: 0.74rem; line-height: 1.5; padding-left: 0.7rem; }
.checkbox-list { display: grid; max-height: 190px; overflow: auto; gap: 0.4rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: #fff; padding: 0.65rem; }
.checkbox-list label { display: flex; align-items: center; gap: 0.5rem; color: var(--color-text-soft); font-size: 0.84rem; font-weight: 650; margin: 0; }
.advanced-section { margin-bottom: 1rem; padding: 0.75rem; }
.advanced-body { margin-top: 0.85rem; }
.connection-result { border-radius: var(--radius-md); font-size: 0.84rem; font-weight: 700; margin-top: 0.75rem; padding: 0.75rem; }
.connection-result.success { border: 1px solid #b7e4cf; background: var(--color-success-50); color: #067647; }
.connection-result.error { border: 1px solid #fecaca; background: var(--color-danger-50); color: #b42318; }
.nested-settings { margin-left: 1.1rem; border-left: 2px solid var(--color-primary-100); padding-left: 0.9rem; }
.weekday-list { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.25rem; }
.weekday-option { display: inline-flex !important; align-items: center; gap: 0.35rem; border: 1px solid var(--color-border); border-radius: 999px; background: #fff; color: var(--color-text-soft); cursor: pointer; font-size: 0.8rem !important; font-weight: 750 !important; margin: 0 !important; padding: 0.32rem 0.55rem; }
.holiday-card { margin-bottom: 0.6rem; padding: 0.8rem; }

.template-input-wrap { position: relative; }
.template-input-wrap input, .template-input-wrap textarea { width: 100%; }
.template-autocomplete { position: absolute; top: calc(100% + 4px); right: 0; left: 0; z-index: 70; overflow-y: auto; max-height: 240px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-lg); font-size: 0.84rem; }
.template-autocomplete-item { display: grid; gap: 0.12rem; border-bottom: 1px solid var(--color-border); cursor: pointer; padding: 0.62rem 0.75rem; }
.template-autocomplete-item:last-child { border-bottom: 0; }
.template-autocomplete-item:hover, .template-autocomplete-item.active { background: var(--color-primary-50); }
.template-autocomplete-value { color: var(--color-primary-700); font-family: "Cascadia Mono", "Fira Code", Consolas, monospace; font-weight: 850; }
.template-autocomplete-desc { color: var(--color-text-muted); font-size: 0.75rem; }

.param-builder { margin-top: 1rem; padding: 1rem; }
.param-builder-header h4 { color: var(--color-text); font-size: 0.95rem; font-weight: 850; margin-bottom: 0.2rem; }
.param-builder-header p { color: var(--color-text-muted); font-size: 0.82rem; margin-bottom: 0.85rem; }
.param-builder-empty { border: 1px dashed var(--color-border-strong); border-radius: var(--radius-sm); background: #fff; color: var(--color-text-muted); font-size: 0.84rem; font-weight: 650; padding: 0.75rem; }
.param-builder-empty-spaced { margin-bottom: 1rem; }
.param-builder-empty code { border-radius: 4px; background: #eef2f6; color: var(--color-text-soft); font-family: "Cascadia Mono", "Fira Code", Consolas, monospace; font-size: 0.8rem; padding: 0.08rem 0.28rem; }
.param-builder-item { display: grid; grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr) auto; gap: 0.75rem; align-items: start; padding: 0.75rem; }
.param-builder-key { color: var(--color-primary-700); font-family: "Cascadia Mono", "Fira Code", Consolas, monospace; font-size: 0.86rem; font-weight: 850; overflow-wrap: anywhere; padding-top: 0.55rem; }
.param-builder-fields { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(100px, 0.35fr) minmax(140px, 0.7fr) auto; gap: 0.5rem; align-items: center; }
.param-builder-fields input, .param-builder-fields select { width: 100%; min-height: 2.25rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: #fff; color: var(--color-text); font-size: 0.84rem; padding: 0.5rem 0.62rem; }
.param-builder-toggle { white-space: nowrap; }

@media (max-width: 1120px) {
  .content { padding: 1.25rem; }
  .agent-workspace { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); }
  .console-filter-row { grid-template-columns: 1fr; }
  .console-filter-row .btn { width: 100%; }
  .usage-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .param-builder-item, .param-builder-fields { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
  .agent-workspace { grid-template-columns: 1fr; }
  .agent-config-card { position: static; }
}

@media (max-width: 860px) {
  .topbar { position: static; align-items: flex-start; flex-direction: column; padding: 1rem; }
  .status-group { justify-content: flex-start; }
  .content { padding: 1rem; }
  .form-grid, .form-grid-2 { grid-template-columns: 1fr; }
  .card-body, .modal-body { padding: 1rem; }
  .tool-card-header, .credential-item, .result-header { align-items: flex-start; flex-direction: column; }
  .usage-header { align-items: flex-start; flex-direction: column; }
  .tool-actions { justify-content: flex-start; }
  .nested-settings { margin-left: 0; }
}

@media (max-width: 520px) {
  .brand-icon { width: 36px; height: 36px; }
  .brand-icon-lg { width: 44px; height: 44px; }
  .topbar h1 { font-size: 1rem; }
  .status-badge { min-height: 1.8rem; font-size: 0.72rem; padding: 0.28rem 0.55rem; }
  .tabs-nav { margin-inline: -0.15rem; }
  .agent-card-header, .prompt-editor-toolbar, .prompt-editor-footer { align-items: flex-start; flex-direction: column; }
  .prompt-editor-toolbar, .prompt-editor-footer { gap: 0.3rem; }
  .prompt-actions { flex-direction: column; }
  .agent-parameter-grid { grid-template-columns: 1fr; }
  .tab-btn { min-height: 2.25rem; padding: 0.5rem 0.7rem; }
  .btn { width: 100%; }
  .console-action-buttons { flex-direction: column; }
  .btn-icon, .btn-sm.btn-icon { width: 2.25rem; }
  .tool-actions .btn, .credential-item .btn, .param-builder-item .btn { width: auto; }
  .textarea-wrap textarea { min-height: 320px; }
  .usage-date-filter { align-items: stretch; flex-direction: column; }
  .usage-date-field { width: 100%; }
  .usage-metrics { grid-template-columns: 1fr; }
  .modal-overlay { align-items: flex-end; padding: 0.7rem; }
  .modal-card, .modal-card-md, .modal-card-lg { width: 100%; max-height: 92vh; }
  .toast-container { top: auto; right: 0.75rem; bottom: 0.75rem; left: 0.75rem; width: auto; }
}
