/* Reusable UI kit for AdminGate pages. Keep generic and flow-agnostic. */

[data-llm-content-section] { min-width: 0; }
.llm-content-disabled, [data-llm-content-section]:has(.llm-content-disabled-note) {
  color: var(--text-muted, #64748b);
  background: var(--surface-section, #f1f5f9);
  border-radius: .5rem;
  padding: .85rem;
}
[data-llm-content-section]:has(.llm-content-disabled-note) h3,
.llm-content-disabled h3 { color: inherit; }
[data-llm-content-section]:has(.llm-content-disabled-note) [data-llm-content-load] { display: none; }
.llm-content-disabled-note { margin: 0; }
[data-llm-content-section] [hidden] { display: none !important; }
[data-llm-content-result] { display: grid; gap: .75rem; min-width: 0; }
[data-llm-content-result]:not(:empty) { margin-top: .75rem; }
[data-llm-content-result] p, [data-llm-content-result] h4 { margin: 0; }
.llm-content-body {
  max-height: 22rem; max-width: 100%; min-width: 0;
  margin: 0; padding: .85rem; overflow: auto;
  border: 1px solid var(--border); border-radius: var(--radius-md);
  background: var(--surface-section); color: var(--text);
  font-size: .8rem; line-height: 1.45;
  white-space: pre-wrap; overflow-wrap: anywhere;
}

.ui-choice-options { max-height: 15rem; overflow-y: auto; overscroll-behavior: contain; }
.ui-choice-row { display: flex; align-items: center; gap: .65rem; padding: .65rem .55rem; border-radius: var(--radius-sm); cursor: pointer; }
.ui-choice-row:hover, .ui-choice-row:focus-within { background: var(--ui-soft-fill-strong); }
.ui-choice-row.is-selected { background: color-mix(in srgb, var(--primary) 8%, transparent); }
.ui-choice-row input { flex: 0 0 auto; margin: 0; }
.ui-choice-row span { min-width: 0; overflow-wrap: anywhere; }
.ui-choice-row[hidden], select[data-ui-choice-picker][hidden] { display: none !important; }

.ui-checkbox {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.3rem;
  height: 1.3rem;
  margin: 0;
  border: 1px solid rgba(148, 163, 184, 0.48);
  border-radius: 6px;
  background-color: color-mix(in srgb, var(--surface) 88%, var(--surface-elevated) 12%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, background-size 0.18s ease, box-shadow 0.18s ease;
}

.ui-checkbox:checked {
  border-color: color-mix(in srgb, var(--primary) 72%, #ffffff 28%);
  background-color: var(--primary);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.25 8.1 6.35 11 12.8 4.7' fill='none' stroke='%23ffffff' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 0.9rem 0.9rem;
  box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.12);
}

.ui-checkbox:focus-visible {
  outline: 2px solid rgba(45, 212, 191, 0.34);
  outline-offset: 2px;
}

.ui-checkbox:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.ui-checkbox-field {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  width: fit-content;
  min-height: 2rem;
  color: var(--text);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
}

.ui-checkbox-field:has(.ui-checkbox:disabled) {
  cursor: not-allowed;
  opacity: 0.68;
}

.ui-combobox-native {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.ui-combobox {
  position: relative;
  min-width: 0;
  max-width: 100%;
}

.ui-combobox-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
  min-height: 2.65rem;
  padding: 0.62rem 0.78rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-section);
  color: var(--text);
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 color-mix(in srgb, white 26%, transparent);
  transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.ui-combobox--compact .ui-combobox-trigger {
  height: 1.75rem;
  min-height: 1.75rem;
  padding-block: 0.125rem;
}

.ui-combobox-trigger:hover {
  border-color: color-mix(in srgb, var(--primary) 44%, var(--border));
  background: color-mix(in srgb, var(--primary) 3%, var(--surface-section));
}

html[data-theme="light"] .ui-combobox-trigger,
html[data-theme="light"] .ui-combobox-search,
html[data-theme="light"] .ui-combobox-popover {
  background: var(--surface-solid);
}

html[data-theme="light"] .ui-combobox-trigger:hover {
  background: color-mix(in srgb, var(--primary) 3%, var(--surface-solid));
}

.ui-combobox-trigger:focus-visible,
.ui-combobox[data-open="true"] .ui-combobox-trigger {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
}

.ui-combobox-trigger[aria-invalid="true"] {
  border-color: var(--danger);
}

.ui-combobox-trigger:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.ui-combobox-value {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ui-combobox-value svg,
.ui-combobox-option-copy svg {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  color: var(--primary);
}

.ui-combobox-value.is-placeholder { color: var(--text-muted); }

.ui-combobox-chevron {
  flex: 0 0 auto;
  width: 0.5rem;
  height: 0.5rem;
  margin: -0.2rem 0.16rem 0 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  color: var(--text-muted);
  transform: rotate(45deg);
  transition: transform 140ms ease;
}

.ui-combobox[data-open="true"] .ui-combobox-chevron {
  margin-top: 0.2rem;
  transform: rotate(225deg);
}

.ui-multiselect-trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.65rem;
  padding: 0.35rem 0.45rem 0.35rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-section);
  box-shadow: inset 0 1px 0 color-mix(in srgb, white 26%, transparent);
  cursor: text;
  transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

html[data-theme="light"] .ui-multiselect-trigger { background: var(--surface-solid); }

.ui-multiselect-trigger[data-invalid="true"] {
  border-color: var(--danger);
}

.ui-combobox--multiple[data-open="true"] .ui-multiselect-trigger,
.ui-multiselect-trigger:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
}

.ui-multiselect-value {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.ui-multiselect-placeholder {
  padding: 0.18rem 0.15rem;
  color: var(--text-muted);
  font-size: 0.875rem;
}

.ui-multiselect-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  min-height: 1.75rem;
  padding: 0.2rem 0.45rem 0.2rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 9%, var(--surface));
  color: var(--text);
  font: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}

.ui-multiselect-chip > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ui-multiselect-chip:hover { background: color-mix(in srgb, var(--primary) 15%, var(--surface)); }
.ui-multiselect-chip:focus-visible { outline: 2px solid color-mix(in srgb, var(--primary) 38%, transparent); outline-offset: 1px; }
.ui-multiselect-chip-remove { color: var(--text-muted); font-size: 1rem; line-height: 1; }

.ui-multiselect-toggle {
  display: grid;
  place-items: center;
  align-self: stretch;
  flex: 0 0 2rem;
  width: 2rem;
  min-height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
}

.ui-multiselect-toggle:focus-visible { outline: none; }
.ui-multiselect-toggle:disabled { cursor: not-allowed; opacity: 0.58; }
.ui-combobox--multiple[data-open="true"] .ui-combobox-chevron { margin-top: 0.2rem; transform: rotate(225deg); }

.ui-combobox-popover {
  position: fixed;
  z-index: 5200;
  display: grid;
  gap: 0.4rem;
  overflow: hidden;
  padding: 0.42rem;
  border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  color: var(--text);
  box-shadow: 0 18px 45px rgba(2, 6, 23, 0.2), 0 4px 12px rgba(2, 6, 23, 0.12);
  backdrop-filter: blur(16px);
}

.ui-combobox-popover[hidden] { display: none !important; }

.ui-combobox-search {
  width: 100%;
  min-height: 2.35rem;
  padding: 0.52rem 0.65rem;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius-sm) - 2px);
  background: var(--surface-section);
  color: var(--text);
  font: inherit;
  font-size: 0.82rem;
}

.ui-combobox-search:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 16%, transparent);
}

.ui-combobox-options {
  display: grid;
  gap: 0.16rem;
  max-height: min(17rem, calc(100vh - 5rem));
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ui-combobox-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 2.35rem;
  padding: 0.52rem 0.62rem;
  border: 0;
  border-radius: calc(var(--radius-sm) - 2px);
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 0.84rem;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.ui-combobox-option:hover,
.ui-combobox-option:focus-visible {
  outline: none;
  background: color-mix(in srgb, var(--primary) 9%, var(--surface-section));
}

.ui-combobox-option.is-selected {
  background: color-mix(in srgb, var(--primary) 13%, var(--surface-section));
  color: color-mix(in srgb, var(--primary) 78%, var(--text));
  font-weight: 650;
}

.ui-combobox-option:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.ui-combobox-option-copy {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  overflow-wrap: anywhere;
}

.ui-combobox-option-check {
  visibility: hidden;
  color: var(--primary);
  font-weight: 800;
}

.ui-combobox-option.is-selected .ui-combobox-option-check { visibility: visible; }
.ui-combobox-option[hidden], .ui-combobox-search[hidden] { display: none !important; }
.ui-combobox-empty { margin: 0; padding: 0.7rem; color: var(--text-muted); font-size: 0.8rem; }

/* Quiet labels, visible keyboard focus and search shared across workspaces. */
.form-label,
.ui-toolbar-label {
  text-transform: none;
  letter-spacing: normal;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--text);
  opacity: 1;
}

.table-container:focus-visible,
.ui-command-block-code:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

.ui-list-search { display: grid; gap: .5rem; margin-block: 1rem; }
.ui-list-search > label { font-size: .8125rem; font-weight: 600; }
.ui-list-search-controls { display: flex; gap: .5rem; max-width: 36rem; }
.ui-list-search-controls input { flex: 1; min-width: 0; }
.ui-list-search-controls .btn { flex-shrink: 0; }
[data-ui-search-count] { font-size: .8125rem; color: var(--text-muted); }
.ui-search-empty { padding: 1rem; border: 1px dashed var(--border); border-radius: var(--radius-sm); color: var(--text-muted); }
[data-ui-search-row][hidden], .ui-list-search[hidden], .ui-search-empty[hidden] { display: none !important; }

@media (max-width: 640px) {
  .ui-list-search-controls input { font-size: 1rem; }
  .ui-toolbar-label { text-transform: none; letter-spacing: normal; }
}

:root {
  --ui-space-1: 0.35rem;
  --ui-space-2: 0.5rem;
  --ui-space-3: 0.75rem;
  --ui-space-4: 1rem;
  --ui-space-5: 1.25rem;
  --ui-space-6: 1.5rem;
  --ui-space-8: 2rem;
  --ui-panel-padding: clamp(1rem, 1.4vw, 1.5rem);
  --ui-control-width-sm: 9rem;
  --ui-control-width-md: 11rem;
  --ui-control-width-lg: 15rem;
  --ui-content-max: 72ch;
  --ui-soft-border: rgba(255, 255, 255, 0.08);
  --ui-soft-fill: rgba(255, 255, 255, 0.04);
  --ui-soft-fill-strong: rgba(255, 255, 255, 0.06);
  --ui-llm-glow: rgba(45, 212, 191, 0.16);
  --ui-agent-glow: rgba(16, 185, 129, 0.14);
}

html[data-theme="light"] {
  --ui-soft-border: rgba(17, 24, 39, 0.08);
  --ui-soft-fill: rgba(17, 24, 39, 0.03);
  --ui-soft-fill-strong: rgba(17, 24, 39, 0.05);
  --ui-llm-glow: rgba(45, 212, 191, 0.08);
  --ui-agent-glow: rgba(16, 185, 129, 0.08);
}

.ui-stack-xs,
.ui-stack-sm,
.ui-stack-md,
.ui-stack-lg,
.ui-stack-xl {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ui-stack-xs {
  gap: var(--ui-space-2);
}

.ui-stack-sm {
  gap: var(--ui-space-3);
}

.ui-stack-md {
  gap: var(--ui-space-4);
}

.ui-stack-lg {
  gap: var(--ui-space-6);
}

.ui-stack-xl {
  gap: var(--ui-space-8);
}

.ui-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ui-space-4);
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-toolbar-main,
.ui-toolbar-actions {
  display: flex;
  align-items: center;
  gap: var(--ui-space-3);
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-toolbar-actions {
  justify-content: flex-end;
}

.ui-page-toolbar {
  margin: calc(-1 * var(--ui-space-2)) 0 var(--ui-space-5);
}

/* Optional page-level actions rendered by components/page_header.html. */
.page-header-main {
  flex: 1 1 24rem;
  min-width: 0;
}

.page-header-actions {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ui-space-3);
  min-width: 0;
  max-width: 100%;
}

.page-header-actions > form,
.page-header-actions .ui-page-action-form {
  display: inline-flex;
  margin: 0;
}

.page-header-actions .ui-action-group {
  width: auto;
}

.ui-page-action-group {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.page-header-actions .ui-page-primary-action {
  min-height: 44px;
  padding: 0.72rem 1.1rem;
  border-radius: var(--radius-md);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* Shared surface for page sections. It can wrap forms, details, or static content. */
.ui-section {
  display: grid;
  gap: var(--ui-space-4);
  min-width: 0;
  max-width: 100%;
  padding: 1rem 1.05rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.ui-section-content {
  min-width: 0;
  max-width: 100%;
}

.ui-section h3 {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--text);
  font-size: 1rem;
  font-weight: 700;
}

.ui-section-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ui-space-3);
  min-width: 0;
  margin-top: var(--ui-space-1);
  padding-top: var(--ui-space-4);
  border-top: 1px solid var(--border-light);
}

/* Shared h2 heading for content sections and table surfaces. */
.ui-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ui-space-4);
  min-width: 0;
}

.ui-section-header-main {
  min-width: 0;
}

.ui-section-title-row {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.ui-section-title {
  margin: 0;
  color: var(--text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.015em;
  overflow-wrap: anywhere;
}

.ui-section-description {
  max-width: 70ch;
  margin: 0.3rem 0 0;
  color: var(--text-muted);
  font-size: 0.84rem;
  line-height: 1.5;
}

/* Shared collapsible section with a heading and plain-text description. */
.ui-disclosure-section {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 82%, var(--primary) 18%);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.ui-disclosure-section > summary {
  display: grid;
  grid-template-columns: 0.75rem minmax(0, 1fr);
  align-items: center;
  gap: 0.25rem 0.65rem;
  min-width: 0;
  padding: 0.78rem 0.9rem;
  cursor: pointer;
  list-style: none;
}

.ui-disclosure-section > summary::-webkit-details-marker {
  display: none;
}

.ui-disclosure-section > summary::before {
  content: "";
  width: 0.44rem;
  height: 0.44rem;
  border-right: 2px solid var(--text-muted);
  border-bottom: 2px solid var(--text-muted);
  transform: rotate(-45deg);
  transition: transform 0.18s ease, border-color 0.18s ease;
}

.ui-disclosure-section > summary:hover::before {
  border-color: var(--primary);
}

.ui-disclosure-section[open] > summary::before {
  transform: rotate(45deg);
}

.ui-disclosure-title,
.ui-disclosure-section > summary > strong {
  min-width: 0;
  color: var(--text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.ui-disclosure-description {
  grid-column: 2;
  min-width: 0;
  max-width: 70ch;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.ui-disclosure-body {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.95rem;
  border-top: 1px solid var(--border);
}

/* Nested disclosures are flat subsections, never a framed card inside a card. */
.ui-disclosure-section .ui-disclosure-section {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.ui-disclosure-section .ui-disclosure-section > summary {
  padding-inline: 0;
}

.ui-disclosure-section .ui-disclosure-section > .ui-disclosure-body {
  padding: 0.85rem 0 0;
  border-top-color: var(--border-light);
}

.ui-section-header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ui-space-3);
}

.ui-table-with-filters > .ui-section-header,
.ui-data-table-shell > .ui-section-header {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--border-light);
  background: var(--surface);
}

.ui-context-actions {
  position: relative;
}

.ui-context-actions > summary {
  list-style: none;
}

.ui-context-actions > summary::-webkit-details-marker {
  display: none;
}

.ui-context-actions-menu {
  position: absolute;
  z-index: 1400;
  top: calc(100% + 0.5rem);
  right: 0;
  display: grid;
  gap: 0.45rem;
  width: min(30rem, calc(100vw - 2rem));
  padding: 0.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface-elevated);
  box-shadow: var(--shadow-lg);
}

.ui-context-action {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  text-align: left;
  text-decoration: none;
}

.ui-context-action:hover,
.ui-context-action:focus-visible {
  border-color: var(--border);
  background: var(--ui-soft-fill);
  outline: none;
}

.ui-context-action:focus-visible {
  box-shadow: 0 0 0 2px var(--primary-glow);
}

.ui-context-action:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.ui-context-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-md);
  background: var(--primary-dim);
  color: var(--primary);
}

.ui-context-action-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.ui-context-action-name {
  font-size: 0.92rem;
  line-height: 1.2;
}

.ui-context-action-description {
  color: var(--text-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ui-context-action-arrow {
  color: var(--text-muted);
}

.ui-page-action-overflow {
  position: relative;
  flex: 0 0 44px;
}

.ui-page-action-overflow > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1;
  list-style: none;
}

.ui-page-action-overflow > summary::-webkit-details-marker {
  display: none;
}

.ui-page-action-overflow > summary:hover,
.ui-page-action-overflow > summary:focus-visible,
.ui-page-action-overflow[open] > summary {
  background: var(--ui-soft-fill);
  color: var(--text);
  outline: none;
}

.ui-page-action-overflow > summary:focus-visible {
  box-shadow: 0 0 0 2px var(--primary-glow);
}

.ui-page-action-overflow-menu {
  position: absolute;
  z-index: 1300;
  top: calc(100% + 0.4rem);
  right: 0;
  display: grid;
  gap: 0.25rem;
  min-width: 13rem;
  padding: 0.4rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-elevated, var(--surface));
  box-shadow: var(--shadow-lg);
}

.ui-page-action-overflow-menu > .btn,
.ui-page-action-overflow-menu > form > .btn {
  justify-content: flex-start;
  width: 100%;
  min-height: 38px;
  padding: 0.55rem 0.65rem;
  border: 0;
  background: transparent;
  color: var(--text);
  box-shadow: none;
  text-align: left;
}

.ui-page-action-overflow-menu > form {
  display: block;
  width: 100%;
  margin: 0;
}

.ui-page-action-overflow-menu > .btn:hover,
.ui-page-action-overflow-menu > form > .btn:hover {
  background: var(--ui-soft-fill);
}

.ui-navigation-tabs {
  margin: 0 0 var(--ui-space-5);
}

.ui-navigation-tab {
  font-size: 0.875rem;
  font-weight: 650;
  line-height: 1;
}

/* Shared tab component. Use ui-tabs-content directly after ui-tabs when the
   selected tab should visually continue into a content surface. */
.ui-tabs-shell {
  min-width: 0;
}

.ui-tabs {
  display: flex;
  align-items: flex-end;
  gap: 0.15rem;
  min-width: 0;
  padding: 0 1rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  background: transparent;
  scrollbar-width: none;
}

.ui-tabs::-webkit-scrollbar {
  display: none;
}

.ui-tab {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  margin-bottom: -1px;
  padding: 0.55rem 0.85rem 0.65rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  background: transparent;
  color: var(--text-muted);
  font-family: inherit;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.ui-tab:hover,
.ui-tab:focus-visible {
  color: var(--text);
  background: color-mix(in srgb, var(--surface-section) 76%, transparent);
}

.ui-tab:focus-visible {
  outline: 2px solid var(--primary-glow);
  outline-offset: -2px;
}

.ui-tab.is-active,
.ui-tab.active,
.ui-tab[aria-selected="true"],
.ui-tab[aria-current="page"] {
  z-index: 1;
  border-color: var(--border);
  border-bottom-color: var(--surface);
  background: var(--surface);
  color: var(--primary);
  box-shadow: inset 0 2px 0 var(--primary);
}

.ui-tabs-content {
  min-width: 0;
  padding: var(--ui-space-5);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.ui-tabs-content--embedded {
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
}

.ui-tab-panel[hidden] {
  display: none !important;
}

.ui-tabs-shell--flat-cards > .ui-tabs-content > .ui-tab-panel > .card {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ui-tabs-shell--flat-cards > .ui-tabs-content > .ui-tab-panel > .card:hover {
  border-color: transparent;
}

.ui-tabs--standalone {
  width: fit-content;
  max-width: 100%;
  padding: 0.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-section);
}

.ui-tabs--standalone .ui-tab {
  min-height: 2.5rem;
  margin-bottom: 0;
  border-radius: calc(var(--radius-md) - 2px);
  box-shadow: none;
}

/* Tabs that visually continue into the content surface below them. Pages that
   lay tabs and content out as separate grid items can provide their grid gap
   through --ui-tabs-attached-gap. */
.ui-tabs--attached {
  position: relative;
  z-index: 2;
  width: fit-content;
  max-width: 100%;
  margin-bottom: calc(-1 * var(--ui-tabs-attached-gap, 0px));
  padding: 0 1rem;
  overflow-y: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ui-tabs--attached .ui-tab {
  min-height: 2.75rem;
  margin-bottom: -1px;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

@media (max-width: 768px) {
  .page-header-main {
    flex: 0 1 auto;
    width: 100%;
  }

  .ui-section-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .ui-section-header-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .page-header-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .page-header-actions > .btn,
  .page-header-actions > form,
  .page-header-actions > form > .btn {
    width: 100%;
  }

  .page-header-actions .ui-page-action-group {
    width: 100%;
  }

  .page-header-actions .ui-page-primary-action {
    flex: 1 1 auto;
  }

  .page-header-actions .ui-context-actions {
    flex: 1 1 auto;
  }

  .page-header-actions .ui-context-actions > summary {
    width: 100%;
  }

  .ui-context-actions-menu {
    right: auto;
    left: 0;
  }

  .ui-page-action-overflow-menu {
    right: 0;
  }
}

.ui-toolbar-field {
  display: inline-flex;
  flex-direction: column;
  gap: 0.28rem;
  min-width: 0;
}

.ui-toolbar-label {
  font-size: 0.8125rem;
  letter-spacing: normal;
  text-transform: none;
  color: var(--text);
}

.ui-period-selector {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  min-height: 2.45rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ui-period-selector-field {
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  width: auto;
}

.ui-period-selector-label {
  color: var(--text-muted);
  font-size: 0.72rem;
  line-height: 1;
  white-space: nowrap;
}

.ui-period-selector-select {
  width: auto;
  min-width: 6.35rem;
  border-radius: calc(var(--radius-md) - 3px);
  font-size: 0.78rem;
  font-weight: 700;
}

.ui-filter-card {
  padding: 0.8rem 0.95rem;
}

.ui-filter-card[data-ui-filter-panel] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.72rem;
}

.ui-filter-card-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  flex-wrap: wrap;
  min-width: 0;
}

.ui-filter-card-toggle {
  align-items: center;
  gap: 0.5rem;
  min-height: 1.5rem;
  max-width: 100%;
}

.ui-filter-card-toggle .aigate-collapse-toggle-icon {
  transform: rotate(45deg);
}

.ui-filter-card[data-collapsed="true"] .ui-filter-card-toggle .aigate-collapse-toggle-icon {
  transform: rotate(-45deg);
}

.ui-filter-card-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.ui-filter-card-title {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text-muted);
}

.ui-filter-active-count {
  margin-left: auto;
}

.ui-filter-label {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ui-filter-card-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-filter-card .aigate-collapse-toggle {
  padding: 0;
  font-size: inherit;
  letter-spacing: normal;
  opacity: 1;
}

.ui-filter-card .aigate-collapse-toggle:hover {
  background: transparent;
  opacity: 1;
}

.ui-filter-card-body {
  display: grid;
  min-width: 0;
  max-width: 100%;
  gap: 0.72rem;
}

.ui-filter-card-body-intro {
  margin: 0;
}

.ui-filter-card-body > * {
  min-width: 0;
  max-width: 100%;
}

.ui-filter-card[data-ui-filter-panel][data-collapsed="true"] {
  gap: 0.3rem;
  padding: 0.42rem 0.65rem;
}

.ui-filter-card[data-ui-filter-panel][data-collapsed="true"] .ui-filter-card-title,
.ui-filter-card[data-ui-filter-panel][data-collapsed="true"] .aigate-collapse-toggle {
  opacity: 1;
}

.ui-filter-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
}

.ui-filter-form .ui-field-wide {
  grid-column: span 2;
}

.ui-filter-actions {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-3);
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-filter-panel {
  margin-bottom: var(--ui-space-4);
  border-color: color-mix(in srgb, var(--primary) 20%, var(--border-light) 80%);
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--primary) 7%, var(--surface) 93%),
    color-mix(in srgb, var(--primary) 3%, var(--surface-section) 97%)
  );
}

.ui-filter-panel .ui-filter-card-title,
.ui-filter-panel .aigate-collapse-toggle-icon {
  color: color-mix(in srgb, var(--primary) 72%, var(--text) 28%);
}

.ui-table-with-filters {
  gap: 0;
  overflow: hidden;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.ui-filter-panel-embedded {
  align-content: center;
  margin: 0;
  padding: 0.8rem 1rem;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border-light) 76%);
  border-radius: 0;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--primary) 9%, var(--surface) 91%),
    color-mix(in srgb, var(--primary) 4%, var(--surface-section) 96%)
  );
  box-shadow: none;
}

.ui-filter-panel-embedded .ui-filter-card-title,
.ui-filter-panel-embedded .aigate-collapse-toggle-icon {
  color: color-mix(in srgb, var(--primary) 72%, var(--text) 28%);
}

.ui-filter-panel-embedded[data-ui-filter-panel][data-collapsed="true"] {
  min-height: 3rem;
  padding: 0.65rem 1rem;
}

.ui-filter-card.ui-filter-panel-joined {
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

.ui-table-with-filters-content,
.ui-table-with-filters-content > .table-container {
  min-width: 0;
}

.ui-table-with-filters-content > .table-container {
  border: 0;
  border-radius: 0;
}

.ui-table-with-filters-content .table {
  margin: 0;
}

.ui-filter-caption {
  margin: 0.2rem 0 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.ui-filter-active-count {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: 0.16rem 0.48rem;
  border: 1px solid color-mix(in srgb, var(--primary) 32%, var(--border) 68%);
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 10%, var(--surface) 90%);
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.ui-filter-panel .ui-filter-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.ui-filter-action-buttons {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-3);
  flex-wrap: wrap;
}

.ui-field-compact {
  width: min(100%, var(--ui-control-width-md));
  min-width: 0;
}

.ui-field-wide {
  width: min(100%, var(--ui-control-width-lg));
  min-width: 0;
}

.ui-field-period {
  width: min(100%, 8.5rem);
  min-width: 0;
  padding: 0.5rem 0.75rem;
}

.ui-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-height: 2.75rem;
  padding-right: 2.6rem;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--text-dim) 50%),
    linear-gradient(135deg, var(--text-dim) 50%, transparent 50%),
    linear-gradient(var(--ui-soft-border), var(--ui-soft-border));
  background-position:
    calc(100% - 1.05rem) calc(50% - 0.18rem),
    calc(100% - 0.75rem) calc(50% - 0.18rem),
    calc(100% - 2.2rem) 50%;
  background-size:
    0.42rem 0.42rem,
    0.42rem 0.42rem,
    1px 1.3rem;
  background-repeat: no-repeat;
}

.ui-select-compact {
  height: 1.75rem;
  min-height: 1.75rem;
  padding-block: 0.125rem;
}

.ui-select:hover {
  border-color: rgba(255, 255, 255, 0.16);
}

html[data-theme="light"] .ui-select:hover {
  border-color: rgba(17, 24, 39, 0.16);
}

.ui-select-pill {
  border-radius: 999px;
  padding-left: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html[data-theme="light"] .ui-select-pill {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.ui-inline-form {
  display: flex;
  align-items: center;
  gap: var(--ui-space-3);
  flex-wrap: wrap;
  min-width: 0;
}

.ui-inline-control {
  flex: 0 1 11rem;
  min-width: 11rem;
}

.ui-note,
.ui-inline-note {
  color: var(--text-muted);
  font-size: 0.84rem;
  line-height: 1.55;
}

.ui-note {
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  border: 1px solid var(--ui-soft-border);
  background: var(--ui-soft-fill);
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.ui-inline-note {
  margin-top: 0.5rem;
}

.ui-guide {
  padding: 0;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
}

.ui-guide details {
  display: block;
}

.ui-guide-summary {
  cursor: pointer;
  padding: 1rem 1.25rem;
  list-style: none;
}

.ui-guide-summary::-webkit-details-marker {
  display: none;
}

.ui-guide-body {
  padding: 0 1.25rem 1rem;
}

.ui-guide-copy {
  margin: 0;
  color: var(--text-muted);
}

.ui-guide-list {
  margin: 0.65rem 0 0 1rem;
  color: var(--text-muted);
  display: grid;
  gap: 0.35rem;
}

.ui-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ui-soft-border);
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(12, 17, 29, 0.96));
  min-width: 0;
}

.ui-hero[data-flow="llm"] {
  background:
    radial-gradient(circle at top right, var(--ui-llm-glow), transparent 40%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(8, 19, 40, 0.98));
}

.ui-hero[data-flow="agent"] {
  background:
    radial-gradient(circle at top right, var(--ui-agent-glow), transparent 40%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(12, 17, 29, 0.96));
}

html[data-theme="light"] .ui-hero {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.98));
}

html[data-theme="light"] .ui-hero[data-flow="llm"] {
  background:
    radial-gradient(circle at top right, var(--ui-llm-glow), transparent 42%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.98));
}

html[data-theme="light"] .ui-hero[data-flow="agent"] {
  background:
    radial-gradient(circle at top right, var(--ui-agent-glow), transparent 42%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 249, 251, 0.98));
}

.ui-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(220px, 0.9fr);
  gap: var(--ui-space-4);
}

.ui-hero-copy,
.ui-hero-side {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ui-hero-copy {
  gap: 0.85rem;
}

.ui-hero-side {
  justify-content: space-between;
  gap: 0.75rem;
}

.ui-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ui-hero-title {
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--text);
}

.ui-hero-subtitle {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.55;
  max-width: var(--ui-content-max);
}

.ui-pill-row,
.ui-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  min-width: 0;
  max-width: 100%;
}

.ui-pill,
.ui-chip-counter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.45rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--ui-soft-border);
  background: var(--ui-soft-fill);
  color: var(--text);
  font-size: 0.8rem;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.ui-chip-counter {
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.ui-overflow-popover {
  display: inline-flex;
}

.ui-overflow-popover-trigger {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
  padding: 0 0.25rem;
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
}

.ui-overflow-popover-trigger:hover,
.ui-overflow-popover-trigger:focus-visible,
.ui-overflow-popover-trigger[aria-expanded="true"] {
  color: var(--primary);
  outline: none;
}

.ui-overflow-popover-trigger:focus-visible {
  box-shadow: 0 0 0 2px var(--primary-glow);
}

.ui-overflow-popover-panel {
  position: fixed;
  z-index: 5000;
  display: grid;
  gap: 0.65rem;
  width: min(19rem, calc(100vw - 1.5rem));
  max-height: min(24rem, calc(100vh - 1.5rem));
  padding: 0.75rem;
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border) 76%);
  border-radius: var(--radius-lg);
  background: var(--surface-elevated);
  box-shadow: var(--shadow-lg);
}

.ui-overflow-popover-panel[hidden] {
  display: none;
}

.ui-overflow-popover-title {
  color: var(--text);
  font-size: 0.8rem;
  font-weight: 700;
}

.ui-overflow-popover-list {
  display: grid;
  gap: 0.35rem;
}

.ui-overflow-popover-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.5rem 0.55rem;
  border-radius: var(--radius-md);
  background: var(--ui-soft-fill);
  color: var(--text-muted);
  font-size: 0.78rem;
}

.ui-overflow-popover-item > :first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ui-overflow-popover-item .badge {
  flex-shrink: 0;
}

.ui-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  min-width: 0;
  max-width: 100%;
}

.ui-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  min-width: 0;
  max-width: 100%;
}

.ui-list-stack {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
}

.ui-list-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-list-key {
  font-size: 0.85rem;
}

.ui-muted-empty {
  color: var(--text-muted);
  font-size: 0.9rem;
}

.ui-entity-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap: 1.25rem;
  min-width: 0;
}

.ui-entity-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.ui-entity-card:hover {
  transform: translateY(-2px);
}

.ui-entity-card.inactive {
  opacity: 0.64;
}

.ui-entity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  min-width: 0;
}

.ui-entity-headline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.ui-entity-title {
  font-weight: 600;
  color: var(--text);
  overflow-wrap: anywhere;
}

.ui-icon-tile {
  width: var(--ui-tile-size, 40px);
  height: var(--ui-tile-size, 40px);
  border-radius: var(--ui-tile-radius, 10px);
  background: var(--ui-tile-color, var(--primary));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ui-icon-tile svg,
.ui-icon-tile i {
  width: var(--ui-tile-icon-size, 20px) !important;
  height: var(--ui-tile-icon-size, 20px) !important;
}

.ui-surface-block {
  padding: 0.75rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--surface-elevated);
  min-width: 0;
  max-width: 100%;
}

.ui-kv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.5rem 0.75rem;
  min-width: 0;
}

.ui-kv-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.78rem;
  color: var(--text-muted);
  min-width: 0;
}

.ui-kv-item code {
  font-size: 0.8rem;
  color: var(--text);
  word-break: break-all;
}

.ui-kv-item-wide {
  grid-column: 1 / -1;
}

.ui-metrics-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-top: auto;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-action-icons {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-action-icons .btn-icon {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: var(--text-muted);
}

.ui-action-icons .btn-icon:hover,
.ui-action-icons .btn-icon:focus-visible {
  border-color: transparent;
  background: var(--ui-soft-fill);
  color: var(--text);
  box-shadow: none;
  transform: none;
}

.ui-action-icons .btn-icon svg,
.ui-action-icons .btn-icon i {
  width: 17px !important;
  height: 17px !important;
}

/* Shared responsive row actions. Required actions stay visible; preferred
   actions are moved into the overflow panel by action-group.js. */
.ui-action-group {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  min-width: 0;
}

.ui-card-footer > .ui-action-group {
  flex: 0 1 auto;
  width: auto;
}

.ui-action-lane {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.ui-action-group form {
  display: inline-flex;
  flex: 0 0 32px;
  width: 32px;
  margin: 0;
}

.ui-action-button,
[data-ui-action-overflow] > summary {
  /* Keep visually hidden labels inside the table's scroll containment. */
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  text-decoration: none;
  transition: background-color 120ms ease, color 120ms ease;
}

.ui-action-button:hover,
.ui-action-button:focus-visible,
[data-ui-action-overflow] > summary:hover,
[data-ui-action-overflow] > summary:focus-visible,
[data-ui-action-overflow][open] > summary {
  background: var(--ui-soft-fill);
  color: var(--text);
  outline: none;
}

.ui-action-button:focus-visible,
[data-ui-action-overflow] > summary:focus-visible {
  box-shadow: 0 0 0 2px var(--primary-glow);
}

.ui-action-button.is-danger:hover,
.ui-action-button.is-danger:focus-visible {
  background: color-mix(in srgb, var(--danger) 12%, transparent);
  color: var(--danger);
}

.ui-action-button.is-emphasis {
  color: var(--primary);
}

.ui-action-button:disabled,
.ui-action-button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.5;
}

.ui-action-button svg,
.ui-action-button i,
[data-ui-action-overflow] > summary svg,
[data-ui-action-overflow] > summary i {
  width: 17px !important;
  height: 17px !important;
}

[data-ui-action-overflow] {
  flex: 0 0 32px;
}

[data-ui-action-overflow][hidden] {
  display: none !important;
}

[data-ui-action-overflow] > summary {
  list-style: none;
  font-size: 1.2rem;
  line-height: 1;
}

[data-ui-action-overflow] > summary::-webkit-details-marker {
  display: none;
}

.ui-action-group > .ui-action-button .ui-action-label,
.ui-action-group > .ui-action-lane .ui-action-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ui-action-group .flow-more-menu-items .ui-action-button {
  justify-content: flex-start;
  gap: 0.6rem;
  width: 100%;
  height: 36px;
  padding: 0 0.65rem;
  color: var(--text);
  white-space: nowrap;
}

.ui-action-group .flow-more-menu-items .ui-action-label {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

.ui-action-group .flow-more-menu-items form {
  width: 100%;
}

.ui-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--text-muted);
  flex: 0 0 auto;
}

.ui-status-dot.active {
  background: var(--success);
  box-shadow: 0 0 8px var(--success);
}

.ui-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 3200;
  padding: 2rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ui-modal[hidden] {
  display: none;
}

.ui-modal-card {
  width: min(100%, 560px);
  max-width: 560px;
  min-width: 0;
  margin: 4vh auto;
}

/* Standard dialog shell: fixed header/footer with one scrollable content area. */
.ui-modal-card.ui-dialog-card {
  display: flex;
  flex-direction: column;
  max-height: min(88vh, 820px);
  padding: 0;
  overflow: hidden;
}

.ui-modal-card.ui-dialog-card-lg {
  width: min(100%, 1040px);
  max-width: 1040px;
}

.ui-dialog-header,
.ui-dialog-footer {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ui-space-4);
  padding: var(--ui-space-5);
}

.ui-dialog-header {
  align-items: center;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.ui-dialog-heading {
  min-width: 0;
}

.ui-dialog-header .card-title {
  color: var(--text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}

.ui-dialog-header .card-title + .help-text,
.ui-dialog-header .card-title + .ui-meta {
  margin-top: var(--ui-space-2);
}

.ui-dialog-header > .btn-icon {
  flex: 0 0 auto;
}

.ui-dialog-header > .ui-action-icons {
  flex: 0 0 auto;
  width: auto;
}

.ui-dialog-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--ui-space-5);
  overflow: auto;
}

.ui-dialog-footer {
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.ui-form-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-code-block {
  font-size: 0.85rem;
  color: var(--text-muted);
  word-break: break-all;
  max-width: 100%;
}

.ui-prewrap {
  white-space: pre-wrap;
}

.ui-empty-card {
  grid-column: 1 / -1;
}

.ui-panel-accent {
  border-color: var(--accent-cyan);
  box-shadow: 0 0 16px var(--accent-cyan-glow);
}

.ui-panel-accent .card-title {
  color: var(--accent-cyan);
}

.ui-input-grow {
  flex: 1 1 auto;
}

.ui-link,
.ui-link-strong {
  color: var(--primary);
  text-decoration: none;
}

.ui-link:hover,
.ui-link-strong:hover {
  color: var(--primary-hover);
}

.ui-link-strong {
  font-weight: 600;
}

.ui-meta {
  font-size: 0.8rem;
  color: var(--text-muted);
}

.ui-meta-xs {
  font-size: 0.72rem;
  color: var(--text-muted);
}

.ui-text-strong {
  font-weight: 500;
  color: var(--text);
}

.ui-number-success {
  color: var(--success);
}

.ui-number-warning {
  color: var(--warning);
}

.ui-number-danger {
  color: var(--danger);
}

.ui-number-strong {
  font-size: 1.5rem;
  font-weight: 700;
}

.ui-clickable-row {
  cursor: pointer;
}

.ui-clickable-row:hover td {
  background: var(--ui-soft-fill);
}

.ui-table-truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ui-table-cell-muted {
  font-size: 0.8rem;
  color: var(--text-muted);
}

.ui-table-cell-copy {
  font-size: 0.85rem;
}

.ui-data-table-shell {
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.ui-data-table-shell .table-container {
  border: 0;
  border-radius: 0;
}

.ui-data-table-shell .table {
  margin: 0;
}

.ui-sort-column > a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: inherit;
  text-decoration: none;
}

.ui-sort-column > a:hover,
.ui-sort-column > a:focus-visible {
  color: var(--primary);
}

.ui-sort-indicator {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.72rem;
}

.ui-sort-column[aria-sort="ascending"] .ui-sort-indicator,
.ui-sort-column[aria-sort="descending"] .ui-sort-indicator {
  color: var(--primary);
}

.ui-table-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ui-space-2);
  min-height: 6rem;
  padding: var(--ui-space-5);
  color: var(--text-muted);
  text-align: center;
}

.ui-table-empty-state strong {
  color: var(--text);
  font-size: 0.95rem;
}

.ui-table-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--ui-space-3);
  min-height: 2.75rem;
  padding: 0.45rem var(--ui-space-4);
  border-top: 1px solid var(--border-light);
  background: var(--surface-section);
}

.ui-table-page-size label {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-2);
  color: var(--text-muted);
  font-size: 0.7rem;
  line-height: 1.2;
}

.ui-table-page-size .ui-select {
  width: auto;
  min-width: 3.75rem;
  min-height: 1.75rem;
  padding: 0.18rem 1.5rem 0.18rem 0.5rem;
  font-size: 0.72rem;
}

.ui-table-range {
  color: var(--text-muted);
  font-size: 0.7rem;
  line-height: 1.2;
  text-align: center;
}

.ui-table-range strong {
  color: var(--text);
}

.ui-table-footer .ui-pagination {
  justify-self: end;
  margin: 0;
}

.ui-pagination-current {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0 var(--ui-space-2);
  color: var(--text-muted);
  font-size: 0.7rem;
}

.ui-table-responsive td[data-label]::before {
  content: none;
}

.ui-empty-state {
  text-align: center;
  padding: 3rem 1.25rem;
  color: var(--text-muted);
}

.ui-empty-state-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  opacity: 0.5;
}

.ui-empty-state-actions {
  margin-top: 1rem;
}

.ui-empty-table-cell {
  text-align: center;
  padding: 3rem 1.25rem;
  color: var(--text-muted);
}

.ui-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 1rem;
  min-width: 0;
  max-width: 100%;
}

.ui-summary-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface-elevated);
  color: var(--text-muted);
  font-size: 0.82rem;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}

.ui-summary-pill strong {
  color: var(--text);
  font-weight: 600;
}

.ui-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.ui-chip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 36px;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface-elevated);
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.ui-chip-btn:hover {
  border-color: var(--primary);
  color: var(--text);
}

.ui-chip-btn.is-active,
.ui-chip-btn[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--primary) 78%, white 0%);
  background: color-mix(in srgb, var(--primary) 14%, var(--surface));
  color: var(--text);
}

.ui-chip-btn.is-muted {
  border-style: dashed;
}

.shell-context-panel {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: clamp(1rem, 2vw, 1.3rem);
  border-radius: var(--radius-md);
  border: 1px solid var(--ui-soft-border);
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.06), transparent 34%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.86), rgba(10, 15, 24, 0.92));
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
}

html[data-theme="light"] .shell-context-panel {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.82), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.98));
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

.shell-context-panel[data-shell-flow="llm"][data-shell-zone="workspace"] {
  background:
    radial-gradient(circle at top right, var(--ui-llm-glow), transparent 38%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(8, 19, 40, 0.94));
}

.shell-context-panel[data-shell-flow="agent"][data-shell-zone="workspace"] {
  background:
    radial-gradient(circle at top right, var(--ui-agent-glow), transparent 38%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(9, 20, 26, 0.94));
}

html[data-theme="light"] .shell-context-panel[data-shell-flow="llm"][data-shell-zone="workspace"] {
  background:
    radial-gradient(circle at top right, var(--ui-llm-glow), transparent 40%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.98));
}

html[data-theme="light"] .shell-context-panel[data-shell-flow="agent"][data-shell-zone="workspace"] {
  background:
    radial-gradient(circle at top right, var(--ui-agent-glow), transparent 40%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 249, 251, 0.98));
}

.shell-context-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  min-width: 0;
}

.shell-context-copy {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.shell-context-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.4rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.shell-context-toolbar .aigate-collapse-toggle {
  padding: 0;
  font-size: 0.56rem;
  letter-spacing: 0.02em;
  opacity: 0.82;
}

.shell-context-toolbar .aigate-collapse-toggle:hover {
  background: transparent;
  opacity: 1;
}

.shell-context-eyebrow,
.shell-context-actions-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.shell-context-title {
  font-size: 1.06rem;
  font-weight: 700;
  color: var(--text);
}

.shell-context-subtitle {
  margin: 0;
  max-width: var(--ui-content-max);
  color: var(--text-muted);
  line-height: 1.55;
}

.shell-context-body {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.shell-context-strip {
  margin-bottom: 0;
  justify-content: flex-end;
}

.shell-context-panel[data-collapsed="true"] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-bottom: 0.45rem;
  padding: 0.22rem 0.4rem;
  border-radius: 999px;
  border-color: rgba(255, 255, 255, 0.05);
  background: rgba(10, 15, 24, 0.44);
  box-shadow: none;
}

.shell-context-panel[data-collapsed="true"] .shell-context-strip {
  display: none;
}

html[data-theme="light"] .shell-context-panel[data-collapsed="true"] {
  border-color: rgba(17, 24, 39, 0.08);
  background: rgba(255, 255, 255, 0.86);
}

.shell-context-panel[data-collapsed="true"] .shell-context-head,
.shell-context-panel[data-collapsed="true"] .shell-context-copy,
.shell-context-panel[data-collapsed="true"] .shell-context-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
  width: auto;
}

.shell-context-panel[data-collapsed="true"] .shell-context-eyebrow,
.shell-context-panel[data-collapsed="true"] .shell-context-title,
.shell-context-panel[data-collapsed="true"] .aigate-collapse-toggle-label {
  display: none;
}

.shell-context-panel[data-collapsed="true"] .shell-context-copy {
  min-width: 0;
}

.shell-context-panel[data-collapsed="true"] .aigate-collapse-toggle {
  padding: 0.06rem;
  opacity: 0.75;
}

.shell-context-panel[data-collapsed="true"] .aigate-collapse-toggle:hover {
  background: transparent;
}

.shell-context-panel .ui-chip-btn {
  text-decoration: none;
}

.shell-context-panel .ui-summary-pill,
.shell-context-panel .ui-chip-btn {
  border-color: var(--ui-soft-border);
  background: rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .shell-context-panel .ui-summary-pill,
html[data-theme="light"] .shell-context-panel .ui-chip-btn {
  background: rgba(255, 255, 255, 0.82);
}

.shell-context-panel .ui-chip-btn:hover {
  border-color: var(--primary);
  background: rgba(255, 255, 255, 0.12);
}

html[data-theme="light"] .shell-context-panel .ui-chip-btn:hover {
  background: rgba(255, 255, 255, 0.94);
}

.ui-section-stack {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.ui-flow-quickbar {
  display: grid;
  gap: 0.85rem;
  margin: 1rem 0 1.25rem;
  padding: 0.9rem;
  border-radius: 8px;
  border: 1px solid var(--ui-soft-border);
  border-left-width: 4px;
  background: color-mix(in srgb, var(--surface-elevated) 92%, transparent);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
  min-width: 0;
  max-width: 100%;
}

.ui-flow-quickbar[data-flow="llm"] {
  border-left-color: var(--primary);
}

.ui-flow-quickbar[data-flow="agent"] {
  border-left-color: var(--success);
}

.ui-flow-quickbar[data-flow="all"] {
  border-left-color: var(--text-muted);
}

.ui-flow-quickbar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  min-width: 0;
}

.ui-flow-quickbar-copy {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.ui-flow-quickbar-eyebrow {
  color: var(--text-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ui-flow-quickbar-title {
  margin: 0;
  color: var(--text);
  font-size: 1.02rem;
  line-height: 1.25;
}

.ui-flow-quickbar-note {
  margin: 0;
  max-width: var(--ui-content-max);
  color: var(--text-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.ui-flow-quickbar-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.ui-flow-quickbar-item {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.65rem;
  border-radius: 8px;
  border: 1px solid var(--ui-soft-border);
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.ui-flow-quickbar-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.45rem;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 14%, var(--surface));
  color: var(--text);
  font-size: 0.72rem;
  font-weight: 700;
}

.ui-flow-quickbar-item strong,
.ui-flow-quickbar-item span:not(.ui-flow-quickbar-index) {
  display: block;
  min-width: 0;
}

.ui-flow-quickbar-item strong {
  color: var(--text);
  font-size: 0.86rem;
  line-height: 1.25;
}

.ui-flow-quickbar-item span:not(.ui-flow-quickbar-index) {
  margin-top: 0.16rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ui-flow-quickbar-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  min-width: 0;
}

.ui-pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}

.ui-pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
  border-radius: var(--radius-sm);
  text-decoration: none;
}

.ui-pagination a:hover {
  background: var(--ui-soft-fill);
}

.ui-pagination a:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.ui-icon-xs {
  width: 14px !important;
  height: 14px !important;
}

.ui-icon-sm {
  width: 16px !important;
  height: 16px !important;
}

.ui-icon-md {
  width: 18px !important;
  height: 18px !important;
}

.ui-icon-inline {
  margin-right: 0.5rem;
}

.ui-rotate-180 {
  transform: rotate(180deg);
}

.ui-mt-xs {
  margin-top: 0.55rem;
}

.ui-mt-sm {
  margin-top: 0.75rem;
}

@media (max-width: 1200px) {
  .ui-hero-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .ui-entity-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .ui-toolbar,
  .ui-toolbar-main,
  .ui-toolbar-actions,
  .ui-action-row {
    align-items: stretch;
  }

  .ui-toolbar-actions > .btn,
  .ui-action-row > .btn {
    flex: 1 1 calc(50% - 0.3rem);
    min-width: 0;
  }

  .ui-filter-card {
    padding: 0.72rem 0.8rem;
  }

  .ui-filter-card-head {
    align-items: flex-start;
  }

  .ui-summary-pill,
  .ui-chip-btn {
    flex: 1 1 calc(50% - 0.35rem);
    min-width: 0;
  }

  .shell-context-head {
    flex-direction: column;
    align-items: stretch;
  }

  .shell-context-toolbar {
    align-items: flex-start;
  }

  .shell-context-strip {
    justify-content: flex-start;
  }

  .ui-flow-quickbar {
    padding: 0.78rem;
  }

  .ui-flow-quickbar-head {
    align-items: stretch;
  }

  .ui-flow-quickbar-items {
    grid-template-columns: 1fr;
  }

  .ui-flow-quickbar-actions .btn {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 0;
  }

  .ui-filter-form {
    grid-template-columns: 1fr;
  }

  .ui-filter-form .ui-field-wide,
  .ui-field-compact,
  .ui-field-wide,
  .ui-field-period {
    width: 100%;
  }

  .ui-inline-form {
    align-items: stretch;
  }

  .ui-inline-control,
  .ui-inline-form > .btn {
    width: 100%;
    min-width: 0;
    flex: 1 1 100%;
  }

  .ui-pagination {
    justify-content: space-between;
  }

  .ui-table-responsive thead {
    display: none;
  }

  .ui-table-responsive,
  .ui-table-responsive tbody,
  .ui-table-responsive tr,
  .ui-table-responsive td {
    display: block;
    width: 100%;
  }

  .ui-table-responsive {
    min-width: 0;
  }

  .ui-table-responsive tr {
    margin-bottom: 0.9rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--surface-elevated);
    overflow: hidden;
  }

  .ui-table-responsive td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 42%) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.8rem 0.95rem;
    border-bottom: 1px solid var(--border);
  }

  .ui-table-responsive td > * {
    min-width: 0;
  }

  .ui-table-responsive td:last-child {
    border-bottom: 0;
  }

  .ui-table-responsive td[data-label]::before {
    content: attr(data-label);
    font-size: 0.72rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
  }

  .ui-table-responsive td[colspan] {
    display: block;
    text-align: center;
  }

  .ui-table-responsive td[colspan]::before {
    content: none;
  }

  .ui-table-footer {
    grid-template-columns: 1fr;
  }

  .ui-table-page-size,
  .ui-table-range,
  .ui-table-footer .ui-pagination {
    justify-self: center;
  }

  .ui-modal {
    padding: calc(0.75rem + env(safe-area-inset-top)) calc(0.75rem + env(safe-area-inset-right)) calc(0.75rem + env(safe-area-inset-bottom)) calc(0.75rem + env(safe-area-inset-left));
  }

  .ui-modal-card {
    margin: 0 auto;
    width: min(100%, 560px);
    max-height: calc(100dvh - 1.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }

  .ui-form-actions > .btn {
    flex: 1 1 calc(50% - 0.5rem);
  }
}

@media (max-width: 560px) {
  .ui-toolbar-actions > .btn,
  .ui-action-row > .btn,
  .ui-summary-pill,
  .ui-chip-btn,
  .ui-form-actions > .btn {
    flex: 1 1 100%;
  }

  .ui-section-footer {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .ui-table-responsive td {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }

  .ui-card-footer {
    align-items: stretch;
  }

  .ui-action-icons {
    width: 100%;
    justify-content: flex-start;
  }
}

.audit-shortcuts-panel {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--border);
}

.audit-shortcuts,
.audit-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.audit-shortcut,
.audit-summary-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface-elevated);
  color: inherit;
  text-decoration: none;
  font-size: 0.85rem;
  line-height: 1.3;
}

.audit-shortcut.is-active {
  border-color: rgba(45, 212, 191, 0.45);
  color: var(--accent-color);
  box-shadow: 0 0 0 1px rgba(45, 212, 191, 0.2);
}

/* DevScore sync: quieter operational surfaces, denser cards, clearer active states. */
.ui-hero,
.shell-context-panel,
.ui-flow-quickbar,
.ui-filter-card,
.ui-note,
.ui-surface-block,
.ui-entity-card,
.ui-empty-state,
.ui-modal-card {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.ui-hero,
.shell-context-panel {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 96%, transparent), var(--surface-section));
}

.ui-hero[data-flow="llm"],
.shell-context-panel[data-shell-flow="llm"][data-shell-zone="workspace"] {
  background:
    radial-gradient(circle at top right, var(--ui-llm-glow), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 96%, transparent), var(--surface-section));
}

.ui-hero[data-flow="agent"],
.shell-context-panel[data-shell-flow="agent"][data-shell-zone="workspace"] {
  background:
    radial-gradient(circle at top right, var(--ui-agent-glow), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 96%, transparent), var(--surface-section));
}

html[data-theme="light"] .ui-hero,
html[data-theme="light"] .shell-context-panel,
html[data-theme="light"] .ui-hero[data-flow="llm"],
html[data-theme="light"] .ui-hero[data-flow="agent"],
html[data-theme="light"] .shell-context-panel[data-shell-flow="llm"][data-shell-zone="workspace"],
html[data-theme="light"] .shell-context-panel[data-shell-flow="agent"][data-shell-zone="workspace"] {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 250, 251, 0.96));
}

.ui-filter-card:not(.ui-filter-panel),
.ui-flow-quickbar,
.ui-surface-block {
  background: var(--surface-section);
}

.ui-entity-card:hover {
  transform: none;
  border-color: color-mix(in srgb, var(--border-light) 72%, var(--primary) 28%);
  box-shadow: var(--shadow-sm);
}

.ui-pill,
.ui-summary-pill,
.ui-chip-btn,
.audit-shortcut,
.audit-summary-pill {
  border-color: var(--border);
  background: var(--surface-section);
}

.ui-chip-btn.is-active,
.ui-chip-btn[aria-pressed="true"],
.audit-shortcut.is-active {
  border-color: rgba(16, 185, 129, 0.42);
  background: var(--primary-dim);
  color: var(--text);
  box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.1);
}

.ui-icon-tile {
  border-radius: var(--radius-md);
}

.ui-empty-state {
  background: var(--surface);
  border: 1px solid var(--border);
}

/* UX quiet pass: keep helper surfaces informative without competing with the task. */
.ui-eyebrow,
.ui-toolbar-label,
.ui-filter-card-title,
.shell-context-eyebrow,
.shell-context-actions-label,
.ui-flow-quickbar-eyebrow {
  letter-spacing: 0;
  text-transform: none;
}

.ui-eyebrow,
.ui-toolbar-label,
.ui-filter-card-title,
.shell-context-eyebrow,
.shell-context-actions-label {
  color: var(--text-muted);
}

.ui-hero,
.shell-context-panel {
  box-shadow: none;
}

.shell-context-panel {
  gap: 0.75rem;
  padding: clamp(0.85rem, 1.6vw, 1.1rem);
}

.shell-context-title,
.ui-hero-title,
.ui-flow-quickbar-title {
  letter-spacing: 0;
}

.shell-context-strip,
.ui-summary-strip {
  gap: 0.5rem;
}

.ui-summary-pill,
.ui-chip-btn,
.ui-pill {
  min-height: 2rem;
  box-shadow: none;
}

.ui-flow-quickbar {
  gap: 0.7rem;
  padding: 0.8rem 0.85rem;
  border-left-width: 2px;
  box-shadow: none;
}

.ui-flow-quickbar-item {
  padding: 0.58rem 0.62rem;
  background: var(--surface-section);
}

.ui-flow-quickbar-index {
  background: var(--surface);
  color: var(--text-muted);
}

.ui-filter-card[data-ui-filter-panel][data-collapsed="true"] {
  padding: 0.38rem 0.55rem;
}

.ui-modal {
  background: rgba(2, 6, 23, 0.58);
}

html[data-theme="light"] .ui-modal {
  background: rgba(15, 23, 42, 0.32);
}

/* Compact flow actions and secondary counters. */
.flow-more-menu { display: inline-block; }
.flow-more-menu > summary { list-style: none; cursor: pointer; font-size: 22px; line-height: 1; min-width: 36px; min-height: 36px; }
.flow-more-menu > summary::-webkit-details-marker { display: none; }
.flow-more-menu:not([open]) > .flow-more-menu-items { display: none; }
.flow-more-menu-items { position: fixed; inset: auto; margin: 0; z-index: 1500; display: flex; flex-direction: column; gap: 6px; padding: 8px; width: max-content; min-width: 180px; max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); overflow: auto; color: var(--text); background: var(--surface-solid, #fff); border: 1px solid var(--border, #ddd); border-radius: 8px; box-shadow: 0 6px 24px #0002; }
.flow-more-menu-items[popover]:not(:popover-open) { display: none; }
.flow-more-menu-items .btn { white-space: nowrap; }
.flow-more-menu-items .dashboard-header-btn-label--full { display: inline !important; }
.flow-more-menu-items .dashboard-header-btn-label--compact { display: none !important; }
.flow-quiet-stats { display: flex; flex-wrap: wrap; gap: 18px; color: var(--text-muted); font-size: 12px; margin: 8px 0 16px; }
.flow-quiet-stats > span { display: inline-flex; align-items: center; gap: 5px; }

/* Shared checkbox and button switch. The track stays neutral; state is shown by the thumb. */
.ui-toggle {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 48px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  vertical-align: middle;
}

.toggle-group > .ui-toggle-caption {
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.ui-toggle > input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
}
.ui-toggle-track {
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-solid);
  cursor: pointer;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}
html[data-theme="light"] .ui-toggle-track { background: #fff; }
.ui-toggle-track::before {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--text-muted);
  content: "";
  transition: transform var(--transition-fast), background-color var(--transition-fast);
}
.ui-toggle > input:checked + .ui-toggle-track,
.ui-toggle[aria-checked="true"] > .ui-toggle-track {
  border-color: color-mix(in srgb, var(--success) 65%, var(--border));
}
.ui-toggle > input:checked + .ui-toggle-track::before,
.ui-toggle[aria-checked="true"] > .ui-toggle-track::before {
  background: var(--success);
  transform: translateX(24px);
}
.ui-toggle > input:focus-visible + .ui-toggle-track,
.ui-toggle:focus-visible > .ui-toggle-track {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
.ui-toggle:has(> input:disabled),
.ui-toggle:disabled { opacity: .45; cursor: not-allowed; }
.ui-toggle:has(> input:disabled) .ui-toggle-track,
.ui-toggle:disabled > .ui-toggle-track { cursor: not-allowed; }
.ui-toggle--compact { width: 36px; height: 18px; }
.ui-toggle--compact .ui-toggle-track::before { top: 1px; left: 1px; width: 14px; height: 14px; }
.ui-toggle--compact > input:checked + .ui-toggle-track::before,
.ui-toggle--compact[aria-checked="true"] > .ui-toggle-track::before { transform: translateX(18px); }

[data-policy-drag-handle]:focus-visible { outline: 2px solid var(--primary, #2563eb); outline-offset: 3px; }
[data-policy-drag-handle] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: var(--radius-md);
  color: var(--text-muted);
  cursor: grab;
  font-size: 1rem;
  line-height: 1;
  touch-action: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
[data-policy-drag-handle]:hover,
[data-policy-drag-handle]:focus-visible {
  background: var(--ui-soft-fill);
  color: var(--primary);
}
[data-policy-drag-handle]:active { cursor: grabbing; }
.policy-dragging { opacity: .55; }
.policy-drop-before { box-shadow: inset 0 3px var(--primary, #2563eb); }
.policy-drop-after { box-shadow: inset 0 -3px var(--primary, #2563eb); }
@media print { .flow-more-menu { display: none !important; } }

.policies-table .flow-more-menu-items .btn { width: auto; height: auto; justify-content: flex-start; gap: 8px; padding: 8px; }
/* Shared copyable command/code block. */
.ui-command-block {
  display: grid;
  grid-template-columns: 2.3rem minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-section);
  overflow: hidden;
}

.ui-command-block-code {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0.85rem 0.95rem 0.85rem 0.45rem;
  border: 0;
  background: transparent;
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 0.84rem;
  line-height: 1.45;
  white-space: pre;
  overflow-x: auto;
}

.ui-command-block-code:focus-visible {
  /* The parent clips overflow; keep the focus ring inside the code pane. */
  outline-offset: -3px;
}

.ui-command-block-copy {
  align-self: stretch;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  width: 2.3rem;
  min-width: 2.3rem;
  padding: 0.92rem 0 0;
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--border) 72%, transparent 28%);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
}

.ui-command-block-copy:hover,
.ui-command-block-copy:focus-visible {
  background: color-mix(in srgb, var(--accent) 10%, transparent 90%);
  color: var(--accent);
}

.ui-command-block-copy:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.ui-command-block-copy:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.ui-command-block-copy[data-copy-state="success"] { color: var(--success); }
.ui-command-block-copy[data-copy-state="error"] { color: var(--danger); }

.ui-command-block-copy svg,
.ui-command-block-copy i {
  width: 0.95rem;
  height: 0.95rem;
}

@media (max-width: 768px) {
  .ui-command-block-code {
    padding-left: 0.4rem;
    font-size: 0.79rem;
    white-space: pre-wrap;
    word-break: break-word;
  }
}
/* Shared audit event details */
.event-detail-modal-card {
  padding: 0;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--primary) 18%, var(--border));
  background: var(--surface);
}

body .event-detail-modal-card > .card-header {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 4.5rem;
  margin: 0;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
  background: var(--surface);
}

body .event-detail-modal-card > .card-header::before {
  content: '';
  width: 0.25rem;
  align-self: stretch;
  border-radius: 999px;
  background: var(--primary);
}

body .event-detail-modal-card > .card-header .card-title {
  margin-right: auto;
  color: var(--primary);
  font-family: Inter, system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.event-detail-modal-body {
  padding: 1.25rem;
  background: var(--surface-section);
}

.event-detail {
  display: grid;
  gap: 1rem;
  color: var(--text);
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.875rem;
}

.event-detail-summary {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.event-detail-identity {
  min-width: 0;
  color: var(--text-muted);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.event-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.event-detail-field {
  display: flex;
  min-width: 0;
  min-height: 5rem;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.55rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 0.75rem;
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.event-detail-field-emphasis {
  border-color: color-mix(in srgb, var(--primary) 32%, var(--border));
  background: color-mix(in srgb, var(--primary) 6%, var(--surface));
}

.event-detail-label,
.event-detail-section-title {
  color: var(--text-muted);
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.event-detail-value {
  color: var(--text);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.event-detail-field-emphasis .event-detail-label,
.event-detail-field-emphasis .event-detail-value {
  color: var(--primary);
}

.event-detail-field-emphasis .event-detail-value {
  font-size: 1.2rem;
  font-weight: 750;
}

.event-detail-section {
  min-width: 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 0.75rem;
  background: var(--surface);
}

.event-detail-section-title {
  display: block;
  margin: 0 0 0.7rem;
  color: var(--primary);
}

.event-detail-copy,
.event-detail-note {
  margin: 0;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.event-detail-note {
  color: var(--text-muted);
  font-size: 0.75rem;
}

.event-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.75rem;
  color: var(--text-muted);
  font-size: 0.75rem;
}

.event-detail-meta > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.event-detail-rule-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.event-detail-rule-list .badge {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.event-detail-section .event-detail-note {
  margin-top: 0.75rem;
}

.event-detail-pi-lines {
  display: grid;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.event-detail-pi-line {
  display: grid;
  gap: 0.2rem;
  padding: 0.55rem 0.75rem;
  border-left: 3px solid var(--border);
  border-radius: 0.4rem;
  background: var(--surface-section);
  font-size: 0.82rem;
}

.event-detail-pi-line.is-flagged {
  border-left-color: var(--warning, var(--border));
}

.event-detail-pi-skip {
  border-left-style: dashed;
}

.event-detail-pi-details {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 0.8rem;
  color: var(--text-muted);
  font-size: 0.75rem;
}

.event-detail-pi-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  font-size: 0.8rem;
}

.event-detail-evidence .event-detail-grid {
  margin-bottom: 0.75rem;
}

.event-detail-trace-list {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.event-detail-trace-row {
  display: grid;
  grid-template-columns: minmax(7rem, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.6rem;
  background: var(--surface-section);
  font-size: 0.75rem;
}

.event-detail-trace-row .mono {
  overflow-wrap: anywhere;
}

.event-detail-trace-row time {
  color: var(--text-muted);
  white-space: nowrap;
}

.event-detail-evidence summary {
  margin: 0;
  cursor: pointer;
}

.event-detail-evidence[open] summary {
  margin-bottom: 0.7rem;
}

.event-detail-json {
  max-height: 22rem;
  margin: 0;
  padding: 0.85rem;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 0.6rem;
  background: var(--surface-section);
  color: var(--text);
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}

@media (max-width: 768px) {
  .event-detail-modal-body {
    padding: 0.85rem;
  }

  .event-detail-grid {
    grid-template-columns: 1fr;
  }

  .event-detail-trace-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .event-detail-trace-row time {
    white-space: normal;
  }
}
